操作系统复习整理提纲.docx
《操作系统复习整理提纲.docx》由会员分享,可在线阅读,更多相关《操作系统复习整理提纲.docx(29页珍藏版)》请在冰点文库上搜索。
![操作系统复习整理提纲.docx](https://file1.bingdoc.com/fileroot1/2023-7/6/099862fe-725b-465f-985e-610dd4741b97/099862fe-725b-465f-985e-610dd4741b971.gif)
操作系统复习整理提纲
第2章操作系统硬件环境
2.1.2处理机状态
1.特权指令和非特权指令
(1)特权指令:
是指在指令系统中那能由操作系统使用的指令。
(2)用户只能执行非特权指令,只有操作系统才可以使用系统所有指令(包括非特权和特权)。
(3)指令系统分为:
特权指令和非特权指令。
2.处理机状态
(1)多数系统将处理机工作状态分为:
管态和目态。
(2)管态:
一般指操作系统管理程序时的状态,具有较高的特权级别,又称为特权态(特态)、系统态。
(3)目态:
一般指用户程序运行时的状态,具有较低的特权级别,又称为普通态(普态)、用户态。
(4)当处理机处于管态时,全部指令(包括特权指令)可以执行,可以使用所有资源,并具有改变处理机状态的能力。
(5)当处理机处于目态时,就只有非特权指令能执行。
(6)特权级别越高,可以指向的指令集合越大,而且高特权级别对应的可运行指令集合包含低特权级的可运行指令集。
第3章操作进程与进程的管理
3.1进程的引入
1.引入目的:
为了解决不可再现性引入(PCB)进程控制器来解决。
3.1.4多道程序设计
2.多道程序设计
(1)定义:
在采用多道程序设计的计算机系统中,允许多个程序同时进入一个计算机系统的内存并运行。
(2)例题:
P53
3.2进程
3.2.1进程概念
1.进程定义:
进程是具有独立功能的可并发执行的程序在一个数据集合上的运行过程,是系统在资源分配和调度的独立单位。
(1)程序在处理机上执行时所发生的活动成为进程。
(2)进程是一个程序及其数据在处理机上顺序执行所发生的活动。
(3)进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。
(4)进程是进程实体的运行过程。
(5)进程是可以和别的计算并发执行的计算。
2.程序与进程的区别和联系
区别:
(1)进程是程序的一次执行,它是一个动态的概念。
程序是完成某个特定功能的指令的有序序列,它是一个静态的过程。
(2)进程可以执行一个或几个程序。
(3)进程是系统进行资源分配和调度的一个独立单位;程序则不是。
(4)程序可以作为一种软件资源长期保护,而进程是程序的一次执行过程。
联系:
进程是具有结构的。
3.进程的特征
(1)动态性
(2)并发性
(引入程序的目的也正是为了使其程序的执行能和其他程序的执行并发执行,而程序是不能并发执行的。
)
(3)独立性
(4)异步性
(5)结构特征
进程实体是由程序段、数据段及进程控制块三个部分组成。
3.2.2进程的基本状态及其转换
4.进程的基本状态及其转换
(1)进程的三种状态
1 就绪状态:
当进程已分配到除处理机以外的所有必要资源(内存,I/O,设备,唯独CPU资源不给它)后,只要能再有处理机便可立刻执行。
2 执行状态/运行状态:
指进程已获得处理机,其程序正在执行。
3 阻塞状态:
进程因发生某种事件而暂停执行时的状态,或进程的执行受到阻塞。
(2)进程状态的转换
1 就绪—>执行状态:
当进程调度为处于就绪状态的进程分配了处理机后。
2 执行—>阻塞状态:
正在执行的进程因出现某种事件而无法执行。
3 执行—>就绪状态。
4 阻塞—>就绪状态:
处于阻塞状态的进程,在其等待的事件已经发生。
注意点:
✓进程诞生开始就属于就绪态。
✓阻塞状态不占用CPU资源,执行状态占用CPU资源。
✓不能一下子从阻塞到执行。
✓阻塞状态—>执行状态占用内存。
✓阻塞状态占用内存资源。
(3)进程的挂起状态
1 活动就绪—>静止就绪:
当进程处于未被挂起的就绪状态时。
suspend()
2 活动阻塞—>静止阻塞:
当进程处于未被挂起的阻塞状态时。
suspend()
3 静止就绪—>活动就绪:
处于静止就绪状态的进程。
active()
4 静止阻塞—>活动阻塞:
处于静止阻塞状态的进程。
active()
注意点:
✓静止阻塞没办法直接运行,静止就绪有机会执行。
✓在内存充足时应该分配给静止就绪。
✓活动就绪时进程处于内存,活动阻塞时阻塞态在内存,静止就绪时进程处于外存,静止阻塞时阻塞态处于外存。
✓只可以执行—>活动阻塞,不可以活动阻塞—>执行。
✓处于静止就绪状态的进程不再被调度执行。
✓活动阻塞和活动就绪在内存不够时应该先挂哪一个?
活动就绪,因为活动静止只差一个CPU就可以运行。
✓引入挂起的目的:
(从内存移到外存)转移阻塞态内存资源
3.23进程控制块
5.进程控制块
(1)进程控制块PCB是进程实体的一部分,是操作系统中最重要的数据结构。
PCB记录了操作系统所需的、用于描述进程情况及控制进程运行所需的全部信息。
(2)进程控制块PCB是进程存在的唯一标准。
(3)当系统创建一个新进程时就为它建立一个进程控制块PCB,当进程结束时,又收回其PCB,进程也随之消亡。
(4)作用:
使一个在多道程序环境下不能独立运行的程序(含数据),成为一个独立的基本单位,一个能与其他进程并发执行进程。
也就是说,系统是根据PCB来对并发执行的进程进行控制和管理的。
(5)进程控制块的组织方式:
链接方式,索引方式。
3.24进程控制
6.进程控制
(1)操作系统内核通常是运行在系统态(管态又叫系统态)的。
(2)(名词解释)内核:
是计算机硬件的一层扩充软件,它们为系统对进程进程控制、对存储器进行管理提供了有效的机制。
是计算中最核心的部分。
(3)(名词解释)原子操作:
由若干条机器指令构成用以完成特点指令的一段程序,一个操作中的动作,要么全做,要么不做。
3.3进程调度
3.3.1调度基本概念
1.调度的定义:
在一个队列中,按照某种方式(算法),选择一个合适的个体。
2.调度分为:
高级调度(又称作业调度),低级调度(又称进程调度),中级调度。
3.高级和中级(外存—>内存),低级(内存—>CPU).
4.进程调度的方式:
非剥夺方式,剥夺方式。
3.3.2进程调度算法
1.先进先出算法(FIFO):
T=(A+(A+B)+(A+B+C)+(A+B+C+D)+(A+B+C+D+E))/5
2.最短时间处理机运行优先调度算法
T=(最短1+(最短1+最短2)+(最短1+最短2+最短3)+(最短1+最短2+最短3)+(最短1+最短2+最短3+最短4)+(最短1+最短2+最短3+最短4+最短5))/5
3.优先级调度算法
T=(优先数1+(优先数1+优先数2)+(优先数1+优先数2+优先数3)+(优先数1+优先数2+优先数3)+(优先数1+优先数2+优先数3+优先数4)+(优先数1+优先数2+优先数3+优先数4+优先数5))/5
3.4线程的基本概念
1.引入进程的目的:
使多个程序并发执行以改善资源利用率及提高系统的吞吐量;引入线程的目的:
为了减少程序并发执行时所付出的时空开销,使操作系统具有良好的并发性。
2.进程的两个属性:
一是可以拥有资源的独立单位,同时又是一个可以独立调度和分派的基本单位。
3.定义:
线程是进程的一个实体,是被系统独立调用和分派的基本单位。
4.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程的全部资源。
一个线程可以创建和撤销另一个线程;同一进程中的多个线程之间可以并发执行。
5.线程与进程的比较:
(1)调度。
在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程,而在引入线程的操作系统中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位。
在同一进程中,线程的切换不会引起进程切换;在由一个进程中的线程切换到另一个进程中的线程时,将会引起进程切换。
(2)并发性。
在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程亦可以并发执行,因而使操作系统具有更好的并发性,从而能够更有效地使用到资源和提高系统吞吐量。
(3)拥有资源。
进程都是拥有资源的一个独立单位,它可以拥有自己的资源。
而线程一般不拥有自己系统资源,但它可以访问其隶属进程的资源。
(4)系统开销。
进程切换的开销远大于线程切换的开销。
第4章进程同步与通信
4.1进程的相互作用
4.1.1进程间的联系
1.进程之间存在的关系:
资源共享关系,相互合作关系
2.临界资源:
(1)(名词解释)定义:
同一时刻只允许一个进程访问的资源。
(2)生产者—消费者问题(进程同步)
semaphonemutex=1,empty=n,full=0;
//full:
满缓冲区单元个数,empty:
控缓冲区单元个数,mutex:
互斥
itembuffer[n];
intin=out=0;//初始化,指向一个缓冲器
voidproducer(inti)
{
while
(1)
{
produceraniteminnextp;//生产一个数据
wait(empty);//空缓冲区数量+1
wait(mutex);//进入临界区
buffer[in]=nextp;//将一个数据进入缓冲区
in=(in+1)modn;//修改in指针
signal(mutex);//退出临界区
signal(full);//将满缓冲区数量+1
}
}
voidconsumer(intj)
{
while
(1)
{
wait(full);//满缓冲区数量-1
wait(mutex);//进入临界区
nextc=buffer[out];
out=(out+1)modn;
signal(mutex);
signal(empty);
consumertheiteminnextc;
}
}
main()
{
cobegin
{
producer
(1);
producer(n);
consumer
(1);
consumer(m);
}
}
3.临界区(名词解释)定义:
把在美国进程中访问临界资源的那段代码称为临界区。
4.同步机制应遵循的准则:
空闲让进,忙则等待,有限等待,让权等待。
4.1.4信号量机制
1.分为:
整型信号量机制,记录型信号量机制
2.信号量机制分为;AND型信号量集机制,一般“信号量集”机制。
3.当一个进程在修改某个信号量时,没有其他进程可同时对该信号量进行修改:
voidwait(staticsemaphores)
{
s.value--;
if(s.value<0)//进程阻塞,进程进入s.L队列
block(s.L);
}
voidsignal(staticsemaphores)
{
s.value++;
if(s.value<=0)//唤醒队首进程,将进程从s.L阻塞队列中唤醒
wakeup(s.L);
}
4.信号量mutex>1是资源信号量,mutex=1是互斥信号量。
5.wait(mutex);//申请资源,signal(mutex);//释放资源
6.PPT里面S.value看
7.AND同步机制的基本思想:
对若干个临界资源的分配采取原子操作方式,要么全部分配到进程,要么一个也不分配。
8.生产者—消费者问题
(1)互斥:
生产者与生产者,生产者与消费者,消费者与消费者,生产者与消费者
(2)申请的必须是一个空的,释放的是一个满的。
(3)只有在缓冲全满或缓冲全空的情况下,指针in和out才会指向同一缓冲。
4.3死锁
1.死锁(名词解释)定义:
是指在多道程序系统中,一组进程中的每一个进程均无限期地等待被该组进程中的另一个进程占用且永远不会释放资源。
2.产生死锁的原因:
一是竞争资源,二是进程推进顺序不当。
3.产生死锁的必要条件:
互斥条件,请求和保持条件,不剥夺条件,环路等待条件。
4.解决死锁的办法:
预防死锁,避免死锁,检测死锁,解除死锁。
5.预防死锁:
摒弃“请求和保持”条件,摒弃“不剥夺”条件,摒弃“环路等待”条件。
6.避免死锁:
银行家算法(P124)
第5章存储器管理
5.1概述
1.存储器管理讨论的主要对象是内存。
2.存储管理的任务:
地址转换,内存的分配和回收,内存的地址保护,内存的共享,内存的扩充。
(这里所说内存的扩充不是硬件设备上的扩充,而是用虚拟技术来实现逻辑上的扩充,即虚拟存储概念。
)
3.存储管理方式可以分为连续分配方式和离散分配方式。
5.2连续存储管理方式
1.单一连续分配只能用于单用户、单任务的操作系统中。
5.4分页存储管理
1.基本思想:
在分页存储管理中将程序的逻辑地址空间和内存空间按相同长度为单位进行等量划分。
2.页表的作用:
是实现从页号到物理块号的地址映射。
3.为了提高存储速度,在地址变换机构中增设了一个具有并行查寻能力的特殊高速缓存存储器。
4.分页和分段的主要区别:
(1)页是信息的物理单位,分页是为了系统管理内存的方便而进行的。
故对用户而言,分页是不可见的,是透明的;段是信息的逻辑单位,分段是程序逻辑上的要求,对用户而言,分段是可见的。
(2)页的大小是固定的,由系统决定;段的大小是不固定的,由用户程序本身决定。
(3)从用户角度看,分页的地址空间是一维的,而段的地址空间是二维的。
第6章虚拟存储器管理
虚拟存储器管理分为分页虚拟存储管理,分段虚拟存储管理,基本思想;程序的局部性原理(时间局部性和空间局部性)。
6.1概述
1.虚拟存储器就是使用虚拟技术从逻辑上对存储器进行扩充。
2.程序在执行过程中呈现局部性原理。
3.局部性原理:
在几乎所有程序的执行中,一段时间内往往呈现出高度的局部性,即程序对内存的访问是不均匀的,表现在时间和空间两个方面。
4.虚拟存储技术(名词解释):
指根据程序运行的局部性规律,将程序中当前正在使用的部分装入内存,而将其与部分暂时存放在外存。
6.2分页虚拟存储管理
1.缺页终端与一般终端的区别:
(1)在指令执行期间产生和处理中断信号。
(2)一条指令在执行期间,可能产生多次缺页中断。
2.地址变换机构:
目的将逻辑地址转换成物理地址。
3.页面置换算法
(1)最佳置换算法,最理想的算法。
(2)先进先出算法,会出现抖动现象。
(3)最近最久未使用算法(LRU)
4.抖动问题
(1)产生抖动的原因:
缺页中断。
(2)预防抖动的方法:
采用局部置换策略,采用工作集算法防止抖动,利用“L=S”准则调节缺页率,挂起某些进程。
6.3分段虚拟存储管理
第7章虚拟存储器管理
7.1概述
1.操作系统为用户提供了两类接口:
命令接口和用户接口。
2.接口:
是指操作系统为用户提供的人机交互界面。
3.命令接口又分为联机命令接口和脱机命令接口。
7.3系统调用
1.引入目的:
这些特权指令只能用于操作系统或其他系统,不能直接提供给用户使用。
2.系统调用(名词解释)定义:
由操作系统提供的这些子程序称为“系统功能调用”程序,或简称“系统调用”。
3.系统调用与一般过程调用的区别:
(1)系统调用通过软中断进入。
(2)运行在不同的处理机状态,调用程序运行在目态,而被调用程序运行在管态。
(因为调用里面有特权指令,所有从目态—>管态。
)
(3)处理机状态的转换。
一般的过程调用不涉及系统状态的转换,可直接由调用过程序转向被调用程序。
但在运行系统调用时,由于调用和被调用过程工作在不同的系统状态,因而不允许由调用过程直接转向被调用过程,通常都是用过软中断机制先由目态转换成管态。
(4)返回问题。
(5)嵌套调用。
4.系统调用程序是操作系统程序模块的一部分,且不能直接被用户程序调用。
第8章文件管理(看书)
//批注:
红色是必考题,蓝色是补充。
题库:
简答题:
什么是操作系统?
它有什么基本特征?
操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
操作系统的基本特征是:
并发、共享和异步性。
操作系统的含义及其功能是什么?
1)、含义:
OS是一组系统软件,它是软硬件资源的控制中心,它以尽量合理有效的方法组织多个用户共享计算机的各种资源。
2)功能:
管理计算机的软硬件资源(包括:
处理机管理,作业管理,存储管理,设备管理,文件管理)、提高资源的利用率、方便用户。
叙述操作系统的含义及其功能,并从资源管理角度简述操作系统通常由哪几部分功能模块构成,以及各模块的主要任务。
答:
1)、OS是一个系统软件,是控制和管理计算机系统硬件和软件资源,有效、合理地组织计算机工作流程以及方便用户使用计算机系统的程序集合。
2)功能:
管理计算机的软硬件资源、提高资源的利用率、方便用户。
3)组成模块:
(1)、处理机管理(或进程管理):
对CPU的管理、调度和控制。
(2)、存储管理:
管理主存的分配、使用和释放。
(3)、设备管理:
管理设备的分配、使用、回收以及I/O控制。
(4)、文件管理:
管理外存上文件的组织、存取、共享和保护等。
(5)、作业管理:
对作业的管理及调度。
(或用户接口,使用户方便的使用计算机)
什么是多道程序设计技术
多道程序设计技术就是在系统(内存)中同时存放并运行多道相互独立的程序(作业),主机以交替的方式同时处理多道程序。
它是一种宏观上并行,微观上串行的运行方式。
分时系统和实时系统有什么不同?
答:
分时系统通用性强,交互性强,及时响应性要求一般(通常数量级为秒);实时系统往往是专用的,系统与应用很难分离,常常紧密结合在一起,实时系统并不强调资源利用率,而更关心及时响应性(通常数量级为毫秒或微秒)、可靠性等。
中断处理的过程一般有哪几步?
中断处理步骤:
响应中断,保存现场;分析中断原因,进入中断处理程序;处理中断;恢复现场,退出中断。
什么是进程?
什么是线程?
它们的关系是什么?
进程是一个具有一定独立功能的程序关于某个数据集合的一次可以并发执行的运行活动。
线程是进程内可以并行执行的单位,即处理机调度的基本单位。
它们的关系是:
一个线程只能属于一个进程,而一个进程可以有多个线程;资源分配给进程,同一进程的所有线程共享该进程的所有资源;处理机分给线程,即真正在处理机上运行的是线程;线程在运行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步。
进程调度的主要功能是什么?
保存当前正在运行进程的现场;
从就绪队列中挑选一个合适的进程(使用一定的调度算法),将其状态改为运行态,准备分配CPU给它;为选中的进程恢复现场,分配CPU。
简述优先级调度算法的实现思想?
答:
从就绪队列中选出优先级最高的进程,把CPU分配给它;
非抢占式优先级法是当前占用CPU的进程一直运行直到完成任务或阻塞才让出CPU,调度优先级高的进程占用CPU。
抢占式优先级法是当前进程在运行时,一旦出现一个优先级更高的就绪进程,调度程序就停止当前进程的运行,强将CPU分给那个进程。
简述时间片轮转(RR)调度算法的实现思想?
答:
系统把所有就绪进程按先入先出的原则排成一个队列,新来的进程加到就绪队列末尾。
每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU中运行一个时间片的时间。
当进程用完分配给它的时间片后,调度程序便停止该进程的运行,并把它放入就绪队列的末尾;然后,把CPU分配给就绪队列的队首进程。
进程间同步和互斥的含义是什么?
同步:
并发进程之间存在的相互制约和相互依赖的关系。
互斥:
若干进程共享一资源时,任何时刻只允许一个进程使用。
进程调度的主要功能是什么?
保存当前正在运行进程的现场;
从就绪队列中挑选一个合适的进程(使用一定的调度算法),将其状态改为运行态,准备分配CPU给它;
为选中的进程恢复现场,分配CPU。
存储管理的基本任务是什么?
(1)管理内存空间;
(2)进行虚拟地址(或:
逻辑地址)到物理地址的转换;
(3)实现内存的逻辑扩充;
(4)完成内存信息的共享和保护。
存储管理的主要功能是什么?
答:
存储管理的主要功能是解决多道作业的主存空间的分配问题。
主要包括:
(1)内存区域的分配和管理:
设计内存的分配结构和调入策略,保证分配和回收。
(2)内存的扩充技术:
使用虚拟存储或自动覆盖技术提供比实际内存更大的空间。
(3)内存的共享和保护技术。
除了被允许共享的部分之外,作业之间不能产生干扰和破坏,须对内存中的数据实施保护。
1、解释下列与存储管理有关的名词:
(1)地址空间与存储空间
答:
目标程序所在的空间称为地址空间,即程序员用来访问信息所用的一系列地址单元的集合;存储空间是指主存中一系列存储信息的物理单元的集合。
(2)逻辑地址与物理地址
答:
在具有地址变换机构的计算机中,允许程序中编排的地址和信息实际存放在内存中的地址有所不同。
逻辑地址是指用户程序经编译后,每个目标模块以0为基地址进行的顺序编址。
逻辑地址又称相对地址。
物理地址是指内存中各物理存储单元的地址从统一的基地址进行的顺序编址。
物理地址又称绝对地址,它是数据在内存中的实际存储地址。
(3)虚地址与实地址
答:
虚地址同逻辑地址,实地址同物理地址。
(4)地址重定位
答:
重定位是把逻辑地址转变为内存的物理地址的过程。
根据重定位时机的不同,又分为静态重定位(装入内存时重定位)和动态重定位(程序执行时重定位)。
2、何谓系统的“抖动”现象?
当系统发生“抖动”时,你认为应该采取什么措施来加以克服。
答:
“抖动”是指内外存交换频繁使效率下降的现象(刚调出的页马上又要调入,所造成页面的频繁转换现象)抖动现象与内存中并发的用户进程数以及系统分配给每个用户的物理块数有关.减少抖动的方法有:
采取局部置换策略、在CPU调度中引入工作集算法、挂起若干进程等。
简述什么是内存的覆盖和交换技术?
两者有什么区别?
答:
在多道系统中,交换是指系统把内存中暂时不能运行的某部分作业写入外存交换区,腾出空间,把外存交换区中具备运行条件的指定作业调入内存。
交换是以时间来换取空间,减少对换的信息量和时间是设计时要考虑的问题。
由于CPU在某一时刻只能执行一条指令,所以一个作业不需要一开始就全装入内存,于是将作业的常驻部分装入内存,而让那些不会同时执行的部分共享同一块内存区,后调入共享区的内容覆盖前面调入的内容,这就是内存的覆盖技术。
两者的区别主要有:
交换技术由操作系统自动完成,不需要用户参与,而覆盖技术需要专业的程序员给出作业各部分之间的覆盖结构,并清楚系统的存储结构;交换技术主要在不同作业之间进行,而覆盖技术主要在同一个作业内进行;另外覆盖技术主要在早期的操作系统中采用,而交换技术在现代操作系统中仍具有较强的生命力。
分页式和分段式内存管理有什么区别?
分页是出于系统管理的需要,分段是出于用户应用的需要。
一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。
页大小是系统固定的,而段大小则通常不固定。
逻辑地址表示:
分页是一维的,各个模块在链接时必须组织成同一个地址空间;分段是二维的,各个模块在链接时可以每个段组织成一个地址空间。
通常段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。
何谓文件系统?
为何要引入文件系统?
文件系统所要解决的问题(功能)主要有哪些?
文件系统是指负责存取和管理文件信息的机构,也就是负责文件的建立、撤销、组织、读写、修改、复制及对文件管理所需