计算机操作系统复习重点 下载本文

1.1操作系统的目标:有效性 方便性 可扩充性 开放性

1.2操作系统的作用1.OS作为用户与计算机硬件系统之间的接口(命令方式,系统调用方式,图像和窗口式。)2.OS作为计算机系统资源的管理者3.OS实现了对计算机资源的抽象

1.3操作系统的定义: 操作系统是一组控制和管理计算机硬件呵呵软件资源,合理地对各类作业进行跳读,以及方便用户使用的程序集合.

1.4操作系统的基本特性 1.并发性2.平行性3.引入进程4.引入线程5.共享性:是指系统中的资源可供内存中多个并发执行的进程共同使用。(互斥共享、同时访问方式)6.虚拟技术 是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。分为时分复用和空分复用技术。7.异步性 进程是以人们不可预知的速度向前推进,此即进程的异步性。

1.5操作系统的主要功能1.处理机管理功能:进程控制,进程同步,进程通信,调度2.存储器管理功能:内存分配、内存保护、地址映射、内存扩充3.设备管理功能:缓冲管理、设备分配、设备处理4.文件管理功能:文件存储空间的管理、目录管理、文件的读/管理和保护。操作系统与用户之间接口 用户接口、程序接口

时间片以略大于一次典型的交互所需要的时间为宜,这样可使大多数进程在一个时间片内完成。 2.1进程的特征:结构特征:程序段,数据段,进程控制块(PCB) 动态性:是程序的一次执行过程,因而是动态的。

并发性:引入进程就是为了和其他程序并发执行,提高资源利用率。 独立性:能独立运行的基本单位,也是资源分配和调度的基本单位。 异步性:进程以各自独立的、不可预知的速度向前推进。

2.2进程的概念:程序在处理机上的一次执行过程;可以和别的计算并行执行的计算;进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位;是一个具有一定功能的程序,是关于某个数据集合的一次运行活动。进程的状态:基本状态1.就绪状态2.执行状态3.阻塞状态。挂起状态,创建状态和终止状态。

进程控制块使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,能与其他进程并发执行的进程。包括进程标识符,处理机状态,进程调度信息,进程控制信息。

进程的创建:1.申请空白PCB 2.为新进程分配资源 3.初始化PCB 4.将新进程插入就绪队列 事件:用户登录,作业调度,提供服务,应用请求

进程的终止:.1.根据被终止进程的标识符,检索出PCB,读出其状态 2.若处于执行则立即终止,置调度标识为真 3.将其所有子孙进程终止 4.将其所有资源归还父进程或系统 5.将PCB从所在队列移出。 事件:正常结束,异常结束,外界干预。

区分系统态和用户态?在什么情况下进行两种方式的转换?

从资源管理和程序控制执行的角度出发,将指令系统分为两大部分:特权指令和非特权指令。在程序执行时,根据执行程序对资源和机器指令的使用权限,把机器设置为两个状态:核心态和用户态。

也就是说,当系统处于核心态时,就可以使用所有指令、资源,并具备改变CPU状态的能力;而当CPU在用户态时,只能使用非特权指令。 如果CPU执行用户程序时(用户态)出现了中断,系统将自行转到中断处理程序,CPU就由用户态转换到核心态;中断处理结束后,返回继续执行用户程序,此时CPU又由核心态转到用户态。

进程阻塞事件:请求系统服务,请求操作,等待数据资源,等待工作任务。唤醒事件:允许系统服务,允许操作,数据、资源到达,工作任务到达。挂起事件:调试系统,暂停系统执行。激活事件:调试系统结束,程序继续执行

2.4进程通信类型:1.共享存储器系统2.消息传递系统 3.管道通信4.基于共享数据结构的通信方式5.基于共享存储区德通信方式

2.5线程与进程的区别:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。线程是比进程更小的单位。通常在一个进程中可以包含若干个线程,他们可以利用进程所拥有的资源。OS中把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。

2.6.同步机制应遵循的规则:(1)空闲让进。当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。(2)忙则等待。当已有进程进入临界区时,表明临界资源正在被访问,因而其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。(3)有限等待。对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。(4)让权等待。当进程不能进入自己的临界区时,应立即释放处理机,以免陷入“忙等”状态。

内核支持线程,是在内核的支持下运行,即无论是用户进程中的线程,还是系统进程中的线程,他们的创建、撤消和切换等,也是依靠内核实现。优:对多处理器,核心可以同时调度同一进程的多个线程;阻塞是在线程一级完成;核心例程是多线程的。缺:在同一进程内的线程切换调用内核,导致速度下降。用户级线程仅存在于用户空间中。线程的创建、撤消、线程之间的同步与通信等功能,都无须利用系统调用来实现。对于用户级线程的切换,通常是发生在一个应用进程的诸多线程之间,无须内核的支持。优:线程切换不调用核心;调度是应用程序特定的:可以选择最好的算法;ULT可运行在任何操作系统上(只需要线程库) 缺:大多数系统调用是阻塞的,因此核心阻塞进程,故进程中所有线程将被阻塞;核心只将处理器分配给进程,同一进程中的两个线程不能同时运行于两个处理器上

3.1高级调度:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源,然后,再将新创建的进程排在就绪队列上,准备执行。特点是调度频率低;调度算法可以很复杂

低级调度:用来决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。主要功能: 1. 保存处理机的现场信息2按某种算法选取进程3.把处理器分配给进程。特点:调度频率高;调度算法通常简单,保证算法执行时间短

中级调度主要目的:为了提高内存利用率和系统吞吐量。

使暂时不能运行的进程不再占用内存资源,而将它们调至外存上去等待,把此时进程状态称为就绪驻外存状态或挂起状态。当这些进程重又具备运行条件、且内存又稍有空闲时,由中级调度来决定把外存上的哪些进程,重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。对象:就绪进程、阻塞进程 特点:实际就是内存管理的“对换”功能

3.2调度算法是指:根据系统的资源分配策略所规定的资源分配算法 准则:1)面向用户的准则:周转时间短、响应时间快、截止时间的保证、优先权准则;2)面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用。

FSFS算法:是一种最基本的调度算法,既可用于作业调度也可用于进程调度。比较有利于长作业进程,而不利于短作业进程。

1. 程序的装入和链接:

如何将一个用户源程序变为一个可在内存中执行的程序,编译,由编译程序将用户源代码编译成若干个目标模块;链接,由链接程序将编译后形成的一组目标模块,以及他们所需要的库函数链接在一起,形成一个完整的装入模块;最后是装入,由装入程序将模块装入内存。 2. 重定位:把在装入时对目标程序中指令和数据的修改过程 静态重定位:因为地址变换通常是在装入时一次完成的,以后不再改变。 动态分区分配:根据进程的实际需要,动态的分配内存空间。 4. 分区分配算法:

首次适应算法:空闲分区按起址递增次序排列,从头开始直至找到第一个满足要求的空闲分区。 特点:内存低端会留下小的空闲区,高端有大的空闲区;

循环首次适应算法:从上次分配的位置之后开始查找。特点:使内存的空闲分区均匀,但缺乏大的空闲分区;

最佳适应算法:空闲分区按大小递增的次序排列,从头开始找到第一个满足要求的空闲分区。缺点:会留下大量小碎片。

最坏适应算法:空闲分区按大小递减的次序排列,最前面的最大的空闲分区就是找到的分区。优点:分配后剩下的可用空间比较大。缺点:一段时间后就不能满足对于较大空闲区的分配要求。 页面和物理块:分页存储管理是将一个进程的逻辑地址控件分成短作业(进程)优先调度算法SJ(P)F:从后备队列中选择一个或若干个估计运行时间最短的作业,将他们调入内存运行或从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它。该算法有效的降低了作业的平均等待时间,提高系统吞吐量。缺点:1)对长作业不利;2)该算法完全未考虑作业的紧迫程度,不能保证紧迫性作业(进程)会被及时处理;3)该算法不一定能真正做到短作业优先调度。

高响应比优先调度算法: 为每个作业引入动态优先权,并使祖业的优先级随着等待时间的增加而以速率a提高,则长作业在等待一定时间后,必然有机会分配到处理机。

优先权=(等待时间+要求服务时间)/要求服务时间=响应时间/要求服务时间=Rp;特点: 1.有利于短作业;2.它实现的是先来先服务;3.对于长作业,作业的优先级可以随等待时间的增加而提高,当其等待时间足够长,其优先级便可升到很高,从而也可获得处理机。总之,该算法既照顾了短作业,也考虑了作业到到达的先后次序,不会使长作业长期得不到服务,但每要进行调度之前,都要做相应比的计算,增加系统开销 3.5最低松弛度优先算法(LLF):该算法是根据任务紧急(或松弛)的程度,来确定任务的优先级。任务的紧急程度愈高,为该任务所赋予的优先级就愈高,以使之优先执行。

A的松弛度=必须完成的时间—其本身的运行时间—当前时间

3.6死锁的概念:指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作业,他们都将无法再向前推进。产生死锁的必要条件: 1.互斥条件;2.请求和保持条件;3.不剥夺条件;4.环路等待条件 。产生死锁的原因:1)竞争资源:当系统中供进程共享的资源,其数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。2)进程间推进顺序非法:进程在运行过程中,请求和释放资源的顺序不当,也同样会导致进程产生死锁。

预防死锁的方法:1.摈弃“请求和保持”条件:进程创建时,一次申请所有资源。成功则运行,否则阻塞。优:简单、易于实现,安全。缺:资源严重浪费;进程执行进度大大延迟

2.摒弃“不剥夺”条件:进程申请资源时,成功则运行,否则释放所有资源后阻塞。缺:资源严重浪费;代价太大;进程执行进度严重延迟。 3.摒弃“环路等待”条件:为所有资源编号,进程申请资源时必须按序申请资源优:资源利用率、系统吞吐量显著提高缺:资源编号困难;新资源加入困难 死锁的解除:1.剥夺资源2.撤销进程。

若干个大小相等的片,称为页面或页并为各页加以编号。相应的把内存空间分成与页面相同大小的若干个存储块,称为物理块或页框,也对它们加以编号。 页表:实现从页号到物理块号的地址映射。作用:记录程序各页面所在页框位置,支持地址重定位,实现页面访问控制,存储保护 段表的作用:实现从逻辑段到物理内存区的映射。

分页和分段的主要区别:A:分页和分段都采用离散分配的方式,且都要通过抵制映射机构来实现地址变换,这是他们的共同点,B:1:从功能上页是信息的物理单位,分页是实现离散分配方式,以消减内存的外零头提高内存的利用率,即满足系统管理的需要而不是用户的需要,而段式信息的逻辑单位,他含有一组其意义相对完整的信息,目的是为了能更好的满足用户的需要;2:页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;3:分页的作业地址空间是一维的,而分段的作业地址空间是二维的. 虚拟存储器的定义:虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。实现方法:1.分页请求系统2.请求分段系统 虚拟存储器的特征:

多次性。一个作业被分成多次调入内存运行;

对换性。允许在作业的运行过程中进行换进、换出;

虚拟性。能从逻辑上扩充内存容量,使用户“看到”的内存容量远大于实际大小。 页面置换算法:最佳置换算OPT;先进先出FIFO;最近最久未使用的置换算法LRU;Clock算法NRU

局部性原理:1.程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下仍是顺序执行的;2.过程调用将会使程序的执行轨迹由一部分区域转至另一部分区域,但经研究看出,过程调用的深度在大多数情况下都不超过5;3.程序中存在许多循环结构;4.程序中还包括许多对数据结构的处理.局限性还表现在:时间局限性和空间局限性。

设备管理的主要功能

A,实现对外围设备的分配和回收 B,启动外围设备

C,实现对磁盘的驱动调度 D,处理外围设备的中断事件 E,实现虚拟设备

设备控制器 负责连接IO设备和数据总线,完成设备控制和数据格式转换。基本功能:1.接收和识别命令 数据交换 标识和报告设备的状态 地址识别 数据缓冲 差错控制 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。 双缓冲-缓冲对换:

记录是一组相关数据项的集合,用于描述一个对象的某些属性。 关键字:能够唯一标识一个记录的数据项 文件类型:

按文件的性质和用途分:

系统文件:由系统软件构成的文件,只允许调用执行,不允许用户读和修改。 用户文件:只允许文件的授权者使用。 库文件:允许用户调用不允许修改。

按文件中数据形式: 源文件;目标文件;可执行文件。 按存取控制属性分类:

只执行文件:只允许调用执行,不能读、写; 只读文件;读写文件:允许文件主和被核准用户读和写。

按组织形式和处理方式分类:普通文件,目录文件,特殊文件 文件系统模型:三层模型 对象及其属性;(文件管理系统管理的对象有:文件--文件管理的直接对象;目录--方便用户对文件的存取和检索;磁盘存储空间)

对对象操纵和管理的软件集合;文件系统的接口—命令接口,程序接口 4. 文件的逻辑结构:这是从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。

5. 文件的物理结构,又称为文件的存储结构,是指文件在外存上的系统处理每个数据的时间可粗略认为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)算法:磁头只作由内向外的单方向扫描,到达外边缘后,则返回最内侧的磁道重新进行下一轮扫描。改进了对于边缘区磁道访问的不公平。

设备独立性:应用程序独立于具体使用的物理设备。

SPOOLing特点:提高了IO速度;将独占设备改造为共享设备;实现了虚拟设备功能。

存储组织形式。

6. 文件逻辑结构的类型:文件的逻辑结构可分为两大类:

一类是有结构文件,这是指一个以上的记录构成的文件,故又把它称为记录式文件。

二是无结构文件,这是指由字符流构成的文件,故又称为流式文件。 7. 外存分配方式:常用的外存分配方法有连续分配、链接分配和索引分配三种。

8. 链接分配:将文件装到多个离散的盘块中,是离散的分配方式。 链接方式又可分为:隐式链接、显式链接两种 9. 隐式链接:

在文件的每个目录项中,都含有指向链接文件第一盘块和最后一个盘块的指针。每个盘块中都有指向下一个盘块的指针。 特点:只适合于顺序访问,随机访问效率极低。 10. 显式链接:

把用于链接文件各物理块的指针,显式地存放在内存的一张“链接表”中。该表在整个磁盘只设置一张。即文件分配表(FAT)。序号为盘块号0..n-1

11. 目录管理的要求:实现“按名存取”——是目录管理的最基本的功能,也是文件系统向用户提供的最基本的服务;提高对目录的检索速度;文件共享;允许文件重名。

12. 为了能对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构,称为“文件控制块FCB”。文件管理程序可借助于文件控制块中的信息,对文件施以各种操作。文件与文件控制块一一对应,而人们把文件控制块的有序集合称为文件目录,即一个文件控制块就是一个文件目录项。一个文件目录页被看做是一个文件,称为目录文件。

13. 文件存储空间的管理:分配方式:连续分配、离散分配

存储空间的基本分配单位是以磁盘块(扇区)为单位,而非字节。 14. 文件存储空间的管理方法

1)空闲表法:连续分配方式,为外存上的所有空闲区建立一张空闲表。 2)空闲链表法:离散分配方式,根据构成链所用基本元素不同分为以下两种形式:

空闲盘块链:将磁盘上的所有空闲空间,以盘块为单位拉成一条链。 空闲盘区链:将磁盘上所有空闲盘区(每个盘区可包含若干个盘块)拉成一条链。

3)位示图法:位示图:利用二进制的一位来表示磁盘中一个盘块的使用情况。由所有盘块所对应的位构成一个集合,称为位示图。用mxn个位数构成位示图。 4)成组链接法

15. 常用的两种文件共享方法:1)基于索引结点的共享方式;2)利用符号链实现文件共享基于索引结点的共享方式:文件目录中只设置文件名及指向相应索引结点的指针;

文件的物理地址及其它的文件属性等信息只存放在索引结点中;