linux系统调用实现

linux系统调用实现

ID:27672482

大小:551.61 KB

页数:12页

时间:2018-12-05

linux系统调用实现_第1页
linux系统调用实现_第2页
linux系统调用实现_第3页
linux系统调用实现_第4页
linux系统调用实现_第5页
资源描述:

《linux系统调用实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、电孑斜放大嗲实验报告学生姓名:学号:指导教师:实验地点:实验时间:2012.4.28-2012.5.6一、实验室名称:操作系统实验室二、实验项目名称:Linux系统调用实现三、实验学时:4学时、实验目的莩握并实现一个linux系统调用的简单实例。五、实验内容:本次实验包括:linux系统的安装,lhwx内核的配置,源代码的编译,内核的安装,系统调用的实现,编写一个简单的测试例子。六、实验步骤:1.安装cent5.1操作系统。安装在vmware7.0下。如图一所示图一:vmware7.0中安装cent5.11.下载linux内核源码2.6.18从网站:http:/

2、/download.chinaunix.net/download/0007000/6156.shtml巾下载linux-2.6.18.tar.bz22.安装VMwaretools为方便代码的传入与传出vmware,安装tools。A、mware菜单栏vm-〉installvmwaretools;B、vmware中运行tar-zxvfwaretool*;C、sudo./pi文件D、reboot1.解压linux内核源代码将linux源代码压缩拷贝到/usr/src/下,执行tar-xvjflinux-2.6.18*2.添加系统调用A、打开:cdlinux-2.6.

3、13/arch/i386/kemeI;sudovisyscall一tabIe.S(+目当于entry.s)添加".longsys_my_add"记卜系统调用号:318syscall_table.S(/usr/src/Hnux-2.6.18.1/arch/l386/kerneI)-geFileEditViewSearchToolsDocumentsHelp3▼Q

4、■

5、®IBNewOpenSavePrint...'JrcioRedoCut:PasteFindR[Jsyscall_table.Sx316.longsys_sync_file_range317.longs

6、ys_tee/*315*/318.longsys_vmsplice319.longsys_move_pages320.longsys_my_add321Ln313,Col30B、打开cd/usr/src/linux-2.6.13/include/asm-i386;sudoviunistd.h添加:#define_NR_my_add318修改:#defineNR_syscalls319emacs@localhoasm-1386FileEditViewPlacesHelpFileEditOptionsBuffersToolsCHelp!5trueuaccess.hu

7、context.h#define#defineNRqetrobustlistNRsplice312313#defineNRsyncfile_range314#defineNRtee315#defineNRvmspLice316#define_NR_movejpages317I#defineNRmyadd318―I#ifdef__KERNEL_#defineNRsyscalls319□_unistd.h(CAbbrev)--L331unistd.hunwind.hDasm-i386▼"unistd.h"selected(14.5K[C、cd/usr/src/lin

8、ux-2.6.13/arch/h8300/kernelsudovisyscalls.S修改如卜、emacs@localhost.localdomaln;EditOptionsBuffersToolsHelplonglonglonglonglonglonglongSYMBOLsymbol'SYMBOLSYMBOLSYMBOLsymbol'SYMBOL"•NAME(sys_nisysc;■NAME(sys_waitid)•NAME(sys_ni_syscall)NAME(sys_add_key)•NAME(sys_request_key)NAME(sys_keyct

9、l)•NAME(sys_my_add)

10、:all)/*reservedforkexec*//*285*//*available*z/*myadd*/_ni_syscall).endr•reptNR_syscalls-(.-SYMBOL_NAME(sys_call_table))/4.longSYMBOL_NAME(sysD、cd/usr/src/linux-2.6.13/arch/i386/kernelsudovisys_i386.c添加系统调用的函数:emacs@localhostJocaldomalnFileEditOptionsBuffersToolsCH

11、elp*o邊巧嗲势访後?

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。