计算机操作系统期末复习笔记Word文档下载推荐.docx
《计算机操作系统期末复习笔记Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机操作系统期末复习笔记Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
对处理机进行分配——进程管理和调度
存储器管理功能:
对内存进行分配、保护和扩充
设备管理功能:
缓冲管理、设备分配、设备处理
文件管理功能:
文件存储空间的管理、目录管理、文件的读写管理和保护
操作系统与用户之间的接口用户接口和程序接口
第二章进程管理
0.程序顺序执行的特征:
顺序性、封闭性、可再现性
1.前趋图(PrecedenceGraph):
一个有向无循环图、描述程序或程序段之间执行的前后关系
前趋图是一个有向无循环图。
(必须不存在循环)根据程序画前趋图:
2.并发执行时的特征:
间断性——“停停走走”;
失去封闭性——原因:
多个程序共享资源;
不可再现性
3.进程的定义和特征:
定义:
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
进程是程序的一次执行,进程是一个程序及数据在处理机上顺序执行时所发生的活动。
进程的特征:
1)结构性:
进程由程序段、数据段及PCB三部分组成,在Linux中称为“进程映像”2)动态性:
“它由创建而产生,由调度而执行,由撤销而消亡”。
是进程的最基本特征3)独立性:
进程是一个能独立运行、独立分配资源和独立调度的基本单位。
各进程的地址空间相互独立。
4)并发性:
引入进程的目的正是为了使其程序能和其他进程的程序并发执行;
5)异步性:
进程按各自独立的、不可预知的速度向前推进
进程的三种基本状态
就绪状态(Ready):
得到了除CPU以外的所有必要资源。
执行状态(Running):
已获得处理机,程序正在被执行。
阻塞状态(Blocked):
因等待某事件发生而暂时无法继续执行,从而放弃处理机,使程序执行处于暂停状态。
4.进程控制块PCB(ProcessControlBlock):
是进程实体的一部分,是操作系统中最重要的记录性数据结构。
PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。
进程控制块的作用是使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。
PCB是进程存在的惟一标志。
进程控制块中的信息:
1)进程标示符2)处理机状态—通用寄存器、指令计数器、程序状态字PSW、用户栈指针3)进程调度信息4)进程控制信息
5.临界区:
人们把在每一个进程中访问临界资源的那段代码称为临界区
6.同步机制应遵循的规则:
(1)空闲让进。
当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。
(2)忙则等待。
当已有进程进入临界区时,表明临界资源正在被访问,因而其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。
(3)有限等待。
对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。
(4)让权等待。
当进程不能进入自己的临界区时,应立即释放处理机,以免陷入“忙等”状态。
7.Wait(S)操作描述:
执行一次wait操作意味着请求分配一个单位的资源,因此描述为:
s.value=s.value-1。
减1后:
若s.value≥0,则进程继续进行;
若s.value<0,表示已无资源可用,因此请求该资源的进程将被阻塞,要把它排在信号量s的等待队列中,此时,s.value的绝对值等于该信号量等待队列上的进程数目。
8.Signsl(S)操作描述:
执行一次signal操作意味着释放一个单位的资源,故s.value=s.value+1。
加1后:
若s.value>0,则进程继续;
若s.value≤0,表示信号量请求队列中仍有因请求该资源而被阻塞的进程,因此应把队列中的一个或几个进程唤醒,使之转至就绪队列中。
9.进程通信:
是指进程之间的信息交换。
进程通信的类型即高级通信机制:
共享存储器系统、消息传递系统、管道通信系统三种。
第三章处理机调度与死锁
1.处理机调度的层次:
高级调度、低级调度、中级调度
2.高级调度(HighLevelScheduling):
又叫作业调度或长程调度(LongTermScheduling),其主要功能是根据某种算法,把外存上处于后备队列中的哪些作业调入内存。
也就是说它的调度对象是作业。
3.低级调度(LowLevelScheduling):
通常也称为进程调度或短程调度(ShortTermScheduling),它所调度的对象是进程(或内核级线程)。
决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。
进程调度是最基本的调度,在三种类型的OS中都必须配置
4.低级调度的功能:
保存处理机的现场信息;
按照某种算法选取进程;
把处理机分配给进程。
5.进程调度方式
a)非抢占方式b)抢占方式
6.先来先服务调度算法:
是一种最基本的调度算法,既可用于作业调度也可用于进程调度。
比较有利于长作业进程,而不利于短作业进程。
6.短作业优先调度算法:
指对短作业或段进程优先调度算法可以分别用于作业调度和进程调度。
该算法对长作业不利,完全未考虑作业的紧迫程度,不能保证紧迫性作业及时处理。
该算法不一定真正做到短作业优先调度。
7.死锁(Deadlock)定义:
死锁是指两个或两个以上的进程在运行过程中,因争夺资源而造成的一种互相等待(谁也无法再继续推进)的现象,若无外力作用,它们都将无法推进下去。
8.产生死锁的原因:
1、竞争资源2、进程间推进顺序非法
9.产生死锁的必要条件:
1、互斥条件。
一个资源一次只能被一个进程使用。
2、请求和保持条件(部分分配)。
保留已经得到的资源,还要求其它的资源。
3、不可剥夺条件(不可抢占)。
资源只能被占有者释放,不能被其它进程强行抢占。
4、环路等待条件(循环等待)。
系统中的进程形成了环形的资源请求链。
预防死锁的方法1.摒弃请求和保持条件2.摒弃不剥夺条件3.摒弃环路等待条件
10.安全状态:
允许进程动态的申请资源,但在分配前,应先计算分配的安全性。
所谓“安全状态”:
指系统能按某种进程顺序(P1,P2,…,Pn),来为每个进程Pi分配其所需资源,直至最大需求,使每个进程都可以顺利完成。
反之,则系统处于不安全状态。
不安全状态不一定发生死锁,但死锁一定属于不安全状态。
11.安全状态之例:
第四章存储器管理
1.程序的装入和链接:
如何将一个用户源程序变为一个可在内存中执行的程序,通常都要经过以下几个步骤:
首先是编译,由编译程序将用户源代码编译成若干个目标模块;
其次是链接,由链接程序将编译后形成的一组目标模块,以及他们所需要的库函数链接在一起,形成一个完整的装入模块;
最后是装入,由装入程序将模块装入内存。
2.重定位:
通常是把在装入时对目标程序中指令和数据的修改过程称为重定位。
静态重定位:
因为地址变换通常是在装入时一次完成的,以后不再改变。
3.动态分区分配:
根据进程的实际需要,动态的分配内存空间。
4.分区分配算法:
首次适应算法:
空闲分区按起址递增次序排列,从头开始直至找到第一个满足要求的空闲分区。
特点:
内存低端会留下小的空闲区,高端有大的空闲区;
循环首次应算法:
从上次分配的位置之后开始查找。
特点:
使内存的空闲分区均匀,但缺乏大的空闲分区;
最佳适应算法:
空闲分区按大小递增的次序排列,从头开始找到第一个满足要求的空闲分区。
缺点:
会留下大量小碎片。
最坏适应算法:
空闲分区按大小递减的次序排列,最前面的最大的空闲分区就是找到的分区。
优点:
分配后剩下的可用空间比较大。
缺点:
一段时间后就不能满足对于较大空闲区的分配要求。
5.页面和物理块:
分页存储管理是将一个进程的逻辑地址控件分成若干个大小相等的片,称为页面或页并为各页加以编号。
相应的把内存空间分成与页面相同大小的若干个存储块,称为物理块或页框,也对它们加以编号。
6.页表的作用:
页表的作用是实现从页号到物理块号的地址映射。
7.地址变换机构的基本任务:
实现从逻辑地址到物理地址的转换,借助于页表完成的。
8.分页地址结构由页号P和位移量W组成
例子:
系统的页面大小为1KB,设A=2017B,可以求出页号P=2,页内地址/位移量d=122。
9.段表的作用:
段表是用于实现从逻辑段到物理内存区的映射。
在系统中为每个进程建立一张段映射表。
10.地址变换机构是为了实现从进程的逻辑地址到物理地址的变换功能。
11.分页和分段的主要区别:
相似之处:
两者都采用离散分配方式且通过地址映射机构来实现地址变换。
不同之处:
(1)页是信息的物理单位,段是信息的逻辑单位;
(2)页的大小固定,段的大小动态变化;
(3)分页系统中的逻辑地址空间是一维的,分段系统中的是二维的。
12.虚拟存储器的定义:
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
13.虚拟存储器的特征:
多次性。
一个作业被分成多次调入内存运行;
对换性。
允许在作业的运行过程中进行换进、换出;
虚拟性。
能从逻辑上扩充内存容量,使用户“看到”的内存容量远大于实际大小。
该特征是以上两个特征为基础的。
14.页面置换算法:
最佳置换算法(未来最长时间内不再被访问的页面淘汰。
OPT)
先进先出(FIFO最早进入页面的淘汰)
最近最久未使用的置换算法(LRU最近最久未使用的页面淘汰)
一个好的页面置换算法,应具有较低的页面更换频率
第五章设备管理
1.I/O设备分类:
按设备使用特性分类:
第一类存储设备,第二类输入/输出设备
按传输速率分类:
按传输书读的高低,可分为三类:
低速设备,典型设备有键盘、鼠标器、语音的输入输出等设备。
中速设备,典型设备有行式打印机、激光打印机等。
高速设备,典型的设备有磁带机、磁盘机、光盘机等。
按信息交换单位分类:
第一类是块设备(BlockDevice),用于存储信息。
例如磁盘
第二类是字符设备(CharacterDevice),用于数据的输入和输出。
交互式终端、打印机
2.I/O通道:
I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通
道(I/O)来控制I/O操作。
3.I/O控制方式:
程序I/O方式,数据传输的基本单位是字节
中断驱动I/O方式,数据传输的基本单位仍是字节
DMA控制方式,以多个块为单位进行数据传送;
数据传输的基本单位是数据库
I/O通道控制方式,以多个块为单位进行数据传送;
一次传送多组数据到多个不同的内存区域。
4.缓冲技术分为:
单缓冲,双缓冲,循环缓冲、缓冲池。
单缓冲和双缓冲:
单缓冲:
在设备和处理机之间设置一个缓冲区。
T和C是可以并行的。
系统对每个数据的处理时间为Max(C,T)+M。
双缓冲-缓冲对换:
系统处理每个数据的时间可粗略认为Max(C,T)。
当T>
C,可使块设备连续输入;
反之可使CPU不必等待设备输入。
目的:
加快输入输出的速度。
循环缓冲:
循环缓冲是把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门用于输出的缓冲结构。
5.设备驱动程序:
设备驱动程序通常又称为设备处理程序,它是I/O进程与设备控制器之间的通信程序,又由于它常以进程的形式存在,故简称为设备驱动程序。
6.设备分配中的数据结构:
设备控制表DCT,系统为每台设备配置一张
控制器控制表COCT,系统为每一个控制器都设置了一张控制器控制表。
通道控制表CHCT,每个通道都配有一张通道控制表。
系统设备表SDT,记录了系统中全部设备的情况,每个设备占一个表目。
7.基本的设备分配程序:
按下述步骤进行设备分配:
分配设备分配控制器分配通道
8.磁盘访问时间:
寻道时间Ts:
(可优化处理)
把磁臂(磁头)移动到指定磁道上所经历的时间,包含启动磁臂和磁头移动n条磁道所花费的时间。
是优化的基础。
旋转延迟时间Tr:
指定扇区移动到磁头下面所经历的时间。
与盘面的旋转速度有关。
5400转—平均旋转延迟时间5.55ms;
7200转—平均旋转延迟时间4.16ms
传输时间Tt:
把数据从磁盘读出或向磁盘写入数据所经历的时间。
与旋转速度和一次读写的数据量有关
10.磁盘调度:
先来先服务FCFS:
根据进程请求访问磁盘的先后次序进行调度。
公平、简单,每个进程的请求依次得到处理
平均寻道时间可能较长,仅适用于磁盘请求较少的场合。
最短寻道时间优先SSTF:
选择要求访问的磁道与当前磁头所在的磁道距离最近的进程(磁盘请求),使每次的寻道时间最短。
该算法不能保证平均寻道时间最短。
可能导致“饥饿”现象。
扫描(Scan)算法:
又称为“电梯调度算法”。
磁头每次只作单方向移动,直到到达边缘磁道为止,然后再作反向移动。
下一次待访问的磁道只能在此磁头移动的前方,且选择磁头移动距离最近的一个磁盘请求响应。
消除了饥饿现象。
循环扫描(CScan)算法:
磁头只作由内向外的单方向扫描,到达外边缘后,则返回最内侧的磁道重新进行下一轮扫描。
改进了对于边缘区磁道访问的不公平。
第六章文件管理
1.记录是一组相关数据项的集合,用于描述一个对象的某些属性。
关键字:
能够唯一标识一个记录的数据项
2.按文件的性质和用途分:
系统文件:
由系统软件构成的文件,只允许调用执行,不允许用户读和修改。
用户文件:
只允许文件的授权者使用。
库文件:
允许用户调用不允许修改。
3.文件系统模型:
用户(程序)
文件系统模型
对象及其属性:
文件管理系统管理的对象有:
文件:
文件管理的直接对象;
目录:
方便用户对文件的存取和检索;
磁盘(磁带)存储空间
4.文件的逻辑结构:
这是从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。
5.文件的物理结构,又称为文件的存储结构,是指文件在外存上的存储组织形式。
6.文件逻辑结构的类型:
文件的逻辑结构可分为两大类:
一类是有结构文件,这是指一个以上的记录构成的文件,故又把它称为记录式文件。
二是无结构文件,这是指由字符流构成的文件,故又称为流式文件。
7.外存分配方式:
常用的外存分配方法有连续分配、链接分配和索引分配三种。
8.链接分配:
将文件装到多个离散的盘块中,是离散的分配方式。
链接方式又可分为:
隐式链接、显式链接两种
9.隐式链接:
在文件的每个目录项中,都含有指向链接文件第一盘块和最后一个盘块的指针。
每个盘块中都有指向下一个盘块的指针。
只适合于顺序访问,随机访问效率极低。
10.显式链接:
把用于链接文件各物理块的指针,显式地存放在内存的一张“链接表”中。
该表在整个磁盘只设置一张。
即文件分配表(FAT)。
序号为盘块号0..n-1
11.目录管理的要求:
实现“按名存取”——是目录管理的最基本的功能,也是文件系统向用户提供的最基本的服务;
提高对目录的检索速度;
文件共享;
允许文件重名。
12.为了能对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构,称为“文件控制块FCB”。
文件管理程序可借助于文件控制块中的信息,对文件施以各种操作。
文件与文件控制块一一对应,而人们把文件控制块的有序集合称为文件目录,即一个文件控制块就是一个文件目录项。
一个文件目录页被看做是一个文件,称为目录文件。
13.文件存储空间的管理:
分配方式:
连续分配、离散分配
存储空间的基本分配单位是以磁盘块(扇区)为单位,而非字节。
14.文件存储空间的管理方法
1)空闲表法:
连续分配方式,为外存上的所有空闲区建立一张空闲表。
2)空闲链表法:
离散分配方式,根据构成链所用基本元素不同分为以下两种形式:
空闲盘块链:
将磁盘上的所有空闲空间,以盘块为单位拉成一条链。
空闲盘区链:
将磁盘上所有空闲盘区(每个盘区可包含若干个盘块)拉成一条链。
3)位示图法:
位示图:
利用二进制的一位来表示磁盘中一个盘块的使用情况。
由所有盘块所对应的位构成一个集合,称为位示图。
用mxn个位数构成位示图。
4)成组链接法
15.常用的两种文件共享方法:
1)基于索引结点的共享方式;
2)利用符号链实现文件共享基于索引结点的共享方式:
文件目录中只设置文件名及指向相应索引结点的指针;
文件的物理地址及其它的文件属性等信息只存放在索引结点中;
程序:
1、利用AND信号量机制解决哲学家进餐问题:
Varchopsiickarrayofsemaphore:
=(1,1,1,1,1);
Processi
Repeat
think;
Sswait(chopsick[(i+1)mod5],chopstick[i]);
eat;
Ssignat(chopsick[(i+1)mod5],chopstick[i]);
untilfalse;
2、利用记录型信号量解决生产者----消费者问题
Varmutex,empty,full:
semaphore:
=1,n,0;
buffer:
array[0,·
·
,n-1]ofitem;
in,out:
integer:
=0,0;
begin
parbegin
proceducer:
repeat
·
produceranitemnextp;
wait(empty);
wait(mutex);
buffer(in):
=nextp;
in:
=(in+1)modn;
signal(mutex);
signal(full);
end
consumer:
wait(full);
nextc:
=buffer(out);
out:
=(out+1)modn;
signal(empty);
consumertheiteminnextc;
parend
3、利用信号量实现进程互斥:
Varmutex:
=1;
begin
parbegin
process1:
begin
repeat
criticalsection
remaindersection
process2:
算法:
调度算法:
周转时间=完成时间---到达时间;
带权周转时间=周转时间/服务运行时间
先来先服务算法(FCFS)是最简单的调度算法,有利于长作业,不利于短作业
短作业优先调度算法(SJP)针对短作业