(1)连续组织方式。为每一个文件分配--组位置相邻接的盘块,由此形成的文件物理结构是顺序式的文件结构。
(2)链接组织方式。为每个文件分配一组位置离散的盘块,通过给每个盘块设置一个指针,将属于同-一个文件的盘块链接在一起,链接的顺序和文件的逻辑页的顺序一致。由此形成的文件物理结构是链接文件。
(3)索引组织方式。为每个文件分配--组位置离散的盘块,为每个文件建立一个物理结构的索引表,记录分配给该文件的物理盘块,以及这些盘块和文件逻辑页顺序的对应关系。由此形成的文件物理结构是索引文件。
(1)连续组织方式所形成的顺序文件的主要优点①顺序访问容易②顺序访问速度快
(2)连续组织方式所形成的顺序文件的主要缺点①要求为一个文件分配连续的存储空间②必须事先知道文件的长度;③不能灵活地删除和插入记录④对于那些动态增长的文件,由于事先很难知道文件的最终大小,因而很难为分配空间,而即使事先知道文件的最终大小,在采用预分配存储空间的方法时也会使大量的存储空间长期空闲。
(3)主要适用场合:连续组织方式所形成的顺序文件是一种最简单、最常用的文件组织方法,它适用于许多资料处理的场合,如磁带文件,打印文件都是常用的顺序文件。
链接方式分为隐式链接和显式链接两种形式。
隐式链接是在文件目录的每目录项中,都含有指向链接文件第一个盘块和最后一个盘块的指针。
显式链接贝把用于链接文件各物理块的指针,显式地存放在内存的一张链接表中。
(1)引入“簇”的原因:为了适应磁盘容量不断增大的需要,在进行盘块分配时不再以盘块而是以簇(Cluster)为基本单位。一个簇应包含扇区的数量与磁盘量的大小直接有关。(2)以簇作为基本分配单位的好处:能应磁盘容量不断增大的情况,还可以减少FAT 表中的项数(在相同的磁盘容量下,FAT表的项数是与簇的大小成反比),使FAT 表占用更少的存储空间,并减少访问FAT表的存取开销。
(1)从FAT12发展为FAT16的原因:FAT12 表中 的表项有限制,亦即最多只允许4096个。这样,随着 磁盘容量的增加。必定会引起簇的大小和簇内碎片也随之增加。要想增加FAT 表中的表项数,就必须增加 FAT表的位数(宽度)如果我们将FAT表项位数增至16 位,最大表项数将增至65536216)个,此时便能将 一个磁盘分区分为65536 (216 )个簇。 (2)从FAT16发展为FAT32的原因:由于FAT16 表 的长度只有65535项,随着磁盘容量的增加,簇的大 小也必然会随之增加,为了减少簇内零,也就应当增 加FAT 表的长度,为此需要再增加FAT 表的宽度,这样 也就由FAT16演变为FAT32
答:(1)逻辑簇号的定义:逻辑簇号(LCN)是对卷 进行管理的工具,使用逻辑簇号可对卷的第一个簇到 最后一个簇进行编号。 (2)虚拟簇号的定义:虚拟簇号(VCN )也是对卷进 行管理的工具,使用虚拟簇号可对特定文件的族从头 至尾进行编号。它不要求物理上是连续的,要确定 YCN的磁盘上的定位需先将其转换为LN。 (3)NTFS 将它们映射到文件的物理地址的方法:NTFS 在进行地址映射时,可以通过卷因子与LCN的 乘积,算出卷上的物理字节偏移量,从而得到文件数 据所在的物理磁盘地址。为了方便文件中数据的引用, NTFS还可以使用 VCN,以文件为单位,将属于某个 文件的簇按顺序进行编号。只要知道了文件开始的簇 地址,便可将VCN映射到LON。
以簇作为磁盘空间分配和回收的基本单位。
512MB/512B=1M个盘块,而每个盘块都应 有一一个指针来指示,所以应该有 1M个指针,因此若有64K个指针则不能指引一个 512MB的磁盘。
(1)不经常更新,经常随机访问
(1)顺序结构
(2)经常更新,经常按一定顺序访问;
(2)索引顺序结构
(3)经常更新,经常随机访问。
(3)索引结构
首先将逻辑文件的字节偏移量转换为逻辑块 号和块内偏移量,即字节偏移量/盘块大小的商为逻辑 块号,余数是块内偏移量。在UNIX的FCB中,第0~9 个地址为直接地址,第10个为一次间接地址,第11个 地址为二次间接地址,第12个地址为三次间接地址。 在将文件的逻辑块号转换为物理块号后,使用多重索 引结构,在索引结点中根据逻辑块号通过直接索引或 间接索引找到对应的物理块号。
(1)9999/1024=9余783,则逻辑块号为9,直接 索引第9个地址得到物理块号,
(2)18000/1024=17 余592,则逻辑块号为10<17<10+256,通过一次间接 索引在第10个地址可得到物理块号,块内偏移地址为 592;
(3)420000/1024=410 余 160,则逻辑块号为 10+256<410,通过二次间接索引在第11个地址中可 得到一次间址,再由此得到二次间址,再找到物理块 号,其块内偏移地址160.
索引结构将一个逻辑文件的信息存放于外存 的若干个物理块中,并为每个文件建立一个索引表, 索引表中的每个表目存放文件信息所在的逻辑块号和 与之对应的物理块号,一索引结构存放的文件称为索 引文件。 当OS为一个大文件分配磁盘空间时,如果所分配 出去的盘块的盘块号已经装满一个索引块时,6OS便 为该文件分配另一个索引块,用于将以后继续为之分 配的盘块号记录于其中,以此类推,再通过链指针将 各索引块按序链接起来。显然,当文件太大,其索引 块太多时,这种方法是低效的。此时,应为这些索引块 再建立一级索引,称为第一级索引,即系统再分配一个 索引块,作为第一级索引的索引块,将第一块.第二块2 等索引块的盘块号,填入到此索引表中,这样便形成 了两级索引分配方式,如果文件非常大时,还可用三 级、四级等多级索引分配方式。
为了能较全面的照顾到小、中、大及特大型作 业,可以采取多种组织方式来构成文件的物理结构。 1、直接寻址:如果盘块的大小为1KB或4KB,对于小文件(如1KB-10KB或4KB—40KB)而言,将它们的 每一个盘块地址,都直接放入文件控制块FCB(或 索引结点)中,可以直接从FCB中获得该文件的盘 块地址。 2、间址方式:对于中等文件(如11KB-256KB或 5KB-4MB),可以采用单级索引组织方式,先从FCB 中找到该文件的索引表,从中获得该文件的盘块地址, 可将它称为一次间址;对于大型和特大型文件,可 以采用两级和三级索引组织方式,或称为二次间址和 三次间址。 3、增量式索引组织方式:基于上述的基本思想来 组织的,既采用了直接寻址方式,又采用了单级和多级 索引组织方式(间接寻址)。
(1)顺序扫描位示图,从中找到第一个值为0的二进制位,得到行号i=3,号j-3。 (2)将找到的二进制位转换成对应盘块号。盘块 号为:b=(3-1)*16+3=35;(3)修改位示图,令map[3, 3]=1,并将该盘块分配出去。 类似地,可使用相同的方法找到第二个值为0的二 进制位,得到行号i=4,列号j=7,其对应的盘块号为55, 令map[i,jl=1,并将该盘块分配出去。 15.某操作系统的磁盘文件空间共有500块,若用 字长为32位的位示图管理盘空间,试问: (1)位示图需多少个字?2第i字第j位对应的块号是 多少?3给出申请/归还一块的工作流程。 答:(1)位示图占用字数为500/32=16(向上取整) 个字。 (2)第i字第j位对应的块号为:N=32xitj。 (3)申请时自,上至下、自左至右扫描位示图跳过为 1的位,找到第--个遇到的0位 根据它是第i字第j位算出对应块号,并分配出去。, 归还时已知块号,块号32算出第i字第j位并把位示图相应位清0.
空闲表法、空闲链表法、位示图法、成组链接法。UNIX系统采用的是成组链接法
(1)改进文件的目录结构以及检索目录的方法 来减少对目录的查找时 间: (2)选择好的文件存储结构; (3)提高磁盘的1/0速度,能将文件中的数据块快 速地从磁盘传送到内存,或 相反。
(1)磁盘高速缓存的定义:磁盘高速缓存是指在 内存中为磁盘盘块设置的一 个缓冲区,在缓冲区中保存了某些盘块的副本。 当出现--个访问磁盘的请求时, 由核心先去查看磁盘高速缓冲器,看所请求的盘 块内容是否已在磁盘高速缓存 中,如果在,便可从磁盘高速缓存中去获取,这 样就省法了启动磁盘操作,而且 可使本次访问速度提高几个数量级;如果不在, 需要启动磁盘将所需要的盘块 内容读入,并把所需盘块内容送给磁盘高速缓存, 以便以后又需要访问该盘块的 数据时,便可直接从高速缓存中提取。 (2)在设计磁盘高速缓存时需要考虑的问题: ①如何将磁盘高速缓存中的数据传送给请求讲程: ②采用什么样的置换策略: ③已修改的盘块数据在何时被写回磁盘。
如果1/0请求所需要的数据能从磁盘高速缓存 中获取,此时就需要将磁盘 高速缓存中的数据传送给请求进程。所谓的数据 交付就是指将磁盘高速缓存中的数据传送给请求者进 程。系统可以采取两种方式将数据交付给请求进程: (1)数据交付,这是直接将高速缓存中的数据传送 到请求者进程的内存工作区中: (2 )指针交付,只将指向高速缓存中某区域的指针 交付给请求者进程。后--种 方式由于所传 送的数据量少,因而节省了数据从磁盘高速缓存 存储空间到进程的内存工作区的时间。
提前读是指在读当前盘块的同时,将下一个可 能要访问的盘块数据读入缓冲 区,以便需要时直接从缓冲区中读取,无需启动 磁盘。 延迟写是指在写盘块时,将对应缓冲区中的立即 写数据暂时不立即写以备不 久之后再被访问,只将它置上“延迟写”标志并 挂到空闲缓冲队列的末尾。当移到空闲缓冲队首并被分配出去时,才写缓冲区中的数据。只要延迟写块仍在空闲缓冲队列中,任何 要求访问都可直接从其中读出数据或将数据写入其中, 而不必去访问磁盘。虚拟盘又称RAM盘,是利用内存空间仿真磁盘。其设备驱动程序可以接受所有标准的磁盘操作,
但这些操作不是在磁盘上而是在内存中,因此速度更快。
廉价磁盘冗余阵列RAID是利用一台磁盘阵列 控制器,统一管理和控制一-组(几台到几十台)磁盘驱 动器,组成高度可靠快速大容量的磁盘系统。操作系 统将RAID中的一-组物理磁盘驱动器看作——个单个 的逻辑磁盘驱动器。用户数据和系统数据可分布在阵 列的所有磁盘中,并采取并行传输方式,大大减少数 据传输时间和提高了可靠性。
答:一级系统容错技术包括双份目录、双份文件分 配表及写后读校验等容错措 施。写后读校验是每次从内存缓冲区向磁盘写入 一个数据块后,又立即从磁盘上 读出该数据块,并送至另--缓冲区中,再将该缓 冲区内容与内存缓冲区中在写后仍保留的数据进行比 较。若两者-致,才认为写入成功,继续写下一个盘块。否则重写。若重写后仍不一致,则认为盘块缺陷,便 将应写入该盘块的数据,写入到热修复重定向区中。
(1)第二件容错技术包含的容错措施:第二级容 错技术主要用于防止由磁 盘驱动器和磁盘控制器故障所导致的系统不能正 常工作,它具体又可分为磁盘镜 像和磁盘双工。 (2)第二级容错技术的图示说明 不越可 是 upn 图西 *22 ghn a,
(1)双机热备份模式 定义:在这种模式的系统中,备有两台服务器,两者的处理能力通常是完全相同 的,一台作为主服务器,另一台作为备份服务器。
优点:该模式的优点是提高了系统的可用性,易于 实现,而且主、备份服务器完 全独立,可支持远程热备份,从而能消除由于火 灾、爆炸等非计算机因素所造成 的隐患。 缺点:该模式的缺点是从服务器处于被动等待状 态,整个系统的使用效率只有 50%。
(2 )双机互为备份模式 定义:在双机互为备份模式中,平时,两台服务器 均为在线服务器,它们各自完 成自己的任务。
优点:这种模式的优点是两台服务器都可用于处 理任务,因而系统效率较高,现在已将这种模式从两台机器扩大到4台8台16台 甚至更多。系统中所有的机 器都可用于处理任务,当其中一台发生故障时, 系统可指定另一台机器来接替它 的工作。
(3)公用磁盘模式 定义:为了减少信息复制的开销,可以将多台计算 机连接到一台公共的磁盘系统上去。
优点:这种模式的优点是消除了信息的复制时间, 因而减少了网络和服务器的开销。
(1)在系统中配置后备系统的目的:在一个完 整的系统中是必须配置后备 系统的。这--方面是因为磁盘系统不够大,不 可能将系统在运行过程中的所有数据都装在磁盘中,应当把暂时不需要但仍然有用 的数据,存放在后备系统中保存: 起来。另一方面是为了防止系统发生故障或病毒 的感染,把系统中的数据弄错或 丢失,也需要将比较重y要的数据存放在后备系 统中。 (2)常用的后备系统设备:目前常用做后备系统的 设备有磁带机、磁盘机和光盘机。
事务(Transaction)是恢复和并发控制的单位, 是用户定义的一个操作序 列,这些操作要么都做,要么都不做,是一一个 不可分割的工作单位。 这些数据为了实现上述的原子修改,通常须借助 于称为事务记录的数据结构来实现。结构被放在一个非常可靠的存储器(又称稳定存 储器)中,用来记录在事务运行 时数据项修 改的全部信息,故又称为运行记录(Log)。该记录 中包括有下列字段: 事务名:用于标识该事务的唯一名字 数据项名:它是被修改数据项的唯一名字; 旧值:修改前数据项的值; 新值:修改后数据项将具有的值。
引入检查点的目的是使对事务记录表中事务 记录的清理工作经常化。恢复处 理由恢复例程来实现。首先查找事务记录表,确 定在最近检查点以前开始执行的 最后的事务Ti。找到Ti后再返回搜索事务记录表 找到第一一个检查点记录,从该检查点开始,返回搜
索各个事务记录,利用redo和undo过程对他们进行 相 应的处理。
引入共享锁是为了提高运行效率。在给对象设 置了互斥锁和共享锁的情况下, 如果事务Ti要对Q执行读操作,只需获得Q的共享 锁。如果对象Q已被互斥锁锁住, 则Ti必须等待;否则便获得共享锁对Q执行读操作。 如果Ti要对Q执行写操作, 则Ti还要获得Q的互斥锁。若失败则等待;成功则 获得互斥锁并对Q执行写操作。
可以采用两种方法:--是对所有的重复文件进 行同样的修改,二是用新修改的文件替换所有的重复文件。
为了保证盘块号的一致性,先将计数器表中的 所有表项初始化为0,用 N个空闲盘块号计数器组成的第一-组计数器对 从空闲盘块表中读出的盘块号计 数,用N个数据盘块号计数器组成的第二组计数 器对从文件分配表中读出的已 分配给文件使用的盘快号计数。如果两组计数中 的对应数据互补则数据--致,反 之则发生错误。 检查时可能出现的情况:(1)两组计数器中盘块K 的计数值均为0,应在空 闲盘块表中增加盘块号K; (2)空闲盘块号计数器中盘块K的计数值为2,应删 除--个空闲盘块号K;(2)空闲盘块号计数器中盘块K的计数值为2。 除--个空闲盘块号K; Bai@文库 22/23 (3)空闲盘块号计数器中盘块号K的计数值为0,而 数据盘块号计数器中盘 块号K的计数值大于1,则错误严重,存在数据丢 失等事件,必须立即报告