11、中断处理程序占用处理器时,要从()取出信息,才能分析中断发生的原因:当前PSW;新PSW;旧PSW;当前指令的操作码。
12、缺页中断属于(程序性中断),CTRl+C中断属于(外部中断)。 13、判断:中断时用户程序转换到操作系统程序的驱动源。
14、判断:采用DMA方式控制数据I/O操作要比通道 传输速度慢一些。
15、下面的事件()不是引起中断的事件。(选项:掉电;打印完毕;程序出错;除0出错)
5.5设备分配
1、常用的I/O调度算法有哪些?试说明I/O调度中为什么不能采用时间片轮转法。 提示:原因如下:(1)独占设备的固有属性决定了不能采取时间片轮转法;(2)I/O设备的速度比cpu慢,I/O设备间来回切换的开销很大,采用时间片轮转法会导致大量的时间浪费在设备的启动和切换上;(3)由于各种I/O设备的数据传输速率相差较大,时间片的大小不好确定。
2、一个spooling系统由输入进程I、用户进程P、输出进程O、输入缓冲区、输出缓冲区组成。I通过输入缓冲区为P输入数据,P的处理结果通过输出缓冲区交给进程O输出。进程间数据交换以等长的数据块为单位。这些数据块均存储在同一磁盘上。因此,spooling系统的数据块通信原语始终保证满足:i+o<=max,(1),其中max为磁盘容量(以数据块为单位),i为磁盘上输入数据块总数,o为磁盘上输出数据块总数。请说明该系统在什么情况下死锁,并说明如何修正约束条件(1)防止死锁。
提示:当i=max时,o=0,若此时输入、输出缓冲区均放满数据,则I/P/O均阻塞,进入死锁状态;将(1)修改为:i+o<=max,且i<=max-1即可。
3、在spooling系统中,用户进程实际分配到的是():用户所要求的外设;一块内存区,及虚拟设备;共享设备的一部分存储区;虚拟设备的一部分空间;
4、()是操作系统中采用的以空间换时间的计数。(Spooling技术;虚拟存储技术;覆盖与交换技术;通道技术)
5、有关设备的管理中,( ADE )是正确的。 A.“计算机系统为每台设备确定一个绝对号” B.“每台设备都应该有一个惟一的相对号”
C.“申请设备时指定绝对号可提高设备的使用率”
D.“申请设备时指定设备相对号使设备分配的灵活性强” E.“启动设备时应指出设备的绝对号”
6、实现虚拟设备的硬件条件是什么?操作系统应设计哪些功能程序?
硬件条件是:配置大容量的磁盘,要有中断装置和通道, 操作系统应设计好“预输入”程序,“井管理”程序,“缓输出”程序。
7、什么是虚拟设备?为什么要引入虚拟设备?实现虚拟设备时所依赖的关键技术是什么? 答:虚拟设备是指通过某种技术,把一个物理设备变成若干台逻辑设备。逻辑设备实际上并不存在,只是给用户的一种感觉。
引入虚拟设备的原因是为了克服独占设备所具有的速度较慢、资源的利用率较低的缺
36
点,以提高设备的利用率。
实现虚拟设备所依赖的关键技术是分时技术。即多个用户进程通过分时的方式使用同一台物理设备。宏观上,是若干进程在同时执行I/O操作,而微观上,则是一台物理设备分时地为每个进程服务。目前最广泛的虚拟设备技术是SPOOLing技术。
8、SPOOLing对一个批处理系统是必要的,为什么?对一个分时系统需要吗?在多道程序系统中,为什么要实行SPOOLing技术?
答:SPOOLing对一个批处理系统是必要的,原因是:SPOOLing能实现作业的预输入缓输出功能,从而可在系统提供的输入井中,形成作业的预备队列,为作业调度提供方便;另外,SPOOLing还能实现虚拟设备功能,支持多道作业对系统配置的少量设备的需求。分时和批处理都需要缓输出功能。在多道程序系统中,系统的共享设备数量有限,为避免竞争使用独占设备而死锁,利用SPOOLing技术把独占设备改造成共享设备,这样不但提高了独占设备的利用率,还提高了I/O的速度,从而提高了CPU与外设的并行度。
9、假设一个单处理机系统,以单道批处理方式处理一个作业流,作业流中有两道作业,其占用CPU计算时间、输入卡片数、打印输出行数如表所示:
作业号 A B 占用CPU计算时间(分) 输入卡片张数(张) 输出行数(行) 3 2 100 200 2000 600 其中,卡片输入机速度为1000张/min;打印机速度为1000行/min。试计算:
(1)不采用SPOOLing技术,计算这两道作业的总运行时间(从第一个作业输入开始,到
第二个作业输出完成为止)。 (2)如果采用SPOOLing技术,计算这两道作业的总运行时间。 答:(1)=(0.1+3+2)+(0.2+2+0.6)=7.9分 (2)=0.1+3+2+0.6=5.7分
5.6磁盘管理
1、一个快速磁盘转速为7200RPM,每磁道160个扇区,每扇区512字节,那么理想状态下,其数据传输速率为()。 2、判断:优化在磁盘上文件物理块的分布可显著减少寻道时间,因此能有效地提高磁盘I/O的速度。
3、设L,M,N分别表示盘组的柱面数、盘面数、扇区数,B表示块号,则第i柱面、j磁头、k扇区所对应的块号B为:B=(i*M*N)+(j*N)+k
式中,i=0,1,?,L-1;j=0,1,?,M-1;k=0,1,?,N-1 同样,根据B可以计算磁盘位置: 柱面号i=int(B,M*N)
磁头号j=int(mod(B,M*N),N) 扇区号k=mod(mod(B,M*N),N)
4、假定磁盘的存取臂现在处于6#柱面上,有如下表所示的六个请求等待访问磁盘,试列出最省时间的响应顺序。(答:6,2,1,4,3,5)
37
序号 1 2 3 4 5 6 柱面号 7 5 15 7 20 5 磁道号 6 5 20 4 9 15 扇区号 3 6 6 4 3 2
2、假定有4各记录A,B,C,D,顺序放在磁盘的某磁道上,该磁道划分为4块,每块存放一个记录。现在要顺序处理这些记录,如果磁盘的转速为20ms转一周,处理程序每读出一个记录后花5ms时间进行处理。问:处理完这4个记录需要多少时间?为了缩短处理时间应如何安排这些记录?并计算处理的总时间。
3、磁盘调度的相关问题:各种调度算法
4、在某系统中,数据从磁盘读入缓冲区,然后从缓冲区传人用户区,再在用户区中处理。假设该磁盘系统中文件在磁道上非连续存放,磁头从一个磁道移至另一个磁道需要时间t1,逻辑上相邻数据块的平均距离为d磁道,每块的旋转延迟时间及传输道缓冲区的传输时间分别为t2和t3。问读取N个数据块的磁盘访问时间一共是多少?另外,假设将缓冲区的数据传送到用户区所花费的时间为t4且t4远远小于读取一个数据块的磁盘访问时间,CPU对一块数据进行处理的时间为t5。问分别在单缓冲和双缓冲情况下,一块数据的总处理时间是多少?
8、假设一个磁盘组共100个柱面,每个柱面上有8个磁道,每个盘面被分成8个扇区。现有一个含有6400个逻辑记录的文件,逻辑记录的大小与扇区一致,该文件以顺序结构的形式被存储到磁盘上。柱面、磁道、扇区的编号从0开始,逻辑记录的编号也从0开始。文件信息从0柱面、0磁道、0扇区开始存放,试问:
(1)该文件的第3680个逻辑记录应该存放在什么位置?
(2)第78柱面的第6磁道的第6扇区中存放了该文件的第几个逻辑记录?
9、有10个记录在某磁盘的一个磁道上,假定这个磁道划分为10个扇区,每个扇区存放一个记录。现在要从磁道上顺序地将10个记录读出,如果磁盘转速为20ms转一周,处理程序每读出一个记录后花4ms进行处理。问处理完10个记录的总时间是多少?为缩短处理时间应如何安排这些记录?需要多少处理时间?
10、对于硬盘上存放的信息,物理上读写的最小单位是一个()(选项:二进位;字节;物理块;逻辑记录)
11、一个软盘有40个柱面,寻道时移过每个柱面花费6ms,若不采取任何使文件的块尽量紧密存放的措施,则逻辑上相邻的块平均间隔13个柱面,如果采取一定的措施使得文件中相邻的块尽可能放在一起,则块间的平均间隔是2个柱面。假定读写时找到柱面后平均旋转时间为100ms,传输速率为每块25ms,则在此两种情况下传输一个100块的文件各需要多长时间?
12、下列磁盘电动算法中,(2,5)算法可能会随时改变移动臂的运动方向。 (1)电梯;(2)FCFS;(3)循环扫描;(4)最短寻道时间
13、有一移动臂磁盘,共100个磁道,每个磁道分8个扇区,磁盘转速为500r/s,磁头每移动一个磁道需要10ms,有一个用户请求访问第25磁道的第3扇区,并立即被系统响应,
38
假设磁头当时处于15磁道上,磁头到达第25道时正处于1扇区的开始位置,试计算该用户至少需要等待多时时间?
答:寻道时间=(25-15)*10=100ms
延迟时间=(3-1)*0.25=0.5ms 传输时间=0.25ms
第六章 文件系统
1、文件系统的性能对整体系统的性能影响很大,请说明在实现文件系统时可以从哪些方面提高文件系统的性能。
提示:目录管理;文件使用方式:打开、关闭;文件保护(包括文件恢复、口令、密码、访问控制等);提高磁盘读写速度的方法(磁盘高速缓存、提前读、延迟写、优化物理块分布、并行交叉存取等) 2、有关文件管理与设备管理的关系,判断:
(1)文件管理与设备管理时操作系统好 的两个完全独立的功能,二者不存在任何关系。 (2)设备管理与文件系统密切相关,文件系统是设备管理的基础,设备管理必须依赖文件管理才能最终完成相应的功能。
(3)文件系统为用户按名存取服务,实现逻辑文件与物理文件之间的映射,而文件信息的存取是设备管理部分完成的。
(4)设备管理时文件系统的基础,文件管理是设备管理的一部分。
3、可通过哪些途径改善文件系统的性能?
答:(1)改进文件的目录结构以及检索目录的方法,来减少对文件的查找时间;(2)选择好的文件存储结构,以提高对文件的访问速度;(3)通过采用磁盘高速缓存、优化物理块的分布、利用提前读、延迟写或虚拟盘等方法来提高磁盘I/O速度,以提高对数据的传送速度。
6.1文件和文件系统
1、使用文件时,通常要显示地进行OPEN、CLOSE操作。
(1)这样做的目的是什么?(2)能否取消?应如何做?(3)取消后有什么不利? 提示:(3)取消open,则每次使用文件都要判断文件是否已经打开,增加系统开销;取消close,则文件打开后会一直驻留在内存直到进程或系统结束、浪费系统资源。 2、判断:打开文件的功能就是将文件复制到主存。 3、判断:特殊文件是指其用途是由用户特殊规定的文件。
4、打开一个UNIX系统的文件,需要几个数据结构?之间的联系如何?
提示:索引节点、内存索引节点表,系统打开文件表、用户打开文件表、每个open返回给进程一个文件描述符,它是用户打开文件表中的表项序号,它在用户打开文件表中对应的表项指向系统打开文件表中唯一的表项。一个被打开文件的所有实例所对应的表项指向内存索引节点表中的同一表项。
5、在文件系统中可命名的最小数据单位是(数据项),用户以(记录)为单位对文件进行后
39
存取、检索等,对文件存储空间的分配则以(文件)为单位。 选项:字符串;数据项;记录;文件;文件系统
6.2文件逻辑结构
1、假定磁带的记录密度为每英寸800个字符,每一个逻辑记录长为160个字符,块与块之间的间隙为0.6英寸,现有1000个逻辑记录需要存储到磁带上,问: (1)不采用成组操作时,磁带空间的利用率是多少?
(2)采用以5个逻辑记录为一组的成组操作时,磁带空间的利用率是多少? (3)为了是磁带空间的利用率大于50%,采用记录成组的块因子至少是多少?
2、某用户文件共10个逻辑记录,每个逻辑记录的长度为480个字符,现把该文件存放到磁带上,若磁带的记录密度为800字符/英寸,块与块之间的间隙为0.6英寸,回答下列问题: (1)不采用记录成组操作时磁空间的利用率为__________。
(2)采用记录成组操作且块因子为5时,磁带空间的利用率为__________。 (3)当按上述方式把文件存放到磁带上后,用户要求每次读一个逻辑记录存放到他的工作区。 当对该记录处理后,又要求把下一个逻辑记录读入他的工作区,直至10个逻辑记录处理结束。系统应如何为用户服务?
提示:(1)利用率为50% (2)利用率为83%
(3)设置长度为2400字符的主存缓冲区;找到该文件的存放位置,启动磁带机读出第一块内容存入主存缓冲区;进行记录分解,按用户要求依次把主存缓冲区中的五个记录传送到用户工作区;启动磁带机读第二块内容存入主存缓冲区,把第6至10个逻辑记录按用户要求依次传送到用户工作区。 4、下列叙述中正确的是(3,4)。
(1)在磁带上的顺序文件中插入新的记录时,必须复制整个文件;(2)由于磁带的价格比磁盘便宜,用磁带实现索引文件更经济;(3)在磁带上的顺序文件的最后添加新纪录时,不必复制整个文件;(4)变更磁盘上的顺序文件的记录内容时,不一定要复制整个文件;(5)在磁盘上的顺序文件中插入新的记录时,必须复制整个文件
5、对记录式文件,操作系统为用户存取文件信息的最小单位是()(选项:字符;数据项;记录;文件)
6.3外存分配方式
1、判断:同一文件在不同的存储介质上应该用相同的组织形式。
2、如果文件采用直接存取方法使用,且文件大小不固定,则应采用()物理结构。(选项:直接;索引;随机;顺序)
1、如果一个文件存放在100个数据块中,文件控制块、索引块或索引信息等都驻留在内存。下面各种情况下,需要做几次磁盘I/O操作?
(1)连续分配,将最后一个数据块搬到文件头部(200次) (2)单级索引分配,将最后一个数据块搬到文件头部(0次) (3)隐式链接分配,将最后一个数据块搬到文件头部(0次)
40