操作系统复习大纲考点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章SP《操作系统概述》
1.什么是操作系统?操作系统的目标和作用是什么?
操作系统是为改善计算机系统的性能、提高计算机的利用率、方便用户使用计算机而配备的一种最基本的底层系统软件,是计算机系统的核心。

目标:目标:1. 方便性 2. 有效性 3. 可扩充性 4. 开放性
作用:(1)作为用户与计算机硬件之间的接口;(2)作为计算机系统资源的管理者;
(3)用作扩充机器。

2.操作系统给用户提供哪几种接口来操纵和使用计算机?体会这些接口的含义。

OS给用户提供两类接口:联机用户接口和脱机用户接口;
联机用户接口又可分为命令接口、程序接口(又叫系统调用)和图形接口三类。

俗称命令口、程序口和图形口;
脱机用户接口主要是为批处理系统中的脱机用户准备的。

用户在提交作业时,不仅要提交源程序和初始数据,还要将反映控制意图的说明书(作业控制说明书)一并交给计算机系统。

3.OS作为计算机系统资源的管理者,主要管理哪几方面的资源?
(1)处理机管理(CPU):用于分配和控制处理机;
(2)存储器管理:这里主要指负责内存的分配与回收;
(3)I/O设备管理:负责I/O设备的分配与操纵;
(4)文件管理:负责文件的存取、共享和保护等。

4.操作系统的基本特征是什么?在操作系统中什么叫并发?什么叫并行?并发是真正的并行处理吗?至少有几个CPU的情况下才可能实现真正意义上的并行?什么叫共享,什么叫虚拟?什么叫异步?
基本特征:并发、共享、虚拟、异步
并发性是指两个或多个事件在同一时间间隔内发生;
并行性是指两个或多个事件在同一时刻发生;
并发不是真正的并行处理;至少有两个CPU才能实现真正意义上的并行;
共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。

(两种资源共享方式:互斥共享方式和同时访问方式)
虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。

异步是指进程是以人们不可预知的速度向前推进的。

5.基本的操作系统有哪几种?它们各有什么特点?
基本的操作系统:多道批处理系统、分时系统、实时系统
多道批处理系统:(优)a.提高CPU的利用率 b.可提高内存和I/O设备的利用率c. 增加系统的吞吐量。

(缺)a.资源利用率高 b.系统吞吐量大 c.平均周转时间长d.无交互能力
分时系统:(优)a.多路性 b.独立性c.及时性d.交互性。

实时系统:(优)a.多路性 b.独立性 c.及时性 d.交互性 e. 可靠性。

第二章《进程的描述与控制》
1.什么是进程?为什么要引入进程?在单道程序环境中有无必要引入进程?进程由哪几个部分构成?系统是通过什么来感知进程的存在的?
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位;
为了使程序能并发执行,且为了对并发执行的程序加以描述和控制,人们引入了“进程”的概念;
在单道程序环境中没必要引入进程;
进程都是由程序段、数据段及PCB三个部分组成;
系统通过PCB(进程控制块)来感知进程的存在。

2.进程有哪几种基本的状态?这些状态都在哪些典型情况下会发生哪种变迁?挂起有几种状态?当处理机空闲的时候,挂起的进程能获得处理机吗?怎样才能获得处理机?
三种基本状态:a.就绪状态 b.执行状态 c.阻塞状态;
两种挂起状态:阻塞挂起状态和就绪挂起状态;
当处理机空闲的时候,挂起的进程不能获得处理机,需要重新激活来获得处理机。

3.什么是线程?操作系统根据什么来感知线程的存在?线程有哪几种不同的实现方式?
线程是进程内的一个相对独立的、可独立调度和指派的执行单元;
线程使用线程控制块(TCB)来描述其数据结构;
三种实现方式:用户级线程、内核级线程、用户级和内核级结合的线程。

4.比较进程和程序有什么异同和联系。

进程的实质是进程实体的一次执行过程,进程实体有一定的生命期,而程序则只是一组有序指令的集合;
进程具有并发性,而程序是不能并发执行的;
进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位,而未建立PCB的程序不能作为一个独立的单位参与运行。

一个进程可以执行一个或多个程序,一个程序可以应对多个进程。

5.为什么要引进线程的概念?比较线程和进程之间有什么异同和联系。

为了既能提高程序的并发程度,又能减少OS的开销,操作系统设计者引入了线程;进程是资源拥有的基本单位,线程是分派和调度资源的基本单位;
进程拥有资源,线程不拥有资源;
进程和线程都拥有并发性;
进程的系统开销远大于线程的系统开销。

6.原语的概念
它是机器指令的延伸,是由若干个机器指令构成的完成某种特定功能的一段程序执行过程中不允许被中断,作为一个基本的执行单位。

第三章《并发控制——进程的同步与互斥》
1.什么叫进程同步?什么叫进程互斥?通过前趋图进一步感受进程的同步。

同步和互斥,哪种是主动的,哪种是被迫的?
进程同步是指多个相互合作的进程,在一些关键点上可能需要相互等待或相互交换信息;
进程互斥是指当有若干进程都要使用某一共享资源时,最多允许一个进程使用,而其他要使用该资源的进程必须等待,直到占用该资源的进程释放了该资源为止。

同步是主动的;互斥是被迫的。

2. 什么叫临界资源?什么叫临界区?
操作系统中将一次仅允许一个进程访问的资源称为临界资源;
操作系统中把每个进程中访问临界资源的那段代码段称为临界区。

3.什么叫信号量?它是一种解决什么问题的机制?信号量的值可以人为设定几次?它的值是由哪些操作改变的?
信号量是一个确定的两元组(S,Q),其中S是一个具有非负初值的整型变量,Q是一个初始状态为空的队列;
这种方法是通过使用信号量及有关的P、V操作原语来实现进程的互斥与同步的;信号量的值可以人为设定一次;信号量的值可以由P操作和V操作来改变。

4.体会、理解信号量以及P、V(Wait、Signal)操作的意义。

P操作记为P(S),其中S为一个信号量,它执行时主要完成下述动作:(1)S=S-1;(2)若S>=0则进程继续运行;(3)否则(即S<0)阻塞该进程,并将它插入该信号量的等待队列中;
V操作记为V(S),S为一个信号量,它执行时主要完成下述动作:(1)S=S+1;(2)若S大于0则进程继续执行;(3)否则(即S<=0)则从信号量等待队列中移出第一个进程,使其变为就绪状态并插入就绪队列,然后再返回原进程继续执行。

5.管程是一种什么机制?(用它来做什么)
管程机制是一种自动提供适当同步方式的机制。

6.什么是进程的低级通信、高级通信?高级通信机制分为哪几大类?
进程之间的互斥与同步也是一种通信,由于交换的信息量少而被叫做“低级通信”;高级进程通信是指用户可直接利用操作系统所提供的一组通信命令,高效地传送大量数据的一种通信方式;
高级通信机制可以归为三大类:(a)共享存储器系统(b)消息传递系统(c)管道通信系统。

第四章《处理机调度与死锁》
1.简述三级调度的概念。

是否任何操作系统都必须配置作业调度?哪一级调度是所有操作系统必备的?
高级调度(又称作业调度、长程调度):操作系统根据允许并发执行的作业道数和一定的算法,从后备队列中选取若干作业装入内存,使它们能够获得处理器运行;中级调度(又称平衡负载调度、中程调度):引入中级调度的主要目的,是为了提高内存利用率和系统吞吐量;
低级调度(又称进程调度、短程调度):用来决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行具体的操作,把处理机分配给具体的进程;
不是任何操作系统都必须配置作业调度;
低级调度是所有操作系统必备的。

2.常见的作业调度算法有哪些?常见的进程调度有哪些?对于进程调度来说,哪些调度是可剥夺的,哪些是不可剥夺的?
作业调度算法:先来先服务调度算法、短作业(进程)优先调度算法、高响应比优先调度算法
进程调度:先来先服务(不可剥夺)、最高优先权优先(可剥夺)、时间片轮转(可剥夺)、多级反馈队列调度算法(可剥夺)
3.给定一个作业序列,按先来先服务、短作业优先、响应比高者优先算法调度,分别计算该作业序列的平均周转时间和平均带权周转时间。

周转时间:作业从提交到完成所经历的时间,作业i的周转时间为:Ti=Tei-Tsi (其中,Tei为作业i的完成时间,Tsi为提交时间)
平均周转时间:多个作业周转时间的平均值T=(T1+T2+……+Tn)/n
带权周转时间:作业周转时间与作业实际运行时间的比。

作业i的带权周转时间为:Wi=Ti/Tri(其中Ti为作业i的周转时间,Tri为作业i的实际运行时间)
平均带权周转时间:多个作业带权周转时间的平均值
W=(W1+W2+……+ Wn)/n
例.有三个作业按下表的时间提交给系统,按照先来先服务、短作业优先、响应比高优先算法调度来计算它们的平均周转时间T和平均带权周转时间W。

先来先服务:
T=(2.00+2.90+3.00)/3=2.63
W=(2/2+2.90/1+3.00/0.25)/3=5.30
W=(2/2+3.15/1+2.00/0.25)/3=4.05
W=(2.00/2+2.1/0.5+1.1/0.1+1.3/0.2)/4 = 5.7
4.什么是死锁?死锁产生的根本原因是什么?至少有几个进程并发才可能发生死锁?
所谓死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵局的时候,若没有外力的干预,它们都将无法再向前推进;
根本原因:一是系统提供的资源有限,不能满足每个进程的需要;二是多道程序运行时,进程推进顺序不合理;
至少有两个进程并发才可能发生死锁。

5.总的来说,解决死锁问题有哪几个方面的策略?
(1)死锁的预防(2)死锁的避免(3)死锁的检测与恢复
6.预防死锁可从哪几个方面着手?常见的措施有哪些?
死锁的预防主要是打破造成死锁的4个必要条件之一:
(1)破坏“互斥”条件
不能做到。

因为计算机系统中大多数资源必须互斥使用,所以无法使互斥条件不成立而防止死锁,相反还必须严格遵守互斥使用资源的要求。

(2)破坏“占用并等待”条件
采用静态分配策略。

静态分配就是要求每一个进程在开始执行前就一次性申请它所需要的全部资源。

(3)破坏“不可剥夺”条件
进程需要的资源不是一次性分配给它,而是在运行的过程中,它需要的时候才进行分配。

(4)破坏“循环等待”条件
目前这种分配策略只能用于主存空间和处理器资源的分配,而对打印机、磁带机等不能采取这种分配策略。

7.银行家算法是解决死锁问题的一种什么策略?什么样的状态为安全状态?什么样的为不安全状态?会根据具体问题用银行家算法判断系统是否安全。

银行家算法是一种避免死锁的方法;
若在某一时刻,系统能按某种顺序如<P1,P2,…,Pn>来为每个进程分配所需的资源,直至最大需求,使得每个进程都能顺利完成,则称此时的系统状态为安全状态,称<P1,P2,…Pn>为安全序列;
若某一时刻系统中一个安全序列都没有,则称此时的系统状态为不安全状态。

8.什么是死锁定理?死锁定理有什么用?
系统为死锁状态的充分条件是:当且仅当该系统状态的资源分配图是不可完全简化的,该充分条件被称为死锁定理。

作用:检测系统是否已经进入死锁状态。

第五章《内存管理》
1.内存管理的任务是什么?操作系统的内存管理应具备哪些功能?
任务:一是提高资源的利用率,尽量满足多个用户对主存的要求;二是能方便用户使用主存储器,使用户不必考虑作业存放在哪块区域,如何实现正确运行等问题;功能:(1)按作业要求进行内存的分配并进行实时回收;
(2)实现程序中的逻辑地址到物理地址的重定位;
(3)对操作系统及其用户的信息提供存储保护;
(4)实现主存的逻辑扩充,提供给用户更大的存储空间
2.什么是重定位?什么是静态重定位和动态重定位?它们重定位的时机都在什么时候?
将逻辑地址空间中的逻辑地址转换为内存空间中的物理地址,这一过程称为地址重定位或地址映射;
静态地址重定位是在程序执行前由操作系统的重定位装入程序完成的。

它根据要装
入的内存起始地址,直接修改所有涉及到的逻辑地址,一次性完成逻辑地址到物理地址的装换,在程序运行中,不再进行任何地址转换;
动态地址重定位也称动态地址映射,是指把目标程序装入内存的时候,并不立即把逻辑地址转换为物理地址,而是在程序运行过程中,当CPU访问程序和数据的时候,才进行地址转换;
静态重定位的时机在作业装入时;
动态重定位的时机在作业调度时。

3.体会几种内存管理的实现方法,尤其注意它们引入的原因、优缺点、空闲区的组织方式、内存空闲区的回收的规定等。

(1)实存:单一连续分区、固定分区、可变分区、分页、分段、段页式
(2)虚存:请求式分页、请求式分段、请求段页式
单一连续分区:内存的整个用户区域只分为一个区,在一段时间内只能有一个用户程序在内存中执行,只有一个程序运行完毕退出内存后,其它程序才能调入内存执行,因此单一连续分区内存管理,用户程序不能并发;
固定分区:(优点)简单,要求的硬件支持少,软件算法简单;(缺点)容易产生内部碎片,主存利用率不高;
在系统运行期间,各个内存分区的大小、数目都不改变;
可变分区:(优点)可以有效解决固定式分区的内部碎片问题,能有效利用主存空间,提高了多道程序对于内存的共享;(缺点)容易产生外部碎片;(空闲区的组织方式)空闲分区表或空闲分区链表的形式;
常用的分配算法有三种:首次适应算法、最佳适应算法、最差适应算法
在系统运行过程中,内存中分区的大小和数目都是可变的,
分页:(优点)能有效解决碎片问题,主存利用率高,内存分配与回收算法比较简单;(缺点)采用动态地址变换机构增加了硬件成本,还降低了处理机速度。

分页存储管理同样可以采用链表法,即也可以用链表来组织空闲分区。

分段:引入分段存储管理方式,主要是为了满足用户和程序员的一系列需要:1)方便编程 2)信息共享 3)信息保护 4)动态增长 5)动态链接
在分段式管理中,则是为每个分段分配一个连续的分区,而进程中的各个段可以离散地移入内存中不同的分区中。

(优点)使得共享变得容易
段页式:段页式内存分配的方法和步骤如下:首先,给整个物理内存分块;然后,给作业(或进程)分段;每个段再进行分页;将每一页分配到一个个内存块中。

为了实现从逻辑地址到物理地址的转换,系统要为每个进程(或作业)建立一张段表,还要为该作业(进程)的每个段建立一张页表;
请求式分页:当一个作业运行的时候,不要求一次性地把作业的全部信息装入内存,而只装入目前运行所需要的几页,等到需要时,再请求系统由辅存调入。

常见的页面置换算法有:1.最优算法(OPT) 2.先进先出算法(FIFO) 3.最久未使用算法(LRU) 4.LRU近似算法
请求式分段:若内存中没有足够大的空闲分区,则考虑进行段的紧凑或将某(些)段淘汰出去。

这种存储管理技术称为请求式分段存储管理。

请求段页式:将分段与分页相结合,即先将用户程序分成若干个有完整意义的段,再把每个段分成若干页;为了将用户程序中的逻辑地址转化为物理地址,系统要为每个进程配置一个段表和若干个页表。

4.上面哪些内存管理有内碎片、哪些有外碎片?解决碎片有哪些方法?
固定分区可产生内碎片;
可变分区可产生外碎片;为解决该问题可采用紧凑技术;
分页存储管理技术较好地解决了碎片问题。

4.什么是页表?什么是段表?里面主要存放了哪些方面的内容?
通常可在内存中为每个作业开辟一块特定区域,建立起作业的逻辑页与存储块之间的对应表格关系,这种表称为页面映像表,简称页表;
为使程序能正常运行,亦即,能从物理内存中找出每个逻辑段所对应的位置,应象分页系统那样,在系统中为每个进程建立一张段映射表,简称“段表”
6.引入联想寄存器(快表)有什么用处?寄存器中存放的是什么信息?什么时机查询快表?
引入联想寄存器是为了提高查表的速度;
用来存放页表最常用部分的内容(页号、块号);
当处理机给出逻辑地址(p,w)时,分页机构一方面取出页号p,并从页表中查找其对应的块号,另一方面自动把页号p送入联想存储器,并和联想寄存器中各单元进行比较;如与联想寄存器中某单元页号相符,则输出对应块号b,并与页内地址w 形成物理地址进行访问,同时停止前面页表的查找工作。

7.会借助于页表和段表,把给定的用户程序地址(逻辑地址)转化为内存的物理地址。

例1:在分页存储管理系统中,某进程的页表如下所示。

已知页面大小为1024字节
1011,2148,4000,5012转化为相应的物理地址。

例2:在一个分段存储管理系统中,其段表如表1所示。

求表2中逻辑地址对应的物理地址。

表1:段表
8.请求分页、请求分段中的页表和段表,要在分页、分段段表的基础上增加哪些信息?含义是什么?
改变位:以标志该页在内存中是否被修改过;
引用位:反映该页最近的使用情况
R:是否允许读; W:是否允许写; E:是否允许执行此程序段;
A:增补位:是否允许在此段末尾续加信息;
起始地址:若程序在主存,则为存放该段的内存始址;否则为辅存始址。

9.理解、体会虚拟内存管理中涉及的几种页面淘汰算法(最佳淘汰算法、先进先出淘汰算法、最久未使用淘汰算法),会计算它们的页面中断数和页面中端率。

例:对下述页面走向:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1当内存块数量为3时,LRU算法、FIFO算法、OPT算法缺页中断各多少次?缺页故障率各为多少?最佳淘汰算法OPT:从内存中移走那些以后永远不会再使用的页面;如无这样的页
先进先出淘汰算法FIFO:先淘汰那些驻留在内存时间最长的页面,即最先进入内存
第六章《设备管理》
1.设备的几种分类方式:I/O设备和存储设备、高速设备和低速设备、字符设备和块设备、系统(标准)设备和用户设备、独占设备共享设备和虚拟设备。

(1)按操作特性分类:把外部设备分为存储设备、输入输出(I/O)设备
存储设备:计算机用来存储信息的设备,如磁盘、光盘、磁带等;
I/O设备:输入设备和输出设备。

输入设备:如键盘、鼠标等;输出设备:如显示器、打印机等。

(2)按系统和用户的观点分类:可将外部设备分为系统设备、用户设备
系统设备:操作系统生成时已登记在系统中的标准设备,如键盘、显示器、磁盘等。

用户设备:操作系统生成后,用户定义的非标准设备,如鼠标、绘图仪、游戏手柄等,这些设备需要用户安装设备驱动程序。

(3)按设备的传输速率分类
低速设备:传输速率为几个字节—几百个字节/秒。

键盘、鼠标、语音输入输出设备中速设备:传输速率为数千个字节—数万个字节/秒。

行式打印机、激光打印机
高速设备:传输速率为数百千字节—数十兆字节/秒。

磁带机、磁盘机、光盘机(4)按信息交换的单位分类
块设备:以”块”为单位来存取信息
字符设备:用于数据的输入输出,其基本单位是字符。

如键盘、打印机等。

(5)按设备的共享属性分类
独占设备:即临界资源,在一段时间内只允许一个进程使用的设备。

多数低速I/O
设备都属于独占设备,打印机就是典型的独占设备。

共享设备:一段时间内允许多个进程访问的设备,每一时刻只允许一个进程访问。

显然这样的设备必须是可寻址的和可随机访问的设备,磁盘就是典型的共享设备。

虚拟设备:是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户(进程)在一段时间内共同使用。

2.分配设备需要的4个重要数据结构(表):系统设备表、设备控制表、控制器控制表、通道控制表
系统设备表SDT:这是系统范围的数据结构,其中记录了系统中全部设备的情况。

每个设备占一个表目,每个表目包含了设备类型、设备标识符、设备控制表指针、设备驱动程序的入口地址等。

设备控制表DCT:系统为每一个设备都配置了一张设备控制表,记录本设备的情况。

系统为每一个控制器都设置了一张用于记录本控制器情况。

3.描述并体会几种常见的输入输出控制方式:程序直接控制、中断控制、DMA控制、通道控制.它们有什么特点?有什么好处和坏处?
程序直接控制:(特点)只适合那些CPU执行速度较慢,且外设较少的系统;(好处)工作过程简单;(坏处)CPU的利用率相当低、CPU和外设以及外设和外设之间只能串行工作,且CPU大部分时间都处于循环测试状态。

中断控制:(好处)提高了CPU的利用率,并能支持设备的并行操作;(坏处)每台设备每输入/输出一个数据都要求中断CPU,这样在一次数据传送过程中,中断发生次数太多,从而耗去了大量CPU时间。

DMA控制:(特点)(1)数据传送的基本单位是数据块,即CPU和I/O设备之间,每次传送的至少是一个数据块;(2)所传送的数据是从设备送往内存,或相反;(3)仅在传送一个或多个数据块的开始时刻和结束时刻,才需要中断CPU,请求干预。

整块数据的传送都是在DMA控制器的控制下完成的。

(好处)减少了CPU对I/O控制的干预,进一步提高了CPU的利用率,提高了CPU 与I/O设备的并行操作程度;(坏处)多个DMA控制器同时使用可能会引起内存地址的冲突,同时每台设备都需要一个DMA控制器,也是不经济的。

通道控制:(特点)在通道控制方式中,数据传送的方向、存放数据的内存始址以及传送数据块的长度均通过一个专门的硬件——通道来控制;(好处)提高了CPU
的工作效率及与外设间的并行工作程度。

4.为什么要开辟缓冲区?常见的缓冲区有哪几种?目前最常用的是哪种?
主要原因:(1)缓和CPU与I/O设备间速度不匹配的矛盾;(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制;(3)提高CPU和I/O设备之间的并行性。

常见的缓冲技术:单缓冲、双缓冲、循环缓冲和缓冲池(目前最常用)
5.设备分配的过程。

什么是独占设备、共享设备、虚拟设备?设备的独立性(或无关性)指的是什么?设备的安全性考虑的是什么?
设备分配的过程:(1)分配设备(2)分配控制器(3)分配通道
独享设备:指这种设备在一段时间内只允许一个进程独占,即为“临界资源”。

共享设备:指这种设备允许多个进程在一段时间内共享。

虚拟设备:指设备本身虽是独占设备,但经过某种技术处理,可以把它改造成逻辑上的多台虚拟设备。

设备的独立性(无关性)是指应用程序独立于物理设备;
设备分配时的安全性:该分配是否可能死锁。

6.什么是SPOOLING系统?它由哪几部分构成?
在主机的直接控制下,实现脱机输入输出功能。

此时的外围操作与CPU对数据的处理同时进行。

把这种在联机情况下实现的同时外围操作称为SPOOLING,或称为假脱机操作。

构成:输入井和输出井、输入缓冲区和输出缓冲区、输入进程SPi和输出进程SPo
7.会用磁盘调度算法(FCFS、SSTF、SCAN、CSCAN),计算一系列磁盘请求的总寻道数和平均寻道数。

例:假定有一个具有200个磁道(0-199磁道)的移动头磁盘,在完成了125磁道的请求后,当前正在磁道143处为一个请求服务。

若请求队列请求的读写磁道为:86,147,91,177,94,150,102,175,130,对于先来先服务、最短寻道时间优先、电梯算法、循环扫描算法几种磁盘调度算法,总的磁头移动道数(总寻道长度)、。

相关文档
最新文档