os_ch8磁盘存储器的管理

上传人:油条 文档编号:47599835 上传时间:2018-07-03 格式:PPT 页数:62 大小:765KB
返回 下载 相关 举报
os_ch8磁盘存储器的管理_第1页
第1页 / 共62页
os_ch8磁盘存储器的管理_第2页
第2页 / 共62页
os_ch8磁盘存储器的管理_第3页
第3页 / 共62页
os_ch8磁盘存储器的管理_第4页
第4页 / 共62页
os_ch8磁盘存储器的管理_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《os_ch8磁盘存储器的管理》由会员分享,可在线阅读,更多相关《os_ch8磁盘存储器的管理(62页珍藏版)》请在金锄头文库上搜索。

1、第八章 磁盘存储器的管理l8.1 外存的组织方式l8.2 文件存储空间的管理l8.3 提高磁盘I/O速度的途径18.1 外存组织方式l一个文件存储介质,格式化后就分成许多大 小相等的单位存储块(物理盘块)。l在现代计算机系统中,一般来说,每个物理 块是一个磁盘的扇区,512字节,并给每个存储 块有个编号,称为物理块号。28.1 外存组织方式38.1外存组织方式l文件的物理结构指文件在存储介质上组 织结构,有三种基本结构:连续文件结构链接文件结构索引文件结构48.1.1 连续分配58.1.1 连续分配68.1.2 链接文件l一个链接文件结构是按顺序由串联的块组成 的,即文件的信息按存储介质的物理

2、特性存于 若干块中。l每个物理块的最末一个字(或第一个字)作为 链接字,它指出后继块的物理地址。链首指针 存放在该文件目录中。文件的结尾块的指针为 “”。l不要求连续存放。l对于记录式文件一块中可包含一个逻辑记录 或多个逻辑记录,也可以若干物理块包含一个 逻辑记录。78.1.2 链接文件1. 隐式链接 图 8-2 磁盘空间的链接式分配 88.1.2 链接文件98.1.2 链接文件l评价:l1.存储空间利用率高;l2.文件创建时用户不必指出文件的大小;l3.文件动态扩充和修改容易。l4.顺序存取效率高,随机存取效率太低,如 果访问文件的最后的内容,实际上是要访问整 个文件。l 类似于存储管理中的

3、页式102. 显式链接(FAT)l为了克服链接文件的存取效率太低的问 题,提出文件映照的技术,把链接文件中 的链接字集中在一结构中,既保持了链接 文件的优点,也克服了其缺点。lDOS、WINDOWS系统就采用了FAT结构。11图 8-3 显式链接结构 128.1.3 FAT技术lFAT:文件分配表,l将一个文件离散的存储在外存上,将链接 各物理块的指针显式的登记在一张文件分配 表FAT中,FAT整个系统一张,每个表项序号 为对应物理块号,表项内容为文件下一个物 理块的指针。l文件首个物理块地址被登记在文件目录中 。138.1.3 FAT技术图 8-4 MS-DOS的文件物理结构148.1.3

4、FAT技术相关计算磁盘块(扇区)大小,FAT表项大小,簇的大小 磁盘容量l1.FAT12:FAT表项12位,簇大小为1,2,4 ,8个扇区等l2.FAT16: FAT表项16位,簇大小为4,8, ,64个扇区l3.FAT32: FAT表项32位,簇大小为8个扇区158.1.3 FAT文件lFAT表的计算 任给定一磁盘空间会计算FAT表的所占空 间大小16FAT表的计算l1、盘块大小1K,硬盘大小500M,文件照 映方式下,FAT占多大?l2、文件A占用硬盘的第11,12,16,14四个盘 块,文件A中各盘块链接情况如何?178.1.5 索引文件l索引文件结构 l文件结构的数据结构是 文件的索引

5、表,每个文件 有一个索引表,表中每个 表目包括:逻辑块号,物 理块号。l索引表位置:文件目录 中,文件的开头等。l索引表大小:固定大小 ,非固定大小。18(1) 单级索引文件方式l将多个索引表块按链接文件的方式串联起来。l例 每个索引表项占4个字节(可表示物理块号 的范围从0232),若物理块的大小为512字节, 则一个物理块可存放127个索引表项和一个链接 字。192021例l在连续分配方式、链接分配方式、FAT 分配方式、索引分配方式中如何将文件的 字节偏移量3500转换为物理块号、块内位 移量?假设盘块大小1KB,盘块号占4B。22(2) 多级索引分配(26#)2324(3) 混合索引方

6、式(增量索引组织方式 )lUNIX系统采用多级间接索引结构,对小型 文件采用直接索引,对大型文件采用间接索 引,既保证绝大多数的文件有高的存取效率 ,又能适应存取一些大型文件。25262728索引文件相关计算l假设一个物理块大小为1KB,每个索引表项为3个 字节,则每个盘块可存放341个盘块号。l1、直接寻址的文件大小为10*1KBl2、一级间接寻址的文件大小为341*1KBl3、二级间接寻址的文件大小为341*341*1KBl4、三级间接寻址的文件大小为341*341*341*1KB298.2 文件存储空间的管理l实现文件系统的关键问题是记录各个文件分别 用到了哪些磁盘块。l为文件分配外存空

7、间时所要考虑的主要问题:l (1) 有效地利用外存空间。l (2) 提高对文件的访问速率。308.2 文件存储空间的管理l文件存储空间管理的方法:空闲块表空闲块链位示图成组链接法318.2.1空闲表法l系统为所有空闲区建立一张表。对于每 个空闲区,建立一个表目。表目的内容包 括:第一空白块地址(物理块号)、空白 块个数。序号第一个空闲 块号空闲块数状态1 2 3 418 29 105 5 8 19 可用 可用 可用 未用321 空闲块表l当某用户提出请求分配存储空间时,系 统依次扫描该空闲区的各表目,直到找到 一个满足要求的空闲区为止。l当用户删除一个文件时,系统收回其文 件空间。扫描空闲区目

8、录,找出一个空表 将其释放空间的第一个物理块号及占用的 块号数填入该表目中。332.空闲块链法l空闲块链把文件存储设备上的所有空闲块连 接在一起。 l当需要分配空闲块时从链首处进行,在主存 中要保存一个链首指针,指向第一个空闲块, 当释放空闲块时,把这些块挂在空闲块链尾上 。34(2)空闲块链358.2.2 位示图法位示图例36位示图位示图是外存空间的存储映射图。l 位示图是系统在内存中划分出的若干字节 的集合,用来指示磁盘存储情况。l 位示图的大小由其对应的文件存储设备的 容量决定,当一个盘组的分块确定后,根据划 分的总块数决定位示图由多少字节组成。37位示图l例:一个磁盘组共有16个柱面,

9、每个柱面有 16个磁头寻道,每个磁道分为16个扇区,那么 整个磁盘空间的扇区数为:l 16*16*16=4096(个)l 如果一个扇区被定义为一个存储块,用字 长位16位的存储单元来构造位示图,共需要256 个字。38位示图l盘块分配:l1、扫描位示图,找到一个或一组值为0 的二进制位l2、转换为相应的盘块号l i行,j列对应的盘块号 l b=n*(i-1)+jl3、修改位示图 mapi,j=139位示图l盘块回收:l1、将盘块号转换为位示图中的行号和列号l i=(b-1) div n+1l j=(b-1) mod n+1l2、修改位示图408.2.3 成组链接法lUNIX系统的空闲块的管理l

10、在UNIX系统中每个子文件系统(一片软盘、 一个硬盘的分区,一卷磁带)格式化后的结 构如图,其中特别块是存放该子文件系统的 管理信息,包括空闲块管理信息。l 411. 空闲盘块的组织422. 空闲盘块的分配与回收43补充:“按名存取”的实现“按名存取”的思想用户访问文件时,系统根据文件名查文件目录, 找到它的FCB。经过合法性检查,从FCB里得到该 文件所在的物理地址,然后进行所需要的存取操作 。 441273相对块号5624501101112131415扇区号:0120123磁道号40896MYFILE的起址逻辑字节地址块内相对字节地址第3个记录文件名:MYFILE文件在辅存位置:6 (相对

11、起始块号) 文件物理结构:连续 文件文件长度:7(逻辑记录 个数)逻辑记录 尺寸:500B文件性质:暂存文件主:ZONG使用者:ZONG存取控制:只读文件MYFILE的FCB内容452.“按名存取”的实现过程l要读文件MYFILE第3个记录,存放到数组A: A0,A1,A499中。程序里发读命令:READ(MYFILE,3,A) (1) l文件系统通过命令中提供的文件名MYFILE查 文件目录,找到了文件MYFILE的FCB后,系统 就把该命令改变成为:READ(FCB,3,A) (2) 命令验证合法后,系统就开始进行把对文件的读/ 写请求从逻辑结构映射到物理结构的工作。 46l把逻辑记录号3

12、转换成相应的逻辑字节地址, 即相对于该文件起点的字节数。公式是:逻辑字节地址=逻辑记录号*逻辑记录长度 =3*500=1500命令(2)转换成:READ(FCB,1500,A) (3) 47l把逻辑字节地址转换成相对块号和块内相对字 节地址。公式是:相对块号=(逻辑字节地址/物理块尺寸)+相 对起始块号=(1500/1000)+6=1+6=7块内相对字节地址=逻辑字节地址%物理块 尺寸=1500%1000=500命令(3)转换成:READ(FCB,7,500,A) (4) 48l把相对块号转换成物理地址:道号和块号。公式是:道号=相对块号/每道块数=7/4=1块号=相对块号%每道块数=7%4=

13、3命令(4)转换成:READ(FCB,1,3,500,A)(5)文件系统实现了由逻辑记录到物理记录的转换 。 49lREAD命令实现l申请1000B缓冲区,找到磁盘DCB,启动磁盘,把 第1道第3块中的信息读至内存缓冲区l根据500,将缓冲区中500B往后的500B内容读 到数组A中.l设备发出中断,I/O请求完成.508.3 提高磁盘I/O速度的途径8.3.1 磁盘高速缓存(Disk Cache) 是指利用内存中的存储空间,来暂存从磁盘中读出的一 系列盘块中的信息。是一组在逻辑上属于磁盘, 而物理上是驻留在内存 中的盘块。第一种是在内存中开辟一个单独的存储空间来作为 磁盘高速缓存,其大小是固

14、定的,不会受应用程序多少 的影响;第二种是把所有未利用的内存空间变为一个缓冲池 ,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享 。511. 数据交付方式l如何将磁盘高速缓存中的数据传送给请求者 进程?l(1) 数据交付。这是直接将高速缓存中的数 据,传送到请求者进程的内存工作区中。l(2) 指针交付。只将指向高速缓存中某区域 的指针,交付给请求者进程。522. 置换算法l将磁盘块的数据读入高速缓存时,高速 缓存中已装满需要将数据先换出lLRU,NRU,LFU533. 周期性地写回磁盘l系统发生故障时,存放在高速缓存中的数据丢 失,造成高速缓存中的和磁盘中的数据不一致lUNIX系统中专门

15、增设了一个修改(update)程序 , 使之在后台运行,该程序周期性地调用一个 系统调用SYNC,强制性地将所有在高速缓存中已 修改的盘块数据写回磁盘。lMS-DOS中所采用的方法是:只要高速缓存中的 某盘块数据被修改,便立即将它写回磁盘548.3.2 提高磁盘I/O速度的其它方法 l1. 提前读(Read-Ahead) 读磁盘l2. 延迟写 写磁盘l3. 优化物理块的分布 分配磁盘块l4. 虚拟盘55习题UNIX系统专用块及空闲盘块情况如图所示。l (1) 每一组的第一个物理块的作用是什么?l (2) 当用户释放了78#,89,108和204 物理块,专用块中的空闲块索引表filsys的 变

16、化情况又如何?l (3) 当用户又申请5个物理块,专用块中的 空闲块索引表filsys的变化情况又如何?5657习题在UNIX系统中,文件File的I节点中有10 个直接地址,一级、二级和三级间接索引 地址分别为一个。如果间接盘块可以存放 256个盘块地址,每个盘块地址长度为4个 字节。请回答:58习题l (1) 若文件File的大小为2 MB,那么分 别占了多少个直接盘块和间接盘块?l(2) 若文件File的大小为10 MB,那么分 别占了多少个直接盘块和间接盘块?l(3) 若文件File的大小为25 MB,那么分 别占了多少个直接盘块和间接盘块?59课后作业l1.总结操作系统中时间和空间换取的主要技术l2.文件系统按名存取过程中,目录、物理结构 、磁盘如何共同完成文件存取操作60课后作业3某文件为连接文件,由5个逻辑记录组 成,每个逻辑记录

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号