一、简答
1. 什么是进程?它与程序相比有哪些特性?
进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。
动态性、独立性、并发性
2. 什么是进程?进程静态实体的组成是什么?
程序、数据集合、进程控制块PCB
3. 进程的三种基本状态是什么?画出进程的三种基本状态的转换图。
就绪、执行、阻塞
4. 请画出进程的五种基本状态的转换图(含创建状态和终止状态)。
5. 请画出具有挂起状态的进程状态转换图
7. 进程的调度算法有哪些?哪种算法常用于分时操作系统(抢占式优先级调度算法?)?
轮转调度算法
优先级调度算法
多队列调度算法
多级反馈队列调度算法
基于公平原则的调度算法
8. 作业调度算法有哪些?
先来先服务算法FCFS
短作业优先算法SJF
时间片轮转算法RR
高响应比优先算法HRRF
9. .I/O设备完成I/O操作后,要向CPU发送中断请求,CPU要通过中断处理程序进行中断处理,请简要介绍下中断处理程序的处理步骤。
测定是否有未响应的中断信号
保护被中断的CPU环境
转入相应的设备处理程序
中断处理
恢复CPU现场并退出
10. 什么是安全状态?什么是安全序列?
安全状态是指系统能按照某种进程推进序列(p1,p2,p3,…,pn)为每个进程pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利完成。此时称(p1,p2,p3,…,pn)为安全序列
11. 什么是死锁?产生死锁的四个必要条件是什么?
死锁:在一组进程中,每一个进程都在等待仅由该组进程的其他程序才能引发的事件,我们称它们是死锁的
必要条件:互斥条件;请求与保持条件;不可抢占条件;循环等待条件
12. 产生死锁的四个必要条件是什么?哪个条件是不能改变,要加以保证的?
必要条件:互斥条件;请求与保持条件;不可抢占条件;循环等待条件
互斥条件需要加以保证不能改变
13. 内存中缓冲池的缓冲区工作方式有几种?分别是哪几种?
四种工作方式
收容输入;提取输入;收容输出;提取输出
14. 什么是重定位?重定位有哪两种方式,它们有什么不同。
由于一个作业装入到与其逻辑地址空间不一致的绝对地址空间,使得逻辑地址与绝对地址不同,而引起的对有关地址部分的调整,即逻辑地址转换成绝对地址的过程称为重定位,也称为地址转换。
静态重定位和动态重定位
・ 静态重定位是在作业装入的时候一次完成,动态重定位是在作业执行时再实现的;
・ 静态重定位是软件支持的,动态重定位是软件和硬件相互配合实现的;
・ 静态重定位不能实现主存的移动,而动态重定位可以;
・ 动态重定位还可能提供虚拟存储空间。
15. 什么是虚拟存储器?哪些存储管理技术可以实现虚拟存储器。
虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储管理系统。
分页存储、分段存储、段页式存储
16. 磁盘调度算法有哪些?
先来先服务算法
最短寻道时间优先算法
扫描算法
循环扫描算法
17. 对于传统机械硬盘,对磁盘的访问时间分成哪三部分?哪部分时间是磁盘调度算法主要考虑的?
寻道时间、旋转延迟时间、传输时间
寻道时间是磁盘调度算法主要考虑的
18. 请简要介绍下存储管理机制中分页和分段的异同?
同:都是虚拟存储方式的具体实现方法;都是将原有作业进行拆分存储在不同的地址空间
异:页是信息的物理单位,分页仅仅是系统行为,对用户不可见;段是信息的逻辑单位,是一组有意义相对完整的信息。分段的目的是为更好满足用户需要
页的大小固定且由系统决定,而段的大小不固定,决定于用户所编写的程序
分页的用户程序地址空间是一维的。仅用一个记忆符就可表示一个地址;儿分段的用户程序地址空间是二维的,程序员在标识一个地址时,即需给出段名,又需给出段内地址。
19. 令buddyk(x)为大小为2k、地址为x的块的伙伴系统地址,试写出buddyk(x)的通用表达式
buddyk(x)=x+2的k次方(若xMOD2的k+1次方=0)和 x-2的k次方(若xMOD2的k+1次方=2的k次方)
20. 对I/O设备的控制方式有哪几种? 哪种方式CPU干预最少?‘
程序I/O控制方式;中断驱动I/O控制方式;直接存储器访问DMA控制方式;I/O通道控制方式
I/O通道控制方式CPU干预最少
21. SPOOLing(假脱机技术)系统由哪四部分组成?
输入井和输出井;输入缓冲区和输出缓冲区;输入进程和输出进程;井管理程序
22. 简要介绍实时系统进程调度中的最低松弛度优先算法,并写出松弛度的计算公式。
该方法是根据任务的紧急(或松弛)程度来调度进程的。任务紧急程度越高,任务的优先级就越高,使之优先执行。
必须完成的时间-自身运行时间-当前时间
二、综合
1.图书馆有150个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。当图书馆中没有座位时,后到的读者在图书馆等待(阻塞)。用wait和signal操作描述,实现读者进程中资源的正确分配。其中资源信号量S代表座位资源,互斥信号量mutex代表对登记表的互斥使用。 根据所定义的信号量,对信号量赋初值,并把wait、signal操作语句填入下述过程中,以保证进程能够正确地执行。(6分)
semaphore s, mutex
s = 150
mutex= 1
void reader( ){
while (1){
wait(s)
wait(mutex)
登记;
Signal(mutex)
阅读;
wait(mutex)
注销;
Signal(mutex)
Signal(s)
} }
2.某校图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。当图书馆中没有座位时,后到的读者在图书馆等待(阻塞)。如果将每位读者看作是一个进程。完成下列操作:
(1) 用wait、signal操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以及信号量取值的含义。(2分)
Semaphore s,mutex;
S=100;mutex=1;
S代表座位资源;互斥信号量mutex代表对登记表的互斥使用
(2) 根据所定义的信号量,把应执行的wait、signal操作填入下述过程中,以保证进程能够正确地并发执行。(4分)
void reader( )
{
while (1)
{
wait(mutex);
__wait(s);
登记;
_signal(mutex);
阅读;
_wait(mutex);
注销;
signal(s);
signal(mutex)__
}
}
3. 有一座东西方向的独木桥,当独木桥上有行人时,同方向的行人可以同时过桥,相反方向的人必须等待。如果把同方向的过桥看作是一个进程,请回答下列问题:
(1) 用wait、signal操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以及信号量取值的含义。(2分)
Semaphore mutex,MD;
Mutex=1;MD=1;countD=0
Mutex是互斥信号量,用来表示对独木桥的互斥使用
MD
countD用来计数同方向过路的人
(2) 根据所定义的信号量,把应执行的wait、signal操作填入下述程序中,以保证进程能够正确地并发执行。(4分)
从东向西的进程表示:
void dongtoxi()
{
while (1) {
wait(MD);
if(countD==0)_ wait(mutex)_ ;
countD++; ;
signal(MD);
过桥;
wait(MD);
countD–;______ ;
if(countD==0)signal(mutex)____;
signal(MD);
}
}
从西向东与上面相似。
4. 桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放橘子,儿子专等吃盘中的橘子,女儿专等吃盘中的苹果。规定当盘空时,一次只能放一只水果供吃者取用,用wait和signal操作描述,实现爸爸、儿子、女儿三个并发进程的同步。
(1) 设信号量empty,初值为1,表示盘子是空的;儿子进程的同步信号量orange,初值为0,表示爸爸尚未把桔子放入盘中;女儿进程的同步信号量apple,初值为0,表示爸爸尚未把苹果放入盘中。
(2) 根据所定义的信号量,把执行wait、signal操作的信号量填入下述过程中,以保证进程能够正确地并发执行。(6分)
5.某校图书馆有200个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。当图书馆中没有座位时,后到的读者在图书馆等待(阻塞)。如果将每位读者看作是一个进程。
(1) 用wait、signal操作管理这些并发进程时,设资源信号量S=200,表示有200个座位;互斥信号量mutex=1,表示登记和注销时,对登记表的互斥访问。
(2) 根据所定义的信号量,把执行wait、signal操作是的信号量填入下述过程中,以保证进程能够正确地并发执行。(6分)
void reader( ) {
while (1){
wait(s_)
wait(mutex_)
在登记表上登记;
signal(mutex____)
阅读;
wait(mutex_____)
在登记表上注销;
signal(mutex________)
signal(s__)
}
}
6.在缓冲池工作机制中,有Getbuf和Putbuf两个过程对缓冲池中的队列进行操作,为了实现操作队列的互斥设置了一个互斥信号量MS(type),为了保证进程的同步,又设置了一个资源信号量RS(type)。请根据所定义的信号量把wait、signal操作语句填入两个过程中,以保证进程能够正确地执行。(6分)
Void Getbuf(unsigned type)
{ wait(MS[type])
Signal(MS[type])
B(number) = Takebuf(type) ;
Wait(RS[type])
} Void Putbuf(type, number)
{ signal(MS[type])
Add(type,number) ;
wait(RS[type])
Signal(RS[type])
}
7.若干个等待访问磁盘的进程依次要访问的磁道为27,63,58,24,107,35,106当前磁头的位置为57号磁道,根据下面的磁盘调度算法,请给出调度的顺序,并计算平均寻道长度。
(1)最短寻道时间优先
(2)循环扫描算法(当前磁头移动的方向为磁道递增)
最短寻道时间优先 循环扫描算法
从57号磁道开始 从57号磁道开始(递增)
被访问的下一个磁道号 移动距离
(磁道数) 被访问的下一个磁道号 移动距离
(磁道数)
平均寻道长度: 平均寻道长度:
8. 在单道批处理系统中,设有5个作业,它们进入系统的时间、运行时间如下表。完成下列操作:
(1)按最短作业优先调度算法,选择作业顺序是___1.3.5.4.2_______。(2分)
(2)按最短作业优先调度算法,填写下表,计算作业的平均周转时间。(4分)
作业 提交时间(时) 运行时间(分) 开始时间(时) 完成时间(时) 周转时间(分)
1 8:00 60 8:00 9:00 60
2 8:10 50 10:10 11:00 170
3 8:20 10 9:00 9:10 50
4 8:40 40 9:30 10:10 90
5 9:00 20 9:10 9:30 30
平均周转时间:T= (60+170+50+90+30)/5=80
周转时间=作业完成时间-作业到达时间
平均带权周转时间=周转时间/运行时间
作业 执行时间
1 10
2 1
3 2
4 1
5 5
9.在一台处理机上,执行如右表所示的作业。假设这些作业在时刻0以1、2、3、4、5的顺序到达。完成下列操作:
(1)按先来先服务(FCFS)调度算法,选择作业顺序是__1.2.3.4.5_____________。(2分)
(2)按先来先服务调度算法,填写下表,计算作业的平均周转时间。(4分)
作业执行次序 执行时间 等待时间 开始时间 完成时间 周转时间
1 10 0 0 10 10
2 1 10 10 11 11
3 2 11 11 13 13
4 1 13 13 14 14
5 5 14 14 19 19
平均周转时间:T= (10+11+13+14+19)/5
作业 执行时间
1 10
2 1
3 2
4 1
5 5
10.在一台处理机上,执行如右表所示的作业。假设这些作业在时刻0以1、2、3、4、5的顺序到达。完成下列操作:
(1)按最短作业优先(SJF)调度算法,选择作业顺序是_____2.4.3.5.1______________。(2分)
(2)按最短作业优先调度算法,填写下表,计算作业的平均周转时间。(4分)
作业执行次序 执行时间 等待时间 开始时间 完成时间 周转时间
2 1 0 0 1 1
4 1 1 1 2 2
3 2 2 2 4 4
5 5 4 4 9 9
1 10 9 9 19 19
平均周转时间:T=
12.某系统采用段式存储管理,回答下列问题:
(0.
1) 段式存储管理的基本原理是什么? (4分)
将程序的地址空间划分为若干个段
为每个段分配一个连续的分区,而进程中的各个段可以不连续地存放在内存的不同分区中
程序通过分段 划分为多个模块,如代码段、数据段、共享段。
(2)一个作业由三段组成,段表如下表:
段号 起始地址 长度
0 220 300
1 1700 1000
2 23 150
有一个逻辑地址是1段,段内地址为30,请根据段表计算出对应的物理地址。(2分)
30+1700=1730
13. 在一个请求分页系统中,假如系统分配给一个作业的物理块数为3,有访问串依次为0,1,2,3,0,1,4,0,1,2,3,4。使用先进先出(FIFO)页面置换算法,完成下列操作:
(1)填写下表(中间三行代表内存中的三个物理块) (3分)
访问串 0 1 2 3 0 1 4 0 1 2 3 4
分到的三个物理块 0 0 0 1 2 3 0 1 4 0 1 2
1 1 2 3 0 1 4 0 1 2 3
2 3 0 1 4 0 1 2 3 4
缺页否 T T T T T T T T T T
(2)缺页次数是多少?缺页率是多少? (2分)
10
10/12=1/2=0.5
(3)写出依次淘汰页的序号。(1分)
0.1.2.3.4.0.1
(4)假设页长为2048个字节,某时刻页表如下:
逻辑页号 物理块号
0 4
1 7
2 1
有逻辑地址5196,请根据页表计算出对应的物理地址,要有计算过程。(2分)
若给定一个逻辑地址为A,页面长度为L,则页号P=A/L取整数,页内地址d=A/L取余数。
5196/2048=2余1100
所有逻辑页号为2,业内地址为1100 ,物理块号1所对应的起始地址为2048*1=2048
所以对应的物理地址为2048+1100=3148
14.在一个请求分页系统中,假如系统分配给一个作业的物理块数为3,有访问串依次为4,3,2,1,4,3,5,4,3,2,1,5。使用先进先出(FIFO)页面置换算法,完成下列操作:
(1)填写下表(中间三行代表内存中的三个物理块) (3分)
访问串 4 3 2 1 4 3 5 4 3 2 1 5
分到的三个物理块 4 4 4 1 1 1 5 2 2 2
3 3 3 4 4 4 4 1 1
2 2 2 3 3 3 3 5
缺页否 T T T T T T T T T T
(2)缺页次数是多少?缺页率是多少? (2分)
9
9/12=75%
逻辑页号 物理块号
0 4
1 7
2 3
(3)写出依次淘汰页的序号。(1分)
4.3.2.1.5.4.3
(4)假设页长为2048个字节,某时刻页表如右表:
有逻辑地址5000,请根据页表计算出对应的物理地址,要有计算过程。(2分)
5000/2048=2….904
所以页号为2,偏移量为904
所有物理块号3对应的地址起始地址为3*2048=6144
所以对应的物理地址为6144+904=7048
15.在一个请求分页系统中,假如系统分配给一个作业的物理块数为3,有访问串依次为4,3,2,1,4,3,5,4,3,2,1,5。使用最近最久未用(LRU)页面置换算法,完成下列操作:
(1)填写下表(中间三行代表内存中的三个物理块) (3分)
访问串 4 3 2 1 4 3 5 4 3 2 1 5
分到的三个物理块 4 4 4 1 1 1 5 2 2 2
3 3 3 4 4 4 4 1 1
2 2 2 3 3 3 3 5
缺页否 T T T T T T T T T T
(2)缺页次数是多少?缺页率是多少? (2分)
12 10/12=50%
(3)写出依次淘汰页的序号。(1分)
4.3.2.1.5.4.3
逻辑页号 物理块号
0 4
1 7
2 3
(4)假设页长为2048个字节,某时刻页表如右表:
有逻辑地址3500,请根据页表计算出对应的物理地址,要有计算过程。(2分)
3500/2048=1….1452
所以逻辑页号为1,偏移量为1452
物理块号7对应的地址始址为7*2048=14376
所有物理地址为14376+1452=15828
16.已知一个采用了FIFO算法的虚拟分页管理系统,使用一级页表,其页面尺寸为2K,假设页表总在主存中。
(1)如果一次存储器访问需要200μs,那么访问一个数据需要多长时间?(1分)
有一个一级页表,想要访问数据要先访问一次页表,根据页表所查信息再查一次内存
所以为200*2=400
(2)现在增加一个快表,在命中或失误时均有20μs的时间开销,假设快表的命中率为85%,那么访问一个数据的时间为多少(写出计算式子并算出结果)?(2分)
使用快表时,要么可以从快表中直接查出;若快表中没有则也需要访问两次内存
0.85*(200+20)+0.15*(20+200+200)=250
(3)今有一个长度为9K的进程P进入系统,分配给P的存储块有3块,进程的所有页面都是在该进程运行中动态装入。对于下述页面号访问序列:0,1,2,0,4,2,3,2,1,2,0,1(假设开始时,该进程没有页面在内存)填写下表,并计算缺页次数和缺页率。(5分)(中间三行代表内存中的三个物理块)
访问串 0 1 2 0 4 2 3 2 1 2 0 1
分到的三个物理块 0 0 0 0 0 0 3 3 3 3 0 0
1 1 1 4 4 4 4 1 1 1 1
2 2 2 2 2 2 2 2 2 2
缺页否 T T T T T T T
17.已知一个采用了LRU(Least Recently Used)算法的虚拟分页管理系统,使用一级页表,其页面尺寸为2K,假设页表总在主存中。
(1)如果一次存储器访问需要200μs,那么访问一个数据需要多长时间?(1分)
200*2=400
(2)现在增加一个快表,在命中或失误时均有20μs的时间开销,假设快表的命中率为85%,那么访问一个数据的时间为多少(写出计算式子并算出结果)?(2分)
0.85*(20+200)+0.15*(20+200+200)
(3)今有一个长度为9K的进程P进入系统,分配给P的存储块有3块,进程的所有页面都是在该进程运行中动态装入。对于下述页面号访问序列:0,1,2,0,4,2,3,2,1,2,0,1(假设开始时,该进程没有页面在内存)填写下表,并计算缺页次数和缺页率。(5分)(中间三行代表内存中的三个物理块)
访问串 0 1 2 0 4 2 3 2 1 2 0 1
分到的三个物理块
缺页否文章来源:https://www.toymoban.com/news/detail-511374.html
18.假定在某移动臂磁盘上,刚刚处理了访问60号柱面的请求,目前正在73号柱面上读信息,并有如下表所示的请求序列等待访问磁盘:
请求序列: 1 2 3 4 5 6 7 8 9
欲访问的柱面号: 150 50 178 167 87 43 23 160 85
试用最短寻道时间优先算法、扫描算法(电梯调度算法),分别计算这两种算法的平均寻道长度,要求要有过程(8分)文章来源地址https://www.toymoban.com/news/detail-511374.html
到了这里,关于操作系统期末复习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!