操作系统 复习.docx
《操作系统 复习.docx》由会员分享,可在线阅读,更多相关《操作系统 复习.docx(23页珍藏版)》请在冰豆网上搜索。
![操作系统 复习.docx](https://file1.bdocx.com/fileroot1/2023-4/16/a2b1e3f1-8a43-4a6c-b3e8-eb97b3a4968c/a2b1e3f1-8a43-4a6c-b3e8-eb97b3a4968c1.gif)
操作系统复习
三条主线:
一、操作系统的功能:
资源管理+接口
二、操作系统的实现:
数据结构+算法
三、一个进程的生命周期
进程是有生命周期的,产生、运行、暂停、终止。
对进程的这些操作叫进程控制。
贯穿始终的一些概念:
时间与空间
逻辑与物理
第一章:
1、什么是OS,操作系统的功能。
OS是计算机系统资源的管理者
处理机管理:
用于分配和控制处理机(对进程、线程的管理);
存储器管理:
主要负责内存的分配与回收;
I/O设备管理:
负责I/O设备的分配与操纵;
文件管理:
负责文件的存取、共享和保护。
2、了解操作系统的发展过程,了解分时系统、实时系统、批处理系统及特点。
分时系统:
是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可以通过自己的终端以交互方式使用计算机。
(1)多路性
(2)独立性(3)及时性(4)交互性
实时系统:
是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
(1)多路性
(2)独立性(3)及时性(4)交互性(5)可靠性。
单道批处理:
是指系统中有一个监控程序,它负责完成用户程序的调入、启动运行、输出运行结果等工作。
(1)自动性
(2)顺序性(3)单道性
3、理解多道程序设计概念。
4、现代操作系统的特点。
并发共享异步虚拟
5、操作系统的作用,操作系统作为硬件与用户间接口的观点。
*操作系统作为计算机系统资源的管理者。
*操作系统是用户与计算机硬件之间的接口,操作系统向用户提供各种服务。
*操作系统实现了对计算机资源的抽象,扩充了机器功能。
第二章:
进程管理
1、理解并发与并行的区别与联系。
并发:
同一个cpu上在多个程序间切换运行多个程序
并行:
每个cpu运行一个程序
宏观上两者都是同时执行。
2、程序与进程及线程的关系。
程序是一组用计算机语言编写的命令序列的集合。
进程是已运行程序的实体,是线程的容器。
线程是进程中某个单一顺序的控制流,指运行中的程序的调度单位。
不能单独执行,必须组成进程。
一个程序至少有一个进程,一个进程至少有一个线程。
3、原语及原语的特点和作用。
原语:
一种特殊的、执行时不可中断的系统调用
作用:
实现进程的通信和控制
4、PCB及重要作用,需要联系操作系统每一章来理解。
进程控制块PCB是操作系统为描述和控制进程运行为每个进程定义的数据结构。
PCB作为进程实体的一部分,记录了操作系统所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的记录型数据结构。
OS是根据PCB来对并发执行的进程进行控制和管理的。
PCB的作用
(1)作为独立运行基本单位的标志。
PCB成为进程存在于系统中的唯一标志。
(2)能实现间断性运行方式。
PCB保存运行时CPU现场信息。
(3)提供进程管理所需要的信息。
PCB中保存了进程资源信息。
(4)提供进程调度所需要的信息。
PCB中保存了进程状态、优先级等信息。
(5)实现与其它进程的同步与通信。
PCB中设置信号量、用于进程通信的区域或通信队列指针。
5、进程的基本状态及状态间的转换,需要联系其它章节的内容。
(1)就绪(Ready)状态:
当进程已分配到除CPU以外的所有资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。
(2)执行(Running)状态:
进程已获得CPU,程序正在执行。
(3)阻塞(Block)状态:
正在执行的进程由于发生某事件而暂时无法继续执行时,放弃处理机而处于暂停状态,称为阻塞状态(等待/封锁状态)。
6、了解进程控制,包括引起进程控制的事件及进程控制的操作。
进程的创建
(1)申请空白PCB
(2)为新进程分配资源
(3)初始化进程控制块
(4)将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列
引起事件(1-3系统内核创建4基于用户需求创建)
(1)用户登录
(2)作业调度
(3)提供服务
(4)应用请求
进程的终止
(1)根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态。
(2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。
(3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。
(4)将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。
(5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其他程序来搜集信息。
引起事件
(1)正常结束
(2)异常结束(进程运行期间,出现某些错误和故障)
(3)外界干预(操作员、操作系统、父进程请求、父进程终止)
进程的阻塞与唤醒
(1)向系统请求共享资源失败
(2)等待某种操作的完成
(3)新数据尚未到达
(4)无新工作可做
7、理解信号量的作用,及对信号量的PV操作(信号量值的变化),会用信号量解决进程同步问题(包括前趋图和进程同步与互斥)。
保证两个或多个关键代码段不被并发调用。
整型信号量:
整型量S仅能通过原子操作wait(S)和signal(S)来访问分别被称为P、V操作
wait(S)
{
while(S≤0);/*dono-op*/
S--;
}
signal(S)
{
S++;
}
进程同步问题
1、有一阅览室,共有100个座位。
读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。
读者离开时要消掉登记内容。
试用P、V操作描述读者进程的同步结构。
var
mutex:
semaphere;信号量,用于互斥
full:
semaphere;信号量,用于同步
table:
array0..n-1ofitem;登记表
procedurereader;读者进程
begin
P(full);
P(mutex);
Register_name(table);
V(mutex);
Reading;
P(mutex);
Delet_name(table);
V(mutex);
V(full)
end;
begin
seminitsal(mutex.v,1;full.v,100);初始化
cobegin
reader;
reader;
...
coend
end.
2、设公共汽车上有一位司机和一位售票员,它们的活动如下:
司机:
售票员:
启动车辆售票
正常行车开车门
到站停车关车门
请分析司机与售票员之间的同步关系,如何用PV操作实现。
答:
为了安全起见,显然要求:
关车门后才能启动车辆;到站停车后才能开车门。
所以司机和售票员在到站、开门、关门、启动车辆这几个活动之间存在着同步关系。
用两个信号量close,open以开车和可以开门,close,open=0,PV操作实现司机进程和售票员进程同步的算法描述如下:
⏹Semaphoreclose=0,stop=0;
⏹driver(){/*司机*/
while(True){
P(close);
启动车辆;
正常行车;
到站停车;
V(stop);
}
}
⏹Conductor(){/*售票员*/
while(True){
关车门;
V(close);
售票;
P(stop);
开车门;
上下乘客;
}
}
3、桌上有一个盘子,每次只能放入一个水果。
爸爸专向盘子中放苹果,妈妈专向盘子中放桔子,一个儿子专等吃盘子中的桔子,一个女儿专等吃盘子里的苹果。
试用PV操作实现四个人的同步,并写出程序描述。
Main()
{
SemaphoreS空=1;
SemaphoreS苹果=0;
SemaphoreS桔子=0;
cobegin
father();
mother();
son();
daughter();
coend
}
father()
{
while(..){
p(S空);
放苹果;
v(S苹果);
}
}
mother()
{
while(..){
p(S空);
放桔子;
v(S桔子);
}
}
son()
{
while(..){
p(S桔子);
吃桔子;
v(S空);
}
}
daughter()
{
while(..){
p(S苹果);
吃苹果;
v(S空);
}
}
8、理解临界资源的概念。
各进程采取互斥的方式,实现共享的资源称作临界资源(一次仅允许一个进程使用的资源称为临界资源)
9、进程调度方式,进程调度算法,会计算周转时间、带权周转时间。
(1)非抢占方式(处理机一旦分配,不允许其他进程强占处理机):
优点:
实现简单、系统开销小
缺点:
难以满足紧急任务
(2)抢占方式:
时间片、优先权、短进程优先
优点:
公平、能满足实时任务
缺点:
系统开销大
1、先来先服务(FCFS)
2、短进程优先(SPF)
周转时间=等待时间+运行时间
带权周转时间=周转时间÷运行时间
10、死锁的概念,产生死锁的原因、必要条件,解决死锁问题的方法,银行家算法。
多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。
产生死锁的原因:
(1)竞争资源
(2)进程推进顺序非法
产生死锁的必要条件:
(1) 互斥条件:
一个资源每次只能被一个进程使用。
(2) 请求与保持条件:
一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:
进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:
若干进程之间形成一种头尾相接的循环等待资源关系。
解决死锁问题的方法:
(1)预防死锁(加限制条件,破坏产生死锁的四个条件)
(2)避免死锁(资源分配过程中防止进入不安全状态)
(3)检测死锁、解除死锁
银行家算法步骤:
P112
(一)检查资源请求的合法性:
当Pi发出资源请求后,系统按下述步骤进行检查:
(1)如果Requesti[j]≤Need[i,j],便转向步骤
(二);否则认为出错,因为它所需要的资源数已超过它所宣布的最大值。
(2)如果Requesti[j]≤Available[j],便转向步骤(三);否则,表示尚无足够资源,Pi须等待。
(二)资源试分配。
系统试探着把资源分配给进程Pi,并修改相关的数据结构
(三)安全性检查。
系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。
若安全,才正式将资源分配给进程Pi,以完成本次分配;否则,将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。
第三章:
存储管理。
1、地址重定位(静态重定位、动态重定位)。
静态重定位:
程序装入时对目标程序中的指令和数据地址的修改过程
动态重定位:
程序装入时不修改地址,地址转换推迟到程序执行时执行
2、单一连续分配、固定分区分配、可变分区分配(算法),重点在内存的分配与回收。
单一连续分配:
仅用户区和OS区
固定分区式分配:
内存空间划分为若干固定大小区域,每个分区中装入一道作业
首次适应算法:
要求空闲分区链以地址递增的次序链接,在分配内存时,从链首开始顺序查找,直到找到一个大小能满足要求的空闲分区为止,然后再按照作业的大小,从该分区中划出一块内存空间分给请求者,余下的空闲分区仍停留在空闲链中。
循环首次适应算法:
在分配内存空间时,不再每次从表头(链首)开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。
该算法能使内存中的空闲区分布得较均匀。
最佳适应算法:
从全部空闲区中找出能满足作业要求的、且大小最小的空闲分区,这种方法能使碎片尽量小。
为适应此算法,空闲分区表(空闲区链)中的空闲分区要按从小到大进行排序,自表头开始查找到第一个满足要求的自由分区分配。
3、分页存储管理、分段存储管理,重点地址变换与内存保护。
分页存储管理
▪进程的逻辑空间分成若干个大小相等的片,称为页面或页。
▪内存空间也分成与页相同的若干个存储块,或称为物理块或页框。
▪分配:
以块为单位将进程中的若干页分别装入到内存中多个不相邻接的块中。
分段存储管理:
▪程序地址空间按其内在逻辑关系划分成若干个相对独立的段,如主程序段、子程序段、数据段及堆栈段等。
▪每个段从0开始编址,采用一段连续的地址空间。
▪每段分配一个连续的分区,进程中的各个段可以离散地分配到内存中不同的分区中。
例题:
假定主存为64KB,分成16块.某进程有4页:
0.1.2.3分别被分配到2,4,1,6块
(1)该进程总长度为多少?
(2)该进程每一页在内存中的起始地址?
(3)给出逻辑地址:
[0,100],[1,50],[2,0],[3,10](页号,页内地址)给出其对应的内存地址.
1)每块的大小为64KB/16=4KB因为块的大小与页的大小相等,所以每页为4KB,因此作业的总长度4KB×4=16KB
2)页表为
该作业各页在内存的起始地址为:
第0页起始地址为:
4K×2=8K
第1页起始地址为:
4K×4=16K
第2页起始地址为:
4K×1=4K
第3页起始地址为:
4K×6=24K
3)逻辑地址[0,100]的内存地址为
4K×2+100=8192+100=8292
逻辑地址[1,50]的内存地址为
4K×4+50=16384+50=16434
逻辑地址[2,0]的内存地址为
4K×1+0=4096
逻辑地址[3,60]的内存地址为
4K×6+60=24K+60=24636
4、虚拟存储管理,页面置换算法。
?
存储虚拟化,把不同的硬件抽象出来,以管理工具来实现统一的管理
先进先出FIFO:
按顺序依次置换
最近最久未使用LRU:
置换最久未被访问的
最佳置换OPT:
置换以后永不使用的,或许是在最长时间内不再被访问的页面
第四章:
设备管理
1、了解设备控制器的作用
是CPU与I/O设备之间的接口,接收CPU指令控制I/O设备工作
2、缓冲技术
⏹缓和CPU与I/O设备间速度不匹配的矛盾。
⏹减少对CPU的中断频率,放宽对CPU中断响应时间的限制。
⏹提高CPU和I/O设备之间的并行性。
1)单缓冲
2)双缓冲
3)多缓冲:
4)缓冲池。
3、I/O控制方式
1、程序I/O
利用I/O测试指令测试设备的闲忙。
若设备不忙,则执行输入或输出指令;若设备忙,则I/O测试指令不断对该设备进行测试,直到设备空闲为止。
2、中断驱动
每当设备完成I/O操作,便以中断请求方式通知CPU,然后进行相应处理。
但由于CPU直接控制输入输出操作,每传达一个单位信息,都要发生一次中断,仍然消耗大量CPU时间。
3、DMA
数据传输单位是数据块,传送数据直接从设备到内存,仅在传送一个或多个数据块开始和结束时才需cpu干预
4、通道控制
CPU向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。
⏹通道指令:
(1)操作码
(2)内存地址
(3)计数
(4)通道程序结束位P。
(5)记录结束标志R。
第五章:
文件管理
1、文件、文件系统概念,文件的操作
文件是具有文件名的若干相关元素的集合
文件管理系统是指文件和对文件进行操作和管理的软件集合
文件的操作:
(1)创建文件。
(2)删除文件。
(3)读文件。
(4)写文件。
(5)设置文件的读/写位置。
(6)文件的打开与关闭(文件的打开,即在用户和文件之间建立一个连接)
(7)其它文件操作
2、文件目录
文件控制块的有序集合。
以文件形式保存在外存,称为目录文件。
3、文件的逻辑结构、物理结构
逻辑结构
1、无结构文件(流式文件):
如大量的源程序、可执行文件、库函数等
2、有结构文件(记录式文件):
数据库文件等。
(1)顺序文件
⏹串结构:
各记录之间按存入时间的先后排列
⏹顺序结构:
文件中的所有记录按关键字(词)排列。
(2)索引文件
(3)索引顺序文件
物理结构:
1、连续分配
一个文件的信息存放在若干连续的物理块中
由一组相邻的物理块组成,是对记录式文件取连续区分配而构成的文件。
连续分配的主要优点如下:
(1)顺序访问容易
(2)顺序访问速度快
连续分配的主要缺点如下:
(1)要求有连续的存储空间
(2)必须事先知道文件的长度
2、链接分配
一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块
优点:
提高了磁盘空间利用率
不存在外部碎片问题
有利于文件插入和删除
有利于文件动态扩充
缺点:
存取速度慢,不适于随机存取
可靠性问题,如指针出错
更多的寻道次数和寻道时间
链接指针占用一定的空间
链接结构的一个变形:
文件分配表FAT
3、索引分配
一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构--索引表,并将这些块的块号存放在一个索引表中
索引表:
一个文件所有记录的关键字和其它地址的对照表。
一个索引表就是磁盘块地址数组,其中第i个条目指向文件的第i块
(1)单级索引分配
(2)索引表组织
链接模式:
一个盘块一个索引表,多个索引表链接起来
多级索引:
将一个大文件的所有索引表(二级索引)的地址放在另一个索引表(一级索引)中
4、磁盘调度算法
从100#磁道开始
进程请求磁道的顺序:
55,58,39,18,90,160,150,38,184
方向:
磁道号增加方向(扫描算法用)
1、先来先服务(FCFS)
按请求访问者的先后次序启动磁盘驱动器,而不考虑它们要访问的物理位置。
55,58,39,18,90,160,150,38,184
2、最短寻道时间优先(SSTF)
总是让离当前磁道最近的请求访问者启动磁盘驱动器,即是让查找时间最短的那个作业先执行,而不考虑请求访问者到来的先后次序
90,58,55,39,38,18,150,160,184
3、扫描算法(SCAN)或电梯调度算法
总是从磁臂当前位置开始,沿磁臂的移动方向去选择离当前磁臂最近的那个柱面的访问者。
如果沿磁臂的方向无请求访问时,就改变磁臂的移动方向。
150,160,184,90,58,55,39,38,18
考试题型及分值分布:
选择题(20分,10*2),
填空题(10分,每空一分),
简答题(35分,5*7)(复习内容中的绿色部分)
计算及问答(35分)(复习内容中的红色部分)
考试内容及大概分值:
第一章绪论(15%),
第二章进程管理(30%),
第三章内存管理(20%),
第四章文件管理(15%),
第五章设备管理(10%),