操作系统复习背完90分系列可圈重点综述.docx
《操作系统复习背完90分系列可圈重点综述.docx》由会员分享,可在线阅读,更多相关《操作系统复习背完90分系列可圈重点综述.docx(75页珍藏版)》请在冰点文库上搜索。
操作系统复习背完90分系列可圈重点综述
第一章操作系统引论
1.1、操作系统的目标和作用
一、目标
1.有效性
a.提高系统资源利用率
b提高系统的吞吐量
2.方便性
a.提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别
3.可扩充性
a.硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作
4.开放性:
a.遵循开放系统互连(OSI)国际标准,实现兼容、互连
二、作用
1.OS是用户使用系统硬件、软件的接口。
a系统命令(命令行、菜单式、命令脚本式);
b系统调用(形式上类似于过程调用,在应用编程中使用)。
c图形用户接口GUI
2.OS是计算机硬件、软件资源的管理者
a管理对象包括:
CPU、存储器、外部设备、信息(数据和软件);
b管理的内容:
资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)
3.OS是扩展机/虚拟机
a.在裸机上添加:
设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU);
b另外,为合理组织工作流程:
作业管理、进程管理。
操作系统的非形式化定义:
系统软件,程序模块的集合,资源管理和用户接口功能
三、推动操作系统发展的主要动力
【需求推动发展】
1.提高资源的利用率和系统性能
2.方便用户:
3.器件的发展:
4.计算机体系结构的不断发展:
1.2、操作系统的发展过程
一、发展过程
1无操作系统的计算机系统
2单道批处理系统
3多道批处理系统
4分时系统
5实时系统
二.手工操作
1、工作方式
用户:
用户既是程序员,又是操作员;
编程语言:
为机器语言;
输入输出:
纸带或卡片;
2、计算机的工作特点
用户独占全机
3、CPU等待用户
CPU利用率低
4、主要矛盾
a、计算机处理能力的提高,手工操作的低效率(造成浪费);
b、用户独占全机的所有资源;
三.单道批处理系统
1自动性。
2顺序性。
3单道性
定义:
系统对作业的处理都是成批的进行
四.多道批处理系统
1、引入多道技术带来的好处
a、提高CPU的利用率。
b、可提高内存和I/O设备利用率。
c、增加系统吞吐量。
定义:
将作业存入队列,按照算法处理。
2、多道技术的优缺点
优点:
a资源利用率高:
CPU和内存利用率较高;
b作业吞吐量大:
单位时间内完成的工作总量大;
缺点:
a用户交互性差:
整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;
b作业平均周转时间长:
短作业的周转时间显著增长;
3、主要特征
a多道:
内存中同时存放几个作业;
b无序性:
都处于运行状态,完成无先后顺序;
c调度性:
1、作业调度;2、进程调度
4、多道批处理系统需要解决的问题
处理机管理问题。
内存管理问题。
I/O设备管理问题。
文件管理问题。
作业管理问题。
5、单道和多道程序运行情况
6、单道和多道的对比
单道
多道
内存使用
每次一个作业
每次多个作业
作业次序
顺序,先进先出
无确定次序
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
五、分时系统
1、分时:
指多个用户分享使用同一台计算机。
多个程序分时共享硬件和软件资源。
2、分时系统的特点
多路性:
多个用户同时使用。
独立性:
对每个用户而言好象独占主机。
及时性:
用户的请求能在其所能接受的等待时间间隔内(时间片)获得响应。
交互性:
在调试和运行程序时由用户自己操作。
3.关键问题
a及时接受
b及时处理
六、实时系统
1.要求:
响应时间短,在一定范围之内;系统可靠性高
2.任务的类型:
a周期性实时任务:
外设周期性地发出激励信号给计算机
b非周期性实时任务:
截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间)
3.实时系统与分时系统特征的比较:
多路性独立性及时性
交互性可靠性
1.3操作系统的基本特征
一、基本特征
1.并发2共享
3虚拟4异步性
二、并发
1.并行性:
指两个或多个事件在同一时刻发生
2.并发性:
是指两个或多个事件在同一时间间隔内发生。
三、共享
1.互斥共享(如音频设备):
资源分配后到释放前,不能被其他进程所用。
2.同时访问(如可重入代码,磁盘文件)
四、虚拟
1.虚拟:
指通过某种技术(分时或分空间)把一个物理实体映射为若干个对应的逻辑实体。
2.实现:
时分复用和空分复用
3.时分复用:
虚拟处理机技术虚拟设备技术
4.空分复用:
虚拟磁盘技术虚拟储存器技术
五、异步性
1.、进程的执行顺序和执行时间的不确定性
六、操作系统的各特征之间的关系
1.并发和共享是操作系统最基本的特征
2.并发和共享互为存在的条件
1.4操作系统的主要功能
一、处理机管理
1.管理目标:
完成处理机资源的分配调度等功能,处理机调度的单位可为进程或线程。
2进程控制:
创建、撤销、挂起、改变运行优先级等--主动改变进程的状态
3.进程同步:
协调并发进程之间的推进步骤,以协调资源共享;--交换信息能力弱
4.进程通信:
进程之间传送数据,以协调进程间的协作;--交换信息能力强
5.调度:
作业和进程的运行切换,以充分利用处理机资源和提高系统性能;--未必是进程控制操作所引起
二、存储管理
1.管理目标:
提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行。
2.内存分配与回收:
3.内存保护:
保证进程间互不干扰、相互保密;
4.地址映射:
进程逻辑地址到内存物理地址的映射;
5.内存扩充:
提高内存利用率、扩大进程的内存空间;
三、设备管理
1.管理目标:
方便的设备使用、提高CPU与I/O设备利用率;提高I/O速度;
2.设备处理:
利用设备驱动程序完成对设备的操作。
3.设备独立性:
提供统一的I/O设备接口
4.设备分配与回收:
在多用户间共享
5.虚拟设备:
设备由多个进程共享,每个进程如同独占。
6.缓冲区管理:
匹配CPU和外设的速度,提高两者的利用率
四、文件管理
1.管理目标:
解决软件资源的存储、共享、保密和保护。
2.文件存储空间管理:
解决如何存放信息,以提高空间利用率和读写性能。
3.目录管理:
解决信息快速检索问题。
4.文件的读写管理和存取控制:
解决信息安全问题。
文件保护:
a.防止未经核准的用户存取文件
b.防止冒名顶替存取文件
c.防止以不正确的方式使用文件
5.软件管理:
软件的版本、相互依赖关系、安装和拆除等
五、用户接口
1.管理目标:
提供一个用户访问操作系统的接口。
2.用户接口:
a.联机用户接口
b.脱机用户接口
c.图形用户接口
3.程序接口
1.5操作系统的结构设计
1、操作系统的设计原则
1.可维护性
a.改错性维护b.适应性维护c.完善性维护
2.可靠性
a.正确性b稳定性
3.可理解性
4.性能
二、整体或模块结构
1.整个系统按功能(服务)进行设计和模块划分。
2.模块结构的特点:
模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程.
3.优点:
具有一定灵活性,运行效率高
缺点:
功能划分和模块接口难保正确和合理;
模块之间的依赖关系复杂,降低了模块之间的相对独立性,不利于修改
4.模块的独立性
模块独立性有以下标准:
(1)、内聚性
(2)、耦合度
5、模块接口法的优缺点
优点:
(1)提高OS设计的正确性、可理解性、可维护性
(2)增强OS的适应性
(3)加速OS的开发过程。
缺点:
(1)很难满足实际需求
(2)在设计阶段,设计者的不能完美设计。
三、分层结构或虚拟机
1.从资源管理观点出发,划分层次。
在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性。
系统每加一层,就构成一个比原来功能更强的虚拟机。
有利于系统的维护性和可靠性。
2.分层结构的特点
a.优点:
功能明确,调用关系清晰
有利于保证设计和实现的正确性
低层和高层可分别实现(便于扩充);
高层错误不会影响到低层;
避免递归调用
b缺点:
系统层次间通信开销大,降低了运行效率
3.分层原则
a.被调用功能在低层:
文件系统管理、设备管理、设备驱动程序
便于利用虚拟存储功能
b活跃功能在低层:
提高运行效率
c资源管理的公用模块放在最低层:
缓冲区队列、堆栈操作
四、客户/服务器模型或微内核结构
1.客户、服务器、网络系统组成客户/服务器模型
2.客户/服务器模型交互:
a.客户发送请求信息
b.服务器接收信息
c.服务器回送信息
d.客户机接收信息
3.优点
a数据分布处理和储存
b便于集中管理
c灵活性和可扩充性
d易于改编应用程序
4.微内核:
将更多操作系统功能放在核心之外,基于服务器客户模型为基础,作为独立的服务进程运行;
5.微内核基本功能:
A进程管理
B低级存储器管理
C中断和陷入处理
6.微内核优点
提高了系统可扩展性
增强了系统的可靠性
可移植性
提供了对分布式系统的支持
7.微内核缺点
消息传递比直接调用效率要低一些
第一章课后习题:
P33
1、13、18
教学重点:
操作系统的基本特征和功能、系统功能调用
教学难点:
系统功能调用
第二章进程管理
2.1进程的基本概念
一:
程序的顺序执行及其特征
1.特征
(1)顺序性:
(2)封闭性:
(3)可再现性:
二:
前驱图
1.前趋图:
是一个有向无循环图,用于描述进程之间执行的前后关系。
每个结点可用于描述一个程序段或进程,乃至一条语句
三.程序的并发执行及其特征
1.程序的并发执行:
2.特征:
1)间断性
2)失去封闭性
3)不可再现性
3.PCB:
进程控制块
四、进程的特征与状态
1.进程的特征
1)结构特征:
进程实体:
PCB、程序段和相关数据段
2)动态性:
由创建而产生,由调度而执行,由撤销而消亡
3)并发性
4)独立性
5)异步性
2.进程的定义:
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
(1)进程是程序的一次执行。
(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
3.进程的三种基本状态
1)就绪(Ready)状态
2)执行状态
3)阻塞状态
4.挂起状态
1)原因
(1)终端用户的请求。
(2)父进程请求。
(3)负荷调节的需要。
(4)操作系统的需要。
2)转换
(1)活动就绪→静止就绪。
(2)活动阻塞→静止阻塞。
(3)静止就绪→活动就绪。
(4)静止阻塞→活动阻塞。
3)创建状态和终止状态
(1)创建状态:
新进程创建PCB,填写必要管理信息
把该进程转入就绪状态
(2)终止状态:
等待操作系统进行善后处理
将PCB清零,并返还系统
五、进程控制块
1.进程控制块的作用
根据PCB来对并发执行的进程进行控制和管理的。
PCB是进程存在的唯一标志!
2.进程控制块中的信息
1)进程标识符
进程标识符用于惟一地标识一个进程。
(1)内部标识符。
在所有的操作系统中,为程
序设定一个进程的序号。
使用对象:
系统
(2)外部标识符。
它由创建者提供往往是由用户(进程)在访问该进程时使用。
2)处理机状态
处理机状态信息主要是由处理机的各种寄存器中的内容组成的。
(1)通用寄存器
(2)指令计数器
(3)程序状态字PSW
(4)用户栈指针
3)进程调度信息
①进程状态
②进程优先级
③进程调度所需的其它信息
④事件
4)进程控制信息
①程序和数据的地址
②进程同步和通信机制
③资源清单
④链接指针
2.2进程控制
进程控制是进程管理中最基本的功能
一:
进程的创建
1.进程图
2.引起创建进程的事件
(1)用户登录。
(2)作业调度。
(3)提供服务。
(4)应用请求。
3.进程的创建
(1)申请空白PCB。
(2)为新进程分配资源。
(3)初始化进程控制块。
(4)将新进程插入就绪队列。
二、进程的终止
1).引起进程终止的事件
(1)正常结束
(2)异常结束
①越界错误②保护错
③非法指令④特权指令错
⑤运行超时⑥等待超时
⑦算术运算错⑧I/O故障。
(3)外界干预
2).进程终止的而过程
(1)从PCB集读出该进程的状态。
(2)对进程状态进行调度。
(3)将其所有子孙进程终止
(4)归还资源
(5)将进程从所在队列中移出
三、进程的阻塞和唤醒
1.引起进程阻塞和唤醒的事件
1)请求系统服务,不能满足
2)启动某种操作,等待完成
3)新数据尚未到达
4)无新工作可做
2.进程阻塞过程和唤醒过程
3.进程的挂起和激活
挂起:
活动就绪状态->静止就绪
活动阻塞状态->静止阻塞
进程正在执行->调度程序重新调度
激活:
将进程从外存调入内存
静止就绪->活动就绪
静止阻塞->活动阻塞
抢占调度策略
2.3进程同步
一、进程同步概念
1.两种形式的制约关系
(1)间接相互制约关系。
(资源共享)
(2)直接相互制约关系。
(进程合作)
2.临界资源
诸进程采取互斥方式访问的资源即为临界资源。
生产者和消费者的问题,理解代码。
P48-49
由于执行顺序的问题,会发生结果错乱,导致失去再现性。
3.临界区
进程中访问临界资源的代码称为临界区
4.同步机制应遵循的规则(进入临界区)
(1)空闲让进。
(2)忙则等待。
(3)有限等待。
(4)让权等待。
二、信号量机制
1.整型信号量
整型信号量定义为一个用于表示资源数目的整型量
使用原子操作:
wait(S)、signal(S)
wait(S):
whileS≤0dono-op
S∶=S-1;
申请一个资源P操作
signal(S):
S∶=S+1;
释放一个资源V操作
2.记录型信号量
整型信号量机制未遵循“让权等待”的准则
增加一个进程链表L,用于链接上述的所有等待进程。
采用了记录型的数据结构
typesemaphore=record
value:
integer;
L:
listofprocess;
end
procedurewait(S)
varS:
semaphore;
begin
S.value∶=S.value-1;
ifS.value<0thenblock(S,L)
end
//请求一个单位的该类资源,S.value<0时
资源已分完,进程调用block,自我阻塞
放弃处理机,并插入到信号量链表S.L中。
proceduresignal(S)
varS:
semaphore;
begin
S.value∶=S.value+1;
ifS.value≤0thenwakeup(S,L);
end
//释放一个单位资源,S.value≤0,该信号
量链表中,有进程被阻塞,调用wakeup
将S.L链表中的第一个等待进程唤醒
此时S.value的绝对值表示在该信号量链表中已阻塞进程的数目。
3.AND型信号量
一个进程要多个共享资源方能执行的情况
(1)AND同步机制的基本思想
对若干个临界资源的分配,采取原子操作方式:
要么全部分配到进程,要么一个也不分配。
(2)同时wait操作
同时signal操作
4.信号量集
一个进程需N个资源,S为信号量,d为需求之,t下限值
Swait(S,t,d)
(1)Swait(S,d,d)
(2)Swait(S,1,1)
(3)Swait(S,1,0)
三、信号量的应用
1.利用信号量实现进程互斥
Wait()和signal()必须成对出现
2.利用信号量实现前趋关系
(1)执行完S1,使资源S+1
(2)S2才能执行
(3)同理..
课后习题:
P82:
题22
3:
信号量以及P、V意义:
例:
P、V解决消费者和生产者问题
S1:
进程不能向“满“的缓冲区放产品
P(S1)意思,申请向缓冲区放入一个产品
V(S2)意思,可以向缓冲区中取一个产品
S2:
进程不能向“空“的缓冲区取产品
P(S2)意思,申请向缓冲区中取一个产品
V(S1)意思,可以向缓冲区放入一个产品
例:
司机和售票员之间的同步关系
司机只有在售票员关车门后,才能启动汽车。
售票员只有在司机到站停车后,才能开车门。
Semaphoreclose=0,stop=0;
2.4、经典进程的同步问题
一、生产者—消费者问题
1.生产者—消费者问题是相互合作的进程关系的一种抽象
(1)互斥信号量mutex实现诸进程对缓冲池的互斥使用;
(2)利用信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量
(3)必须注意的问题:
A、wait()和signal()必须成对地出现
B、资源信号empty和full必须成对地出现
C、多个wait操作顺序不能颠倒。
否则引起死锁
2.利用AND信号量解决生产者—消费者问题
例:
假定系统有3个并发进程get、copy和put共享缓冲器B1和B2。
进程get负责从输入设备上读信息,每读出一条记录后放到B1中。
进程copy从缓冲器B1中取出一条记录拷贝后存入B2。
进程put取出B2中的记录打印输出。
B1和B2每次只能存放一条记录。
要求3个进程协调完成任务,使打印出来的与读入的记录个数、次序完全一样。
请用记录型信号量写出并发程序。
答:
设置4个信号量,其中empty1对应空闲的缓冲区B1,其初值为1;full1对应缓冲区B1中的记录,其初值为0;empty2对应空闲的缓冲区B2,其初值为1;full2对应缓冲区B2中的记录,其初值为0。
相应进程描述为:
get(){
while
(1){
从输入设备读入一条记录;
P(empty1);
将记录存入缓冲区B1;
V(full1);
}
}
copy(){
while
(1){
P(full1);
从缓冲区B1中取出一条记录;
V(empty1);
P(empty2);
将取出的记录存入缓冲区B2;
V(full2);
}
}
put(){
while
(1){
P(full2);
从缓冲区B2中取出一条记录;
V(empty2);
将取出的记录打印出来;
}
}
Main(){
parbegin(get,copy,put);
}
二、哲学家进餐问题
1.利用记录型信号量解决哲学家进餐问题
临界资源
semaphorechopstick[5];
每个信号量表示一只筷子,都初始化为1
然后不停等待空置的筷子
2.利用AND信号量机制解决哲学家进餐问题
PPT,第二章122
Sswait(chopstick[(i+1)mod5],
chopstick[i]);
3.读者写者问题
PPT,第二章123
Varrmutex,wmutex:
semaphore∶=1,1;
Readcount:
integer∶=0;
begin
parbegin
Reader:
begin
repeat
wait(rmutex);//申请读取
ifreadcount=0thenwait(wmutex);//因为readcount==0
//所以wait(wmutex)让其写
Readcount∶=Readcount+1;
signal(rmutex);//此时是增加操作
…
performreadoperation;
…
wait(rmutex);
readcount∶=readcount-1;
//此时是退出-1操作
ifreadcount=0thensignal(wmutex);//最后一个退出临界区的读
signal(rmutex);//进程才须执行signal操作
untilfalse;
end
writer:
begin
repeat
wait(wmutex);
performwriteoperation;
signal(wmutex);
untilfalse;
end
parend
end
习题P82
•22(b)
•23
•24
•25
2.5进程通信
一、低级通信和高级通信
1.低级通信:
只能传递状态和整数值(控制信息)
优点:
速度快
缺点:
(1)效率低
(2)通信对用户不透明
2.高级通信:
能够传送任意数量的数据
(1)共享存储区
(2)管道(3)消息。
二、进程通信的类型
1.共享存储器系统
(1)基于共享数据结构的通信方式。
(2)基于共享存储区的通信方式。
2.共享存储区的建立与操纵
1)共享存储区的建立
A、进程要利用共享存储区通信时
B、调用shmget()建立一块共享存储区
C、提供名字和字节长度等参数
D、若已建立,则返回共享区描述符shmid;
E、若未建立,便为建立共享存储区。
2)共享存储区的操作
用shmctl()系统调用对共享存储区的状态信息进行查询
3).共享存储区的附接与断开
A系统调用shmat()将该共享存储区进程的虚地址shmaddr上
B系统调用shmdt()把该区与进程断开。
3.管道通信