所需E币: 4
时间: 2019-12-24 15:42
大小: 314.95KB
此文档详细讲解了在内核代码中是如何实现一个系统调用的,比如:用户空间调用open函数,内核代码是如何实现,主要是讲解实现流程!!Linux内核文件系统与设备操作流程分析Author:sinisterEmail:sinister@whitecell.orgHomepage:http://www.whitecell.orgDate:2007-01-23本笔记对linuxkernel的文件系统操作以及设备操作进行了分析,主要是针对ext3文件系统的open流程的分析,目的是为了解答心中的几个疑问:1、一个文件的操作流程,系统是如何把structfile与structdentry以及structinode结合起来的?2、文件与设备驱动都是对VFS(VirtualFileSystem)抽象出来的structfile进行操作的,那么系统是如何区分的?在哪里开始区分的?3、linux内核中没有类UNIXVFS(VirtualFileSystem)提供的structvnode结构,那么具体的文件操作是如何与实际文件系统的操作挂钩的?4、超级块(superblock)在文件与设备驱动操作中起到的作用?5、在以前的尝试中对structfile做手脚为什么影响不到全局?6、在文件系统内核有几个函数操作集?有何不同?分别是在什么时候赋值?注:此文档是根据当时的分析过程记录的,分析顺序也就没有再更改过,每个人读内核源码的思路不同,或者说目的不同,流程自然也就不同。所以在别人看来我所记录的可能比较凌乱。如果真是这样,那我只能说句抱歉,因为我并不打算再修改记录顺序。最后还是那句话,如果您在阅读本文时发现了错误,还望得到您的指……