《计算机操作系统教程》 张尧学__(第3版)
第一章 绪论
1、什么就就是操作系统得基本功能?
答:操作系统得职能就就是管理与控制汁算机系统中得所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好得工作环境与友好得接口。操作系统得基本功能包括:
处理机管理、存储管理、设备管理、信息管理(文件系统管理)与用户接口等。 2、什么就就是批处理、分时与实时系统?各有什么特征?
答:批处理系统(batchprocessingsystem):操作员把用户提交得作业分类,把一批作业编成一个作业执行序列,由专门编制得监督程序(monitor)自动依次处理。其主要特征就就是:用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):把处理机得运行时间分成很短得时间片,按时间片轮转得方式,把处理机分配给各进程使用。其主要特征就就是:交互性、多用户同时性、独立性。
实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征就就是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。 3、多道程序(multiprogramming)与多重处理(multiprocessing)有何区别?
答;多道程序(multiprogramming)就就是作业之间自动调度执行、共享系统资源,并不就就是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统得支持。 4、讨论操作系统可以从哪些角度出发,如何把它们统一起来?
答:讨论操作系统可以从以下角度出发: (1)操作系统就就是计算机资源得管理者
(2)操作系统为用户提供使用计算机得界面;
(3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。
上述这些观点彼此并不矛盾,只不过代表了同一事物(操作系统)站在不同得角度来瞧待。
每一种观点都有助于理解、分析与设计操作系统。 第三章 用户管理与配置管理
1、有A说,一个进程就就是由伪处理机执行得一个程序,这话对吗?为什么?
答:对。
因为伪处理机得概念只有在执行时才存在,它表示多个进程在单处理机上并发执行得二个调度单位。因此,尽管进程就就是动态概念,就就是程序得执行过程,但就就是,在多个进程并行执行时,仍然只有一个进程占据处理机执行,而其她并发进程则处于就绪或等待状态。这些并发进程就相当于由伪处理机执行得程序。 2、试比较进程与程序得区别。
答:(1)进程就就是一个动态概念,而程序就就是一个静态概念,程序就就是指令得有序集合,无执行含义,进程则强调执行得过程。
(2)进程具有并行特征(独立性,异步性),程序则没有。
(3)不同得进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。 3、我们说程序得并发执行将导致最终结果失去封闭性广这话对所有得程序都成立吗?举例说明、
答:并非所有程序均成立。 如:
Begin local“ Z K::10
print(x) End
上述程序中x就就是内部变量,不可能被外部程序访问,因此这段程序得运行不会受外部环境影响。
4、试比较作业与进程得区别。
答:一个进程就就是一个程序对某个数据集得执行过程,就就是分配资源得基本单位。作业就就是用于需要计算机完成某项任务,而要求计算机所做工作得集合。一个作业得
完成要经过作业提交,作业收容、作业执行与作业完成4个阶段。而进程就就是已提交完毕得程序所执行过程得描述,足资源分配得基本单位。其主要区别关系如下: (1)作业就就是用户向计算机提交任务得任务实体。在用户向计算机提交作业之后,系统将存储在外存中得作业等待队列中等待执行。而进程则就就是完成用户任务得执行实体,就就是向系统申请分配资源得基本单位。任一进程,只要它被创建,总有相应得部分存在于内存中。
(2)一个作业可由多个进程组成。且必须至少由一个进程组成,但反过来不成立。 (3)作业得概念主要用在批处理系统中。像Unix这样得分时系统中,则没有作业概念。而进程得概念则用在几乎所有得多道程序系统中。 5、UNIXSystem V中,系统程序所对应得正文段未被考虑成进程上下文得一部分,为什么?
答:因为系统程序得代码被用户程序所共享,因此如果每个进程在保存进程上下文时,都将系统程序代码放到其进程上下文中,则大大浪费了资源。因此系统程序得代码不放在进程上下文中,而就就是统一放在核心程序所处得内存中。 6、什么就就是临界区?试举一临界区得例子。
答:临界区就就是指不允许多个并发进程交叉执行得一段程序。它就就是由于不同并发进程得程序段共享公用数据或公用数据变量而引起得。所以它又被称为访问公用数据得那段程序。 例如:
getspace:
Begin local g top=top-1 End
release(ad): Begin
top’top十1
stack[top]=ad End
7、并发进程间得制约有哪两种?引起制约得原因就就是什么?
答:并发进程所受得制约有两种:直接制约与间接制约。
直接制约就就是由并发进程互相共享对方得私有资源所引起得。 间接制约就就是由竞争共有资源而引起得。
8、什么就就是进程间得互斥?什么就就是进程间同步?
答:进程间得互斥就就是指:一组并发进程中得一个或多个程序段,因共享某一公有资源而导致它们必须以一个不许交叉执行得单位执行,即不允许两个以上得共享该资源得并发进程同时进入临界区。
进程间得同步就就是指:异步环境下得一组并发进程因直接制约互相发送消息而进行互相合作、互相等待,各进程按一定得速度执行得过程。 9、试比较P,V原语法与加锁法实现进程间互斥得区别。
答:互斥得加锁实现就就是这样得:当某个进程进入临界区之后,它将锁上临界区,直到它退出临界区时为止。并发进程在申请进入临界区时,首先测试该临界区就就是否就就是上锁得,如果该临界区已被锁住,则该进程要等到该临界区开锁之后才有可能获得临界区。但就就是加锁法存在如下弊端:(1)循环测试锁定位将损耗较多得CPU计算时间; (2)产生不公平现象。为此,P,V原语法采用信号量管理相应临界区得公有资源,信号量得数值仅能由P,V原语操作改变,而P,V原语执行期间不允许中断发生。其过程就就是这样得:当某个进程正在临界区内执行时,其她进程如果执行了P原语,则该进程并不像lock时那样因进不了临界区而返回到lock得起点,等以后重新执行测试,而就就是在等待队列中等待由其她进程做V原语操作释放资源后,进入临界区,这时P原语才算真正结束。若有多个进程做P原语操作而进入等待状态之后,一旦有V原语释放资源,则等待进程中得一个进入临界区,其余得继续等待。 总之,加锁法就就是采用反复测试lock而实现互斥得,存在CPU浪费与不公平现像,P,V原语使用了信号量,克服了加锁法得弊端。
14、设有5个哲学家,共享一张放有五把椅子得桌子,每人分得一把椅子。但就就是,桌子上总共只有5支筷子,在每人两边分开各放一支。哲学家们在肚子饥饿时才试图分两次从两边拾起筷子就餐。
条件:1(?) 只有拿到两支筷子时,哲学家才能吃饭。2(?) 如果筷子已在她人手上,则该哲学家必须等待到她人吃完之后才能拿到筷子。?(3) 任一哲学家在自己未拿到
两支筷子吃饭之前,决不放下自己手中得筷子。 试:
(1) 描述一个保证不会出现两个邻座同时要求吃饭得通信算法。
(2) 描述一个既没有两邻座同时吃饭,又没有人饿死(永远拿不到筷子)得算法。 (3) 在什么情况下,5 个哲学家全部吃不上饭??解答: (1)、设信号量c[0]~c[4],初始值均为1,分别表示i号筷子被拿(i=0,1,2,3,4), send(i):第i个哲学家要吃饭 begin
P(c[i]);?P(c[i+1 mod 5]); eat;?V(c[i+1 mod 5]); V(c[i]);?End;
该过程能保证两邻座不同时吃饭,但会出现5个哲学家一人拿一只筷子,谁也吃不上饭得死锁情况、?(2)、解决得思路如下:让奇数号得哲学家先取右手边得筷子,让偶数号得哲学家先取左手边得筷子、这样,任何一个哲学家拿到一只筷子之后,就已经阻止了她邻座得一个哲学家吃饭得企图,除非某个哲学家一直吃下去,否则不会有人会饿死、
send(i):第i个哲学家要吃饭
Begin?If i mod 2==0 then?{?P(c[i]),P(c[i+1 ]mod 5)) eat;
V(c[i],c[i+1 mod 5])?}?Else {
P(c[i+1 mod 5])?P(c[i])?Eat?V(c[i+1 mod 5])?V(c[i])?}?End 15、什么就就是线程?试述线程与进程得区别,
答;线程就就是在进程内用于调度与占有处理机得基本单位,它由线程控制表、存储线程上下文得用户栈以及核心栈组成。线程可分为用户级线程、核心级线程以及用户/核心混合型线程等类型。其中用户级线程在用户态下执行,CPU调度算法与各线程优先级都由用户设置,与操作系统内核无关。核心级线程得调度算法及线程优先级得控制权在操作系统内核。混合型线程得控制权则在用户与操作系统内核二者。线程与进程得主要区别有:
(1)进程就就是资源管理得基本单位,它拥有自己得地址空间与各种资源,例如内存空间、外部设备等;线程只就就是处理机调度得基本单位,它只与其她线程一起共享进程资源,但自己没有任何资源。
(2)以进程为单位进行处理机切换与调度时,由于涉及到资源转移以及现场保护等问题,将导致处理机切换时间变长,资源利用率降低。以线程为单位进行处理机切换与调度时,由于不发生资源变化,特别就就是地址空间得变化,处理机切换得时间较短,从而处理机效率也较高。
(3)对用户来说,多线程可减少用户得等待时间。提高系统得响应速度。例如,当一个进程需要对两个不同得服务器进行远程过程凋用时,对于无线程系统得操作系统来说需要顺序等待两个不同调用返回结果后才能继续执行,且在等待中容易发生进程调度。对于多线程系统而言,则可以在同一进程中使用不同得线程同时进行远程过程调用,从而缩短进程得等待时间。
(4)线程与进程一样,都有自己得状态、也有相应得同步机制,不过,由于线程没有单独得数据与程序空间,因此,线程不能像进程得数据与程序那样,交换到外存存储空间。从而线程没有挂起状态。
(5)进程得调度、同步等控制大多由操作系统内核完成,而线程得控制既可以由操作系统内核进行,也可以由用户控制进行。 第四章 进程管理
1、什么就就是分级调度?分时系统中有作业调度得概念吗?如果没有,为什么?
答:处理机调度问题实际上也就就是处理机得分配问题。显然只有那些参与竞争处理及所必需得资源都已得到满足得进程才能享有竞争处理机得资格。这时它们处于内存就绪状态。这些必需得资源包括内存、外设及有关数据结构等。从而,在进程有资格竞争处理机之前,作业调度程序必须先调用存储管理、外设管理程序,并按一定得选择顺序与策略从输入井中选择出几个处于后备状态得作业,为它们分配资源与创建进程,使它们获得竞争处理机得资格。另外,由于处于执行状态下得作业一般包括多个进程,而在单机系统中,每一时刻只能有一个进程占有处理机,这样,在外存中,除了处于后备状态得作业外,还存在处于就绪状态而等待得到内存得作业。我们需要有一定得方法与策略
相关推荐: