操作系统总复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、设计现代OS的主要目标是什么?方便性、有效性、可扩充性、开放性
2、何谓脱机I/O和联机I/O?
答:脱机输入方式是指在一台外围机(即一台专门用来管理输入/输出的、功能较简单的计算机)的控制下,预先将程序和数据从低速输入设备输入到磁带,当CPU需要这些程序和数据时,再从磁带告诉的读入内存。类似的,脱机输出方式是指当CPU需要输出时,先告诉的将数据写入磁带,然后在一台外围机的控制下,然后低速输出设备进行输出。相反,在主机的直接控制下进行的输入/输出方式被称为联机输入/输出方式。
优点:减少了CPU的空闲时间;提高I/O速度。
3、实现分时系统的关键问题是什么?应如何解决?
答:关键问题:及时接收、及时处理
及时接收:在系统中设臵多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配臵缓冲区,暂存用户键入的命令或数据。
及时处理:作业直接进入内存;采用轮转运行方式,不允许一个作业长期占用处理机
5、是什么原因使操作系统具有异步性特征?
答:进程是以人们不可预知的速度向前推进。内存中的每个进程何时获得处理机运行;进何时因提出某种资源请求而暂停;进程以怎样的速度向前推进;每道程序总共需要多少时间完成,等等。在多道程序环境下,允许多个进程并发执行,但由于竞争资源等因素的限制,使进程的执行不是“一气呵成,而是以“走走停停”的方式运行。
只要运行环境相同,作业经过多次运行,都会获得完全相同的结果。
6、何谓微内核技术?在微内核中通常提供了哪些功能?
答:在微内核OS中是将进程管理、存储器管理以及I/O管理的功能一分为二,属于机制的很小一部分放入微内核中,另外绝大部分放在微内核外的各种服务器中来实现。
功能:进程(线程)管理、低级存储器管理、中断和陷入处理。
第2章作业
2、程序并发执行时为什么会失去封闭性和可再现性?
答:程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态由多个程序改变,致使程序运行失去了封闭性,也会导致其失去可再现性。
3、试说明PCB的作用,为什么说PCB是进程存在的唯一标志?
答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。OS根据进程的PCB感知到该进程的存在。所以说PCB是进程存在的唯一标志
4、同步机构应遵循哪些基本准则?答空闲让进、忙则等待、有限等待、让权等待
5、何谓“忙等”?它有什么缺点?答:“忙等”:不让权等待,即进程因为某事件的发生而无法继续执行时,它仍占CPU,并不执行循环测试指令来等待该事件的完成。
缺点:没有做到“让权等待”,降低了CPU的使用效率。
6、试从物理概念上说明记录型信号量wait和signal。
wait(S):当>0 时,表示目前系统中这类资源还有可用的。执行一次wait 操作,意味着进程请求一个单位的该类资源,使系统中可供分配的该类资源减少一个,因此描述为:=;当<0时,表示该类资源已分配完毕,进程应调用block原语自我阻塞,放弃处理机,并插入到信号量链表中。
signal(S):执行一次signal操作,意味着释放一个单位的可用资源,使系统中可供分配的
该类资源数增加一个,故执行:=+1 操作。若加1 后≤0,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,因此应调用wakeup 原语,将链表中的第一个等待进程唤醒。
8、我们为某临界资源设置一把锁W,当W=1时表示关锁;当W=0时表示锁已经打开,试写
出开锁和关锁原语,并利用它们去实现互斥。
、我们为某临界资源设置一把锁W,当W=1时表示关锁;当W=0时表示锁已经打开,试写出开锁和关锁原语,并利用它们去实现互斥。
答:开锁语句: unlock(w);w=0;
关锁语句:lock(w); if(w==1) do no_op;w=1;
互斥: var w: semaphore:=0;
Begin Repeat
Lock(w); critical section
Unlock(w); remainder section
Until false; end;
9、试说明管程由哪几部分组成,为什么要引入条件变量?
答:管程由四部分组成:①管程的名称;②局部于管程内部的共享数据结构说明;③对该数据结构进行操作的一组过程;④对局部于管程内部的共享数据设臵初始值的语句;
当一个进程调用了管程,在管程中时被阻塞或挂起,直到阻塞或挂起的原因解除,而在此期间,如果该进程不释放管程,则其它进程无法进入管程,被迫长时间地等待。为了解决这个问题,引入了条件变量condition。
第三章
7、何谓死锁?产生死锁的原因和必要条件是什么?10”
答:如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。
原因:竞争不可抢占性资源,竞争可消耗资源,进程推进顺序不当。
必要条件:互斥条件,请求和保持条件,不可抢占条件和循环等待条件。
9、不安全状态是否必然导致系统进入死锁状态?举例说明。10”
不安全状态不一定导致进入死锁,因为,安全性检查中的向量Max是进程前提供的,而在实际运行过程中一进程需要的最大资源量可能小于Max,如一进程对应的程序中有一段进行错误处理的代码其中需要n个a种资源,若该进程在运行过程中没有碰到相应的错误,而不需要调用该段错误处理代码,则它实际上将完全不会请求这n个a种资源。
14、在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法能使资源利用率最高?答:解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁
预防死锁方法最容易实现,但所施加的限制条件过于严格,导致系统资源利用率降低避免死锁可使系统获得较好的资源利用率。
第4-5章作业
1、“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法是否正确?请说明理由。
答:上述说明法是错误的。整体对换将内存中暂时不用的某个程序及其数据换出至外存,腾出足够的内存空间以装入在外存中的、具备运行条件的进程所对应的程序和数据。虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储器系统,是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统,它的实现必须建立在离散分配的基础上。虽然整体对换和虚拟存储器均能从逻辑上扩充内存空间,但整体对换不具备离散性。实际上,在具有整体对换功能的系统中,进程的大小仍受到实际内存容量的限制。