电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

read系统调用流程样本

read系统调用流程样本_第1页
1/22
read系统调用流程样本_第2页
2/22
read系统调用流程样本_第3页
3/22
下载后可任意编辑Read 系统调用在用户空间中的处理过程Linux 系统调用( SCI, system call interface) 的实现机制实际上是一个多路汇聚以及分解的过程, 该汇聚点就是 0x80 中断这个入口点( X86 系统结构) 。也就是说, 所有系统调用都从用户空间中汇聚到 0x80 中断点, 同时保存具体的系统调用号。当 0x80 中断处理程序运行时, 将根据系统调用号对不同的系统调用分别处理( 调用不同的内核函数处理) 。系统调用的更多内容, 请参见参考资料。Read 系统调用也不例外, 当调用发生时, 库函数在保存 read 系统调用号以及参数后, 陷入 0x80 中断。这时库函数工作结束。Read 系统调用在用户空间中的处理也就完成了。回页首Read 系统调用在核心空间中的处理过程0x80 中断处理程序接管执行后, 先检察其系统调用号, 然后根据系统调用号查找系统调用表, 并从系统调用表中得到处理 read 系统调用的内核函数 sys_read , 最后传递参数并运行 sys_read 函数。至此, 内核真正开始处理 read 系统调用( sys_read 是 read 系统调用的内核入口) 。在讲解 read 系统调用在核心空间中的处理部分中, 首先介绍了内核处理磁盘请求的层次模型, 然后再按该层次模型从上到下的顺序依次介绍磁盘读请求在各层的处理过程。Read 系统调用在核心空间中处理的层次模型下载后可任意编辑图 1 显示了 read 系统调用在核心空间中所要经历的层次模型。从图中看出: 对于磁盘的一次读请求, 首先经过虚拟文件系统层( vfs layer) , 其次是具体的文件系统层( 例如 ext2) , 接下来是 cache 层( page cache 层) 、 通用块层( generic block layer) 、 IO 调度层( I/O scheduler layer) 、 块设备驱动层( block device driver layer) , 最后是物理块设备层( block device layer) 下载后可任意编辑图 1 read 系统调用在核心空间中的处理层次虚拟文件系统层的作用: 屏蔽下层具体文件系统操作的差异, 为上层的操作提供一个统一的接口。正是因为有了这个层次, 因此能够把设备抽象成文件, 使得操作设备就像操作文件一样简单。 下载后可任意编辑在具体的文件系统层中, 不同的文件系统( 例如 ext2 和 NTFS) 具体的操作过程也是不同的。每种文件系统定义了自己的操作集合。关于文件系统的更多内容, 请参见参考资料。 引入 cache 层的目的是为了提高 linux 操作系统对磁盘访问的...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

read系统调用流程样本

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部