FCFSスケジューリングの平均待機時間を取得するための新しいシステムコールを作成しています。 システムコール名を「add2」と命名しました。今、カーネルを正常にコンパイルした後、私はシステムコールをテストする際に問題が発生しています。Linux 2.6.39.4カーネルでシステムコールをテストする
いくつかの調査で、私はシステムコールをテストするためにこれらの2つのプログラムを思いついた。しかし、まだこれらにいくつかの問題があります。私は問題が議論を通過することにあると思う。助けてください。ここで
はaddnewsystemcall.h
#include<linux/unistd.h>
#define __NR_add2 307
long add2(int at[], int bt[], int n)
{
return syscall(__NR_atvfcfs,i);
}
、ここでは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;
}
このコードはコンパイルされません。 'printf'文中で' add2(a、b、n) 'を意味しましたか? 'add2'の実装で'どこに 'が宣言されていますか?渡されたパラメータを使用していません –