操作系统题目分类总结 | 进程管理 内存管理 文件系统 设备管理

系列文章如下

学习过程中一定要有系统观念(知识框架,每一章开头都会有一个思维导图),知道目前自己在学习的是哪一板块的内容,和前面有什么样的联系

操作系统的很多知识点前后都是联系非常紧密的,去一点一点理解而不是死记硬背会学习的非常愉快的!!!

操作系统相关文章

概述,初步了解操作系统功能及其一些概念

操作系统(一)| 概述 作业 批处理 OS运行环境要求 基本特征-CSDN博客

进程管理部分,重头戏

操作系统(二 )| 进程控制 进程状态 进程描述 进程控制 进程同步互斥-CSDN博客

操作系统(三)| 进程管理上 进程状态 同步 互斥-CSDN博客

操作系统(三)| 进程管理下 经典进程问题分析 线程 死锁-CSDN博客

内存管理部分

操作系统(四)| 内存管理 实存储器管理 虚拟存储器管理 分页 分段式管理-CSDN博客

文件系统管理部分

操作系统(五)| 文件系统上 结构 存取方式 文件目录 检索-CSDN博客

操作系统(六)| 文件系统下 文件使用 共享 保护-CSDN博客

设备管理部分

操作系统(七)| 设备管理-- 端口 驱动程序 基本I/O控制 磁盘I/O-CSDN博客


1 进程管理题目

1.1 进程并发多情况分析题

**例题1 **

设有两个进程P1和P2,其执行代码分别如下:

进程P1 进程P2

A; C;

B; D;

​ E;

其中,A、B、C、D、E都是原子操作。请给出进程P1和P2并发执行时所有可能的执行轨迹。


答案1

A C B D E

A C D B E

A C D E B

A B C D E

C A D B E

C A B D E

C D A B E

C D A E B

C D E A B

1.2 进程并发P,V操作分析题

例题1

共享缓冲区问题。三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用 counteven()统计偶数个数。试用信号量的P、V操作设计该问题的同步算法,给出所用共享变量(如果需要)和信号量及其初始值,并说明各自的含义。

答案1

题目要求分析

1 访问缓冲区之间三个进程要互斥

2 生成数字放入之前要保证,有空余的单元格

3 取偶数时要保证有偶数,取奇数时要保证有奇数

1.remainder=N// 缓冲区剩余的单元格  
2.  
3.mutex=1 //缓冲区互斥访问  
4.odd_number=0//缓存区内奇数个数  
5.even_number=0//缓存区内偶数个数  
6.//生成进程  
7.void P1(void){  
8.    P(remainder) //检测是否有剩余的单元格  
9.    P(mutex);  
10.    num=produce();//生成一个数  
11.    if(num为偶数):  
12.        even_number++;  
13.    else  
14.        odd_number++;  
15.    put();//送入缓存区  
16.    V(mutex);  
17.}  
18.  
19.void P2(void){  
20.    P(odd_number)  //检测是否有偶数  
21.    P(mutex);  
22.    getodd();  
23.    odd_number=countodd();  
24.    V(mutex);  
25.    V(remainder) //剩余单元格加一  
26.}  
27.  
28.void P3(void){  
29.    P(even_number)   //检测是否有奇数  
30.    P(mutex);  
31.    geteven();  
32.    even_number=counteven();  
33.    V(mutex);  
34.    V(remainder) //剩余单元格加一  
35.}  

1.3 进程调度分析题

例题1

设有5个进程A、B、C、D、E(没有I/O),就绪时刻和运行时间如下:

进程 就绪时刻 运行时间

A 0 3

B 2 6

C 4 4

D 6 5

E 8 2

分别采用下列调度算法,给出调度顺序,计算平均周转时间和平均带权周转时间(忽略进程切换开销)。

1)先来先服务

2)时间片轮转(时间片大小=1)

3)时间片轮转(时间片大小=4)

4)短进程优先

说明:若进程P1执行时间片到的时刻与进程P2的就绪时刻相等,则认为进程P2先处于就绪状态。

答案1

(1)先来先服务顺序为 ABCDE

周转时间和=3+7+9+12+12=43

平均周转时间=43/5=8.6

平均带权周转时间=(3/3+7/6+9/4+12/5+12/2)/5=2.56

(2)顺序为 AABA BCBD CBED CBED CBDD

周转时间和=4+16+13+14+7=54

平均周转时间=54/5=10.8

带权周转时间=(4/3+16/6+13/4+14/5+7/2)/5=2.71

(3)顺序为 ABCDBED

周转时间和3+15+7+14+11=50

平均周转时间=(3+15+7+14+11)/5=10

平均带权周转时间=(3/3+15/6+7/4+14/5+11/2)/5=2.71

(4)顺序:ABECD

平均周转时间=(3+7+3+11+14)/5=7.6

平均带权周转时间=(3/3+7/6+3/4+11/5+14/2)/5=1.84

1.4 方案设计评价综合题

例题1

你认为应该用哪些指标来评价进程调度算法?请给出你认为最重要的4个指标,并采用你给出的这些指标,对先来先服务、时间片轮转、短进程优先、静态优先级、动态优先级、多级反馈队列等调度算法进行评价。

答案1

最重要的四个指标:CPU利用率、等待时间、周转时间,公平性

先来先服务:对于CPU繁忙性进程CPU利用率比较高,IO繁忙性CPU利用率比较低、平均等待时间波动很大不稳定,周转时间较长。公平性有待提高

时间片轮转:CPU利用率较高,短进程可能有较长的等待时间,时间片轮转对I/O型密集型进程不公平,周转时间通常较长。

短进程优先:CPU的利用率较高,但对于长进程不太友好、具有最优平均周转时间,等待时间较短。

静态优先级:优先级低者永远得不到调度的情况,缺乏公平。CPU利用率取决于优先级,等待时间、周转时间以及响应时间取决于优先级设置,高优先级时间较短。

动态优先级:CPU利用率更加灵活,等待时间、周转时间取决于算法的实现。

多级反馈队列:综合一些优点,公平性较高,CPU利用率较高,等待时间、周转时间取决于优先级设置。

例题2

假定CPU按照程序中规定的顺序执行指令(即指令不会乱序执行),以2个进程的互斥为例,分析Peterson解决方案的正确性。

答案2

当一个进程想进入临界区时,先调用enter_region函数,判断是否能安全进入,不能的话等待,能的话则将标志位设置为True,同时将共享变量turn设置为自己的标识号,表示要进入临界区的进程号,这时候另一个进程就不能进入了,实现了互斥;当该进程从临界区退出后,需调用leave_region函数,将标志位设置为False,这时候就允许另一个进程进入临界区。

2 内存管理题目

2.1 虚拟存储管理——物理地址计算题

题目1

在某个段式存储管理系统中,逻辑地址为16位,其中,段号占4位。进程P的段表如下:

段号 段基址 段长度

0 4100H 500H

1 1000H 60H

2 1200H 100H

3 2200H 390H

4 2090H 120H

求下列逻辑地址所对应的物理地址。要求用十六进制表示,例如:1000H。

1)420H 2)1030H 3)2100H 4)3320H 5)4160H

求上述的物理地址分别为多少?

答案1

物理地址分别为:1) 4520H ;2) 1030H ;3) 地址越界 ;4) 2520H ;5) 地址越界 。

2.2 虚拟存储管理——置换调度算法题

题目1

在请求分页管理系统中,假设某进程的页表内容如下:

页号 物理块(页帧)号 有效位

0 101H 1

1 - 0

2 254H 1

页的大小为4KB,一次内存的访问时间是100ns;一次快表(TLB)的访问时间是10ns,忽略访问页表之后的TLB更新时间;处理一次缺页的时间为108ns(包含更新TLB和页表的时间),缺页中断处理后,返回到产生缺页中断的指令处重新执行。设系统为进程固定分配了2个物理块,采用LRU置换算法和局部置换策略,TLB初始为空。现依次访问下列虚地址:

1)2356H 2)1680H 3)25A8H

求上述访问对应的物理地址分别为多少?

访问时间多少

答案1

对应的物理地址分别为:1) 254356 H;2) 101680 H;3) 2545A8 H。

根据虚地址得到物理地址所需时间分别为:1) 110 ns;2) 100000120 ns;3) 10 ns。

3 文件系统题目

3.1 目录项分解法读盘次数分析题

题目1

某磁盘文件系统采用多级目录结构,目录当做文件,每个文件有唯一ID,磁盘逻辑块与物理块大小均为4096字节。目录文件存放目录符号项,每个符合目录项占32个字节,包括文件ID和文件名。基本目录项包括文件类型标志(目录文件和普通文件)和文件地址addr等。对于目录文件,addr所指向的一个磁盘块存放文件内容,对于普通文件,addr所指的1个磁盘块按顺序存放文件目录所占用的若干磁盘块地址(每个地址8个字节)。已知文件ID与其基本目录项所在磁盘块地址的对应关系以及根目录的ID

1 每个普通文件最大长度多少字节,每个目录下最多可以包含多少个文件(包含子目录)?

2 设普通文件f.dat存在于目录/user/data下,为了获取f.dat的ID,需要读几个磁盘块?若已知f.dat的ID,读其第42000个字节,需要读几个磁盘块

3 为了支持更大的文件,如何改进文件系统?

答案1

(1)

512*4KB=2048KB

4096/32=128个

(2)

读根目录的基本目录项(第一次),访问根目录地址获得user的ID(第二次)-》

访问user的基本目录项(第三次),访问user目录地址获得data的ID(第四次)-》

访问data的基本目录项(第五次),访问data的目录地址 获得f.dat的ID 共六次

访问f.dat的基本目录项,获得目录地址(第一次)

访问地址,然后直接获得第11块的物理地址(第二次)

然后直接访问11块的物理地址,访问(第三次)共三次

(3)

多级索引文件物理块,如两级!

4 设备管理题目

4.1 磁盘调度算法计算题

例题1

假定磁头在完成了磁道12处的请求后,正在磁道18处为一个磁盘请求服务,寻道时每移动1个磁道需要6ms。若当前请求访问的磁道顺序为:10,22,20,2,40,6,38,分别采用下列调度算法,计算完成这些磁盘请求的总的寻道时间(不包括从磁道12移动到磁道18的寻道时间)。先来先服务调度算法FCFS 2)最短寻道时间优先调度算法SSTF 3)电梯调度算法SCAN 4)循环扫描算法C-SCAN 总的寻道时间分别为多少ms

答案1

864,372,360,408

4.2 磁盘访问时间计算

题目1

假定每个扇区512字节,磁盘传送速度5400RPM,声称寻道时间(最大寻道时间一半)位12ms,数据传输速率4MB/s,磁盘控制开销为1ms,不考虑排队时间,则磁盘响应时间多少?

答案1

18.6ms

= 0 + 1 + 12 + 0.5 5400 R P M + 0.5 K B 4 M B / s = 18.6 =0+1+12+\frac{0.5}{5400 RPM} +\frac{0.5KB}{4MB/s}=18.6 =0+1+12+5400RPM0.5+4MB/s0.5KB=18.6

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值