深入LINUX内核:为LINUX增加一条系统调用.pdfVIP

深入LINUX内核:为LINUX增加一条系统调用.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯 科 技 论 坛 史垦 技 昱 生蔓zo塑 CHINA sC1日炷 AND TEG~NOLOGY IN:OftMATION Oct2005 深入LINUX 内核●● 为LINUX增加一条系统调用 谭冠政’李国忠 (1,中南大学信息科学与工程学院 410083;2,江西工业工程职业技术学院 337000) 摘 要 本文先介绍了LinUX系统调用机制,然后着重介绍为LinUX添加新的系统调用功能的实验步骤,最后再给 出系统调用实验 的结果。从这实验 中我们可 以看到,LINUX作为一个开放源码操作系统的强大魅力。 关键词 :LlNu×;内核;调用;结果 一 , 系统调用简介 mov1%e£X【.EAXp/~-p) # save 限制,它们的容量不能超过四个字节。这是因为 thereturn value 执行int$0x80指令进行系统调用时,所有的参数 系统调用是应用程序和操作系统内核之间的功 jmpret—from syscall 值都存在32他的CPU寄存器中。使用 CPU寄存 能接 口。其主要 目的是使得用户可以使用操作系统 从中我们可以看出systemcall入口的汇编程序 器传递参数带来的另一个限制是可以传送给系统调 提供的有关设备管理、输入 /输入系统、文件系 的主要功能是 : 用的参数的数目。这个限制是最多可以传递5个参 统和进程控制、通信以及存储管理等方面的功能, 保存寄存器当前值 (SAVE ALL); 数 。所以Linux一共定义了6个不同的~syscallN 而不必了解系统程序的内部结构和有关硬件细节, 检验是否为合法的系统调用; ()宏指令,从 sySCa110 ()、 sysea1ll () 从而起到减轻用户负担和保护系统以及提高资源利 根据系统调用表 syscalltable~11EAX持有的 直到 sysca115 ()。 用率的作用。系统调用响应函数的函数名约定是: 系统调用号找出并转入系统调用响应函数; 一 旦 syscallN ()宏指令用特定系统调用的 函数名以 “sys”开头,后跟该系统调用的名字, 从该响应函数返回后,让EAX寄存器保存函 相应参数进行了扩展,得到的结果是一个与系统调 由此构成 164个形似sy~nameO的函数名。因此, 数返回值,跳转至 retfrom syscall(arch/i386/ 用同名的函数,它可以在用户程序中执行这 一系统 系统调用ptraceO的响应函数是sysptrace()(kemeL/ kernel/entry.S)。 调 用 。 ptrace.c)。 最后,在执行位于用户程序中系统调用命令后 三, 添加新的系统调用

文档评论(0)

人生新旅程 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档