- 1、本文档共62页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * * 3. 增量式(混合)分配方式 多种索引分配方式相结合而形成的一种分配方式。 例如:系统既采用直接地址,又采用一级索引分配,或两 级索引分配,甚至还采用了三级索引分配方式。 这种混合索引分配方式在UNIX系统中采用。在UNIX System Ⅴ的索引结点中,共设置了13个地址项,即iaddr(0)~iaddr(12) (图8-8) 。在BSD UNIX的索引结点中,共设置了13个地址项,它们都把所有的地址项分成两类,即直接地址和间接地址 图8-8 增量式(混合)索引方式 * * 直接地址:在索引结点中可设置10个直接地址项,即用iaddr(0)~iaddr(9)来存放直接地址。假如盘块大小为4KB,当文件不大于40KB时,便可直接从索引结点中读出该文件的全部盘块号 一次间接地址:利用索引结点中的地址项iaddr(10)来提供一次间接地址(同二级索引:每个盘块号占4B,盘块个数1KB),。实质就是一级索引分配方式(大、中型文件,文件长达4 MB) 多次间接地址:文件大于4MB+40KB时,须采用二次间址分配方式。地址项iaddr(11)提供二次间接地址,实质是两级索引分配方式,此时文件最大长度可达4 GB。同理,地址项iaddr(12)作为三次间接地址,其所允许的文件最大长度可达4 TB unix操作系统上,如果一个块的大小是1KB?,一个盘块号占4个字节(一个盘块有256个地址)。请把下面的文件字节偏移量转换为物理地址: (1)9999???(2)18000???(3)140000 * P276,11 (1)9999 逻辑块号:9999/1024=9? ??? 块内偏移量为: 9999-9*1024=783? 逻辑块号<10, 直接地址 物理地址为: inode[9]+783 图8-8 增量式(混合)索引方式 * 直接地址: 可设10个直接地址项 一次间接地址: 多次间接地址: * (2)18000?? 逻辑块号: 18000/1024=17 ??? 块内偏移量为: 18000-17*1024=592 ? 1017256+10, 一次间接地址,若一次间接盘块号为M M中第17-10=7项地址,即物理块号为M[7] 物理地址为: M[7]+592 * (3) 140000 ?? 逻辑块号: 420000/1024=410 ??? 块内偏移量为: 420000-410*1024=160 10+256<410<65802,(65536+256+10) 二次间接盘块号 若二次间接的盘快号为M,由于一次间接快可容纳256个块号,且410-256-10=144 所以该文件的物理块号在: M[0]所指示的间接快N的第144项中的数据, 该地址的第160字节即位文件的物理地址 8.2 文件存储空间的管理 先要记住空闲存储空间的情况。为此,设置相应的数据结构;系统要提供对存储空间分配和回收的功能。 空闲表法/空闲链表法 2. 位示图法 成组链接法 * 8.2.1 空闲表法和空闲链表法(1) 1. 空闲表法 空闲表:外存每个空闲区对应一个空闲表项 空间的分配和回收(可采用多种方式,如首次适应算法、循环首次适应算法等) 序号 第一空闲盘块表 空闲盘块数 1 2 4 2 9 3 3 15 5 ? ? ? 空闲盘块表 * 8.2.2 位示图法 1. 位示图 每一位表示一个块/簇,值0和1分别表示空闲和占用 占用空间少、容易找到相邻的空闲盘块 * 2. 盘块的分配(三步) ? 顺序扫描位示图,找出一个/组值是0的二进制位 ? 将找到的二进制位,转换成对应的盘块号 b = n(i-1) + j ? 修改位示图 map[ i,j ] = 1 * 3. 盘块的回收(2步) ? 将盘块号b转换成位于图中的行号和列号 i=(b-1) DIV n + 1 j=(b-1) MOD n + 1 ? 修改位示图 map[i,j]= 0 * 8.2.3 成组链接法 1. 空闲盘块的组织(图8-11) 空闲盘块号栈:存放当前可用的一组空闲盘块的盘块号 所有空
文档评论(0)