周晨旭 L3 2018-06-30 00:24:53 系统调用
486 0

“操作系统原理与实践(南阳理工学院)”实验报告

系统调用

1.准备实验环境

cd ~/oslab

tar zxvf hit-oslab-linux-20110823.tar.gz 2.修改"unistd.h"文件,对新增系统调用增加相应的宏定义:

cd oslab/linux-0.11/include

gedit unistd.h

3.在原第131行和第132行之间增加如下代码:

define __NR_iam 72 define __NR_whoami 73 254行添加

int iam(const char name);

int whoami(char name,unsigned int size);

4.修改"system_call.s"文件,扩大系统调用函数的数量:

cd /home/shiyanlou/oslab/oslab/linux-0.11/kernel

gedit system_call.s

5.修改"sys.h"文件,使0x80号中断能调用相应的系统函数:

打开"/home/shiyanlou/oslab/oslab/linux-0.11/include/linux"目录,然后用"gedit"软件打开"sys.h",

在原第72行和第73行之间增加如下代码:

extern int sys_iam();

extern int sys_whoami();

在88行添加

sys_iam,sys_whoami 6.窗建who.c"文件:

进入"/home/shiyanlou/oslab/linux-0.11/kernel"目录,创建"who.c"文件,并键入 7.修改"Makefile"文件:

打开"/home/shiyanlou/oslab/oslab/linux-0.11/kernel"目录,然后用"gedit"软件打开"Makefile",将文件第29行修改为:signal.o mktime.o who.o

在原第50行和第51行之间增加如下代码:

who.s who.o:who.c ../include/unistd.h ../include/errno.h \

../include/asm/segment.h

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

最新评论
暂无评论~