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
学习时间 52分钟
操作时间 15分钟
按键次数 234次
实验次数 2次
报告字数 1479字
是否完成 完成