某用户文件共500个逻辑记录,每个逻辑记录的长度为320个字符,现拟将该文件以顺序结构存放到磁带上。磁带的记录密度为800字符/英寸,块与块之间的间隙为0.6英寸。试问: (1)不采用记录成组操作时磁带空间的利用率是多少? (2)采用记录成组操作且块因子为8时,磁带空间的利用率是多少? (3)采用记录成组操作且块因子为8时,若把第9个逻辑记录读入到用户区的1500 单元开始的区域,请写出完成该要求的主要过程。
某用户文件共500个逻辑记录,每个逻辑记录的长度为320个字符,现拟将该文件以顺序结构存放到磁带上。磁带的记录密度为800字符/英寸,块与块之间的间隙为0.6英寸。试问: (1)不采用记录成组操作时磁带空间的利用率是多少? (2)采用记录成组操作且块因子为8时,磁带空间的利用率是多少? (3)采用记录成组操作且块因子为8时,若把第9个逻辑记录读入到用户区的1500 单元开始的区域,请写出完成该要求的主要过程。
【正确答案】:(1) 每个记录所占磁带长度为320/800=0.4英寸,块与块之间间隙为0.6,故磁带空间的利用率为0.4/(0.4+0.6)=0.4=40%.(2) 采用记录成组方式,块因子为8,每组逻辑记录共有320*8=2560个字符,所占磁带长度为2560/800=3.2英寸,故磁带空间的利用率为3.2/(3.2+0.6)=0.842=84.2%。(3) 完成该要求的主要过程包括:a) 设置长度为2560字符(8*320)的主存缓冲区;b) 找到该文件的存放位置,启动磁带机读出第一块内容存入主存缓冲区;c) 进行记录分解,按用户要求依次把主存缓冲区的8个记录传递到用户工作区;d) 启动磁带机读第二块内容存入主存缓冲区,把第9个逻辑记录按用户要求依次传送到用户工作区1500单元开始的区域。
【题目解析】:本题需要了解磁盘高速缓冲、记录的成组与分解的概念磁盘高速缓存是指系统在内存中保存一些磁盘块,这些磁盘块在逻辑上属于磁盘,内存的这一区域被称为块高速缓存。系统运行时,检查所有的读请求,查看文件块是否在高速缓存,在,则读;不在,首先启动磁盘,将所需块读到高速缓存,再复制到其他内存区域。磁盘高速缓存的典型应用就是记录的成组与分解。记录的成组:把若干个逻辑记录合成一组存储到一个物理块的工作,称为记录的成组。每块中的逻辑记录个数称为“块因子”。实现原理:信息交换以块为单位,故成组需要使用内存缓冲区来完成。缓冲区的长度=记录的长度*块因子。 记录的分解:从一组记录中把一个逻辑记录分离出来的操作,称为记录的分解。过程:当用户请求读某记录时,文件系统首先找到该记录所在的磁盘块的位置,然后将把含有该记录的物理块全部读入内存缓冲区,从内存缓冲区分解出指定的记录,然后送到用户工作区。 本题中的存储设备是磁带,与磁盘不同的是只能顺序存取,故本题中,要取出第九个记录的内容,必须先读出前8个记录。磁带成组与分解原理同磁盘。
Top