linux系统调用实验报告

linux系统调用实验报告

ID:29967337

大小:17.63 KB

页数:6页

时间:2018-12-25

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

《linux系统调用实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划linux系统调用实验报告  操作系统实验报告  -----Linux下的系统调用  计算机10-4赵俊楠  实验目的:实现多个系统调用实验  实验内容:添加简单系统调用、添加随机抽牌系统调、用模块添加系统调用  实验步骤:  1.在usr/src//include/asmi386/中添加#define__NR_print_info259和#define__NR_rank260  2.在usr/src//arch/i386/kernel/中添加.

2、longSYMBOL_NAME(sys_print_info)和.longSYMBOL_NAME(sys_rank);3.在usr/src//kernel中添加  asmlinkageintsys_rank(intvalue,intsuit)  {  if(value==1)return(int)(4*13+suit);  elsereturn(int)(4*(value-1)+suit);  };和  asmlinkageintsys_print_info(inttestflag)  {目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的

3、巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  printk(KERN_EMERG"It'smysyscallfunction!");  return0;  }  4.在usr/src//kernel/ksyms中添加  #ifndef__mips__  EXPORT_SYMBOL(sys_call_table);  #endif  至此,三个实验的系统调用添加完毕下面开始编译内核。  clean  makemrproper  

4、makeoldconfig  makedep  makebzImage  makemodules  makemodules_install  makeinstall  在添加系统调用时候一定要专心、仔细,否则在编译的时候会出现错误,改起来很麻烦!!  6.重启Linux后,显示界面如下  7.进入新内核后不要忘了将#define__NR_print_info  260添加到中目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利

5、开展,特制定安保从业人员的业务技能及个人素质的培训计划  8.然后编写三个测试程序分别测试新的系统调用结果如下图:  关于test_print_info  259和#define__NR_rank  关于  card  关于call和  test_call  实验总结:  本次实验的内容涉及到Linux的系统调用。所谓系统调用,即操作系统为应用程序提供的与内核进行交互的一组接口。通过此接口,用户态下的应用程序可以转化为内核态,同时调用相应的内核函数运行,从而可以实现应用程序和系统内核的交互。  通过三个实验对Linux的系统调用原理进行验证。第一个实验是简

6、单的系统调用的添加;第二个实验则是丰富了系统调用的功能,实现了一个抽牌的功能,而不仅仅是打印语句;第三个实验则是将编译内核改进成了内核模块的编译,这样在不重启调用编译后内核的前提下插入编译的系统调用内核模块,即可以调用新的系统功能。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  对于这次实验,我觉得最大的困难在于如何编译内核。开始的时候只知道makeclean和ma

7、kedep,却在makebzImage的时候出现了一堆选项让选y/n/M,后来才知道只要打makeoldconfig按原来的配置就可以了。然后是在makebzImage的时候出现了两个错误:一个是字母打错了,一个是位置加错了。又回去改,重新make。makemodules花费的时间最长,之后还算很顺利,只不过重启之后系统又自动进入RedHat我不知道,在执行test_print-info的时候显示i=-1,syscallfailed!,以为添加系统调用失败了!!后来才发现是进错了地方。  虽然对于这次实验,大多数内容都已经给出了,但是还是花了我很多时间。过

8、程很纠结,还好最后成功了!  最后,感谢老师在课上关于系统调用知识

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

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

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