//第一个
//测试myid系统调用的程序
#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
int main()
{
syscall(294);
}
//第二个
//测试nice_prio系统调用的程序,功能是修改nice和prio值的系统调用功能。
#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
pid_t pid;
char strin[100];
int nicevalue = 3100;
int flag = 2;
int p = 0;
int n = 0;
int *prio;
int *nice;
prio = &p;
nice = &n;
while(1)
{
printf("输入0查看nice和prio,输入1修改nice和prio,输入其他值退出。\n");
scanf("%d",&flag);
if(flag != 0 && flag != 1)
{
return 0;
}
printf("请输入pid:\n");
scanf("%d",&pid);
if(flag == 1)
{
printf("请输入nice:\n");
scanf("%d",&nicevalue);
if(nicevalue < -20 || nicevalue > 19)
{
printf("nice值非法\n");
continue;
}
}
syscall(340,pid,flag,nicevalue,prio,nice);
printf("现在的nice为%d\n现在的prio为%d\n输入任意建继续\n",n,p);
getchar();
fgets(strin,100,stdin);
system("clear");
}
}
//第三个
//测试hostname系统调用的程序,功能是改变主机名称为自定义字符串
#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
long flag = 0;
printf("请输入修改的nodename:");
char nodename[100];
fgets(nodename,100,stdin);
flag = syscall(296,nodename,strlen(nodename));
printf("Nodename:%s\n",nodename);
}
操作系统实验一 测试系统调用程序代码
最新推荐文章于 2023-11-21 16:58:39 发布