当前位置:文档之家› 惠州学院2013操作系统复习整理

惠州学院2013操作系统复习整理

操作系统复习课.by fain7 第一章 操作系统的目标----有效性、方便性、可扩充性、开放性 OS的发展过程----几类典型操作系统(多道批处理、分时、实时),每类操作系统的原理、特征及优缺点 多道批处理系统.原理: 20世纪60年代中期引入多道程序设计技术,由此形成了多道批处理系统。在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为―后备队列‖;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。 优缺点:(1)资源利用率高(2)系统吞吐量大(3)平均周转时间长(4)无交互能力 分时系统.原理: 分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。 特征(优缺点):(1)多路性(2)独立性(3)及时性(4)交互性 实时系统.原理: 实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。需求:实时控制,实时信息处理。 特征(优缺点):(1)多路性(2)独立性(3)及时性(4)交互性(5)可靠性

OS的主要功能----资源管理器和用户接口 主要功能: 处理机管理(进程控制、进程同步、进程通信、调度), 存储器管理(内存分配、内存保护、地址映射、内存扩充), 设备管理(缓冲管理、设备分配、设备处理), 文件管理(文件存储空间的管理、目录管理、文件的读/写管理和保护)。 操作系统和用户之间的接口: 用户接口:联机用户接口,脱机用户接口、图形用户接口 程序接口:该接口是为用户程序在执行中访问系统资源而设置的,它是由一组系统调用组成。

第二章 什么是程序的并发执行,如何用前驱图描述程序(段)间的并发执行 程序并发执行:若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。(前驱图为平行四边形状) 进程的概念,进程实体的组成,进程与程序(作业)的区别 进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体。(最基本的特征:动态性;重要特征:并发性;另外还有独立性和异步性) 进程实体:由程序段、相关的数据段和PCB三个部分便构成了进程实体。进程的实质是进程实体的一次执行过程。 进程和程序区别: (1)进程是一个动态概念,强调执行的过程,每个进程中包含了程序段和数据段两个部分,以及进程控制块PCB;而程序是一个静态概念,程序是指令的有序集合,无执行含义; (2)进程具有并行特征(独立性,异步性),程序则没有; (3)一个进程可以执行多个程序(如Linux中通过exec调用),同一程序的多次执行将产生多个不同的进程。同一个程序的一次执行也可产生多个进程(如在程序中多次调用Linux中的fork)。 进程和作业的区别在于: 一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用户需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成四个阶段。而进程是已提交完毕的程序所执行过程的描述,是资源分配的基本单位。其主要区别关系如下: (1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将它放入外存中的作业等待队列中等待执行;而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中; (2)一个作业可由多个进程组成。且必须至少由一个进程组成,但反过来不成立; (3)作业的概念主要用在批处理系统中,像UNIX这样的分时系统中,则没有作业的概念;而进程的概念则用在几乎所有的多道程序系统中。

进程的3种基本状态,状态间的转换已及引起状态转换的原因(基本的进

程状态转换图) 就绪(Ready)状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。通过进程调度变为执行状态。 执行(Running)状态:当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。时间片用完后变为就绪状态。 阻塞(Blocked)状态:正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。 什么是进程间的两种相互制约关系--同步、互斥 进程同步(直接相互制约关系):它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系。为进程之间的直接制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。 进程互斥(间接相互制约关系):它主要源于资源共享,是进程之间的间接制约关系。在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。 什么是信号量、什么是P操作、什么是V操作(P、V操作的处理流程,以

记录型信号量为例) 信号量是Dijkstra提出的用于解决进程同步的有效工具。信号量是一个数据结构以及对其的操作。除初始化外,仅能通过两个标准的原子操作wait(S)和signal(S)来访问。两个语句在执行到一半的时候不能被中断。 每次wait操作,意味着进程请求一个单位的该类资源,使系统可供分配的该类资源数减少一个。每次signal操作,表示执行进程释放一个单位资源,使系统中可供分配的该类资源数增加一个。 用信号量和P.V操作机制实现互斥和同步的方法,信号量取值的含义 利用信号量和P.V操作实现进程互斥时: (1)每个程序中用户实现互斥的P,V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。 (2)P,V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。 (3)互斥信号量得初值一般为1。其中信号量S用于互斥,初值为1。 利用信号量和PV操作实现进程同步: PV操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。用PV操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。 使用PV操作实现进程同步时应该注意的是: (1)分析进程间的制约关系,确定信号量种类。在保持进程间有正确的同步关系情况下,哪个进程先执行,那些进程后执行,彼此间通过什么资源(信号量)进行协调,从而明确要设置那些信号量。 (2) 信号量的初值与相应资源的数量有关,也与P,V操作在程序代码中出现的位置有关。 (3)同一信号量的P,V操作要成对出现,但他们分别在不同的进程代码中。

用P、V操作实现相互合作的几个进程间的同步、共享临界资源的进程互

斥(问题如经典的进程同步问题) 进程同步:把异步环境下的一组并发进程,因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。先私有,后公有。 用wait(消息名)表示进程等待合作进程发来的消息. 功能:等待到消息名为true的进程继续执行。 用signal(消息名)表示向合作进程发送消息 功能:发送消息名,并将其值置为true。 利用过程wait和signal描述计算进程Pc和打印进程Pp的同步关系 (1) 设消息名Bufempty表示buf为空,消息名Buffull表示Buf中装满了数据。 (2) 初始化Bufempty=true,Buffull=false.。 (3) 描述: Pc : A:wait(Bufempty) 计算 Buf -----计算结果 Bufempty ---false signal(Buffull) Goto A Pp : B:wait(Bufful) 打印Buf中的数据 清除Buf中的数据 Bufful ----false signal(Bufempty) Goto B 什么是进程的(高级)通信,类型,各类的原理 高级通信(进程通信):用户直接利用该操作系统所提供的一组通信命令高效的传送大量数据的一种通信方式。 1) 共享存储器系统:相互通信的进程共享数据结构或存储区,通过这些进行通信。 基于共享数据结构的通信方式,基于共享存储区的通信方式 2) 消息传递系统:程序员直接利用操作系统提供的一组通信命令,不仅实现大量数据的传递,而且还隐藏了通信的实现细节。 数据交换是以格式化的消息为单位的(报文)。(分为直接和间接通信两种方式) 3)管道通信:用于连接一个读进程和一个写进程的共享文件,pipe文件。 管道机制提供的能力:互斥,同步,确定存在才通信。

第三章 对于本章内的基本调度算法:算法思想、就绪队列的组织、是抢占还是非抢占 FCFS算法思想: 当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或发生某事件而阻塞后才放弃处理机。

相关主题