操作系统习题哈工大汇编.docx
《操作系统习题哈工大汇编.docx》由会员分享,可在线阅读,更多相关《操作系统习题哈工大汇编.docx(20页珍藏版)》请在冰豆网上搜索。
操作系统习题哈工大汇编
第一章:
1、操作系统的主要性能参数有(响应时间)、(可靠性)。
2、Windows98是一个(单用户多任务)得操作系统。
3、当前作为自由软件的操作系统是(c)
a、Windowsb、UNIXc、Linuxd、OS/2
4.操作系统的地位:
操作系统是裸机之上的第一层软件,是建立其他所有软件的基础。
它是整个系统的控制管理中心,既管硬件,又管软件,它为其它软件提供运行环境。
5.操作系统的发展历程
1. 最初是手工操作阶段,需要人工干预,有严重的缺点,此时尚未形成操作系统
2.早期批处理分为联机和脱机两类,其主要区别在与I/O是否受主机控制
3. 多道批处理系统中允许多道程序并发执行,与单道批处理系统相比有质的飞跃
6.操作系统的主要类型?
多道批处理系统、分时系统、实时系统、个人机系统、网络系统和分布式系统
1. 多道批处理系统
1) 批处理系统的特点:
多道、成批
2) 批处理系统的优点:
资源利用率高、系统吞吐量大
3) 批处理系统的缺点:
等待时间长、没有交互能力
2. 分时系统
1) 分时:
指若干并发程序对CPU时间的共享。
它是通过系统软件实现的。
共享的时间单位称为时间片。
2) 分时系统的特征:
同时性:
若干用户可同时上机使用计算机系统
交互性:
用户能方便地与系统进行人--机对话
独立性:
系统中各用户可以彼此独立地操作,互不干扰或破坏
及时性:
用户能在很短时间内得到系统的响应
3)优点主要是:
响应快,界面友好
多用户,便于普及
便于资源共享
3. 实时系统
1) 实时系统:
响应时间很快,可以在毫秒甚至微秒级立即处理
2) 典型应用形式:
过程控制系统、信息查询系统、事务处理系统
3) 与分时系统的主要区别:
分时系统
实时系统
交互能力
强(通用系统)
弱(专用系统)
响应时间
秒级
及时,毫秒/微妙级
可靠性
一般要求
要求更高
4. 个人机系统
1) 单用户操作系统
单用户操作系统特征:
个人使用:
整个系统由一个人操纵,使用方便。
界面友好:
人机交互的方式,图形界面。
管理方便:
根据用户自己的使用要求,方便的对系统进行管理。
适于普及:
满足一般的工作需求,价格低廉。
2) 多用户操作系统多:
代表是UNIX,具有更强大的功能和更多优点。
①网络操作系统
计算机网络=计算机技术+通信技术
计算机网络的特征:
分布性、自治性、互连性、可见性
网络操作系统功能
本机+网络操作系统:
本地OS之上覆盖了网络OS,可以是同构的也可以是异构的。
功能:
实现网络通信、资源共享和保护、提供网络服务和网络接口等
②分布式操作系统
定义:
运行在不具有共享内存的多台计算机上,但用户眼里却像是一台计算机。
(分布式系统无本地操作系统运行在各个机器上)
分布式系统特征:
分布式处理、模块化结构、利用信息通信、实施整体控制
分布式操作系统特点:
透明性、灵活性、可靠性、高性能、可扩充性
第二章:
1、判断题:
进程是一个程序在某数据集上的一次执行,所以不同进程对应不同的程序。
分析:
进程是程序在某数据集上得一次执行,但是不同进程可以对应同一程序。
2、程序顺序执行与并发执行有什么不同?
哈简答题
3、用户程序必须在进程中运行。
(正确)
1、进程由就绪态转为运行态是因为(c)引起的?
A、中断事件b、进程状态转换
c、进程调度的d、为程序创建进程
2、分配到必要的资源并获得处理机的进程状态是(运行态)
3、当(b),进程从执行状态转变为就绪状态。
a、进程被调度程序选中b、时间片到
c、等待某一事件d、等待的时间发生
4、一个单cpu的系统中有n个进程,则在等待(阻塞)队列中的进程个数最多可能是(n)
1、临界区是指(d)
A、一个缓冲区b、一段数据区
c、同步机制d、一段程序
2、若P/V操作的信号量S初值是2,当前值是-1,则表示有(b)个等待进程。
A.0b.1c.2d.3
3、原语操作是不可被中断的。
正确
原语指的是完成某种功能且不被分割不被中断执行的操作序列,有时也称原子操作。
通常由硬件来实现
4. 应用举例
[例1]设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。
设每个用户程序对应一个进程。
问:
这三个进程间有什么样的制约关系?
使用P、V操作写出这些进程使用打印机的算法。
解:
由于打印机是一种临界资源,故三个进程只能互斥使用这台打印机。
设三个进程分别为PA、PB和PC,互斥信号量mutex初值为1,执行过程如下:
[例2]判断下面的同步问题的算法是否正确?
若有错,请指出错误原因并予以改正。
1) 设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。
注:
信号量S的初值为0
[解]该算法不正确。
因为A、B两个进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,则缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。
改正如下:
A、B两进程同步使用缓冲区Q,应设定两个信号量:
empty表示缓冲区Q为空,初值为1;full表示缓冲区Q已满,初值为0
算法框图如下:
2) 设A、B为两个并发进程,它们共享一临界资源。
其运行临界区的算法框图如图所示。
[解]该算法不正确。
因为A、B两个进程并发执行,且共享一临界资源,故A、B应互斥地使用该临界资源,即在某一时刻只允许一个进程进入该临界资源,无时序关系。
改正算法:
A、B二进程应互斥进入临界区,设定一信号量mutex,初值为1。
[例2]设有一台计算机,有两个I/O通道,分别接一台卡片输入机和一台打印机。
卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上印出,问:
1) 系统要设几个进程来完成这个任务?
各自的工作是什么?
2) 这些进程间有什么样的相互制约关系?
3) 用P、V操作写出这些进程的同步算法。
[解]
1) 系统可设三个进程来完成该任务:
Read进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;Get进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;Print进程负责从缓冲区B2中取出信息,并在打印机上打印输出。
2) 操作过程:
Read进程受Get进程的影响,B1缓冲区中放满信息后Read进程要等待get进程将其中信息全部取走后才能读入信息;Get进程受Read进程和Print进程的约束:
B1缓冲区中信息放满后,Get进程才可从中取走信息,且B2缓冲区信息被取空后Get进程才能将加工结果送入其中;Print进程受Get进程的约束,B2缓冲区中信息放满后Print进程方可取出信息进行打印输出。
3) 信号量的含义及初值:
B1full——缓冲区B1满,初值为0
?
B1empty——缓冲区B1空,初值为0
?
B2full——缓冲区B2满,初值为0
?
B2empty——缓冲区B2空,初值为0
4) 操作框图如下:
5.三种信号量的比较:
整型信号量:
只有一个资源,只能互斥访问这个资源
记录型信号量:
只可申请一类资源,该资源有n个,一次只可申请一个。
AND型信号量:
可申请n类资源,每类资源有m个,每次可申请每类资源中的一个。
信号量集:
可申请n类资源,每类资源有m个,每次可申请每类资源中的多个。
6.例1用信号量实现司机和售票员的同步。
设S1为司机的私用信号量,0表不许开车,1允许开车,初值为0
S2为售票员的私用信号量,0表不许开门,1允许开门,初值为0
由于初始状态是汽车行车和售票员售票。
所以初值都为0
则司机和售票员的同步过程描述如下:
7.2:
桌子上有一只盘子,每次只能放入一只水果,爸爸专向盘子中放苹果,妈妈专向盘子中放桔子,一个儿子专等吃盘子中的桔子,一个女儿专等吃盘子里的苹果。
只有盘子空则爸爸或妈妈就可向盘子中放一只水果,仅当盘子中有自己需要的水果时,儿子或女儿可从盘子中取出。
把爸爸、妈妈、儿子、女儿看作四个进程,用PV操作进行管理,使这四个进程能正确的并发执行。
•爸爸和妈妈存放水果时必须互斥。
临界资源为盘子
•儿子和女儿分别吃桔子和苹果。
•爸爸放了苹果后,应把“盘中有苹果”的消息发送给女儿;
•妈妈放了桔子后,应把“盘中有桔子”的消息发送给儿子;
•取走果品后应该发送“盘子可放水果”的消息,但不特定发给爸爸或妈妈,应该通过竞争资源(盘子)的使用权来决定
如何定义信号量?
S是否允许向盘子中放入水果,初值为1,表示允许放入,且只允许放入一只。
SP表示盘子中是否有苹果,初值为0,表示盘子为空,不许取,SP=1时可以取。
SO表示盘子中是否有桔子,初值为0,表示盘子为空,不许取,SP=1时可以取。
至于儿子或女儿取走水果后要发送“盘子中可存放水果”的消息,只要调用V(S)就可达到目的,不必在增加信号量了。
Begain
S,SP,SO:
semaphore
S:
=1;SP:
=0;SO:
=0;
Cobegain
processfather
begain
L1:
haveanapple;
P(S);
putanapple;
V(SP);
gotoL1
end;
processmother
begain
L2:
haveanorange;
P(S);
putanorange;
V(SO);
gotoL2
end;
processson
begain
L3:
P(SO);
getanorange;
V(S);
eatanorange;
gotoL3
end;
processdaught
begain
L4:
P(SP);
getanapple;
V(S);
eatanapple;
gotoL4
end;coend;end;
第三章:
1.例题:
假设系统有四类资源:
磁带驱动器、绘图仪、打印机和卡片穿孔机。
各类资源的总数用W=(6,3,4,2)表示,即有6台磁带驱动器,3台绘图仪,4台打印机,2台卡片穿孔机。
现有五个进程A、B、C、D和E,已获得的资源的种类及数量如下所示:
括号外面的数字代表:
已获得的资源的种类及数量
进程
磁带驱动器
绘图仪
打印机
穿孔机
A
3
(1)
0
(1)
1(0)
1(0)
B
0(0)
1(3)
0
(1)
0
(2)
C
1(5)
1
(1)
1(0)
0(0)
D
1(0)
1(0)
0
(1)