第15章 Linux系统调用.pdf
《第15章 Linux系统调用.pdf》由会员分享,可在线阅读,更多相关《第15章 Linux系统调用.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux操作系统精讲操作系统精讲大连理工大学软件学院大连理工大学软件学院邱铁邱铁综合楼综合楼413,Tel:0411-87571632E_mail:参考教材:参考教材:?Linux应用与开发典型实例精讲邱铁、于玉龙、徐子川编著应用与开发典型实例精讲邱铁、于玉龙、徐子川编著.清华大学出版社清华大学出版社.2010.5第第15章 系统调用章 系统调用学习本章要达到的目标:学习本章要达到的目标:?1.理解理解Linux系统调用机制的实现原理;系统调用机制的实现原理;?2.基于基于Linux最新内核最新内核2.6.30,分析,分析Linux操作系统系统调用的代码结构;操作系统系统调用的代码结构;?3
2、.掌握向掌握向Linux系统增加自己的系统调用的方法。系统增加自己的系统调用的方法。15.1系统调用原理系统调用原理?系统调用是操作系统内核提供的、功能相对较强的一系列函数。这些函数是在的内核码中实现的,并通过某种接口形式,将这些函数提供给用户来进行调用。系统调用是操作系统内核提供的、功能相对较强的一系列函数。这些函数是在的内核码中实现的,并通过某种接口形式,将这些函数提供给用户来进行调用。?为了保证操作系统为了保证操作系统内核的安全与系统的稳定内核的安全与系统的稳定,操作系统提供了系统调用。,操作系统提供了系统调用。?系统调用一般的过程是,进程使用寄存器中适当的值跳转到内核中事先定义好的只读
3、的代码段中执行。系统调用一般的过程是,进程使用寄存器中适当的值跳转到内核中事先定义好的只读的代码段中执行。?在在x86体系结构的计算机中,系统调用由软中断体系结构的计算机中,系统调用由软中断0 x80来实现来实现系统调用过程系统调用过程?Linux内核会进行中断服务的处理,并执行内核会进行中断服务的处理,并执行system_call 函数,进入系统调用入口的公共处理函数,在这个函数中会按照通过寄存器函数,进入系统调用入口的公共处理函数,在这个函数中会按照通过寄存器eax传递的内容来识别所对应处理所有的系统调用。传递的内容来识别所对应处理所有的系统调用。?在进入系统内核后后,使用在进入系统内核后
4、后,使用system_call_table和和eax中包含的索引来执行真正的系统调用。中包含的索引来执行真正的系统调用。?从系统调用中返回后,最终执行从系统调用中返回后,最终执行 syscall_exit,并调用,并调用 resume_userspace 返回用户空间。返回用户空间。152系统调用函数分析系统调用函数分析?Linux内核版本中有一个内核版本中有一个entry.S文件,但是新的版本中分为了文件,但是新的版本中分为了entry_32.S和和entry_64.S,表示支持不同位数的体系结构的计算机,并且在文件内部用了大量的宏代替了原来的处理器指令。,表示支持不同位数的体系结构的计算机
5、,并且在文件内部用了大量的宏代替了原来的处理器指令。15.2.1系统调用入口函数系统调用入口函数?entry_32.S文件在文件在Linux内核内核2.6.30中的中的/usr/src/linux-2.6.30/arch/x86/kernel目录下,目录下,具体分析参见教材第具体分析参见教材第247页页?当在程序代码中用到系统调用时,编译器会按照系统调用号将系统调用宏展开,展开后的代码实际上是将系统调用号放入当在程序代码中用到系统调用时,编译器会按照系统调用号将系统调用宏展开,展开后的代码实际上是将系统调用号放入eax,然后用软中断,然后用软中断int 0 x80使处理器转向系统调用入口,并进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第15章 Linux系统调用 15 Linux 系统 调用
限制150内