操作系统复习考试大纲考点.docx
《操作系统复习考试大纲考点.docx》由会员分享,可在线阅读,更多相关《操作系统复习考试大纲考点.docx(20页珍藏版)》请在冰豆网上搜索。
操作系统复习考试大纲考点
第一章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。
先来先服务:
作业号
提交时刻
运行长度
开始时刻
结束时刻
周转时间
1
10:
00
2小时
10:
00
12:
00
2.00小时
2
10:
06
1小时
12:
00
13:
00
2.90小时
3
10:
15
0.25小时
13:
00
13:
15
3.00小时
T=(2.00+2.90+3.00)/3=2.63
W=(2/2+2.90/1+3.00/0.25)/3=5.30
短作业优先:
作业号
提交时刻
运行长度
开始时刻
结束时刻
周转时间
1
10:
00
2小时
10:
00
12:
00
2.00小时
2
10:
06
1小时
12:
15
13:
15
3.15小时
3
10:
15
0.25小时
12:
00
12:
15
2.00小时
T=(2.00+3.15+2.00)/3=2.38
W=(2/2+3.15/1+2.00/0.25)/3=4.05
响应比高者优先:
作业号
提交时刻
运行长度
执行顺序
开始时刻
结束时刻
周转时间
1
8:
00
2小时
1
8:
00
10:
00
2
2
8:
30
0.5小时
3
10:
06
10:
36
2.10
3
9:
00
0.1小时
2
10:
00
10:
06
1.10
4
9:
30
0.2小时
4
10:
36
10:
48
1.30
T=(2+2.1+1.1+1.3)/4=1.625
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)破坏“循环等待”条