1、1.什么是操作系统?其主要功能是什么?操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口 .2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A 略早于 B。A 的运行轨迹为:计算 50ms、打印 100ms、再计算50ms、打印 100ms,结束。 B 的运行轨迹为:计算 50ms、输入 80ms、再计算 100ms,结束。试说明:(1)两道程序运行时,CPU 是否空闲等待?若是,在那段时间段等待?(2)程序 A、B 是否有等待 CPU 的情况?若有,指出发生等待的时刻。0
2、 50 100 150 200 250 30050 100 50 10050 100 20 100(1) cpu 有空闲等待,在 100ms150ms 的时候.(2) 程序 A 没有等待 cpu,程序 B 发生等待的时间是 180ms200ms.1.设公共汽车上,司机和售票员的活动如下:司机的活动:启动车辆;正常行车;到站停车。售票员的活动:关车门;售票;开车门。在汽车不断的到站、停车、行驶过程中,用信号量和 P、V 操作实现这两个活动的同步关系。semaphore s1,s2;s1=0;s2=0;cobegin 司机();售票员();coend process 司机() while(true
3、) P(s1) ; 启动车辆; 正常行车; 到站停车; V(s2); process 售票员 () while(true) 关车门; V(s1);售票;P(s2);开车门;上下乘客;2.设有三个进程 P、Q、R 共享一个缓冲区,该缓冲区一次只能存放一个数据,P 进程负责循环地从磁带机读入数据并放入缓冲区,Q 进程负责循环地从缓冲区取出 P 进程放入的数据进行加工处理,并把结果放入缓冲区,R 进程负责循环地从缓冲区读出 Q 进程放入的数据并在打印机上打印。请用信号量和 P、V 操作,写出能够正确执行的程序。semaphore sp,sq,sr; int buf;sp=1;sq=0;sr=0; c
4、obegin process P()while(true) 从磁带读入数据;P(sp);Buf=data;V(sq); process Q() while(true) P(sq);data=buf;加工 data;buf=data;V(sr); process R() while(true) P(sr);data=buf;V(sp);打印数据;coend.3.简述计数信号量的值与资源使用情况的关系。当计数信号量大于 0 时,表示可用资源的数量;当它的值小于 0 时,其绝对值表示等待使用该资源的进程个数.1 假定某计算机系统有 R1、 R2 两类可再用资源(其中 R1 有两个单位,R 2 有一个
5、单位) ,它们被进程 P1、P 2 所共享,且已知两个进程均以下列顺序使用两类资源:申请 R1申请 R2申请 R1释放 R1释放 R2释放 R1试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。进程 P1 占有一个 R1,一个 R2,进程 P2 占有一个 R1.进程 P1 占用一个 R1,进程 P2 占有一个 R1,一个 R22 系统有同类资源 m 个,被 n 个进程共享,问:当 mn 和 mn 时,每个进程最多可以请求多少个这类资源,使系统一定不会发生死锁?mn 时,每个进程最多请求 1 个这类资源时不会死锁;当 mn 时,如果 m/n 商为 k,余数为 t:若 t 为 0,每
6、个进程最多请求 k 个,若 t 不为 0,每个进程最多请求 k+1 个,则系统不会发生死锁。3 设当前的系统状态如下,此时 Available=(1,1,2).Max Allocation进程R1 R2 R3 R1 R2 R3P1 3 2 2 1 0 0P2 6 1 3 5 1 1P3 3 1 4 2 1 1P4 4 2 2 0 0 2R1P1 P2R2R1P1 P2R2(1)、计算各个进程还需要的资源数(2) 、系统是否处于安全状态?为什么?(3) 、进程 P2 发出请求向量 request2=(1,0,1),系统能把资源分配给它吗?(4) 、若在进程 P2 申请资源后,P1 发出请求向量
7、request1=(1,0,1),系统能把资源分配给它吗?(5) 、若在进程 P1 申请资源后,P3 发出请求向量 request3=(0,0,1),系统能把资源分配给它吗?(1)R1 R2 R3P1 2 2 3P2 1 0 2P3 1 0 3P4 4 2 0(2)系统处于安全状态,存在安全序列:P2P1P3P4.(3)系统能把资源分配给它,存在安全序列:P2P1P3P4.(5)不能,因为资源不足.(6)不能,因为这样做会让系统处于不安全状态.1 有 5 个批处理作业 AE 均已到达计算中心,其运行时间分别为2min、4min、6min、8min、10min。若采用时间片轮转算法,时间片为 2
8、min,计算出平均作业周转时间。作业 执行时间 等待时间 周转时间A 2 0 2B 4 8 12C 6 14 20D 8 18 26E 10 20 302 若有如下表所示的 4 个作业进入系统,分别计算在 FCFS、SJF 、HRRF 算法下平均周转时间和平均带权周转时间。作业提交时间 估计运行时间/min1 8:00 1202 8:50 503 9:00 104 9:50 20 FCFS(先来先服务法)作业 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间1 8:00 120min 8:00 10:00 120min 12 8:50 50min 10:00 10:50 120m
9、in 2.43 9:00 10min 10:50 11:00 120min 124 9:50 20min 11:00 11:20 90min 4.5平均周转时间 =112.5min,平均带权周转时间 =4.975TW SJF(短作业优先法)作业 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间1 8:00 120min 8:00 10:00 120min 12 8:50 50min 10:30 11:20 150min 33 9:00 10min 10:00 10:10 70min 74 9:50 20min 11:10 10:30 40min 2平均周转时间 =95min,平均
10、带权周转时间 =3.25TW HRRF(高响应比优先法 )作业 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间1 8:00 120min 8:00 10:00 120min 12 8:50 50min 10:10 11:00 130min 2.063 9:00 10min 10:00 10:10 70min 74 9:50 20min 11:00 11:20 90min 4.5平均周转时间 =102.5min,平均带权周转时间 =3.775TW3 多道批处理系统中有一台处理器和两台外部设备(I1 和 I2) ,用户存储空间为100MB。已知系统的作业调度及进程调度采用可抢占的高
11、优先级调度算法(优先数越大优先级别越高),主存采用不可移动的可变分区分配策略,设备分配遵循动态分配原则。现有 4 个作业同时提交给系统,如下表所示。求作业的平均周转时间。作业名 优先数 运行时间及顺序/min 主存需求/MBA 7 CPU:1 I1:2 I2:2 50B 3 CPU:3 I1:1 10C 9 CPU:2 I1:3 CPU:2 60D 4 CPU:4 I1:1 20如下图2 3 21 11 2 23 1故有作业 周转时间/minA 12B 13C 7D 111.在动态分区存储管理下,按地址排列的主存空闲区为:10KB,4KB,20KB,18KB,7KB,9KB,12KB,15KB
12、。对于下列连续存储区的请求 : (1)12KB,10KB,9KB; (2)12KB,10KB,15KB,18KB。试问:使用最先适应算法、最佳适应算法、循环适应算法,哪个空闲区将被使用?(1)最先适应算法:314最佳适应算法:716循环适应算法 346(2)最先适应算法:314最佳适应算法:7184循环适应算法:3482.一个 32 位计算机系统使用二级页表,虚地址被分为 9 位顶级页表、11 位二级页表和页内偏移。试问:页面长度是多少?虚地址空间共有多少个页面?页面长度为 4KB,虚地址空间共有 个页面2203.某计算机系统提供 24 位虚存空间,主存空间为 218Byte,采用请求分页虚拟
13、存储管理,页面尺寸为 1KB。假定应用程序产生虚拟地址 11123456(八进制) ,而此页面分得的块号为100(八进制) ,说明此系统如何产生相应的物理地址并写出物理地址。虚拟地址 (11123456)8=(001001001010011100101110)2其中前面为页号,而后十位为位移: ,由于主存大小为 218Byte,页面(001001001010011100101)2尺寸大小为 1KB,故主存有 256 块.所以物理地址为 与位移 并接,得八进制(100)8 (1100101110)2物理地址 (0010000001100101110)2=(201456)84.某分段管理采用如下段
14、表:段号 段长 内存起始地址0 380 951 20 5252 105 33003 660 8604 50 1800将虚地址(0,260 ) 、 (2,200) 、 (4,42)转换为物理地址。(0,260)的物理地址为: 260+95=355(2,200)的物理地址为: 200105,故越界(4,42)的物理地址为: 1800+42=18425.一个有快表的页式虚拟存储系统,设主存访问周期为 1 s ,内外存传送一个页面的平均时间为 5ms。如果快表的命中率为 75%,缺页中断率为 10%,忽略快表的访问时间,试求主存的有效存取时间。有效存取时间 T=1 75%+2 15%+(5000+2)
15、 10%=501.25s 6.设程序大小为 460 个字,考虑如下访问序列:55,20 ,108,180,79,310,170,255 ,246,433,458,369(1)设页面大小为 100 个字,试给出访问序列页面走向。(2)假设程序可用主存为 200 字,采用 FIFO,LRU,OPT 淘汰算法,求出缺页中断率。(1)0 0 1 1 0 3 1 2 2 4 4 3(2)FIFO 算法如下页面走向0 0 1 1 0 3 1 2 2 4 4 3缺页率为 6 12=50%LRU 算法如下页面走向0 0 1 1 0 3 1 2 2 4 4 3缺页率为 7 12 58.3% OPT 算法如下页面
16、走向0 0 1 1 0 3 1 2 2 4 4 3缺页率为 5 12 41.7% 1.若两个用户共享一个文件系统,用户甲使用文件 A、B、C 、D 、E,用户乙要使用文件A、D、E 、F。已知用户甲的文件 A 与用户乙的文件 A 实际不是同一个文件,用户甲、乙的文件 D 和 E 是同一个文件。试设计一个文件系统组织方案,使得甲乙能共享此文件系统而又不致造成混乱。甲文件目录乙文件目录2.设有一个 UNIX/LINUX 文件,如果一个盘块大小为 1KB,每个盘块号占用 4Byte,那么,若进程欲访问偏移量 263168Byte 处的数据,需要经过几次间接寻址?逻辑块号从 0 开始编号 263168
17、 1024=257 故该数据的逻辑块号为 257,偏移为 0 1024 4=256 故一个盘块可存放 256 个索引项 unix/linu 文件系统中,前 10 块为直接寻址,一次间接寻址 256 块, 25710+256 故需要一次间接寻址,就可读出该数据.如果要求读入从文件首到 263168Byte 处的数据(包括这个数据) ,读出过程:首先根据直接寻址读出前 10 块;读出一次间接索引指示的索引块 1 块;将索引下标从 0247 对应的数据块全部读入。即可。共读盘块数 10+1+248=259 块3.某文件系统采用索引文件结构,设文件索引表的每个表目占用 3Byte,存放盘块的块号,盘块
18、的大小为 512Byte。此文件系统采用直接、一次间接、二次间接、三次间接索引所能管理的最大磁盘空间是多少?在该文件系统中一个盘块可以存放 512 3 170 个索引项,512Byte=0.5KB 故直接寻址能管理的最大空间为:170 0.5KB =85KB 一次间接: 170 170 0.5KB=14450KB 二次间接: 170 170 170 0.5KB=2456500KB 三次间接: 170 170 170 170 0.5KB=417605000KB ABCDE甲乙ADEF4.设某文件为链接文件,由 5 个逻辑记录组成,每个逻辑记录的大小与磁盘块大小相等,均为512Byte,并依次存放
19、在 50、121、75、80、63 号磁盘块上。如要访问文件的第 1569 逻辑字节处的信息,要访问哪一个磁盘块?1569 152=3 33 该字节对应的逻辑块号为 3(从 0 开始编号) ,位于该块偏移 33 处。因此访问第 80 块盘块。 如果要读入该字节,则需从链首开始,逐块读入,直到第 80 块。所以总的读盘块次数为 4 次。1 磁盘有 200 个磁道,编号 0199。现有请求队列:8,18,27,129,110,186,78,147,41,10,64,12。试用下面算法计算处理所有请求所移动的总柱面数。假设磁头的当前位置在磁道 100。(1) FCFS (2)SSTF (3)SCAN
20、,磁头当前正在按升序方向移动 (4)电梯算法,磁头当前正在按升序方向移动。(1)|100-8|+|18-8|+|27-18|+|129-27|+|110-129|+|186-110|+|78-186|+|147-78|+|41-147|+|10-47|+|64-10|+|12-64|=728(2)|100-110|+|110-129|+|129-147|+|147-186|+|186-78|+|78-64|+|64-41|+|41-27|+|27-18|+|18-12|+|12-10|+|10-8|=264(3)|100-110|+|110-129|+|129-147|+|147-186|+|
21、186-199|+|199-78|+|78-64|+|64-41|+|41-27|+|27-18|+|18-12|+|12-10|+|10-8|=290(4)|100-110|+|110-129|+|129-147|+|147-186|+|186-78|+|78-64|+|64-41|+|41-27|+|27-18|+|18-12|+|12-10|+|10-8|=2642 某磁盘共有 200 个柱面,每个柱面 20 个磁道,每个磁道有 8 个扇区,每个扇区为 1024字节,每个扇区为一块。如果驱动程序接到的访问请求是读出编号为 606 的块(首块编号 0) ,计算此信息块的物理位置。磁道从 0
22、 开始编号,磁头从 0 开始编号,扇区从 0 开始编号。 每个柱面的块数:20 8=160 块 606 160= 3 26。则柱面号为 3 每个柱面中每个磁头对应 8 块,126 8=15 6,则磁头号为 15,扇区号为 6. 因此 606 块对应物理位置(柱面号,磁头号,扇区号)为(3,15,6).3 某操作系统采用单缓冲技术传送磁盘数据。设从磁盘传送一块数据到缓冲区的时间为T1,将缓冲区的一块数据传送到用户区的时间为 T2,CPU 处理这一块数据的时间为T3。系统处理大量数据时,一块数据的处理时间是多少?MAX(T1,T3 )+T24简述 SPOOLING 系统工作原理。SPOOLING 技术是一种外围设备联机操作技术,它在输入和输出直接增加了输入井和输出井的排队转储环节,提高了设备的 I/O 速度.