文档详情

计算机操作系统教程_张尧学

大米
实名认证
店铺
DOCX
178.05KB
约19页
文档ID:447729233
计算机操作系统教程_张尧学_第1页
1/19

《计算机操作系统教程》张尧学__(第 3版)第一章 绪论1.什么是操作系统的基本功能 答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计 算机工作流程,并为用户提供一个良好的工作环境和友好的接口操作系统的基本功能包 括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等 2.什么是批处理、分时和实时系统各有什么特征答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业 编成一个作业执行序歹列,由专门编制的监督程序(monitor)自动依次处理其主要特征 是:用户脱机使用计算机、成批处理、多道程序运行分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时 间片轮转的方式,把处理机分配给各进程使用其主要特征是:交互性、多用户同时 性、独立性实时系统(realtimesystem):在被控对象允许时间范围内作出响应其主要特征是:对 实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低3. 多道程序(multiprogrammi ng)和多重处理(multiprocess in g)有何区别答;多道程序(multiprogramm ing)是作业之间自动调度执行、共享系统资源,并不是真 正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时 执行多道程序。

要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计 原则上不一定要求多重处理系统的支持4. 讨论操作系统可以从哪些角度出发,如何把它们统一起来答:讨论操作系统可以从以下角度出发:(1) 操作系统是计算机资源的管理者(2) 操作系统为用户提供使用计算机的界面;(3) 用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统上述这些观点彼此并不矛盾,只不过代表了同一事物 (操作系统)站在不同的角度来看 待每一种观点都有助于理解、分析和设计操作系统第三章 用户管理和配置管理1. 有A说,一个进程是由伪处理机执行的一个程序,这话对吗为什么 答:对因为伪处理机的概念只有在执行时才存在,它表示多个进程在单处理机上并发执行的 二个调度单位因此,尽管进程是动态概念,是程序的执行过程,但是,在多个进程 并行执行时,仍然只有一个进程占据处理机执行,而其他并发进程则处于就绪或等待 状态这些并发进程就相当于由伪处理机执行的程序2. 试比较进程和程序的区别答: (1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执 行含义,进程则强调执行的过程2) 进程具有并行特征(独立性,异步性),程序则没有。

3) 不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程3. 我们说程序的并发执行将导致最终结果失去封闭性广这话对所有的程序都成立吗举例 说明.答:并非所有程序均成立如:Beginlocal“ ZK:: 10print(x)End上述程序中 x 是内部变量,不可能被外部程序访问,因此这段程序的运行不会受外部 环境影响4. 试比较作业和进程的区别答:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位作业是 用于需要计算机完成某项任务,而要求计算机所做工作的集合一个作业的完成要经 过作业提交,作业收容、作业执行和作业完成 4 个阶段而进程是已提交完毕的程序 所执行过程的描述,足资源分配的基本单位其主要区别关系如下:(1) 作业是用户向计算机提交任务的任务实体在用户向计算机提交作业之后,系统将 存储在外存中的作业等待队列中等待执行而进程则是完成用户任务的执行实体,是 向系统申请分配资源的基本单位任一进程,只要它被创建,总有相应的部分存在于 内存中2) 一个作业可由多个进程组成且必须至少由一个进程组成,但反过来不成立⑶作业的概念主要用在批处理系统中像Unix这样的分时系统中,则没有作业概念。

而进程的概念则用在几乎所有的多道程序系统中5. UNIXSystem V中,系统程序所对应的正文段未被考虑成进程上下文的一部分,为什么 答:因为系统程序的代码被用户程序所共享,因此如果每个进程在保存进程上下文时, 都将系统程序代码放到其进程上下文中,则大大浪费了资源因此系统程序的代码不 放在进程上下文中,而是统一放在核心程序所处的内存中6. 什么是临界区试举一临界区的例子 答:临界区是指不允许多个并发进程交叉执行的一段程序它是由于不同并发进程的 程序段共享公用数据或公用数据变量而引起的所以它又被称为访问公用数据的那段 程序例如: getspace: Begin local g top=top-1 End release(ad): Begin top'top 十 1 stack[top] = ad End7. 并发进程间的制约有哪两种引起制约的原因是什么 答:并发进程所受的制约有两种:直接制约和间接制约 直接制约是由并发进程互相共享对方的私有资源所引起的 间接制约是由竞争共有资源而引起的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[O]~c[4],初始值均为1,分别表示i号筷子被拿(i=0,1,2,3,4), send(i):第i个哲学家要吃饭beginP(c[i]);P(c[i+1 mod 5]);eat;V(c[i+1 mod 5]);V(c[i]);End;该过程能保证两邻座不同时吃饭,但会出现 5 个哲学家一人拿一只筷子,谁也吃不上饭 的死锁情况.(2) 、解决的思路如下:让奇数号的哲学家先取右手边的筷子,让偶数号的哲学家先取左 手边的筷子.这样,任何一个哲学家拿到一只筷子之后,就已经阻止了他邻座的一个哲学 家吃饭的企图,除非某个哲学家一直吃下去,否则不会有人会饿死.send(i):第i个哲学家要吃饭BeginIf 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])EatV(c[i+1 mod 5])V(c[i])}End15.什么是线程试述线程与进程的区别, 答;线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程 上下文的用户栈以及核心栈组成。

线程可分为用户级线程、核心级线程以及用户/核 心混合型线程等类型其中用户级线程在用户态下执行,CPU调度算法和各线程优先 级都由用户设置,与操作系统内核无关核心级线程的调度算法及线程优先级的控制 权在操作系统内核混合型线程的控制权则在用户和操作系统内核二者线程与进程 的主要区别有:(1) 进程是资源管理的基本单位,它拥有自己的地址空间和各种资源,例如内存空间、 外部设备等;线程只是处理机调度的基本单位,它只和其他线程一起共享进程资源, 但自己没有任何资源2) 以进程为单位进行处理机切换和调度时,由于涉及到资源转移以及现场保护等问题, 将导致处理机切换时间变长,资源利用率降低以线程为单位进行处理机切换和调度 时,由于不发生资源变化,特别是地址空间的变化,处理机切换的时间较短,从而处 理机效率也较高3) 对用户来说,多线程可减少用户的等待时间提高系统的响应速度例如,当一个 进程需要对两个不同的服务器进行远程过程凋用时,对于无线程系统的操作系统来说 需要顺序等待两个不同调用返回结果后才能继续执行,且在等待中容易发生进程调度 对于多线程系统而言,则可以在同一进程中使用不同的线程同时进行远程过程调用, 从而缩短进程的等待时间。

4) 线程和进程一样,都有自己的状态.也有相应的同步机制,不过,由于线程没有单 独的数据和程序空间,因此,线程不能像进程的数据与程序那样,交换到外存存储空 间从而线程没有挂起状态5) 进程的调度、同步等控制大多由操作系统内核完成,而线程的控制既可以由操 作系统内核进行,也可以由用户控制进行第四章 进程管理 1.什么是分级调度分时系统中有作业调度的概念吗如果没有,为什么答:处理机调度问题实际上也是处理机的分配问题显然只有那些参与竞争处理及所必需的资源都已得到满足的进程才能享有竞争处理机的资格这时它们处于内存就绪状态这些必需的资源包括内存、外设及有关数据结构等从而,在进程有资格竞争处理机之前,作业调度程序必须先调用存储管理、外设管理程序,并按一定的选择顺序和策略从输入井中选择出几个处于后备状态的作业,为它们分配资源和创建进程, 使它们获得竞争处理机的资格另外,由于处于执行状态下的作业一般包括多个进程, 而在单机系统中,每一时刻只能有一个进程占有处理机,这样,在外存中,除了处于 后备状态的作业外,还存在处于就绪状态而等待得到内存的作业我们需要有一定的 方法和策略为这部分作业分配空间因此处理机调度需要分级。

一般来说,处理机调度可分为 4 级;(1) 作业调度: 又称宏观调度,或高级调度2) 交换调度:又称中级调度其主要任务是按照给定的原则和策略,将处于外存交换 区中的就绪态或等待状态或内存等待状态的进程交换到外存交换区交换调度主要涉 及到内存管理与扩充因此在有些书本中。

下载提示
相似文档
正为您匹配相似的精品文档