阙雪松linux系统调用分析

阙雪松linux系统调用分析

ID:15695595

大小:176.50 KB

页数:18页

时间:2018-08-04

阙雪松linux系统调用分析_第1页
阙雪松linux系统调用分析_第2页
阙雪松linux系统调用分析_第3页
阙雪松linux系统调用分析_第4页
阙雪松linux系统调用分析_第5页
资源描述:

《阙雪松linux系统调用分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux系统调用分析sys_sysfssys_creatsys_llseeksys_flock9811552周天9811553郏方贵9811554阙雪松9811562冯利民目录目录2Linux系统调用分析3第一章Linux文件系统概述3一、VFS文件系统3二、安装的文件系统的结构4三、打开文件的有关数据结构4第二章sys_sysfs系统调用5一、sysfs系统调用综述6二、sysfs系统调用涉及的数据结构和函数说明:7第三章sys_creat系统调用分析8一、sys_creat系统调用综述8二、创建文件的操作过程11三、sys_open所涉及的数据结构9四、相关函数说明10附录:源代码致谢

2、18Linux系统调用分析摘要:本文是对Linux的两个文件系统调用:sys_sysfs、sys_creat、进行了好的分析。我们一开始是对Linux文件系统做一个简要的介绍,再对这二个文件系统调用的实现进行分析。Linux一个最大的特点是它支持多种文件系统,如:EXT、EXT2、XIA、MINIX、UMSDOS、MSDOS、VFAT、PROC、SMB、NCP、ISO9660、SYSV、HPFS、SFFS和UFS等等,甚至还支持NFS。它之所以能支持这么多的文件系统,是由于它在具体的文件系统上增加了一层抽象层:VFS文件系统。VFS文件系统将独立于具体文件系统的数据和操作集中在自身之中,并通

3、过数据结构中的UNION类型和函数指针将具体的文件系统包容进来。这种分层的概念,使得Linux不仅可以有良好的兼容性,而且也使它有较大的可扩充性。Linux的文件系统不但可以建立在多种具体的文件系统之上,它还具有较高的性能。这是由它丰富而复杂的Cache机制来保证的。这里的Cache机制指的是文件系统中涉及的各种缓冲区。Linux的文件系统中的缓冲系统有:Inode缓冲(InodeCache)、目录缓冲(DirectoryCache)、Buffer缓冲(BufferCache,Linux系统中最为复杂的缓冲之一)和页面缓冲(PageCache,在存储管理模块中);另外还有各种小型的缓冲系统。

4、这多种缓冲系统各司其职,又构成层次体系,如Buffer缓冲在文件系统的最底层,负责与设备交互,而页面缓冲就处于Buffer缓冲之上。这种复杂的缓冲层次体系有效地弥补了文件系统中内存与外存之间的速度差异,提高了文件系统的性能。下面,本文先将整个文件系统的概况和一些重要的概念、数据结构介绍一下,然后再讨论文件读写操作的有关内容。第一章Linux文件系统概述Linux的文件系统分为两个层次:VFS文件系统和某个具体的文件系统,如典型的EXT2。一、VFS文件系统VFS文件系统是建立在具体文件系统上的一个抽象层次。它必须管理安装(mount)在Linux18系统中的每一个具体的文件系统;为此,它维护

5、着众多的数据结构,这些数据结构描述了整个文件系统和实际的安装上的文件系统。VFS采用的概念同UNIX文件系统相似,即用超级块(SuperBlock)和Inode节点来描述和管理文件系统。超级块是整个文件系统的管理数据,而Inode则描述了单个文件或目录。图1.上面显示了Linux文件系统的组成结构,VFS处于最上层,BufferCache处于最下层,负责与设备的交互。InodeCache和DirectoryCache为整个文件系统提供服务。二、安装的文件系统的结构下图显示了一个文件系统安装后,它的超级块在VFS18文件系统中的位置和相关的数据结构:图2文件安装数据结构上图中涉及到三个表:vf

6、smount表。这个表是一个链表,它登记了VFS文件系统中当前安装的文件系统。super_block表。这个表是一个数组,它存放了系统当前安装的所有文件系统的超级块。file_system_type表。这也是一个链表,它登记了VFS文件系统中当前安装的文件系统的类型信息。vfsmount表中节点的mnt_sb指向super_block表中的元素。而super_block表中元素的s_type指向File_system_type表中的节点。18三、打开文件的有关数据结构一个文件在打开以后,在系统中就要为它建立起相应的数据结构。主要有两个:一是在当前进程的打开文件描述符中为它分配一项,二是分配一

7、个文件结构(filestruct,即FILE结构),并将文件描述符与该结构对应起来。FILE结构再指向该文件的inode。这样的结构,包括在文件描述符和inode之间加一层FILE结构,主要是为了实现多种方式的共享。在FILE结构中,有文件读写的指针和文件操作的函数指针等信息。文件共享有两种方式:一是共享inode节点,是多个FILE结构共享一个inode;二是共享FILE结构,是多个文件描述符共享一个FIL

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

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

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