操作系统简答题、算法题

一、解答题:
日志存储1.什么是操作系统?它有什么基本特征?
答:操作系统是为了达到方便用户和提高资源利用率的目的而设计的,控制和管理计算机硬件和软件资源,合理的组织计算机工作流程的程序的集合,它具有并发、共享、虚拟、异步性四个基本特征。
2.(1)描述进程的三种基本状态,尽可能清楚地解释处于不同状态的进程在性质上的区别。
答:进程的三个基本状态有:①、就绪状态:是指进程已分配到除CPU以外的所有必要的资源,只要能再获得处理机,便可立即执行②、执行状态:指进程已获得处理机,其程序正在执行。③、阻塞状态:进程因发生某事件(如请求I/O、申请缓冲空间等)而暂停执行时的状态。
(2)画出进程状态变化图,说明进程怎样从一个状态转换到下一个状态。
答:进程基本状态转换图如下:
就绪→执行状态:处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态。
执行→阻塞状态:正在执行的进程因发生某事件而无法执行。例如,进程请求访问临界资源,而该资源正被其它进程访问,则请求该资源的进程将由执行状态转变为阻塞状态。
执行→就绪状态:正在执行的进程,如因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。又如,在抢占调度方式中,一个优先权高的进程到来后,可以抢占一个正在执行优先权低的进程的处理机,这时,该低优先权进程也将由执行状态转换为就绪状态。
3.现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题:
(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?
(2)为支持进程状态的变迁,系统至少应提供哪些进程控制原语?
(3)执行每一个进程控制原语时,进程状态发生什么变化?相应的数据结构发生什么变化?
答:(1) 为支持多进程的并发执行,系统为每个进程建立了一个数据结构——进程控制块(PCB),用于进程的管理和控制。
(2) 进程控制的主要职责是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程的状态转换等功能。在操作系统的内核中,有一组程序专门用于完成对进程的控制,这些原语至少需要包括创建新进程原语、终止进程原语、阻塞进程原语、唤醒进程原语等操作。这些系统服务一般对用户是开放的,也就是说用户可以通过相应的接口来使用它们。(3) 进程创建原语:从PCB集合中申请一个空白PCB,将调用者参数、以及从执行进程获得的调用者内部标识填入该PCB,设置记账数据。置新进程为“就绪”状态。
终止进程原语:用于终止完成任务的进程,收回其所占的资源。消去该进程的PCB。
阻塞原语:将进程从运行态变为阻塞状态。进程被插入等待事件的队列中,同时修改PCB
中相应的表项,如进程状态和等待队列指针等。 唤醒原语:将进程从阻塞态变为就绪状态。进程被从阻塞队列中移出,插入到就绪队列中,等待调度,同时修改PCB中相应的表项,如进程状态等。
4.何谓临界资源、临界区?使用临界资源的诸进程间如何实现对临界区的互斥访问?
答:一次仅允许一个进程访问的资源称为临界资源。访问临界资源的代码段称为临界区。对临界区必须互斥的访问。具体实现时,可让每个进程在进入临界区之前,先提出申请,经允许后方可进入(进入区),进程进入临界区执行完毕退出时,恢复临界区的使用标志为未被访问标志(退出区)。通常可采用专门的硬件指令或信号量机制对临界区进行管理。使用信号量机制是,可设置一个初值为1的互斥信号量,对每个进程的临界区进行如下“改造”:
P(mutex);
临界区
V(mutex);
即将进程的临界区放置在P(mutex)和V(mutex)之间,就可以实现进程对其互斥访问。
5.使用信号量的P、V操作可以实现并发进程间的互斥。请写出P操作原语和V操作原语的定义?
答:P操作功能是请求系统分配一个单位的资源,定义如下: ①信号量的值减1,即S=S-1;②如果S0,则该进程继续执行; 如果S0,则把该进程的状态置为阻塞态,把相应
PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。
    V操作功能是释放一个单位的资源,定义如下: ①S值加1,即S=S+1
  ②如果S0,则该进程继续运行;如果S0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的光端机箱PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。
6.什么是死锁?产生死锁的四个必要条件是什么?
答:所谓死锁(Deadlock),是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。产生死锁的四个必要条件是:互斥条件、请求和保持条件、不剥夺条件、环路等待条件。
7.简述死锁的防与死锁的避免的区别。
答:死锁的防是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规
定的策略进行分配,从而防止死锁的发生。而死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。
8.解决生产者-消费者问题的算法中,若将P(empty)和P(mutex)的次序互换,或将P(full)和P(mutex)的次序互换,可能会产生死锁。请问在什么情况下会产生死锁?
答:解决生产者-消费者问题的算法中,若将P(empty)和P(mutex)的次序互换,在缓冲区满的情况下(empty=0,full=n),若生产者先提出申请,获得对缓冲区的访问权,但申请不到空缓冲块,在empty处阻塞,这个时候若再来消费者进程,申请不到对缓冲区的访问权,在mutex处阻塞,这时会产生锁死。
将P(full)和P(mutex)的次序互换,在缓冲区空的情况下(empty=n,full=0),若消费者先提出申请,获得对缓冲区的访问权,但申请不到满缓冲块,在full处阻塞,这个时候若再来生产者进程,申请不到对缓冲区的访问权,在mutex处阻塞,这时会产生锁死。青花瓷首饰
9.消息缓冲通信技术是一种高级通信机制。请给出消息缓冲通信机制(有限缓冲)的基本工作原理。
答:操作系统管理一个用于进程通信的缓冲池,其中的每个缓冲区单元可存放一条消息。欲发送消息时,发送者从中申请一个可用缓冲区,直接将消息送入内存公用消息缓冲池,并将它挂接在接收者进程的消息缓冲队列上,接收进程从消息缓冲队列中取走消息,并释放该缓冲区,每个进程均设置一条消息队列,任何发送给该进程的消息均暂存在其消息队列中。
10.(1)简述处理机三级调度分别完成什么工作?(2)列举引起进程调度的时机?(3)分析下述问题应由哪一级调度程序负责
在可获得处理机时,应将它分给哪个就绪进程在短期繁重负载下,应将哪个进程暂时挂起
答:(1) 高级调度:即作业调度,用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程排在就绪队列上,准备执行。 低级调度:即进程调度,它决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。中级调度:实际上就是存储器管理中的对换功能。
(2) 引起进程调度的时机有:正在执行进程执行完毕或因发生某事件而不能再继续执行。
执行中的进程因提出I/O请求而暂停执行。在进程通信或同步过程中执行了某种原语操作,如P操作、block原语、wakeup原语等。在可剥夺式调度中,有一个比当前进程优先权更高的进程进入就绪队列。在时间片轮转法中,时间片用完。
  (3) 进程调度;中级调度
局部假发
11.动态分区式管理的常用内存分配算法有哪几种?比较它们各自的优缺点。
自动润滑系统
答:(1)首次适应算法:描述算法(丛空闲分区的组织、如何两方面描述))缺点:增加查可用空闲分区开销;
地址不断划分,致使留下许多难以利用的、很小的空闲分区。(2)循环首次适应算法:描述算法(2分)特点:减少查开销,空闲分区分布的更均匀,但会缺乏大的空闲分区。(3)最佳适应算法:描述算法(2分)缺点:划分后剩余的空闲区最小。
12.在动态分区存储管理方式中,回收内存时,可能出现哪几种情况?应怎样处理这些情况?
阻燃屏蔽控制电缆
答:在动态分区存储管理方式中,回收内存时,系统根据回收区的首址,从空闲区链中到相应的插入点,此时可能出现以下四种情况之一:(1)回收区与插入点的前一个分区F1相邻接。此时应将回收区与插入点的前一分区合并,不再为回收分区分配新表项,而只需修改F1区的大小为两者之和;(2)回收分区与插入点的后一分区F2相邻接。此时也将两分区合并形成新的空闲区,但用回收区的首址作为新空闲区的首址,大小为两者之和;(3)回收区同时与插入点的前、后两个分区邻接。此时将三个分区合并,使用F1的首址,取消F2的表项;(4)回收区既不与F1邻接,也不与F2邻接。这时应为回收区单独建立一新表项,填写回收区的首址和大小,并根据其首址,插入到空闲链中的适当位置。
13.什么是分页?什么是分段?在存储管理中,分页与分段的主要区别是什么?分页与分段两种方法中,哪个更易于实 现共享,为什么?
答:分页是将一个进程的逻辑地址空间分成若干大小相等的部分,每一部分称作页面。内存划分成与页面大小相等的物理块,进程的任何一页可放入内存的任何一个物理块中。 分段是一组逻辑信息的集合,即一个作业中相对独立的部分。多个段在内存中占有离散的内存单元,对每个段,在内存占有一连续的内存空间,其内存的分配与回收同可变分区的内存分配与回收办法。(2分)
分页与分段的主要区别是:
(1)页是信息的物理单位。分页仅仅是由于系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组具有相对完整意义的信息,是出于用户的需要。
(2)页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分的功能,由机器硬件实现;而段的长度却不固定,或由编译程序在对源程序进行编译时根据信息的性质来划分。
(3)分页的作业地址空间是一维的,即单一的线性地址空间;而分段的作业地址空间则是二维的。
对于分页和分段来说,分段更容易实现共享。因为段是一组有一定意义的信息集合,且由于能实现分段的动态链接。
14.说明在分系统中,如何实现信息共享?要求图示说明。
答:对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现信息共享与保护时,只需在每个进程的段表中,为所要共享和保护的程序设置一个段表项,记录共享的段在内存的基址和段长。进程1和进程2共享editor的示意图如下:
15.何谓虚拟存储器?为什么说请求页式管理可以实现虚拟存储器?
答:虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储器系统。具体的说,是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。请求页式管理是在页式管理的基本上,仅把作业的一部分页放在主存中。页表项中注明对应的页是在主存还是在辅存,程序执行时,当访问的页不在主存时,根据页表项的指引,从辅存将其调入主存,如果这时已无可用的物理空间,则从主存淘汰若干页。对于这种变
化,用户感觉不到,他会以为作业的所有部分都存在于主存,这样可以让更多的作业进入主存,提高系统的效率。

本文发布于:2024-09-21 16:21:49,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/126845.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进程   状态   执行   系统   内存   队列
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议