预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共29页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十七讲文件系统7.4文件访问系统调用文件的建立与删除create、delete系统调用参数包括文件名(路径名)设备名(卷名)其它信息(FCB中要用户提供的信息)文件的建立与删除create系统调用大致处理过程检查参数合法性在文件目录结构中的适当位置建立一个文件控制块FCB。将参数填入FCB。分配文件所存放的外存空间(也可lazy分配即在写数据时分配),建立索引表,填入FCB中。文件的建立与删除delete文件系统调用过程检查参数,得到文件名(路径名)按名查找文件目录结构,找到文件的FCB按FCB中的索引表释放文件所占外存空间从文件目录结构中删除FCB。文件的打开与关闭open系统调用处理过程检查参数,获得文件名(路径名);按名查找文件目录结构,找到文件的FCB;将FCB拷贝入内存,存入“内存活跃文件目录表”中;建立一张本次打开的“文件读写状态信息表”,将当前访问指针指向文件首;将文件读写状态信息表的地址存于进程PCB中的资源描述区中“打开文件表”中,返回其索引号fd作为本次调用的返回值。文件的打开与关闭close系统调用管理过程检查参数,获得fd;按fd在PCB中的“打开文件表”中得到“文件读写状态信息表”的指针,释放其空间,如果“活跃文件目录表”中FCB不再使用,则释放该FCB所占的内存空间。文件的读写读写参数包括fd起始逻辑地址(省缺时即当前访问地址,存于“读写状态信息表”)长度读写信息用户区地址文件的读写read/write系统调用大致处理过程核实参数,按fd获得文件读写状态信息表,获得活跃文件目录表中的文件FCB。核实操作许可。按FCB中定位信息(如索引表)将要读写的逻辑地址转化成物理地址。(如写,先将数据从用户区拷入系统区,)将外设物理地址,内存地址,长度等参数填好,调用外存驱动程序进行I/O操作,(如读,需将系统区数据拷入用户区)。文件系统文件目录相关系统调用:创建目录删除目录打开目录关闭目录读目录项改文件名及属性7.4.2Memory-Mapped文件访问操作系统提供两条系统调用用以实现Memory-Mapped文件访问:map:通过该系统调用将一个文件映射到一段进程地址空间。unmap:将文件与指定进程虚空间段脱钩。文件访问方法:open文件;map文件到一片虚空间;读写这片虚空间;unmap文件。7.5文件保护7.5.1文件访问保护访问控制检查用户对文件的访问权限与本次访问是否一致。访问控制矩阵一维列出全部用户,二维列出所有文件,Cij值是i用户对j文件访问权限简化访问表在文件中针对文件主,同组用户和其它用户给出访问权限7.5.2文件备份同步备份镜像盘支持。在对磁盘写操作的同时,对称地写其镜像盘,双机动态文件备份。所谓双机动态文件备份是指有两台机器在文件写操作时完全对称地工作,保证当一台机器出错时,另一台机器还可以接着往下做。有了双机动态文件备份,加上双份盘即可防止来自处理机和存储介质两方面损坏对文件系统引起的破坏。7.6文件系统基本模型文件系统的优点方便灵活用户不用管文件在物理存储器上的存放。安全可靠可进行访问限制,可进行文件数据备份与恢复。方便共享使用,可按名访问文件系统的基本模型用户调用接口及初始化模块对用户进程发出的文件类系统调用进行处理,检查参数合法性补充省缺参数把系统调用转化为对相应子程序的调用负责进程用户空间与OS内核的数据传输交换文件目录系统管理与组织文件系统目录结构如建立、删除、查找文件目录等,管理“活跃文件目录表”,管理“文件读写状态信息表”和“活动名字表”,打开,关闭及读写时要涉及上述数据结构。上下级的转换逻辑文件系统与文件信息缓冲区根据文件的逻辑结构,将用户欲读写的逻辑记录转换成文件逻辑块号及块内offset。(在字节流式文件情形下,将文件开始字节数除以块长,取整得逻辑块号,取余得块内offset。)文件缓冲:系统将文件的某些“相对块号”的数据存放于缓冲区中,系统将这些存有文件数据信息的缓冲区按照如Hash表及Hash队列形式组织起来。当要读写某个文件的某“相对块号”时,按照文件内部号和“相对块号”首先到Hash队列中查找数据是否已经在内存,如果已经在缓冲区中,立即访问之。物理文件系统功能:把逻辑记录所在的逻辑块号转换成物理块号,利用文件控制块内的索引表信息进行转换。并负责对下层模块函数的调用,如外存空间分配及I/O驱动程序。(有些操作系统在这里设立磁盘块缓冲。)分配模块负责分配和回收外存空间。设备管理程序(驱动器)具有分配设备,磁盘请求调度,启动外设,处理外设中断,释放设备等功能。7.7FAT文件系统磁盘布局Theend用