资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第十七讲 文件系统,目的与要求,:掌握文件系统调用处理及使用。了解文件备份与保护,系统的组成和各部分功能。,重点,:文件使用和控制、文件保护。,作业,:,10,11,1,3,15。,74文件访问系统调用,操作系统提供文件创建、删除、打开、关闭、读、写等系统调用作为用户编程界面。,另一文件访问接口,Memory,Mapped,文件访问。,文件的建立与删除,CREATE、DELETE,系统调用参数包括,文件名,(路径名),设备名,(卷名),其它信息,(,FCB,中要用户提供的信息),741传统文件系统调用实现,文件的建立与删除,CREATE,系统调用大致处理过程,检查参数合法性,在文件目录结构中的适当位置建立一个文件控制块,FCB。,将参数填入,FCB。,分配文件所存放的外存空间(也可,lazy,分配即在写数据时分配,),,建立索引表,填入,FCB,中。,文件的打开与关闭,OPEN,系统调用处理过程,检查参数,获得文件名(路径名);,按名查找文件目录结构,找到文件的,FCB;,将,FCB,拷贝入内存,存入内存活跃文件目录表中;,建立一张本次打开的文件读写状态信息表,将当前访问指针指向文件首;,将文件读写状态信息表的地址存于进程,PCB,中的资源描述区中“活动名字表”中,返回其索引号(存入,fd,)作为本次调用的返回值。,PCB,活动文件目录表,读写状态信息表,活动名字表,(使用文件表),活动名字表、文件,读写状态信息表,、活跃文件目录表的关系,文件的打开与关闭,CLOSE,系统调用管理过程,检查参数,获得活动名字表索引(,fd,);,按索引在,PCB,中的“活动名字表”中得到文件读写状态信息表的指针,释放文件读写状态信息表,如果活动文件目录表中,FCB,不再使用,则释放该,FCB,所占的空间。,文件的读写,Read/Write,系统调用大致处理过程,核实参数,按,fd,获得文件读写状态信息表,获得活跃文件目录表中的,FCB。,核实操作许可。,按,FCB,中定位信息将要读写的逻辑地址转化成物理地址。,(如写,则将数据从用户区拷入系统区,)将物理地址,内存地址,长度等参数填好,调用外存驱动程序进行,I/O,操作,(如读,则将系统区数据拷入用户区)。,742,MemoryMapped,文件访问,操作系统提供两条系统调用用以实现,MemoryMapped,文件访问:,map:,通过该系统调用将一个文件映射到一段进程地址空间,。,unmap,:,将文件与指定进程虚空间段脱钩,。,文件访问方法:,Open,文件;,Map,文件到一片虚空间;,读写这片虚空间;,Unmap,文件。,7.5.1 文件备份,批量备份,全量转储:把全部文件定期复制到磁带上。,增量转储:定期把上次转储以来改过的文件和新文件转储。,文件系统恢复(死机后恢复),fsck,等实用程序将文件目录的数据结构理清,可能丢失文件数据和文件,7.5.2 文件访问保护,口令,创建文件时提供一个口令,存于,FCB,中,要对文件访问时,系统核对口令。,数据加密,将数据写入文件时,对写入数据加密,读出时进行解密,访问者必须提供密钥(特例:,unix,中,passwd,中的口令加密后写入,无需解密读出)。,访问控制,检查用户对文件的,访问权限,与本次访问是否一致。,访问控制矩阵,一维列出全部用户,二维列出所有文件,,Cij,值是,i,用户对,j,文件访问权限,简化访问表,在文件中针对文件主,同组用户和其它用户给出访问权限,文件系统的优点,方便灵活,用户不用管文件在物理存储器上的存放。,安全可靠,可进行访问限制,可进行文件数据备份与恢复。,方便共享使用,可按名访问,文,件,系,统,的,基,本,模,型,用户层,用户接口及初始化,文件目录系统,存取控制,逻辑文件系统,物理文件系统,外存空间分配,设备管理,用户调用接口及初始化模块,对用户进程发出的文件类系统调用进行处理,检查参数合法性,补充省缺参数,把系统调用转化为对相应子程序的调用,负责进程用户空间与,OS,内核的数据传输交换,文件目录系统,管理与组织文件目录结构,如建立、删除、查找文件目录等,管理“活跃文件目录表”,管理“文件读写状态信息表”和“活动名字表”,打开,关闭及读写时要涉及上述数据结构。,上下级的转换,存取控制验证(涉及文件保护的程序属于此模块。),逻辑文件系统与文件信息缓冲区,根据文件的逻辑结构,将用户欲读写的逻辑记录转换成,文件逻辑块号,及,块内,offset,。(,在,UNIX,流式文件情形下,将文件开始字节数除以块长,取整得逻辑块号,取余得块内,offset。),逻辑块,逻辑记录,物理文件系统,功能,:把逻辑记录所在的,逻辑块号,转换成,物理块号,,利用文件控制块内的索引表信息即可转换。并负责对下层模块函数的调用,如外存空间分配及,I/O,驱动程序。(有些操作系统在这里设立磁盘块缓冲。),分配模块,负责分配和回收外存空间。,设备管理程序(驱动器),具有分配设备,分配读写缓冲区,磁盘调度,启动外设,处理外设中断,释放读写缓冲区,释放设备等功能。,The end,
展开阅读全文