操作系统复习资料大全考试必备.docx
《操作系统复习资料大全考试必备.docx》由会员分享,可在线阅读,更多相关《操作系统复习资料大全考试必备.docx(74页珍藏版)》请在冰豆网上搜索。
操作系统复习资料大全考试必备
操作系统
学习指导书
操作系统课程组
信息工程学院计算机系
第1章操作系统引论
1.1知识点总结
1、什么是操作系统?
操作系统:
是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
1)OS是什么:
是系统软件(一整套程序组成,如UNIX由上千个模块组成)
2)管什么:
控制和管理系统资源(记录和调度)
2、操作系统的主要功能?
操作系统的功能:
存储器管理、处理机管理、设备管理、文件管理和用户接口管理。
1)存储器管理:
内存分配,地址映射,内存保护和内存扩充
2)处理机管理:
作业和进程调度,进程控制和进程通信
3)设备管理:
缓冲区管理,设备分配,设备驱动和设备无关性
4)文件管理:
文件存储空间的管理,文件操作的一般管理,目录管理,文件的读写管理和存取控制
5)用户接口:
命令界面/图形界面和系统调用接口
3、操作系统的地位
操作系统是裸机之上的第一层软件,是建立其他所有软件的基础。
它是整个系统的控制管理中心,既管硬件,又管软件,它为其它软件提供运行环境。
4、操作系统的基本特征?
操作系统基本特征:
并发,共享和异步性。
1)并发:
并发性是指两个或多个活动在同一给定的时间间隔中进行。
2)共享:
共享是指计算机系统中的资源被多个任务所共用。
3)异步性:
每个程序什么时候执行,向前推进速度快慢,是由执行的现场所决定。
但同一程序在相同的初始数据下,无论何时运行都应获得同样的结果。
5、操作系统的主要类型?
多道批处理系统、分时系统、实时系统、个人机系统、网络系统和分布式系统
1)多道批处理系统
(1)批处理系统的特点:
多道、成批
(2)批处理系统的优点:
资源利用率高、系统吞吐量大
(3)批处理系统的缺点:
等待时间长、没有交互能力
2)分时系统
(1)分时:
指若干并发程序对CPU时间的共享。
它是通过系统软件实现的。
共享的时间单位称为时间片。
(2)分时系统的特征:
同时性:
若干用户可同时上机使用计算机系统
交互性:
用户能方便地与系统进行人--机对话
独立性:
系统中各用户可以彼此独立地操作,互不干扰或破坏
及时性:
用户能在很短时间内得到系统的响应
(3)优点主要是:
响应快,界面友好
多用户,便于普及
便于资源共享
3)实时系统
(1)实时系统:
响应时间很快,可以在毫秒甚至微秒级立即处理
(2)典型应用形式:
过程控制系统、信息查询系统、事务处理系统
(3)与分时系统的主要区别:
分时系统
实时系统
交互能力
强(通用系统)
弱(专用系统)
响应时间
秒级
及时,毫秒/微妙级
可靠性
一般要求
要求更高
4)个人机系统
(1)单用户操作系统
单用户操作系统特征:
个人使用:
整个系统由一个人操纵,使用方便。
界面友好:
人机交互的方式,图形界面。
管理方便:
根据用户自己的使用要求,方便的对系统进行管理。
适于普及:
满足一般的工作需求,价格低廉。
(2)多用户操作系统多:
代表是UNIX,具有更强大的功能和更多优点。
①网络操作系统
计算机网络=计算机技术+通信技术
计算机网络的特征:
分布性、自治性、互连性、可见性
网络操作系统功能
本机+网络操作系统:
本地OS之上覆盖了网络OS,可以是同构的也可以是异构的。
功能:
实现网络通信、资源共享和保护、提供网络服务和网络接口等
②分布式操作系统
定义:
运行在不具有共享内存的多台计算机上,但用户眼里却像是一台计算机。
(分布式系统无本地操作系统运行在各个机器上)
分布式系统特征:
分布式处理、模块化结构、利用信息通信、实施整体控制
分布式操作系统特点:
透明性、灵活性、可靠性、高性能、可扩充性
1.2习题练习
1、选择题
1)操作系统是一种(A)。
A.系统软件 B.系统硬件C.应用软件D.支援软件
2)多道程序设计是指(D)。
A.在实时系统中并发运行多个程序
B.在分布系统中同一时刻运行多个程序
C.在一台处理机同一时刻运行多个程序
D.在一台处理机上并发运行多个程序
3)操作系统的设计目标之一是正确性,下列(D)因素不会影响该目标?
A.并发性 B.共享性 C.高效性 D.随机性
4)在下列操作系统的各个功能组成部分中,哪一个不需要有硬件的支持?
A.进程调度 B.时钟管理C.地址映射D.中断系统
5)下列操作系统中,(A)是网络操作系统
A.Windows3.XB.DOS6.22C.CP/M2.2D.linux
6)若把操作系统看作是计算机系统资源的管理者,下列(D)不属于操作系统所管理的资源?
A.CPUB.内存C.程序D.中断
7)操作系统负责管理计算机系统的(A)。
A.程序 B.文件 C.资源 D.进程
8)没有下列设备(),计算机无法工作。
A.硬盘B.软盘C.内存D.打印机
9)操作系统采用最多的数据结构是()。
A.队列B.表格C.树D.堆栈
2、判断题
1)OS的最终目标是管理好软件和硬件资源。
()
2)系统软件指的就是操作系统。
()
3)操作系统是存在ROM上的软件。
()
4)从用户的角度,操作系统可以看成计算机硬件的扩充。
()
5)虚拟机是指硬件外层的软件。
()
6)用户使用计算机,不必知道内部数据是如何存放的。
()
7)操作系统的两大使命,服务用户和管理资源是统一的。
()
8)多道程序设计既在内存中的多个程序并行运行。
()
9)多用户系统一定采用多道技术。
()
10)只有多重处理系统可以为多用户服务。
()
11)多用户必须使用多终端。
()
12)分时系统中时间片越长越好。
()
13)用户可以完全按照自己的意愿"生成"操作系统。
()
14)操作系统的冷,热启动差别只在于是否有加电自检的过程。
()
3、填空题
1)从人机交互方式来看,操作系统是用户与机器的。
2)从管理角度看,操作系统是管理资源的。
3)计算机操作系统是,管理和控制的系统软件。
4、简答题
1)何谓脱机I/O,联机I/O?
2)分时系统为什么能实现人机交互的操作?
为什么主机间断的服务,用户却觉得在连续地工作?
3)批处理系统及分时系统中各用户均能共享系统资源,在共享系统资源的方法上有什么不同?
4)为什么UNIX系统是小型机的主导操作系统?
从系统功能的角度说明之
5)操作系统的五大类型的特点
6)简述操作系统的功能
7)多道程序设计的基本思想
8)操作系统一般为用户提供了哪三种界面?
各有什么特点?
9)解释下列术语:
并发,吞吐量,分时,实时
1.3习题解答
1、选择题
4、简答题
1)脱机I/O是指输入/输出工作不受主机直接控制,而由卫星机专门负责完成I/O,主机专门完成快速计算任务,从而二者可以并行操作。
联机I/O是指作业的输入、调入内存以及结果输出都在CPU直接控制下进行。
2)分时系统提供两种接口:
命令接口和系统调用,主机在中断结构和时钟系统的支持下,把CPU时间分成时间片,每个程序只运行一个时间片,就产生一个时钟中断,控制转向操作系统,操作系统选择另一个用户程序。
它提供命令接口,交互性好,用户在终端上操作,即可得到系统的即时响应
在交互环境下,一个用户使用终端,大部分时间用于操作键盘输入字符,或阅读思考系统送回显示的信息.这个阶段终端可独立完成,无需主机直接的服务.用户感觉主机在不间断地为自己服务,因此这种系统也称为联机系统.各用户在自己享用的时间片内,取得主机的服务
3)批处理系统采用并发处理方式,作业搭配,利用外设申请中断的功能,通过系统调度程序进行操作。
分时系统各用户按时间片分享CPU,使系统具备共享能力
4.核心层提供基本功能,具有较强的进程管理、存储管理和文件管理的功能,实用层有命令的解释和语言系统等实用软件,也有大量的应用软件,系统便于掌握,也便于扩展,代码采用C语言移植性强。
很强的文件处理能力,以文件方法实现I/O功能,管理十分方便。
良好的开发环境
5.操作系统有以下几种类型:
多道批处理系统、分时系统、实时系统、网络操作系统和分布式操作系统。
多道批处理系统的特点:
多道、成批分时系统的特点:
同时性、交互性、独立性、及时性
实时系统的特点:
交互能力较弱,系统专用,响应时间更严格、及时、可靠性要求更高
网络操作系统的特点:
分布性、自治性、互连性、可见性
分布式操作系统的特点:
透明性、灵活性、可靠性、高性能、可扩充性
6.存储器管理:
包括内存分配、址映射、内存保护和内存扩充。
作业管理:
包括作业的创建,撤消,用户界面的设计
进程管理:
进程控制和进程通信。
设备管理:
包括缓冲管理、设备分配、和设备无关性。
文件管理:
包括文件存空间的管理、文件操作的一般管理、目录管理、文件的读写管理和存取控制。
7.教材P10
8.操作系统一般为用户提供的三种界面是:
命令界面、图形界面和系统调用界面
命令界面--在提示符之后用户从键盘上输入命令,系统提供相应服务。
图形界面--用户利用鼠标、窗口、菜单、图标等图形用户界面工具,可以直观、方便、有效地使用系统服务和各种应用程序及实用工具。
系统调用界面--用户在自己的C程序中使用系统调用,从而获取系统更基层的服务。
9.教材P6
10.并发:
是指两个或多个活动在同一给定的时间间隔中进行。
是宏观上的概念。
吞吐量:
在一段给定的时间内,计算机所能完成的总工作量。
分时:
主要是指若干并发程序对CPU时间的共享。
实时:
表示"及时"或"既时"。
第2章进程管理
1、程序顺序执行与并发执行比较
顺序执行
并发执行
程序顺序执行
间断执行,多个程序各自在“走走停停”种进行
程序具有封闭性
程序失去封闭性
独享资源
共享资源
具有可在现性
失去可再现性
有直接和简接的相互制约
2、多道程序设计概念及其优点
1)多道程序设计:
是在一台计算机上同时运行两个或更多个程序。
2)多道程序设计的特点:
多个程序共享系统资源、多个程序并发执行
3)多道程序设计的优点:
提高资源利用率、增加系统吞吐量
3、什么是进程,进程与程序的区别和关系
1)进程的引入
由于多道程序的特点,程序具有了并行、制约和动态的特征,就使得原来程序的概念已难以刻划和反映系统中的情况了。
2)进程:
程序在并发环境下的执行过程。
3)进程与程序的主要区别:
(1)程序是永存的,进程是暂时的
(2)程序是静态的观念,进程是动态的观念
(3)进程由三部分组成:
程序+数据+进程控制块(描述进程活动情况的数据结构)
(4)进程和程序不是一一对应的
一个程序可对应多个进程即多个进程可执行同一程序
一个进程可以执行一个或几个程序
4)进程特征:
动态性、并发性、调度性、异步性、结构性
4、进程的基本状态及其转换
1)进程基本状态
(1)运行态(Running):
进程正在占用CPU;
(2)就绪态(Ready):
进程具备运行条件,但尚未占用CPU;
(3)阻塞态(Blocked):
进程由于等待某一事件不能享用CPU。
2)进程状态的转换
(1)就绪态->运行态
(2)运行态->就绪态
(3)运行态->阻塞态
(4)阻塞态->就绪态
5、进程是由哪些部分组成,进程控制块的作用
1)进程的组成:
由程序、数据集合和PCB三部分组成。
2)进程控制块的作用:
进程控制块是进程组成中最关键的部分。
(1)每个进程有唯一的PCB。
(2)操作系统根据PCB对进程实施控制和管理。
(3)进程的动态、并发等特征是利用PCB表现出来的。
(4)PCB是进程存在的唯一标志。
6、PCB组织方式
线性队列、链接表、索引表
7、进程的同步与互斥
1)同步:
是进程间共同完成一项任务时直接发生相互作用的关系。
2)互斥:
排它性访问即竞争同一个物理资源而相互制约。
8、什么是临界资源、临界区?
1)临界资源:
一次仅允许一个进程使用的资源。
2)临界区:
在每个进程中访问临界资源的那段程序。
3)互斥进入临界区的准则:
(1)如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
(2)任何时候,处于临界区内的进程不可多于一个。
如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
(3)进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
(4)如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
9、信号量
1)信号量定义:
信号量(信号灯)=<信号量的值,指向PCB的指针>
2)信号量的物理意义:
(1)信号量的值大于0:
表示当前资源可用数量
小于0:
其绝对值表示等待使用该资源的进程个数
(2)信号量初值为非负的整数变量,代表资源数。
(3)信号量值可变,但仅能由P、V操作来改变。
10、P/V操作原语
1)P操作原语P(S)
(1)P操作一次,S值减1,即S=S-1(请求分配一资源);
(2)如果S≥0,则该进程继续执行;如果S<0表示无资源,则该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至另一个进程执行V(S)操作)。
2)V操作原语(荷兰语的等待)V(S)
(1)V操作一次,S值加1,即S=S+1(释放一单位量资源);
(2)如果S>0,表示有资源,则该进程继续执行; 如果S≤0,则释放信号量队列上的第一个PCB所对应的进程(阻塞态改为就绪态),执行V操作的进程继续执行。
11、进程间简单同步与互斥的实现
1)用P,V原语实现互斥的一般模型
设互斥信号量mutex初值为1
2)用P、V原语操作实现简单同步的例子
S1缓冲区是否空(0表示不空,1表示空),初值S1=0;
S2缓冲区是否满(0表示不满,1表示满),初值S2=0;
3)生产者——消费者问题(OS典型例子):
mutex互斥信号量,初值为1;full满缓冲区数,初值为0;empty空缓冲区数,初值为N;
第三章处理机调度与死锁
处理机调度级别
1.调度:
选出待分派的作业或进程
2.处理机调度:
分配处理机
3.三级调度:
高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度)
作业状态
1.作业状态分为四种:
提交、后备、执行和完成。
2.作业状态变迁图:
作业调度和调度的功能
1.作业调度的任务
后备状态→执行状态 执行状态→完成状态
2.作业调度的功能
1)记录系统中各个作业的情况
2)按照某种调度算法从后备作业队列中挑选作业
3)为选中的作业分配内存和外设等资源
4)为选中的作业建立相应的进程
5)作业结束后进行善后处理工作
进程调度和调度的功能
1.进程调度:
后备状态→执行状态
2.进程调度时机:
任务完成后、等待资源时、运行到时了、发现重调标志
3.进程调度的功能:
保存现场、挑选进程、恢复现场
两级调度模型 作业调度和进程调度的区别
作业调度(宏观调度)
为进程活动做准备,即有获得处理机的资格
调度次数
有的系统不设作业调度
进程调度(微观调度)
使进程活动起来,即分配得到了处理机
调度频率高
进程调度必不可少
评价调度算法的指标
调度性能评价准则:
CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间
1.吞吐量:
单位时间内CPU完成作业的数量
2.周转时间:
1)周转时间=完成时刻-提交时刻
2)平均周转时间=周转时间/n
3)带权周转时间=周转时间/实际运行时间
4)平均带权周转时间=带权周转时间/n
简单的调度算法
1.先来先服务(FCFS)
调度算法的实现思想:
按作业(进程)到来的先后次序进行调度,即先来的先得到运行。
用于作业调度:
从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。
用于进程调度:
从就绪队列中选择一个最先进入该队列的进程投入运行。
例如设有三个作业,编号为1,2,3。
各作业分别对应一个进程。
各作业依次到达,相差一个时间单位。
①图示出采用FCFS方式调度时这三个作业的执行顺序
②算出各作业的周转时间和带权周转时间
作业
到达时间
运行时间
开始时间
完成时间
周转时间
带权周转时间
1
0
24
0
24
24
1
2
1
3
24
27
26
8.67
3
2
3
27
30
28
9.33
平均周转时间T=26 平均带权周转时间W=6.33
2.时间片轮转(RR)
调度算法的实现思想:
系统把所有就绪进程按先进先出的原则排成一个队列。
新来的进程加到就绪队列末尾。
每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。
当时间片到,产生时钟中断
,调度程序便停止该进程的运行,并把它放入就绪队列末尾,然后,把CPU分给就绪队列的队首进程。
时间片:
是一个小的时间单位,通常10~100ms数量级。
例如设四个进程A、B、C和D依次进入就绪队列(同时到达),四个进程分别需要运行12、5、3和6个时间单位。
①图示RR法时间片q=1和q=4示进程运行情况
②算出各进程的周转时间和带权周转时间
3.优先级调度算法的实现思想:
从就绪队列中选出优先级最高的进程到CPU上运行。
1)两种不同的处理方式:
非抢占式优先级法、抢占式优先级法
2)两种确定优先级的方式:
静态优先级、动态优先级
例如假定在单CPU条件下有下列要执行的作业:
作业
运行时间
优先级
1
10
3
2
1
1
3
2
3
4
1
4
5
5
2
①用执行时间图描述非强占优先级调度算法执行这些作业的情况
②算出各作业的周转时间和带权周转时间
作业
到达时间
运行时间
开始时间
完成时间
周转时间
带权周转时间
1
0
10
0
10
10
10
2
1
1
28
19
18
18.0
3
2
2
11
13
11
5.5
4
3
5
10
11
8
8.0
5
4
5
13
18
14
28
平均周转时间T=12.2 平均带权周转时间W=7.06
Shell命令执行过程
1.读命令:
shell命令解释程序将命令行读到自己的工作区中。
2.判对错:
判断命令是否正确,若有错则发出相应的错误信息。
3.建子进程:
终端进程调用系统调用fork,创建一个子进程。
4.等待完成:
终端进程将等待自己创建的子进程完成工作,变成睡眠态。
如果用户键入的命令行末尾有“&”符号,表明是后台命令,则立即转(8),发提示符。
5.子进程运行:
子进程被创建后处于就绪态,进入就绪队列排队。
当进程调度程序选中它之后,就把CPU分给它使用。
6.子进程终止:
子进程完成工作后,一方面释放它所占用的资源;另一方面唤醒父进程。
子进程从系统中消失。
7.父进程运行:
子进程唤醒父进程。
8.发提示符:
终端进程发提示符,让用户键入新的命令。
什么是死锁
死锁:
多个进程循环等待它方占有的资源而无限期地僵持下去的局面。
产生死锁的根本原因
产生死锁的根本原因:
资源有限且操作不当。
产生死锁的必要条件
产生死锁的必要条件:
互斥条件、不可强占条件、占有且申请条件、循环等待条件。
如果在计算机系统中同时具备上面四个必要条件时,那么会发生死锁。
即四个条件中有一个不具备,系统就不会发生死锁。
解决死锁的一般方法
解决死锁的三种方法:
死锁的预防、避免、检测与恢复。
死锁预防的基本思想和可行的解决办法
1.死锁预防的基本思想:
打破产生死锁的四个必要条件的一个或几个。
2.预防死锁的策略:
资源预先分配策略、资源有序分配策略。
1)资源预先分配策略:
打破占有且申请条件,进程在运行前一次性地向系统申请它所需要的全部资源,如果所序言的全部资源得不到满足,则不分配任何资源,此进程暂不运行。
2)资源有序分配策略:
打破循环等待条件,把资源事先分类编号,按序分配,使进程在申请、占用资源时不会形成环路。
什么是进程的安全序列,死锁与安全序列的关系
1.安全序列的定义:
所谓系统是安全的,是指系统中的所有进程能够按照某一种次序分配资源,并且依次地运行完毕,这种进程序列{P1,P2,…,Pn}就是安全序列。
2.安全序列{P1,P2,…,Pn}是这样组成的:
若对于每一个进程Pi(1≤i≤n),它需要的附加资源可以被系统中当前可用资源加上所有进程Pj(j
3.安全序列与死锁的关系:
虽然存在安全序列一定不会有死锁发生,但是系统进入不安全状态(四个死锁的必要条件同时发生)也未必会产生死锁,当然,产生死锁后,系统一定处于不安全状态。
死锁的避免与银行家算法
1.避免死锁的方法:
银行家算法。
2.银行家算法的基本思想:
分配资源之前,判断系统是否是安全的;若是,才分配。
死锁检测
1.死锁的检测算法:
是当进程进行资源请求时检查并发进程组是否构成资源的请求和占用环路。
如果不存在这一环路,则系统中一定没有死锁。
2.总之:
如果资源分配图中不存在环路,则系统不存在死锁;反之如果资源分配图中存在环路,则系统可能存在死锁,也可能不存在死锁。
死锁的恢复
1.死锁的恢复思想:
一旦在死锁检测时发现死锁,就要消除死锁,使系统从死锁中恢复过来。
2.死锁的恢复方法:
1)系统重新启动
2)撤消进程、剥夺资源
第四章存储器管理
<>存储器的层次
用户程序的主要处理阶段
1).编辑阶段:
创建源文件
2).编译阶段:
生成目标文件
3).连接阶段:
生成可执行文件
4).装入阶段:
重定位,装入内存
5).运行阶段:
得到结果
存储器管理的功能
存储器管理的功能:
内存分配、地址映射、内存保护、内存扩充。
存储器有关概念
1).逻辑地址:
用户程序经编译之后的每个目标模块都以0为基地址顺序编址。
2).物理地址:
内存中各物理单元的地址是从统一的基地址顺序编址。
3).重定位:
把逻辑地址转变为内存的物理地址的过程。