诚毅学院操作系统思考题.docx
- 文档编号:9581073
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:41
- 大小:369.02KB
诚毅学院操作系统思考题.docx
《诚毅学院操作系统思考题.docx》由会员分享,可在线阅读,更多相关《诚毅学院操作系统思考题.docx(41页珍藏版)》请在冰豆网上搜索。
诚毅学院操作系统思考题
2013-2014学年第一学期操作系统思考题
第一章操作系统概论
1、在计算机系统中,操作系统有哪两个重要作用?
①管理系统中的各种资源。
操作系统是资源的管理者和仲裁者,由它负责资源在各个程序之间的调度和分配,保证系统中的各种资源得以有效的利用。
②为用户提供良好的界面。
2、根据操作系统的地位和作用,请给出操作系统的非形式化的定义。
操作系统是位于硬件层之上、所有其他系统软件层之下的一个系统软件,使得管理系统中的各种软件和硬件资源得以充分利用,方便用户使用计算机系统。
3、操作系统引入的目标是什么?
4、什么叫做“假脱机”?
“假脱机”或“伪脱机”:
作业由读卡机到磁带机的传输、结果由磁带机到打印机的传输,由通道完成,这种非联机、也非脱机的方式。
5、多核系统主要需要解决哪两个问题?
1、并发控制:
单处理机和单核系统的并发控制是在指令级,多处理机和多核的并发控制是在指令周期级别上;
2、调度:
如何合理安排多线程在多处理机或多核上运行,以达到更高的性能。
6、操作系统有哪四个特征?
其中哪两个是基本特征?
程序并发性、资源共享性、资源虚拟性、不确定性(异步性)基本特征:
并发和共享
7、程序的并发性具体体现在哪三个方面?
用户程序与用户程序之间的并发执行,用户程序与操作系统之间的并发执行,操作系统与操作系统之间的并发执行。
8、程序并发和并行有什么区别?
并行:
要求微观上同时进行,即在绝对的同一时刻有多个程序同时向前推进。
并发:
并不是要求微观上的同时,只需从宏观上看多个程序都在向前推进。
9、何谓资源共享性?
多个程序共用系统中的各种软硬件资源
10、在计算机系统中,为什么会呈现出程序运行的异步性?
程序执行的结果的不确定性和执行时间的不确定性导致程序运行的异步性
11、何谓虚拟?
操作系统如何体现其虚拟性?
虚拟是指把一个物理上的实体变成若干个逻辑上的对应物
在单处理器系统中同时(宏观)运行多个程序,操作系统把一个实的CPU改造成多个虚的CPU,每个用户(程序)仿佛拥有一个属于自己的CPU
12、多道批处理系统具有哪两个特性?
多道、成批
13、分时操作系统具有哪三个主要特征?
多路性、交互性、独占性。
P10
14、实时操作系统应具有哪两个特征?
及时性和可靠性
15、分布式操作系统出了网络操作系统的特征外,还具有哪些特征?
1、统一的操作系统;2、资源的进一步共享;3、可靠性;4、透明性;P12
16、从透明性和资源共享两个方面说明网络操作系统与分布式操作系统的差异。
从透明性上看,分布式操作系统优于网络操作系统。
网络用户能够感觉到所访问的资源是在本地还是在远地;而在分布式系统中,用户感觉不到所访问的资源是否在本地。
分布式操作系统掩盖了资源在地理位置上的差异。
从资源共享上看,分布式操作系统比网络操作系统能共享更多的资源。
在网络操作系统中,一个计算任务不能由一台主机任意迁移到另外一台主机上运行;而在分布式操作系统中,所有作业可以由一台主机任意迁移到另外一台主机上处理,即可实现处理机和存储资源的共享,从而达到整个系统的负载平衡。
17、操作系统应具备哪些基本功能?
进程管理、存储器管理、设备管理、文件管理、用户接口。
18、为什么说操作系统是中断驱动的?
中断是程序切换的必要条件、中断将引出新的PSW:
目态管态
19、中断与程序并发之间有什么关系?
操作系统何时获得控制权?
关系:
中断是程序并发的前提条件。
如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
20、系统栈有哪些作用?
根据用途说明堆与栈的差别。
1、保存中断现场
2、保存子程序转移返回点、参数、局部变量、返回值
栈是一块按后进先出规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。
堆虽然是一块存储区域,但是对堆的访问是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。
21、在操作系统中把处理机划分成哪两个状态?
它们分别可以执行哪类指令?
两个状态如何转换?
管态(系统态)执行硬件锁提供的全部命令,特权指令和非特权指令
目态(用户态)只能执行非特权指令
目态管态转换:
中断
管态目态转换:
修改程序状态字(置psw)来实现。
22、操作系统提供给用户程序什么接口?
第二章进程、线程和作业
1、为什么要引入多道程序设计?
2、引入多道程序设计需要解决哪三个问题?
3、什么叫进程?
4、进程有哪三个基本状态?
并说明这三个基本状态是何时转换的?
5、什么是PCB?
6、一个进程由哪两部分组成?
7、什么叫做进程映像?
8、什么叫做系统开销?
9、从操作系统角度,可以把进程划分成哪两类?
10、什么叫做守护进程?
11、进程具有哪些特征?
12、下面程序运行过程中,操作系统共创建几个进程:
(实验一)
main(){
fork();
fork();
fork();
}
13、进程和程序有什么联系?
进程和程序有哪些差异?
14、什么是线程?
为什么要引入线程?
15、用图形表示进程与线程的区别。
16、从实现角度看,有哪两类基本线程?
17、从下面四个方面阐述用户级别线程和核心级别线程的差别、优缺点:
(1)创建速度
(2)切换速度(3)并行性(4)TCB存储位置
18、用户级别线程在处理机什么状态实现的?
核心级别线程在处理机什么状态下实现的?
19、什么叫做作业?
20、分析作业、进程、线程三者的关系。
21、请解析命令“ls-il”给出的信息。
(实验一)
22、在Linux系统中,如何区分普通文件、目录文件、块设备文件、字符设备文件?
23、在Linux系统中,如何区分硬链接文件和符号链接文件?
24、熟练掌握用命令“chmod”修改各组用户对文件的操作权限。
(实验一)
25、掌握命令“ps-ax”查看Linux进程,解析该命令给出的信息,以及终止进程的操作。
26、掌握用命令“gcc”编译链接一个程序。
(实验一)
27、请说明管道操作“|”、输入重定向“<”、输出重定向“>”和“>>”的区别和用法。
28、请说明在shell中使用单引号、双引号、反撇号的用法。
第三章中断与处理机调度
1、什么叫做中断?
2、中断装置发现并响应中断有哪些基本步骤?
3、中断可以分为哪两大类?
请举例说明。
4、什么叫做中断向量?
5、为什么说中断向量的位置是由硬件决定的、其内容是系统初始化时确定的?
6、什么叫做中断续元?
用户栈和系统栈各自有什么用途?
7、根据程序错误中断的性质,有哪两种处理策略?
可以哪些类型的程序性错误中断,中断续元会起作用?
8、处理机调度需要解决哪三个问题?
9、什么叫做CPU阵发期?
10、什么叫做周转时间?
什么叫做(平均)带权周转时间?
11、什么叫做响应时间?
12、掌握FCFS、SJF、SRTN、HRN、HPF、RR调度算法,以及调度指标的计算。
13、什么叫做剥夺式调度?
什么叫做非剥夺式调度?
14、反馈排队调度算法有哪些特点?
15、什么叫做“交换”?
交换的目标是什么?
16、为什么要实施中级调度?
17、什么是低级调度、中级调度、高级调度?
各自的职能是什么?
18、什么是实时调度?
按发生的规律分,有哪两类实时任务?
19、掌握EDF和RMS两个实时调度算法?
20、完成P79-80题31、32、35。
第四章互斥、同步与通信
1、程序顺序执行有哪些特性?
1、连续性;2、封闭性;3、可再现性。
2、程序并发执行有哪些特性?
1、间断性;2、非封闭性;3、不可再现性
3、
什么是Bernstein(伯恩斯坦)条件?
并加以说明。
例如:
S1:
a=x-y;
S2:
b=z+1;
S3:
v=a+b;
S4:
w=v+1;
4、什么叫做与时间有关的错误?
有时间有关的错误产生的原因是什么?
并发进程的执行实际上是进程活动的某种交叉,某些交叉次序可能得到错误结果。
由于具体交叉的形成与进程的推进速度有关,而速度是时间的函数,因而将这种错误称为与时间有关的错误。
错误原因:
1、进程执行交叉。
2、涉及公共变量
5、什么叫做临界区?
什么叫做临界资源?
访问共享变量的程序段称为临界区,
一次只允许一个进程使用的资源称为临界资源
6、什么叫做进程互斥?
请写出进程互斥的基本框架。
多个进程不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象称为进程互斥。
7、实现进程互斥,临界区管理应该满足哪三个正确性原则?
1、互斥性原则:
一次只允许一个进程活动在关于同一组公共变量的临界区中;
2、进展性原则:
临界区空闲时,只有那些执行entrysection和exitsection的进程参与下一个进入临界区进程的决策,该决策不能无限期地推迟;
3、有限等待性原则:
一个请求进入临界区的进程应当在有限的等待时间内获取进入该临界区的机会。
8、请分析Dekker互斥算法、Peterson互斥算法、Lamport面包店算法各自的互斥性、进展性和有限等待性。
P90
9、什么叫做忙式等待?
其与阻塞式等待有哪些区别?
不进入等待状态的等待叫做忙式等待
忙式等待不会主动放弃CPU,尽管CPU可能被剥夺,所以是低效的阻塞式等待会把cpu让给其他进程使用。
所以是高效的。
10、什么叫做原子指令?
11、请写出“测试与设置”原子指令?
并给出利用“测试与设置”指令实现互斥的算法。
P95
12、请写出“交换”的原子指令?
给出利用“交换”指令实现互斥的算法。
P97
13、什么叫做合作进程?
一组进程,如果它们单独不能正常执行,但是并发却可以正常执行
14、什么叫做进程同步?
一组进程,为了协调其推进速度,在某些点处需要相互等待或者唤醒,进程见这种相互制约的关系称为进程同步。
15、请给出信号量类型的定义。
所谓“信号量”是一个具有非负初值的整型变量,并且有一个队列与它关联。
16、信号量变量的初值有什么要求?
非负整数
17、什么叫做原语?
一段不可间断执行的程序称为原语
18、分别写出对信号量进行P操作和V操作的操作原语。
P101
19、请给出信号量元素s.value与s.queue之间的关系。
s.value<0时,s.value的绝对值为s.queue中等待进程的个数;
s.value>=0时,s.queue为空;
20、说出初值分别是0、1、n(>1的值)时信号量的作用。
初值为0时,可以实现进程间的简单同步
初值为1时,可以用来实现进程互斥,这只需要在进入临界区时执行一次操作,在离开临界区时执行一次V操作
初值大于1,可以用来管理同种组合资源(具有多个实例的同类资源,如5台打印机),申请时执行一次P操作,归还时执行一次V操作。
21、某图书馆阅览室有50个座位。
进入阅览室的读者需要在登记簿上登记,登记后,如果有空座位,安排到对应位置上;如果没有空座位,要求在入口等待。
当读者离开阅览室时,进行注销登记。
此时,如果有读者等待,唤醒等待读者进行阅览室。
使用信号量、PV操作实现对阅览室进行管理。
【参考答案】
公共变量:
enumseat[50];(free,used)
semaphoreS;(50)
semaphoremutex;
(1)
进入登记控制:
intEnter(){
inti;
P(S);
P(mutex);
for(i=0;i<50;i++)
if(seat[i]==free)break;
seat[i]=used;
V(mutex);
returni;
}
离开注销登记控制:
voidLeave(intj){
P(mutex);
seat[j]=free;
V(mutex);
V(S);
}
每个读者的活动:
voidReader(){
intk;
k=enter();
阅读;
Leave(k);
}
22、某公共汽车上司机、售票员、乘客的活动如下:
乘客活动:
Customer(){
乘客上车;
乘坐;
乘客下车;
};
售票员活动:
Conductor(){
do{
关车门;
售票;
开车门;
}while
(1);
}
司机活动:
Driver(){
do{
启动车辆;
正常行车;
到站停车;
}while
(1);
}
为安全起见,要求:
(1)必须乘客全部上车,才能关闭车门;假设车门只允许一个乘客通过,且有自动判别第一个下车乘客和最后一个上车乘客的装置,且遵守先下、后上原则;
(2)关闭车门,才能启动汽车;
(3)车辆到站停稳,才能打开车门。
初始时,车辆停靠在站点上,车门是打开着。
请用信号量与PV操作实现对司机、售票员和乘客之间的同步。
【参考答案】
semaphoredc1,dc2;(0,0)
乘客活动:
Geton(){
P(mutex);
乘客上车;
if(最后一个上车乘客?
)V(cc2);
V(mutex);
乘坐;
}
GetOff(){
P(mutex);
乘客下车;
if(第一个下车乘客?
)P(cc1);
V(mutex);
};
semaphorecc1,cc2;(1,0)
semaphoremetux;
(1);
售票员活动:
Conductor(){
do{
P(cc2);
关车门;
V(dc1)
售票;
P(dc2);
开车门;
V(cc1);
}while
(1);
}
司机活动:
Driver(){
do{
P(dc1);
启动车辆;
正常行车;
到站停车;
V(dc2);
}while
(1);
}
23、在Linux操作系统中,sem_wait(sem_t*s)和sem_post(sem_t*s)分别表示对信号量的什么操作?
sem_wait(sem_t*s)信号量大于1时,减一并返回;小于1时线程阻塞
sem_post(sem_t*s)信号量加一
24、假设有两个进程,P1和P2,其中P1有一个活动act1、P2有一个活动act2;要求act1执行完成后才能执行act2,用信号量“semaphoreS;”实现对两个活动进行控制。
请给出其实现的一般规则。
25、P1和P2为两个同步进程.要求P2完成动作B后P1才能执行动作A.请根据要求填写S的初值、P操作和V操作。
semaphoreS;(initialvalue_
(1)_)
26、请完成下面生产者-消费者程序。
itemtypeB[n];//sharedvariables(n个空箱子)
semaphoreS1,S2,mutex;(初值:
S1.value=__n_;S2.value=__0__;mutex.value=__1__)
intin,out;//sharedvariables
voidproducer(){
while
(1){
produceitem(&item);
___P(S1)_____
P(mutex);
B[in]:
=item;
in:
=(in+1)%k;
____V(mutex)_____
V(S2);
}
}
voidconsumer(){
while
(1){
P(s2);
P(mutex);
x:
=B[out];
out:
=(out+1)%k;
V(mutex);
____V(S1)____
consumex;
}
}
27、请完成如下R-W问题的改进算法。
(没保障。
不知道会不会对。
)
semaphorer_w_w=1,mutex=1,s=1;
intcount=0;
voidReader()
{
do{
P(S);
P(mutex);
count++;
if(count==1)P(r_w_w);
V(mutex)
V(s);
{读操作}
P(mutex);
count--;
If(count==0)V(r_w_w);
V(mutex)
}while
(1);
}
voidWriter()
{
do{
P(s);
P(mutex);
{写操作};
P(r_w_w);
V(s);
}while
(1);
}
参考P144题25)
28、什么叫管程(Monitor,Hansen管程)?
一个管程由哪几部分组成?
一个管程定义一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改善管程中的数据
29、请用管程写出Scan和C-scan的磁头调度算法。
30、请给出在Linux系统中采用共享内存进行进程间通信的一般步骤。
(实验二)
第五章死锁与饥饿
1、什么叫死锁?
在操作系统中,发生死锁有哪些特征?
2、有哪些类型的死锁?
3、从资源分配过程的角度,说明死锁与饥饿的区别?
4、参与死锁进程的个数至少几个?
如果产生饥饿,发生饥饿的进程至少饥饿?
5、请给出发生死锁的必要条件(Coffman条件)并加以解析。
6、有三种死锁的处理方式?
7、熟悉资源分配图的绘制,以及资源分配图的约简。
8、死锁预防有哪两种基本策略?
9、请阐述预先分配法。
它破坏发生死锁什么条件?
10、请阐述有序分配法。
它破坏发生死锁什么条件?
11、如图所示,请给出采用有序分配法、用信号量和PV操作控制各个方向(W、E、S方向)车辆进行临界区。
12、死锁避免中,什么叫做安全序列?
13、银行家算法:
掌握p154例5-4、p170习题五第9题,及本章的作业。
14、某系统有资源R={A,B,C}={10,5,7}和进程P={p0,p1,p2,p3,p4}。
下面是该系统某进程提出资源请求预分配后的两个状态,请分别用银行家算法检验是否为安全状态?
(状态a)
(状态b)
15、在上述(13题)系统处于状态a下,进程P0提出Request(0)={3,2,0},请用银行家死锁避免算法进行检测,是否可以分配?
为什么?
16、在上述(13题)系统处于状态a下,进程P0提出Request(0)={3,3,0},请用银行家死锁避免算法进行检测,是否可以分配?
为什么?
17、死锁检测算法:
p156例5-6,习题五第10题。
18、有一系统拥有资源R={A,B,C}={7,3,6},现有进行P={p0,p1,p2,p3,p4}。
当前的状态如下所示。
请用死锁检测算法检测系统当前是否发生死锁,如果发生死锁,有哪些进程参与死锁?
AllocationRequestAvailableWorkFinish
ABCABCABCABC
p0:
010000010
p1:
200202
p2:
303000
p3:
211100
p4:
002002
19、同类组合资源死锁的必要条件:
p165例5-8。
20、死锁与饥饿有何相同点和不同点?
第六章存储管理
1、静态等长分区是在什么时候划分的?
大小有什么要求?
空闲内存有哪些管理方式?
2、动态异长分区是什么时候划分的?
其空闲区域表有什么特点?
3、掌握动态异长分区分配的四种算法:
最先适应算法、循环首次适应算法、最佳适应算法和最坏适应算法。
4、动态异长分区去配是应该考虑哪四种情况?
5、在动态异长分区管理中,为什么要进行“紧凑”操作?
6、在界地址管理方式中,覆盖技术和交换技术要解决什么问题?
它们有什么不同?
7、页表有什么作用?
页表是什么时候创建的?
应该包括哪些内容?
8、操作系统采用分页式存储管理方式,每个进程一个页表还是整个系统共享一个页表?
9、请分别给出页式存储管理、段式存储管理、段页式存储管理其进程的逻辑地址形式。
它们的进程地址空间分别是几维的?
10、假设操作采用页式存储管理方式,某进程的页表如下:
页面号
页架号
0
15
1
22
2
16
3
32
假设内存物理地址和进程逻辑地址均为16位的地址空间,每页的大小为1KB。
请把逻辑地址为0A22H、0D75H、1E56H映射成对应的物理地址。
11、如果没有快表,采用分别页式存储管理、段式存储管理、段页式存储管理三种方式,其分别需要访问几次内存?
12、操作系统采用分页式存储管理方式,要求___。
A)每个进程拥有一张页表,且进程的页表驻留在内存中;
B)每个进程拥有一张页表,但只要执行进程的页表驻留在内存中,其他进程的页表不必驻留在内存中;
C)所有进程共享一张页表,以节约有限的内存空间,但页表必须驻留在内存中;
D)所有进程共享一张页表,只有页表中当前使用的页面必须驻留在内存中,以最大限度节约有限的内存空间;
13、为何段式管理有段内越界,而页式管理无页内越界问题?
14、为什么分段技术比分页技术更容易实现程序或数据的共享和保护?
15、在段页式存储管理系统中,每个进程页表的个数有什么决定的?
16、试比较段式存储管理和页式存储管理的优缺点。
17、设有一个段表如下:
段首址
段长
90
100
219
600
1327
580
1952
96
2300
80
分别给出逻辑地址(2,88)和(4,100)对应的物理地址。
18、在内存管理模式中,内存利用率最高的是_______模式;动态扩充实现得最好的是_______模式;内存利用率最高和共享容易的是_____模式。
A)分区管理B)分页管理
C)分段管理D)段页式管理
19、熟悉如下页面淘汰算法:
最佳淘汰算法、FIFO淘汰算法、LRU淘汰算法、NUR淘汰算法。
20、什么是Belady异常?
采用什么页面淘汰算法会产生Belady异常现象?
21、考虑如下一个页面处理顺序,当内存的页面数为3时,分别计算各页面淘汰算法的缺页次数。
设内存初始时为空,每页装入都是请求式。
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
LRU算法,缺页次数为_______OPT算法,缺页次数为_______
22、某虚存系统有3页初始为空的页架,若采用FIFO页面淘汰算法,则下列的页面需求提出时,会产生()次缺页中断?
设页面走向为:
4,3,2,1,4,3,5,4,3,2,1,5。
A)7B)8C)9D)10
23、p225习题六第25题、26题。
24、p224习题六第17、18题。
25、什么叫做颠簸?
颠簸是由什么引起的?
如何消除?
26、P209例6-1。
第七章文件系统
1、什么是文件的逻辑组织?
什么是文件的物理组织?
文件的逻辑组织
a)用户看到的文件组织形式
i.记录式文件:
记录的序列
1.等长记录(优点:
处理方便,速度快;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学院 操作系统 思考题