操作系统复习重点.docx
- 文档编号:5957734
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:20
- 大小:299.57KB
操作系统复习重点.docx
《操作系统复习重点.docx》由会员分享,可在线阅读,更多相关《操作系统复习重点.docx(20页珍藏版)》请在冰豆网上搜索。
操作系统复习重点
第1章操作系统引论
1、操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充
2、操作系统是系统软件
3、操作系统的目标:
(1)有效性:
提高系统资源利用率,提高系统的吞吐率设计操作系统最重要的两个目标
(2)方便性
(3)可扩充性
(4)开放性
4、操作系统作用:
用户与计算机硬件系统之间的接口、计算机系统资源的管理者
5、用户使用计算机的方式:
命令方式、系统调用方式、图形窗口方式
6、计算机资源分类:
处理器、存储器、I/O设备、信息(数据和程序)
7、操作系统是铺设在计算机硬件上的多层系统软件
8、操作系统的发展:
(1)无操作系统的计算机系统
a.人工操作方式:
用户独占全机、CPU等待人工操作
b.脱机输入/输出方式:
减少了CPU的空闲时间、提高了I/O速度
(2)单道批处理系统:
系统对作业的处理是成批进行的,且在内存中始终只保持一道作业
a.自动性b.顺序性c.单道性
(3)多道批处理系统:
提高CPU利用率、提高内存和I/O设备利用率、增加系统吞吐量
a.多道性b.无序性c.调度性
(4)分时系统:
在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通
过自己的终端,以交互方式使用计算机,共享主机中的资源。
a.多路性b.独立性c.及时性d.交互性
(5)实时系统
a.多路性b.独立性c.及时性d.交互性e.可靠性
9、操作系统定义:
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
10、微机操作系统
(1)单用户单任务操作系统:
CP/M、MS-DOS
(2)单用户多任务操作系统:
Windows
(3)多用户多任务操作系统:
UNIXOS
11、操作系统的基本特性:
并发性、共享性、虚拟性、异步性
12、并行性:
两个或多个事件在同一时刻发生
并发性:
两个或多个事件在同一时间间隔内发生
单处理机——宏观上多个程序同时运行,微观上分时地交替执行
多处理机——多处理机并行执行
13、进程:
进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、
数据和堆栈等组成的,是一个能独立运行的活动实体
14、程序、进程、线程
一个运行着的程序至少拥有一个进程,一个进程至少拥有一个线程
(1)程序与进程
a.程序是一组指令的有序集合,不能独立运行,是一个静态实体
b.进程是运行着的程序,是程序在某数据集上的执行,有自己的生命周期,是动态实体
c.一个进程只对应一个程序,一个程序可以对应多个进程,也可以不对应进程(未执行)
(2)进程与线程
a.进程是在系统中能独立运行并作为资源分配的基本单位,线程是进程的一个实体,是
可以独立运行和独立调度的基本单位。
b.线程基本上不拥有系统资源,同一进程内多个线程共享其资源。
c.线程比进程小,调度开销小,同一进程中多个线程可以并发执行,多线程程序并发度
更高。
d.线程不能单独执行,必须组成进程,一个进程至少有一个主线程。
15、共享性
(1)互斥共享方式
互斥共享:
当一个进程访问完并释放该资源后,才允许另一进程进行访问。
临界资源:
在一段时间内只允许一个进程访问的资源。
也叫独占资源。
(2)同时访问方式
同时访问:
允许在一段时间内多个进程同时访问。
宏观“同时”,微观往往交替。
16、并发和共享是操作系统的两个最基本的特征
17、虚拟技术:
通过某种技术,把一个物理实体变为若干个逻辑上的对应物。
(1)时分复用技术
某物理设备对应N个虚拟的逻辑设备,每台虚拟设备的平均速度<=物理设备速度的1/N
(2)空分复用技术
某物理设备对应N个虚拟的逻辑设备,每台虚拟设备的平均空间<=物理设备空间的1/N
18、异步性:
进程是以人们不可预知的速度向前推进的,可能先进入内存的作业后完成,后
进入内存的作业先完成。
19、微内核:
并非一个完整的OS,只是为构建通用OS提供重要基础。
具备最基本的功能:
进程管理、存储器管理、进程通信管理、I/O设备管理
第2章进程管理
1、程序顺序执行时的特征:
顺序性、封闭性、可再现性
2、程序并发执行时的特征:
间断性、失去封闭性、不可再现性
3、前趋图(DAG):
有向无循环图
4、进程实体:
程序段、数据段、进程控制块(PCB)
5、创建进程,实质上是创建进程实体中的PCB;撤销进程,实质上是撤销进程的PCB
6、凡未建立PCB的程序都不能作为一个独立的单位参与运行
7、进程的性质:
动态性、并发性、独立性、异步性
8、进程的定义:
(1)进程是程序的一次执行
(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动
(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立
单位。
进程是进程实体的运行过程。
9、进程的三种基本状态:
就绪状态、执行状态、阻塞状态
(1)就绪状态:
除CPU外,所有资源都已经具备,只要再获得CPU,便可立即执行。
(2)执行状态:
进程已获得CPU,程序正在执行。
(当前进程)
(3)阻塞状态:
进程放弃CPU而处于暂停状态。
10、进程并非固定处于某种状态,其状态会随着自身的运行和和外界条件的变化而变化。
11、进程三种基本状态转换图
12、具有挂起状态的进程状态图
13、PCB进程控制块
FCB文件控制块
MCB内存控制块
14、操作系统(OS)是根据进程控制块(PCB)来对并发执行的进程进行控制和管理的。
15、PCB是进程存在的唯一标识。
16、PCB存在于操作系统内核,常驻内存。
17、PCB是操作系统管理进程的数据结构
18、进程控制块中的信息:
进程标识符、处理机信息、进程调度信息、进程控制信息
19、进程控制块的组织方式:
链接方式、索引方式
20、CPU分为管态(系统态)和目态(用户态),中断是从目态到管态的唯一途径
21、进程控制一般是由OS的内核中的原语来实现的,原语是由若干条指令组成的用于完成
一定功能的一个过程,它们是原子操作,在执行过程中不允许被中断。
原子操作在管态
下执行,常驻内存。
22、引起创建进程的事件:
Create()
(1)系统内核创建进程:
用户登录、作业调度、提供服务
(2)应用进程自己创建新进程:
应用请求
23、引起进程终止的事件:
Exit()
正常结束、异常结束、外界干预(操作员或操作系统干预、父进程请求、父进程终止)
24、进程阻塞是自己阻塞自己,进程唤醒是别的进程唤醒自己。
25、引起进程阻塞和进程唤醒的事件:
Block()Wakeup()
请求系统服务、启动某种操作、新数据尚未到达、无新工作可做
Block和Wakeup必须成对出现
26、进程挂起与进程激活:
Suspend()Active()
27、进程同步的主要任务是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程
之间能有效地共享资源和相互合作,从而使进程的执行具有可再现性。
28、进程之间的制约关系:
(1)间接相互制约关系:
进程共享某种系统资源
(2)直接相互制约关系:
进程之间的合作
29、诸进程应采用互斥方式,实现对临界资源的访问
30、临界资源:
一次仅能为一个进程所使用的资源
31、临界区:
每个进程中访问临界资源的那段代码成为临界区
32、同步机制应遵循的规则:
空闲让进、忙则等待、有限等待、让权等待
33、信号量:
整型信号量、记录型信号量、AND型信号量、信号量集
34、利用信号量实现互斥:
wait(mutex)和signal(mutex)必须成对出现,缺少wait(mutex)将会
导致系统混乱,不能保证对临界资源的互斥访问;而缺少signal(mutex)将会使临界资源
永远不被释放,从而使因等待该资源而阻塞的进程不能被唤醒。
35、利用信号量实现前趋关系:
S1->S2
(1)P1:
S1;signal(S);
(2)P2:
wait(S);S2;
36、整数型信号量
functionWait(varS:
integer)
Begin
while(S<=0)dono_op();
S:
=S-1;
End
functionSignal(varS:
integer)
Begin
S:
=S+1;
End
37、记录型信号量
typesemaphore=record
value:
integer;//资源数量
L:
listofprocess;//阻塞进程队列
end
functionwait(varS:
Semaphore)
Begin
S.value:
=S.value-1;
if(S.value<0)thenblock(S.L);
End
functionsignal(varS:
Semaphore)
Begin
S.value:
=S.value+1;
if(S.value<=0)thenwakeup(S.L);
End
38、S.value>=0:
资源数量
nS.value<0:
|S.value|为阻塞进程的数量
39、读者——写者问题标准程序(记录型信号量)
VARrmutex,wmutex:
semaphore:
=1,1;
readcount:
integer:
=0;
Parbegin
Reader:
begin
repeat
wait(rmutex);
if(readcount=0)wait(wmutex);
readcount:
=readcount+1;
signal(rmutex);
performreadoperation;
wait(rmutex);
readcount:
=readcount-1;
if(readcount=0)signal(wmutex);
signal(rmutex);
untilflase
end
Writer:
begin
repeat
wait(wmutex);
performwriteoperation;
signal(wmutex);
untilflase
end
Parend
40、生产者——消费者标准程序(记录型信号量)
VAR
mutex,empty,full:
semaphore:
=1,n,0;
in,out:
integer:
=0,0;
Buffer:
array[0..n-1]ofitem;
Parbegin
Producer:
begin
repeat
produceaniteminnextp;
wait(empty);
wait(mutex);
Buffer(in):
=nextp;
in:
=(in+1)modn;
signal(mutex);
signal(full);
untilflase
end
Consumer:
begin
repeat
wait(full);
wait(mutex);
nextc=Buffer(out);
out:
=(out+1)modn;
signal(mutex);
signal(empty);
consumetheitemnextc;
untilflase
end
Parend
41、生产者——消费者标准程序(AND型信号量)
VARmutex,empty,full:
semaphore:
=1,n,0;
in,out:
integer:
=0,0;
Buffer:
array[0..n-1]ofitem;
Parbegin
Producer:
begin
repeat
produceaniteminnextp;
Swait(empty,mutex);
Buffer(in):
=nextp;
in:
=(in+1)modn;
Ssignal(mutex,full);
untilflase
end
Consumer:
begin
repeat
Swait(full,mutex);
nextc=Buffer(out);
out:
=(out+1)modn;
Ssignal(mutex,epty);
consumetheitemnextc;
untilflase
end
Parend
42、哲学家进餐标准程序(记录型信号量)
VARchopsticks:
array[0..4]ofsemaphore:
=1,1,1,1,1;
Parbegin
philosopher0-3:
begin
repeat
wait(chopsticks[i]);
wait(chopsticks[(i+1)mod5]);
eat;
signal(chopsticks[i]);
signal(chopsticks[(i+1)mod5]);
think
untilflase
end
philosopher4:
begin
repeat
wait(chopsticks[(i+1)mod5]);
wait(chopsticks[i]);
eat;
signal(chopsticks[i]);
signal(chopsticks[(i+1)mod5]);
think
untilflase
end
Parend
42、哲学家进餐问题标准程序(AND型信号量)
VARchopsticks:
array[0..4]ofsemaphore:
=1,1,1,1,1;
Parbegin
philosopheri:
begin
repeat
Swait(chopsticks[i],chopsticks[(i+1)mod5]);
eat;
Ssignal(chopsticks[i],chopsticks[(i+1)mod5]);
think
untilflase
end
Parend
43、读者写者问题(信号量集)
VARRN:
integer;
L,mutex:
semaphore:
=RN,1;
Parbegin
Reader:
begin
repeat
Swait(L,1,1,mutext,1,0);
performreadoperation;
Ssignal(L,1);
untilflase
end
Writer:
begin
repeat
Swait(mutex,1,1,L,RN,0);
performwriteoperation;
Ssignal(mutex,1);
untilflase
end
Parend
44、进程通信的通信过程对用户是透明的
45、高级通信机制
(1)共享存储器系统:
基于共享数据结构的通信方式、基于共享存储区的通信方式
(2)消息传递系统:
进程间的数据交换是以格式化的消息为单位的(直接通信、间接通信)
(3)管道通信系统:
46、直接通信:
OS提供两个通信原语
(1)发送进程:
Send(receiver,msg);
(2)接收进程:
Receive(sender,msg);
47、间接通信:
信箱通信,既可实现实时通信,又可实现非实时通信
(1)发送进程:
Send(mailbox,msg);
(2)接收进程:
Receive(mailbox,msg);
48、信箱可由操作系统创建,也可由用户进程创建
49、信箱分类:
私用信箱、公用信箱、共享信箱
50、消息通信系统中的进程同步:
(1)发送进程阻塞、接收进程阻塞
(2)发送进程不阻塞、接收进程阻塞
(3)发送进程和接收进程均不阻塞
51、进程是拥有资源的独立单位,线程是调度和分派的基本单位
52、线程控制块TCB
53、线程的实现方式:
内核支持线程、用户级线程、组合方式
54、操作系统的指令系统:
特权指令(只能由操作系统使用的指令)、非特权指令
第3章处理机调度与死锁
一、处理机调度
1、处理机调度的层次:
高级调度、中级调度、低级调度
2、高级调度:
又称为作业调度或长程调度,调度对象是作业。
根据某种算法,把外存上处
于后备队列中的那些作业调入内存。
3、作业:
程序集、数据集、作业控制说明书
4、在批处理系统中,是以作业为基本单位从外存调入内存的。
5、作业控制块:
JCB,它是作业在系统中存在的标志
6、作业调度机制存在于批处理系统中,在分时系统和实时系统中不需要。
7、低级调度:
又称为进程调度或短程调度,调度对象是进程或内核级线程。
在多道批处理系
统、分时系统、实时系统中都存在。
8、进程调度的调度方式:
(1)非抢占方式:
难以满足需要立即执行的任务
(2)抢占方式:
优先权原则、短作业优先原则、时间片原则。
9、中级调度:
中级调度又称中程调度,目的是为了提高内存利用率和系统吞吐率,对象是
就绪进程和阻塞进程。
10、运行频率:
进程调度>中级调度>作业调度
11、在分时系统中,通常仅设置进程调度
12、周转时间:
从作业提交给系统开始,到作业完成为止的时间间隔。
包括:
作业在后备队
列的等待时间、进程在就绪队列的等待时间、进程在CPU上的执行时间、进程等待I/O
操作时间。
13、平均周转时间和平均带权周转时间
14、先来先服务调度算法(FCFS):
有利于长作业,不利于短作业;有利于CPU繁忙型作
业,不利于I/O繁忙型作业。
(作业调度、进程调度)
15、短作业(进程)优先算法(SJF/SPF):
能够有效降低作业的平均等待时间,有利于短
作业,不利于长作业。
(作业调度、进程调度)
16、高优先权优先算法(FPF)(作业调度):
非抢占式、抢占式
17、优先权的类型
(1)静态优先权:
在创建进程时确定,且在进程的整个运行期间保持不变
(2)动态优先权:
在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的
增加而改变的。
18、高响应比优先算法(作业调度)
优先权=(等待时间+要求服务时间)/要求服务时间=1+(等待时间/要求服务时间)
响应比=(等待时间+要求服务时间)/要求服务时间=响应时间/要求服务时间
(1)等待时间相同—>短进程优先
(2)要求服务时间相同—>先来先服务
(3)避免长作业不公平
19、在分时系统中,为了保证能及时响应用户的请求,必须采用基于时间片的轮转式进程
调度算法。
(作业调度、进程调度)
20、时间片大小的确定:
时间片略大于一次典型的交互所需要的时间
21、多级反馈队列调度算法——最好的进程调度算法
22、实现实时调度的基本条件:
对于m个实时任务,处理时间为Ci,周期时间为Pi
23、最早截止时间优先算法(EDF)
任务的截止时间越早,其优先级越高
24、最低松弛度优先算法(LLF)
任务的紧急程度愈高,为该任务所赋予的优先级就愈高,以使之优先执行。
主要用于可抢占调度方式中。
A的松弛度=必须完成的时间—其本身的运行时间—当前时间
注意:
任务必须进入周期后才能参与
2、处理机死锁
1、死锁:
是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持
状态时,若无外力作用,它们都将无法再向前推进。
2、死锁的原因:
竞争非剥夺性资源、进程推进顺序不当
3、产生死锁的必要条件:
互斥条件、请求和保持条件、不剥夺条件、环路等待条件
4、处理死锁的方式:
(1)预防死锁:
破坏产生死锁的四个条件中的一个或几个
(2)避免死锁:
在资源的动态分配过程中,用某种方法去防止系统进入不安全状态
(3)检测死锁:
允许发生死锁。
及时检测出死锁的发生并清除死锁。
(4)解除死锁:
撤销或挂起一些进程,一边回收一些资源,再将这些资源分配给阻塞进程。
5、预防死锁和避免死锁这两种方法实质上都是通过施加某些限制条件,来预防发生死锁。
两者的主要差别在于:
为预防死锁所施加的限制条件较为严格,这往往会影响进程的并
发执行;而为避免死锁所施加的限制条件则较为宽松,这给进程的运行提供了较宽松的
环境,有利于进程的并发执行。
6、预防死锁
(1)保证“互斥条件”
(2)摒弃“请求和保持条件”:
所有进程在开始运行之前,都必须一次性的申请全部资源。
(3)摒弃“不剥夺条件”:
进程逐个对资源提出请求,当一个已经保持了某些资源的进程,
再提出新的资源请求而不能立即得到满足是,必须释放它已经保
持了的所有资源,待以后需要时再重新申请。
(4)摒弃“环路等待条件”:
所有进程对资源的请求必须严格按照资源序号递增的次序提出。
7、系统处于安全状态,不会死锁;系统处于不安全状态,可能死锁;系统在安全状态与不
安全状态之间不断转换。
8、避免死锁的实质在于:
系统在进行资源分配时,如何使系统不进入不安全状态。
9、利用银行家算法避免死锁
10、死锁与阻塞的区别:
死锁的进程处于阻塞状态,但仅依靠自己,无法继续运行。
11、S为死锁的充分条件是:
当且仅当S状态的资源分配图是不可完全简化的
第4章存储器管理
1、主存用于保存进程运行时的程序和数据,CPU的控制部件只能从主存储器中取得指令和
数据。
2、主存储器的访问速度远低于CPU执行指令的速度,为缓和这一矛盾,引入寄存器和高速
缓存。
3、用户源程序—>可执行程序:
编译、链接、装入
4、程序的装入
(1)绝对装入方式:
编程时直接确定内存地址。
只适用于单道程序环境,逻辑地址与实际
内存地址相同,不用修改数据和程序的地址。
(2)可重定位装入方式:
虚拟技术,编程时使用逻辑地址,运行时使用物理地址,装入时
进行地址重定位。
适用于多道程序环境,又称静态地址重定位。
不允许程序运行时在
内存中移动位置。
软件完成。
(3)动态运行时装入方式:
编程时使用逻辑地址,运行时使用物理地址,运行时进行地址
重定位。
又称静态地址重定位,装入内存后的所有地址仍是相对地址,地址转换推迟到
程序真正要执行时才进行。
硬件支持,软件结合完成。
5、程序的链接
(1)静态链接:
编程时,链接所有模块
n
(2)装入时动态链接:
装入时,链接所有模块
n(3)运行时动态链接:
运行时,根据需要链接模块
6、连续分配方式:
为程序分配一段连续存储空间。
离散分配方式:
为程序分配若干段连续的存储空间。
7、连续分配方式:
单一连续分配、固定分区分配、动态分区分配、动态重定位分区分配
8、单一连续分配存储管理
单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 复习 重点