江西理工大学-现代操作系统考试复习题

更新时间:2024-07-06 22:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章:引论

1.系统调用与中断的概念。

作业题解 第一章 引论

PE1-14. 陷阱和中断的主要差别是什么?

答:陷阱是由程序造成的,并且与它同步。如果程序一而再地被运行,陷阱将总在指令流中相同的位置的精确发生。而中断则是由外部事件和其他时钟造成的,不具有重复性。

PE1-20. 有一个文件,其文件描述符是fd,内含下列字节序列:3,1,4,1,5,9,2,6,5,3,5.有如下系统调用:

lseek (fd, 3, SEEK_SET); // 从文件开头偏移量为3,此时将读写位置移到文件1,5,9,2的1处 Read(fd, &buffer, 4);

其中lseek调用寻找文件中的字节3.在读操作完成之后,buffer中的内容是什么? 答:包含字节: 1,5,9,2。

PE1-22. 块特殊文件和字符特殊文件的基本差别是什么?

答:块特殊文件包含被编号的块,每一块都可以独立地读取或者写入。而且可以定位于任何块,并且开始读出或写入。这些对于字符特殊文件是不可能的。

PE1-29. 下面是单位转换练习: (a)一微年是多少秒?

(b)微米常称micron.那么gigamicron是多长? (c)1TB存储器中有多少字节?

(d)地球的质量是6000 yottagram,换算成kilogram是多少? 答:这些都可以直接转换:

(a) micro year = 10-6 X 365 X 24 X 3600 = 31.536 sec。 (b) 1km或者1000。

(c)有 240字节,也就是 1,099,511,627,776 字节。 (d)它是 6 X 1024公斤。

第二章:进程与线程 1.进程的概念。

答:进程是对正在运行的程序的一个抽象。是容纳运行一个程序所需要的所有信息的容器。也可以说一个进程就是就是一个正在运行的实例。

2.进程的三种基本状态。

运行态(该时刻进程实际占用CPU)。

就绪态(可运行,但因为其他进程正在运行而暂时停止)。 阻塞态(除非某种外部事件发生,否则进程不能运行)。

3. 进程与线程的区别。

答:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行

资源分配和调度的一个独立单位.

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

PE2-37. 有5个批处理作用A到E,它们几乎同时到达一个计算中心。估计他们运行的时间分别为10,6,2,4和8分钟。其优先级(由外部设定)分别为3,5,2,1和4.其中5为最高优先级。对于下列每种调度算法,计算其平均进程周转时间,可忽略进程切换的开销。

(a)轮转法

(b)优先级调度

(b)先来先服务。(按照10,6,2,4,8次序运行) (c)最短作业优先。

对a),假设系统具有多道程序处理能力,每个作业均公平共享CPU时间,对b)到d),假设任一时刻只有一个作业运行。直到结束。所有的作业都完全是CPU密集型作业。 答:a)对于轮转调度,每个作业在最初的10分钟内获得了1/5的CPU,10分钟之后,C先完成作业,在接下来的8分钟,每个作业获得1/4的CPU,在此期间,D完成作业。剩下来的3个作业在以后的6分钟里各获得CPU的1/3,一直到B结束等等。这5个作业完成的时间分别是,10, 18, 24, 28和 30,平均22分钟。

b)对于优先级调度,B首先运行,6分钟之后完成。剩下的4个作业完成的时间分别是14,24,26和30.平均为18.8分钟。

c)对于先来先服务。运行作业顺序从A到E,完成时间分别为10,16,18,22和30。平均为19.2分钟。

d)最短优先作业,完成的时间分别为2,6,12,20和30,平均为14分钟。

PE2-41. 一个软实时系统有4个周期,其周期分别为50ms,100ms,200ms和250ms。假设这4个事件分别需要35ms, 20ms, 10ms和X ms的CPU时间,保持系统可调度的最大X值是多少?

答:所使用的 CPU 的片断为 35/50 + 20/100 + 10/200 + x/250。为了使得进程可调度,必须是 总和小于 1。因此,x 必须小于 12.5 msec。 PE2-51.

第三章 存储管理

1.页面、页表、页框(物理块)、页表项等概念。

见百度百科(http://baike.http://www.njliaohua.com//view/3224034.htm)

2.交换的定义

练习题解析:

PE3-4. 在一个交换系统中,按内存地址排列的空闲区大小是:10KB, 4KB ,20KB,18KB, 7KB, 9KB,12KB和15KB。对于连续的段请求:a) 12KB; b)10KB; c)9KB。使用首次适配算法,找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢?

答:首次适配:20KB,10KB,18KB;// 沿着段链表进行搜索,直到找到一个足够大的空闲区 最佳适配:12KB,10KB,9KB; // 找出能够容纳进程最接近实际需要的空闲区, 最差适配:20KB,18KB,15KB;// 总是分配最大的可用区的空间

下次适配:20KB,18KB,9KB。 // 同首次适配,但记录空闲区当时位置,下次从此处进行搜索

PE3-10. 假设一个机器有48位虚拟地址和32位的物理地址。

a)假设页面大小是4KB,如果只有一级页表,那么在页表里有多少页表项?请解释。

b)假设同一系统有32个TLB表项,并且假设一个程序的指令正好能放入一个页,并且该程序顺序地从有数千个页的数组中读取长整型元素。在这种情况下TLB的效果如何?

答: (a) We need one entry for each page, or 224 = 16 × 1024 × 1024 entries, since there

are 36 = 48 ? 12 bits in the page number ?eld.

(b) Instruction addresses will hit 100% in the TLB. The data pages will have a 100 hit rate until the program has moved onto the next data page. Since a 4-KB page contains 1,024 long integers, there will be one TLB miss and one extra memory access for every 1,024 data references.

(a)因为有36 =48 - 12位的页号字段,所以每一页我们需要一个页表项,或者224 = 16 × 1024 × 1024页表项

(b) TLB访问的命中率达100%。在指令访问下一个页面之前读取数据的命中率是100%,一个4KB大小的页面包含1024个长整型数据,每访问1024个数据就会有一次TLB失效和一个额外的内存的存取。

解析:偏移量是12位,则页面长度是212 = 4KB,共有220个页面,

PE3-12. 一个32位地址的计算机使用两级页表。虚拟地址被分成9位的顶级页表域、11位的二级页表域和一个偏移量,页面大小是多少?在地址空间中一共有多少个页面? 答:偏移量=32 - 9 - 11 = 12(位),所以页面大小为:212 = 4KB,页面数为:232/212=220 。

PE3-22.如果将FIFO页面置换算法用到4个页框和8个页面上,若初始时页框为空, 访问字符串为0172327103,请问会发生多少次缺页中断?如果使用LRU算法呢? 答:FIFO的页框如下: 0 1 7 2 3 2 7 1 0 3 X 0 1 7 2 3 3 3 3 0 0 X x 0 1 7 2 2 2 2 3 3 X x x 0 1 7 7 7 7 2 2 X x x x 0 1 1 1 1 7 7 LRU的页框如下: 0 1 7 2 3 2 7 1 0 3 X 0 1 7 2 3 2 7 1 0 3 X x 0 1 7 2 3 2 7 1 0 X x x 0 1 7 7 3 2 7 1 X x x x 0 1 1 1 3 2 7

FIFO发生6次缺页中断,LRU发生7次缺页中断。

PE3-28一个计算机有4个页框,装入时间、上次访问时间和每个页面的R位和M位如下所示(时间以时间滴答为单位): 页面 装入时间 上次访问时间 R M 0 126 280 1 0 1 230 265 0 1 2 140 270 0 0 3 110 285 1 1 a)NRU算法置换哪个页面? b)FIFO算法置换哪个页面? c)LRU算法置换哪个页面?

d)第二次机会算法置换哪个页面? 答:a)页面2

b)页面3 c)页面1 d)页面2

解析:按照装入时间排序先被装入的是页面是3、0、2最后是1, 对于FIFO算法,则将置换表页面3,置换掉。

对于第二机会算法,在3、0、2、1中检查最老页面的R位,如果R位为0.则置换,所以置换出较老的页面2.

对于NRU算法,按照(R,M)的次序(0,0),(0,1),(1,0),(1,1)给上述4个页面排序得

(0,0),(0,1),(1,0),(1,1)分别代表了页面2、1、0、3,所以类编号最小的是页面2,置换它。

对于LRU算法,核心思想是:置换出未使用最长的页面,所以根据上次访问时间最远到近排序得: 1、2、0、3.所以置换出页面1.

第四章,文件系统 练习题解析:

PE4-15. 考虑图4-13中的i节点。如果它含有用4个字节(即4B)表示10个直接地址,而且所有的磁盘块大小是1024B(1KB),那么文件最大可能有多大? 答:间接块可以保存256个磁盘地址。与10直接的磁盘地址总加起来,最大文件有266块。

由于每块为1KB,最大的文件是266KB。

PE4-28.考虑图4-21背后的思想,目前磁盘平均寻道时间为8ms,旋转速率为15000rpm,

188

每道为262144字节(2B=2KB=256KB)。对大小各为1KB、2KB和4KB的磁盘块,传送速率各是多少?

答:对于15000 rpm(每分钟旋转),每旋转一周需60/15000 = 0.004秒 = 4 ms。那么读取k字节的平均存取时间为8 ms(寻道时间) + 2 ms(旋转延迟:4 ms/2) + (k / 262144)* 4 ms(读取k字节的时间)。对于1 KB,2 KB,4 KB的块,访问时间分别为10.015625 ms,10.03125 ms和10.0625 ms(几乎没有什么不同)。其数据速率分别为102240 B/sec,204162 B/sec,407056 B/sec(秒)。

解析:读取K个字节的块所需的时间的公式由以上化简是:t = 10 + (K/256)*4,将k = 1KB、2KB、4KB分别代入可得 t1 =10.015625 ms,t2 =10.03125 ms,t4 = 10.0625 ms;

那么其数据速率U1 = 1024B /(t1*10-3) = 102240B/sec,同样依次求出U2,U4;

PE4-32. 一个UNIX系统使用1KB磁盘块和4字节磁盘地址。如果每个i节点中有10个直接表项以及一个一次间接块、一个二次间接块和一个三次间接块,那么文件的最大尺寸是多少?

答:一个i节点可存储10个磁盘地址。一个一次间接块存储256个磁盘地址。一个二次间

接块存储2562磁盘地址。一个三次间接块存储2563磁盘地址。把这些全部加起来,我们得到的最大文件大小16843018块,约16.06 GB.

解析:由于1KB = 210B= 1024B,所以1KB磁盘块可以容纳的磁盘地址个数是210B/4 = 28(个) = 256个。

所以文件大小是((10+256+2562+2563)* 4 )B

第五章 输入/输出 练习题解析:

PE5-11. 以下各项工作是在四个I/O软件层的哪一层完成的? (a)为一个磁盘读操作计算磁道、扇区、磁头。 (b)向设备寄存器写命令。

(c)检查用户是否允许使用设备。

(d)将二进制整数转换成ASCII码以便打印。 答:a)设备驱动程序

b)设备驱动程序; c)设备无关的软件; d)用户级软件。

PE5-24.磁盘请求以柱面10、22、20、2、40、6和38的次序进入磁盘驱动器。寻道时每个柱面移动需要6ms,以下各算法所需的寻道时间是多少? a)先来先服务。 b)最佳柱面优先

c)电梯算法(初始化向下移动) d)改进的电梯算法(始终向上)

在各情形下,假设磁臂起始于柱面20.

答:(a)10+12+2+18+38+34+32=146 柱面= 146*6 = 876 msec.

(b) 0+2+12+4+4+3+2 = 60 柱面 = 60*6 = 360msec. (c) 0+2+16+2+30+4+4 = 58

柱面 = 58 *6 = 348 msec.

(d) 0+2+16+2+38+4+4 = 66 柱面 = 66 *6 =396msec.

PE5-44. 一台笔记本电脑被设置成最大的利用功率节省特性,包括在一段时间不活动之后关闭显示器和硬盘。一个用户有时在文本模式下运行UNIX程序,而在其他时间使用X窗口系统。他惊讶地发现当他使用仅限文本模式的程序时,电池寿命想当长。为什么? 答:在显示X窗口系统时,会比使用文本模式程序时使用更多的内存和虚拟内存。所以对x窗口来说将硬盘闲置一段足够长的时间而导致其自动关闭电源是不太可能的。

第六章 死锁 知识点:

1. 死锁的概念,产生死锁的4个必要条件。

答:死锁的定义:如果一个进程中的每个进程都在等待只能由该进程集合中的其他进程才能引发的事件,那么,该进程结合就是死锁。 产生死锁的4个必要条件: a)互斥条件。 b)占有和等待条件 c)不可抢占条件

d)环路等待条件。

2. 处理死锁的4种方法。 答:1)忽略该问题(产生的死锁)。

2)检测并恢复。

3)仔细对资源进行分配,动态地避免死锁。

4)通过破坏引起死锁的四个必要条件之一,防止死锁的产生。 3. 打破死锁的4个条件。 答:a)破坏互斥条件。

b)破坏占有和等待条件 c)破坏不可抢占条件 d)破坏环路等待条件。

4. 死锁的避免-?银行家算法。

练习题解析:

PE6-16.仔细考察图6-11b.如果D再多请求1个单位,会导致安全状态还是不安全状态?如果换成C提出同样的请求,情形会怎样?

已有最大 数量 请求 A 1 6 B 1 5 C 2 4 D 4 7 空闲:2 答:D请求会导致不安全状态,但C请求是安全的

PE6-22.一个系统有4个进程和5个可分配资源,当前分配和最大需求如下:

进程A 进程B 进程C 进程D 已分配资源 最大需求量 可用资源 1 0 2 1 1 2 0 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 2 1 2 2 2 2 1 0 2 1 3 1 0 1 1 2 2 1 0 0 X 1 1 若保持该状态是安全状态,X的最小值是多少? 答:各进程所需资源的矩阵如下:

0 1 0 0 1 0 2 1 0 0 1 0 3 0 0 0 0 1 1 1 (可用)0 0 X 1 1

如果x=0,会立即陷入死锁,如果x=1,进程D可以运行。当进程D完成时,可用的资源是11221.

此时进程A可以运行,A完成释放资源后,可用资源是21432,此时进程C可以运行了,C完成,可用资源32442,进程B可以运行。所以避免死锁的最小的X=1.

PE6-29.解释死锁、活锁和饥饿的区别。

答:死锁:一组进程中,每个进程都因等待由改组进程中的另一进程所占有的资源而导致阻塞。活锁:若每个进程使用2种资源,如果进程A线运行并得到资源1,然后进程2运行并得到资源2,以后不管哪个进程运行都不会有任何进展,但是哪一个进程都没有被阻塞。饥饿:一些策略用来决定什么时候谁获得什么资源,使一些进程永远得不到服务

操作系统一些重要知识点:

1产生死锁的必要条件有哪些?

答:1互斥条件。2请求和保持条件。3不剥夺条件。4环路等待条件。

2进程调度算法有哪些?

答:1先来先服务调度算法。2短作业优先调度算法。3高优先权先调度算法。4基于时间片的轮转调度算法。

3多道批处理系统的优缺点?

答:1资源利用率高 2系统吞吐量大 3平均周转时间长 4无互交能力

4进程与程序是两个完全不同的概念,但又有密切联系,试写出两者区别?

答:1进程是动态的,程序是静态的2进程是独立运行的单位,程序不能作为运行单位3个进程间在并发执行过程中会产生相互制约关系,而程序由于是静态的,所以不存在异步特征

5设备分配时应考虑那些因素?

答:1设备的固有属性2设备分配算法3设备分配中的安全性。

6什么是操作系统,主要功能?

答:操作系统是控制和管理计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件,是用户与计算机之间的接口。 操作系统的主要功能包括:存储器管理,处理机管理,设备管理,文件管理以及用户接口管理。

7操作系统中存储管理的主要功能是什么?什么叫虚拟存储器?

答:内存分配,地址映射,内存保护,内存扩充。虚拟存储器是用户能作为可变至内存对待的存储空间,具有请求调入和置换功能,在这种计算机系统中虚地址被映象成实地址,是由操作系统提供的一个假想的特大存储器。

8进程控制块中的信息有哪些?

答:1进程标识符 2处理机状态 3 进程调度信息 4 进程控制信息

9什么是SPOOLing?

答:为了缓和CPU的高速性与I/O设备低速性之间的矛盾而引入脱机输入/输出技术。该技术是利用专门的外围控制机,将低速I/O设备上的数据传到高速磁盘上或者相反。

10目录管理的功能有哪些?

答:实现“按名存取 ”2提高对目录的检索速度 3文件共享 4文件允许重名

11影响缺页终端率的因素有哪些?

答:1分配给程序的主存块数 2页面的大小 3程序编制方法 4页面调度算法

12什么是抖动?

答:刚被调出的页面又立即要用而装入,而装入后不久又被调出,如此反复,使调度非常频繁,这种现象称为抖动。

13陷进和中断的主要差别是什么?

答:1他们引起的中断源不同 2他们服务的对象不同 3响应时机不同 4响应执行的上下文不同

14.块特殊文件和字符特殊文件的基本差别?

答:块特殊文件指可随机存取的块组成的设备,如磁盘等;字符特殊文件用于打印机,调制解调器和其他接收或输出字符流的设备。

15为什么线程要通过调用thread-yield自愿放弃CPU,毕竟由于没有周期性的时钟中断,线程可以不交回CPU?

答:这样一个调用很重要,因为不同于进程,线程库无法利用时钟中断强制线程让出CPU,所以设法使线程行为“高尚”起来,并且随着时间的推移自动交出CPU,以便让其他线程有机会运行。

16说明硬连接优于符号链接的一个优点,并说明符号连接优于硬连接的一个优点? 答:硬连接不要而外的磁盘空间,只需在节点记录有多少个连接,符号链接需要空间存储所指文件的名称。对于符号连接,可以指向其他机器上的文件,甚至是Internet的文件,而硬链接只能指向自己分区文件。

17解释死锁活锁饥饿的区别?

答:死锁:一组进程中,每个进程都因等待由改组进程中的另一进程所占有的资源而导致阻塞。活锁:若每个进程使用2种资源,如果进程A线运行并得到资源1,然后进程2运行并得到资源2,以后不管哪个进程运行都不会有任何进展,但是哪一个进程都没有被阻塞。饥饿:一些策略来决定什么时候谁获得什么资源,使一些进程永远得不到服

2012-12-6 Hu整理

本文来源:https://www.bwwdw.com/article/pfm.html

Top