2012-04-28 1 views
2

Je lance un nouvel appel système pour obtenir le temps d'attente moyen de la planification FCFS. J'ai appelé le nom de l'appel système "add2". Maintenant, après avoir compilé le noyau avec succès, je rencontre un problème lors du test de l'appel système. Avec une étude, je suis venu avec ces deux programmes pour tester mon appel système. Mais encore il y a un problème dans ceux-ci. Je pense que le problème est en passant des arguments. S'il vous plaît aider.tester l'appel système sous Linux 2.6.39.4 noyau

Voici le addnewsystemcall.h

#include<linux/unistd.h> 
#define __NR_add2 307 


long add2(int at[], int bt[], int n) 
{ 
    return syscall(__NR_atvfcfs,i); 
} 

et est ici le addnewsystemcall.c

#include<string.h> 
#include <stdio.h> 
#include "add2.h" 


int main() 
{ 
    int avgwt; 

    int n,i,at[50],bt[50]; 

    printf("\n\nEnter the number of processes:"); 
    scanf("%d",&n); 
    printf("\n\n BURST TIME and ARRIVAL TIME of thr process"); 

    for(i=0;i<n;i++) 
    { 
     printf("\n ARRIVAL TIME :"); 
     scanf("%d",&at[i]); 
     printf(" BURST TIME : "); 
     scanf("%d",&bt[i]); 
    } 

    printf("\n\nAverage waiting time = "); 
    printf("%d\n", add2(int at[], int bt[], int n)); 
    return 0; 
} 
+1

Ce code ne sera pas compilé. Voulez-vous dire 'add2 (a, b, n)' dans la déclaration 'printf'? Dans l'implémentation de 'add2' où est-ce que' i' est déclaré? Vous n'utilisez aucun des paramètres passés –

Répondre

3

Ajout d'un appel système est le plus dur moyen d'obtenir des informations à partir d'un noyau. Ne le fais pas, sauf si tu en as vraiment besoin.

Il y a de bien meilleures façons, par exemple:
1. Ajout d'un fichier virtuel sous /proc ou /sys. Cela vous donne une interface textuelle très facile à utiliser.
2. Ajout d'un pilote de périphérique, création d'un fichier /dev et utilisation de la fonction ioctl. Ceci est plus difficile à utiliser, mais peut être plus approprié pour passer des structures binaires.

+0

Ou pour le piratage/le débogage, utilisez debugfs. – mpe

Questions connexes