欢迎来到天天文库
浏览记录
ID:57016422
大小:422.50 KB
页数:33页
时间:2020-07-26
《操作系统课程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章主要内容文件系统结构文件系统实现目录实现分配方法空闲空间管理恢复112.1文件系统结构磁盘提供大量的外存空间来维持文件系统,磁盘的两个特点,使其成为存储多个文件的方便媒介可以原地重写;可以从磁盘上读一块,修改该块,并将它写回到原来的位置可以直接访问磁盘上的任意一块信息。(随机或顺序方式)为了提供对磁盘的高效且便捷的访问,操作系统通过文件系统来轻松地存储、定位、提取数据。文件系统的两个设计问题如何定义文件系统对用户的接口创建数据结构和算法来将逻辑文件系统映射到物理外存设备上文件系统按层来组织(见下页)2分层设计的文件系统I/O控制由设备驱动程序和中断处理程
2、序组成,实现内存与磁盘之间的信息转移基本文件系统向合适的设备驱动程序发送一般命令就可对磁盘上的物理块进行读写文件组织模块知道文件及其逻辑块和物理块。空闲空间管理器逻辑文件系统管理元数据:文件系统的所有结构数据,而不包括实际数据(或文件内容)根据给定符号文件名来管理目录结构逻辑文件系统通过文件控制块(FCB)来维护文件结构312.2文件系统实现本节深入分析用于实现文件系统的结构和操作4磁盘结构在磁盘上,文件系统可能包括如下信息:如何启动所存储的操作系统总的块数空闲块的数目和位置目录结构以及各个具体文件等磁盘结构包括引导控制块(bootcontrolblock)
3、:通常为分区的第一块。如果该分区没有OS,则为空。(其他名称:引导块(Linux)、分区引导扇区(WindowsNT))分区控制块(partitioncontrolblock):包括分区详细信息,如分区的块数、块的大小、空闲块的数量和指针、空闲FCB的数量和指针等(亦称为超级块(Linux)、主控文件表(WindowsNT))目录结构:用来组织文件文件控制块(FCB):包括很多文件信息,如文件许可、拥有者、大小和数据块的位置等5一个典型的文件控制块文件权限文件日期(创建、访问、写)文件所有者,组,ACL(AccessControlLevel)文件大小文件数据
4、块6内存中的结构内存分区表:包含所有安装分区的信息内存目录结构:保存近来访问过的目录信息(对安装分区的目录,可以包括一个指向分区表的指针)系统范围的打开文件表:包括每个打开文件的FCB拷贝和其他信息单个进程的打开文件表:包括一个指向系统范围内已打开文件表中合适条目和其他信息的指针文件描述符(filedescriptor,Linux/UNIX)文件句柄(filehandle,Windows)7内存中的文件系统结构8分区与安装分区可以是“生的”(raw),即没有文件系统,或是“熟的”(cooked)即含有文件系统。生的分区用于没有合适文件系统的地方。如:Unix
5、中的交换区引导信息能存在各个分区中,并且有自己的格式。它通常为一组有序块,作为二进制文件读入内存。引导信息除了包括如何启动一个特定操作系统外,还可以有其他指令。(如BootManagerbootstar8.3,LinuxGRUB,GRUB-GRandUnifiedBootloader)根分区(rootpartition)包括操作系统内核或其他系统文件,在引导时装入内存。其他分区根据不同操作系统可以在引导时自动装入或在此之后手动装入。/root,/boot文件系统安装表(filesystemmounttable)9虚拟文件系统虚拟文件系统(VFS)提供了一种面
6、向对象的方法来实现文件系统VFS允许在不同类型的文件系统上采用同样的系统调用接口(API)API是针对VFS的接口,而非对任何特定类型的文件系统10虚拟文件系统示意图1112.3目录实现最为简单的目录实现方法是使用存储文件名和数据块指针的线性列表(数组、链表等)容易实现但运行费时采用线性搜索来查找特定条目(缺点)许多操作系统采用软件缓存来存储最近访问过的目录信息Hash表:采用Hash数据结构的线性表减少了目录搜索时间碰撞:两个文件名哈希到相同的位置哈希表的最大困难是其通常固定的大小和哈希函数对大小的依赖性1212.4分配方法分配方法指的是如何为文件分配磁盘
7、块,常用的分配方法有以下三类连续分配链接分配索引分配13(一)连续分配(contiguousallocation)每个文件占据磁盘上的一组连续的块特点:简单-只需要记录文件的起始位置(块号)及长度。访问文件很容易,所需的寻道时间也最少存在的问题为新文件找空间比较困难(类似于内存分配中的连续内存分配方式)文件很难增长14磁盘空间的连续分配示例15基于扩展的连续分配方法许多新的文件系统采用一种修正的连续分配方法该方法开始分配一块连续空间,当空间不够时,另一块被称为扩展的连续空间会添加到原来的分配中。文件块的位置就成为开始地址、块数、加上一个指向下一扩展的指针。1
8、6(二)链接分配(linkedallocation)
此文档下载收益归作者所有