OS课程复习提纲——答案整理总结
2020年操作系统复习提纲(含答案)

2020年操作系统复习提纲(含答案)操作系统复习提纲第一章操作系统引论*操作系统的目标多道程序设计技术;分时系统的特征OS基本特征:并发、共享、虚拟、异步OS与用户之间的接口第二章进程的描述与控制进程定义、进程状态及转换(基本状态、各状态转换的原因)进程控制:处理机的执行状态原子操作(原语)的定义;同步机制应遵循的原则*临界资源经典同步问题(wait和signal操作出现的顺序);进程与程序的区别;进程与线程概念与特征第三章处理机调度与死锁进程调度的任务、进程调度方式死锁的定义與必要条件、引起死锁的原因、死锁的防止*利用银行家算法避免死锁第四章存储器管理动态分区分配方式和内存回收(首次适应、循环首次适应、最佳适应、最坏适应等分页存储管理(地址结构、页和块的关系、地址转换过程)*分段与分页的区别;段页式存储管理对换技术:多道程序环境下的对换技术第五章虚拟存储器虚拟存储器的特征(多样性、对换性、虚拟性)*缺页中断的特点、请求分页系统中的地址变换机构SPOOLing技术; 缓冲技术; 虚设备技术*请求分页技术第六章输入输出系统I/O系统的基本功能; I/O设备与主机数据传送方式I/O设备分类:(1)设备的使用特性分类(2)传输速率分类(3)按信息交换的单位分类(4) 按设备的共享属性分类对I/O设备的控制方式: 直接存储器访问方式中断机构和中断处理程序*I/O通道的定义、与一般处理机的区别; 引入缓冲的原因;I/O设备的独立性DMA工作过程习题:时刻的状态如下表,系统采用银行家算法实施死锁避免策略:一.设某系统在T问:(1)(2)若进程P1发出资源请求Request(1,0,2),能否立即得到满足?为什么?答:(1)系统处于安全状态的,至少可以得到安全序列:P1 P3 P4 P0 P2(2)当P1发出请求向量Requst(1,0,2)后,系统按银行家算法进行检查:Requst(1,0,2)<=Need(1,2,2)Requst(1,0,2)<=Available(3,3,2)此,系统是安全的,可以将P1所申请的资源分配给它。
完整word版,os复习提纲

第一章、引言操作系统的概念,操作系统的分类,基本特征和主要功能。
操作系统是:指控制和管理计算机的软、硬件资源,合理组织计算机的工作流程、方便用户使用的程序集合。
操作系统分类:批处理操作系统,分时操作系统,实时操作系统基本特征:并发性、共享性、虚拟性、异步性(不确定性)主要功能:处理机管理,存储器管理,设备管理,文件管理,用户接口多道程序的概念,采用多道程序的目的。
概念:内存中同时存放几道相互独立互斥运行的程序。
目的:提高CPU的利用率,提高系统吞吐量,平均周转时间。
第二章、进程管理进程的概念、特征、组成进程的概念:进程是可并发执行的程序在一个数据集合上的一次运行过程,是系统进行资源分配和调度的独立单位。
进程的特征:(1) 动态性(2)异步性(3)独立性(4)并发性进程的组成(1)程序段(2)数据段(3)PCBPCB(进程控制块)进程控制块的作用:是进程存在的唯一标志;PCB (process control block) 常驻内存进程控制块中的信息:标识、处理机状态,进程调度信息,进程控制信息进程的基本状态及之间的变迁(1)就绪状态(2)执行状态(3)阻塞状态原语、原子操作原语操作:所谓原语就是由若干条指令组成,用于完成一定功能的一个过程原语操作有五种:创建、终止、挂起、激活、阻塞。
原子操作:所谓原子操作是指一个操作所有的动作要么全做要么不做,换言之,它是一个不可分割的基本单位。
进程间的制约关系(1)间接制约关系(互斥)多个程序在并发执行时,由于共享系统资源,致使在这些并发执行的程序之间形成相互制约的关系。
进程间要通过某种中介发生联系,是无意识安排的,可发生在相交进程之间,也可发生在无关进程之间(2)直接制约关系(同步)多个进程将为完成同一项任务而相互合作。
从而引起的相互制约关系。
进程间的相互联系是有意识的安排的,直接作用只发生在相交进程间信号量的物理意义、信号量机制基本思想:为一类资源设置一个信号量,以表示该类资源的使用情况。
OS复习整理

操作系统的三种基本类型
根据其使用环境和对作业处理方式,操作系统的基 本类型有: (1) 批处理操作系统(batch processing operating system) (2) 分时操作系统(time sharing operating system) (3) 实时操作系统(real time operating system)
进程和程序是两个既有联系又有区别的概念,它们 的区别和关系可简述如下: (1) 进程是一个动态概念,而程序则是一个静态概念。 (2) 进程具有并行特征,而程序没有。 (3) 进程是竞争计算机系统资源的基本单位,从而其 并行性受到系统自己的制约。 (4) 不同的进程可以包含同一程序,只要该程序所对 应的数据集不同。
进程的定义 进程的概念是60年代初期,人们对进程下过许多各式 各样的定义。
(1) 进程是可以并行执行的计算部分(S.E.Madnick, J.T.Donovan); (2) 进程是一个独立的可以调度的活动(E.Cohen, D.Jofferson); (3) 进程是一抽象实体,当它执行某个任务时,将要分配和释 放各种资源(P.Denning); (4) 行为的规则叫程序,程序在处理机上执行时的活动称为进 程(E.W.Dijkstra); (5) 一个进程是一系列逐一执行的操作,而操作的确切含义则 有赖于以何种详尽程度来描述进程(Brinch Hansen
1.互斥的概念 临界资源 – 一次仅允许一个进程访问的资源称为临界资源。 – 许多物理资源:读卡机、打印机等。 – 许多软件资源:变量、表格、队列等。 临界区 – 进程中访问临界资源的那段代码。 – 不允许多个并发进程交叉执行的一段代码。 互斥(间接制约) – 一组并发进程中的一个或多个程序段,因共享某 一临界资源,而不允许两个以上的共享该资源的 并发进程同时进入临界区称为互斥。
os操作系统知识点归纳整理

第一章1.简述请简述现代操作系统的基本特征?答:基本4个特征:并发行、共享性、虚拟性和不确定性。
●并发性:多进程并发执行;●共享性:各类资源由多个进程各项使用;●虚拟性:采用虚拟性实现了对硬件的方便透明使用;●不确定性:多进程的执行次序具有不确定性和随机性;第二章进程1.试比较进程和程序的区别答:(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。
(2)进程具有并行特征(独立性,异步性),程序则没有。
(3)不同的进程可以包含同一个程序,同一个程序在执行中也可以产生多个进程。
2.进程有哪几种基本状态?画出其状态转换图。
答:就绪、执行和等待三种基本状态。
引起进程状态转换的具体原因如下:运行态—→等待态:等待使用资源或某事件发生,如等待外设传输;等待人工干预。
等待态—→就绪态:资源得到满足或某事件己经发生,如外设传输结束;人干预完成。
运行态—→就绪态:运行时间片到,或出现有更高优先权进程。
就绪态—→运行态:CPU 空闲时被调度选中一个就绪进程执行。
3.什么是处理机三级调度?各级调度分别完成什么工作?答:高级调度、中级调度和低级调度●高级调度:即作业调度,按照一定策略将选择磁盘上的程序装入内存,并建立进程。
●中级调度:即交换调度,按照一定策略在内外存之间进行数据的交换。
●低级调度:即CPU调度,按照一定策略选择就绪进程,占用cpu执行。
4.设一计算机系统有输入机一台、打印机两台,现有二道程序同时投入运行,且程序A 先开始运行,程序B 后运行。
程序A 的运行轨迹为:计算50ms,打印信息100ms,再计算50ms ,打印信息100ms ,结束。
程序B 运行的轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。
要求:(1) 用图画出这二道程序并发执行时的工作情况。
(2) 说明在二道程序运行时,CPU 有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?(3) 程序A、B 运行时有无等待现象?在什么时候会发生等待现象?答:(1)工作情况如图。
OS复习要点

明确OS的目标和作用熟练掌握OS的基本特性了解OS的主要功能理解并行和并发多道程序概念各种不同类型操作系统的特性、常用实现算法、应用场合、主要追求目标了解顺序程序和并发程序的执行特点了解进程组成和各部分的作用熟练掌握进程状态概念、转换熟练掌握进程互斥与同步概念熟练掌握P、V操作和信号量机制的使用熟练掌握经典进程同步问题的解决办法了解线程概念一般掌握进程通信方法及消息缓冲队列机制的设计思想知道处理机调度的分类掌握常用调度算法思想及其性能评价方式(先来先服务、短进程优先、高响应比优先、时间片轮转、多级反馈队列等算法,配合抢占与非抢占两种方式,能算出其完成时间、周转时间、带权周转时间等性能指标)知道实时调度和多处理器调度算法掌握死锁产生的必要条件掌握死锁预防、死锁检测与解除的方法熟练掌握使用银行家算法避免死锁的方法掌握重定位的基本概念及引入重定位和动态重定位的原因,了解重定位在连续分配方式、分页系统和分段系统中的不同实现方式理解动态重定位分区分配方式掌握分页和分段存储管理方式,理解它们地址转换机制,了解分页和分段存储管理方式中的信息共享和保护了解虚拟存储器的基本概念及基本特征,掌握其引入原因和实现的关键技术掌握请求分页系统的基本概念,理解页表机制和地址变换过程以及常用的页面置换算法(学会分析缺页率、抖动、belady等)了解设备管理的目标和任务理解程序I/O方式,中断驱动I/O方式,DMA I/O控制方式和I/O通道控制方式理解缓冲的引入目的,掌握单、双缓冲、循环缓冲和缓冲池的工作机制理解什么是设备独立性以及如何实现设备独立性理解虚拟设备实现原理和SPOOLing技术的工作原理理解磁盘的访问策略,掌握磁盘访问时间的定义和常用的磁盘调度算法(算法思想、评价方法——磁盘访问时间)了解文件、文件系统、文件目录、目录项、文件共享等基本概念及文件的分类理解文件的两种逻辑结构及两种存取方法理解文件的三种物理结构:连续结构、链接结构及索引结构(理解文件的物理结构及其地址映射方法)了解三种目录结构:单级、两级、多级目录结构(完整路径和相对路径的书写和解析方法)了解文件的共享方法理解外存空间的管理方法(空闲区域的管理方法及其工作原理)理解UNIX系统的文件索引结构。
操作系统复习提纲(大全五篇)

操作系统复习提纲(大全五篇)第一篇:操作系统复习提纲3.什么是操作系统?操作系统在计算机中的主要作用是什么?操作系统:管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便有效地使用计算机提供良好运行环境的一种系统软件。
a>服务用户观点——操作系统作为用户接口和公共服务程序 b>进程交互观点——操作系统作为进程执行的控制者和协调者 c>系统实现观点——操作系统作为扩展机和虚拟机d>资源管理观点——操作系统作为资源的管理者和控制者10.试述系统调用与函数(过程)调用之间的主要区别。
a>调用形式和实现方式不同。
函数调用所转向的地址是固定不变的,但系统调用中不包括内核服务例程入口地址,仅提供功能号,按功能号调用;函数调用是在用户态执行,只能访问用户栈;系统调用要通过陷阱设置,从用户态转换到内核态,服务例程在内核态执行并访问核心栈。
b>被调用代码的位置不同。
函数调用是静态调用,调用程序和被调用代码处于同一程序内,经链接后可作为目标代码的一部分,这是用户级程序当函数升级或者修改时,必须重新编译和链接;系统调用是动态调用,系统调用的服务例程位于操作系统中,这是系统级程序,这样当系统调用的服务例程升级或修改时与调用程序无关,而且调用程序的长度大为缩减,能减少其所占用的内存空间。
c>提供方式不同。
函数调用通常有编程需要提供,不同语言所提供的函数功能、类型和数量可以不同;系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、类型和数量便固定不变。
15.什么是多道程序设计?多道程序设计技术有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统的内存并启动交替计算的方法。
特点:多道性、宏观并行、微观串行。
19.在分时系统中,什么是响应时间?它与哪些因素有关?响应时间:从交互式进程提交一个请求(命令)直到获得响应之间的时间间隔。
os复习提纲.doc
地点 403机房 403机房 403机房上机实验时间14周周五5-6节15周周五5-6节17周周五5-6节Chapter 11. The concept of Operating System.2. What is batch system, Time sharing System?3. What is Multiprogramming?Chapter 21. The DMA structure. P252. The storage devices. P313. What is Dual-Mode Operation? P34Chapter 31. Operating System Components. P452. What is System call. P533. The characteristics of JVM. P75Chapter 41. Process Concept. P872. Process State.3. What is PCB. P894. Operations on process. P955. What is Parent process, what is Child Process, and the relationshipsbetween them.6.What is Context Switch? P95Chapter 51.What is Threads? P1152.The difference between Process and Thread.3.What is User Threads? What is Kernel Threads? P1174.The Multithreading Models? P118Chapter 61.What is CPU bound process, what is I/O bound process? P1352.What is short term scheduler, what is long term scheduler? P1373. 6.3 the Scheduling Algorithms: FCFS, SJF, Priority, RR, MQS, MFQS Chapter 71.Critical-Section Problem. P1752.The concept and the basic priciples of monitor. P1993.The Two-Tasks solutions.4.The Semphores, and the operations of Semphores. P1855.The wait and signal operation.6.Three Classical Synchronzation Problems. P190Chapter 81.The concept of Deadlock.2.Four necessary conditions of deadlock. P2293.Resource Allocation Graph. P2314.Methods for handling deadlocks. P2335.Deadlock prevention. P2376.Banker's Algorithm.7.How to recovery from deadlock?Chapter 91.Address binding concepts P2562.What is Swapping? P2623.What is Contiguous Memory Allocation? the concepts of hole,fragmentation.4.Paging. P2695.Segmentation. P2846.Semgmentation with Paging. P291Chapter 101.Demand Paging principles.2.Page replacement algorithm. FIFO, Opitmal page replacement, LRU,LRU approximation, Counting based (LFU, MFU).3.What is Trashing? What is Working-Set model?Chapter 111.File concept, File System concept.2.Several file types.3.Access Methods. P3554.Several Directory Structure. P3575.File Allocation Methods: Contiguous, Linked, Indexed P377Chapter 121.What is polling? P4052.How to handle interrupt. P4073.The buffer, cache, and the difference between them.4.What is spooling? P421Chapter 131.Disk Scheduling Algorithms: FCFS, SSTF, SCAN, C-SCAN, LOOK,C-LOOK.2.Swap space management. P446Chapter 201.The history of Unix.2.The advantage of Unix system.。
操作系统复习资料全os复习提纲
计算机操作系统1、银行家算法2、磁盘调度3、进程同步问题(pv 文件中123458)4、页面置换算法5、可变分区管理书上第127页开始的动态重定位分区分配6、死锁问题7、分时系统和实时系统上次试卷上的内容8、程序的载入和链接书上第118页开始9、文件相关10、分页和分段相关进程同步问题1、假定系统有三个并发进程read, move和print共享缓冲器B1和B2。
进程read负责从输入设备上读信息,每读出一个记录后把它存放到缓冲器B1中。
进程move从缓冲器B1中取出一记录,加工后存入缓冲器B2。
进程print将B2中的记录取出打印输出。
缓冲器B1和B2每次只能存放一个记录。
要求三个进程协调完成任务,使打印出来的与读入的记录的个数,次序完全一样。
请用PV操作,写出它们的并发程序。
解:beginemptyB1 , fullB1, emptyB2, fullB2 : semaphoreB1,B2 : recordemptyB1 := 1,fullB1:=0,emptyB2:=1,fullB2:=0cobegin process readX : record;begin R: 接收来自输入设备上一个记录X:=接收的一个记录;P(emptyB1);B1:=X;V(fullB1);goto R;end;Process moveY:record;beginM:P(fullB1);Y:=B1;V(emptyB1)加工 YP(emptyB2);B2:=Y;V(fullB2);goto M;end;Process printZ:record;beginP:P(fullB2);Z:=B2;V(emptyB2)打印Zgoto P;end;coend;end;2、用PV操作解决读者写者问题的正确程序如下:begin S, Sr: Semaphore; rc: integer;S:=1; Sr:=1; rc:=0;cobegin PROCESS Reader i ( i=1,2…)begin ( P(S5))P(Sr)rc:=rc+1;if rc=1 then P(S);V(Sr);read file;P(Sr);rc:=rc-1if rc=0 thenV(S);V(Sr);( V(S5) )end ;PROCESS Writer j (j=1,2…)begin P(S);Write file;V(S)end;coend ;end;请回答:(1)信号量 Sr的作用;(2)程序中什么语句用于读写互斥,写写互斥;(3)若规定仅允许5个进程同时读怎样修改程序?解:(1)Sr用于读者计数变量rc的互斥信号量;(2)if rc=1 then P(S)中的P(S)用于读写互斥;写者进程中的P(S)用于写写互斥,读写互斥。
操作系统总复习提纲(含答案)
第1章引论1.什么是操作系统?●定义:操作系统是控制和管理计算机硬件和软件资源、合理地组织计算机工作流程以及方便用户使用计算机的一个大型程序。
①为应用程序员提供一个资源集的清晰抽象。
②管理一个复杂系统的各个部分:CPU、内存和其他外设③允许多路共享资源(multiplexing)(在时间和空间上共享)主要功能:①进程与线程②存储器管理③文件系统④输入/输出管理●系统软件和应用软件:①系统软件:各种应用软件,虽然完成的工作各不相同,但它们都需要一些共同的基础操作,例如都要从输入设备取得数据,向输出设备送出数据,向外存写数据,从外存读数据,对数据的常规管理,等等。
这些基础工作也要由一系列指令来完成。
人们把这些指令集中组织在一起,形成专门的软件,用来支持应用软件的运行,这种软件称为系统软件。
②应用软件:应用软件是专门为某一应用目的而编制的软件●计算机的运行模式:①内核态(Kernel mode)管态、核心态:所有硬件的完全访问权,可以执行任何机器指令②用户态(User mode)目态:只使用机器指令的一个子集。
特别地,那些会影响机器的控制或可进行I/O 操作的指令,在用户态中程序里是禁止的。
③区别:核心态的程序由硬件保护,无法修改和更换2.各类操作系统及其特点●多道程序设计与分时系统概念①多道程序设计:多个在内存中的进程共用一个CPU,当CPU进程I/O操作时,进行切换,充分利用CPU②分时系统:使一台计算机同时为几个、几十个甚至几百个用户服务的一种操作系统●实时操作系统特点:①确定性②响应性③用户控制④可靠性⑤软失败操作第2章进程与线程1.并发与并行的概念①并发性:在一段时间内宏观上有很多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时的交替执行②并行性:利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行2.进程与程序的关系与区别。
线程是进程的一个执行单元,是比进程更小的执行单位。
操作系统复习提纲(不完整版)
第一章1. 什么是操作系统(OS)?作用是什么?OS是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充作用管理好这些设备,提高他们的利用率吧和系统吞吐率,并为用户和应用程序提供一个简单的借口,便于用户使用2.OS的主要功能是什么?①处理机管理:进程同步(参考信号量机制)、进程控制(状态的转换)、进程通信和调度②存储器管理:是对内存进行分配、保护和扩充③设备管理:设备管理、设备分配和设备处理④文件管理:文件存储空间的管理、目录管理、文件的读写管理和保护3.OS有哪几大特征?基本特征是什么?①并发性②共享性③虚拟性④异步性基本特征:并发性4•设计现代OS的主要目标是什么?①方便性②有效性③可扩充性④开放性5. 单道批处理的缺点:一次只能处理一个程序,系统中的资源得不到充分的利用6. 多道批处理:用户所提交的作业先存放在外存上,并排成一个队列,称为“后备队列”,然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,使他们共享CPU和系统的资源7. 时分复用和空分复用技术(虚拟技术)时分复用技术:利用设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到充分的利用空分复用技术:利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率第二章1.前趋图的理解和使用(课本和作业)P342. 什么是进程P36进程是进程实体的运行过程,是系统进行资源分配和调度的独立单位由程序段、相关数据和PCB 块三部分构成进程实体3. 进程的特征有哪些P36①动态性②并发性③独立性④异步性4. 进程的三种基本状态是?P36①就绪状态:进程已处于准备好的状态,即进程分配到除CPU以外的所有必要的资源的状态②执行状态:进程获得CPU,程序正在执行的状态③阻塞状态:OS 把处理机分配给另一个就绪进程,让受阻进程处于阻塞状态5. 进程三种状态的转换(很大几率会考)P37就绪州完成/ \/ 逬程调度..阴塞V ) VO请求(—拥转换过程:①就绪T执行,处于就绪队列的进程,当进程调度程序为之分配了处理机(CPU)后,该进程便由就绪状态转变成执行状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五状态转移变化图
七状态转移变化图
2
王云龙 PB10210159 2012.6
6. 请描述实现进程创建和进程结束的内部基本处理流程。
进程创建的基本过程: ①申请空白 PCB(创建内核进程对象) ②为新进程分配资源:创建进程地址空间框架;创建进程打开对象句柄表;加载并映射新进程映像到进程 用户空间,包括分配部分物理内存页;在进程用户空间中分配进程运行环境控制块 (PEB); ③初始化进程 PCB 和 PEB; ④将新进程状态置为“就绪”,并插入就绪队列。 进程结束撤销的基本过程: ①根据被终止进程标识,从 PCB 中检索出该进程 PCB,从中读出进程状态;若被终止进程处于执行状态, 应立即中止该进程的执行;修改该进程的状态到终止状态,并立即申请再调度;若还有子孙进程,还应 将它们终止或过继; ②释放进程拥有的所有资源; ③释放 PCB
王云龙 PB10210159 2012.6
④进程与程序的组成不同:进程组成包括代码段、数据段和控制块。 联系:进程与程序密切关联。通过多次加载执行,一个程序可对应多个进程;通过调用关系,一个进程可涉 及多个程序。进程可创建其他进程,而程序并不能形成新的程序。
4. 理解 PCB 数据结构中的主要属性域及作用。
第 3 章 存储管理
1. 说明存储管理的主要功能和目标。
当今计算机都是基于冯诺依曼存储程序式,程序和数据在使用时都必须位于主存中。操作系统中的存储管 理是指对主存(又称内存)的管理。
存储器组织,从上到下速度越来越慢,容量越来越大,单元价格越来越便宜。 ①内存分配与回收。为每个进程创建执行空间,分配初始所需基本内存,并允许进程在执行中动态申 请/释放内存。 ②实现有效的存储保护与共享。保证进入内存的各道作业都在自己的存储空间内运行,互不干扰。 ③主存扩充(扩充主存的大小)。引入虚拟存储技术,用外存扩充主存数量,弥补物理内存数量的不 足。 ④提高主存的利用率。采用合理得当的算法、策略和数据结构。提高计算机资源利用率的根本途径是 采用多道程序设计技术,实现并发共享。 ⑤地址变换:陈故乡的地址都从“0 ”开始,程序中其他地址都相对于起始地址计算,由这些地址所形 成的地址范围称为地址空间,其中的地址称为逻辑地址。存储空间是指主存中一系列存储信息的物理 单元的集合,其中的地址称为物理地址。地址空间是逻辑地址的集合,存储空间是物理地址的集合。 存储管理必须提供地址变换(重定位)功能,将逻辑地址转换为物理地址。
2. 请给出采用首次适应策略和 FBC(Free Bloce chain 空闲分区链表)结构进行空闲分区 管理的动态分区分配描述算法。若将首次适应策略改为最坏适应策略、最佳适应策略或 循环首次适应策略,该如何修改算法?
动态分区分配常采用的数据结构: ①空闲分区表(Free Block Table, FBT) 表项:大小|始址;存在问题:表目大小难以预先准确估计; ②空闲分区链表(Free Block Chain, FBC) 双向链表,数据直接存储在各分区的头尾处;比较灵活,可双向搜索 碎片是指内存中无法被利用的存储空间,内部碎片是指分配给作业的存储空间中未被利用的部分,外部碎 片是指系统中无法利用的小存储块。 首次适应策略(first fit):该算法要求空闲分区按地址递增的次序排列。在进行内存分配时,从空闲分 4
王云龙 PB10210159 2012.6
区链开始顺序查找,直到找到第一个能满足其大小要求的空闲分区为止。然后再按照作业大小,从该 分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区链中。优点是该算法的分配 和释放的时间性能很好,较大的空间分区可以被保留在内存高端。缺点是随着低端分区不断划分会产 生较多小分区,每次分配时时间开销会增大。 最坏适应策略(worst fit):要求空闲分区按容量大小递减的次序排列。在进行内存分配时,先检查空闲分 区链中的第一个空闲分区,若第一个空闲分区小于作业要求的大小,则分配失败,否则从该空闲分区 中划出与作业大小相等的一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区链中。它的特 点是总是挑选满足作业要求的最大的分区分配给作业。不易导致小空闲区 (碎片),但较大空闲分区不被 保留。当有大作业来到时,其存储空间往往得不到满足。 最佳适应策略(best fit):要求空闲分区按容量大小递增的次序排列。在进行内存分配时,从空闲分区链首 开始顺序查找,直到找到第一个能满足其大小要求的空闲分区为止。按这种方式为作业分配内存,就 能把既满足作业要求又与作业大小相近的空闲分区分配给作业。缺点:从个别看 ,外碎片较小;但整体 上,会形成较多外碎片。优点:较大的空闲分区可被保留。 循环首次适应算法:又称下次适应算法,它是由首次适应算法演变而来。在为作业分配内存空间是,不再 每次从空闲分区链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直到找到第 一个能满足其大小要求的空闲分区为止。然后再按照作业大小,从该分区中划出一块内存空间分配给 请求者,余下的空闲分区仍留在空闲分区链中。优点:存储空间利用更加均衡,不致使小的空闲分区集 中在存储区的一端;缺点:导致缺乏大的空闲分区。
王云龙 PB10210159 2012.6
操作系统 期末复习整理总结
第 2 章 进程的描述与控制
1. 针对:1)单任务 OS 环境下程序顺序执行,2)多任务 OS 环境下的多道程序并发执行, 试分析它们分别具有哪些特征?为什么?
单任务 OS 环境下程序顺序执行,仅当前一个操作执行完后才能执行后继操作,它有如下特征: 顺序性:每一个操作必须在下一个操作开始之前结束。 封闭性:程序一旦开始,其执行结果不受外界因素影响,因为程序在运行时独占系统的各种资源,故 这些资源的状态只有本程序才能改变。 可再现性:只要程序执行时的初始条件和执行环境相同,当程序重复执行时,都将获得相同的结果。 多任务 OS 环境下的多道程序并发执行,即若干个程序同时在系统中运行,这些程序的执行在时间上 是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始,它有如下特征: 间断性:程序并发执行时,由于他们共享资源或为完成同一项任务而相互合作,致使并发程序之间形 成了相互制约的关系,这种制约关系将导致并发程序具有“执行—暂停执行—执行”这种间断性的活 动规律。 失去封闭性:多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序 的运行失去封闭性。 不可再现性:由于失去了封闭性,导致失去其运行结果的可再现性。
2. 深入理解进程的概念,试说明进程的基本特征及现代 OS 中引入进程的意义。
进程的概念:①是具有一定独立功能的程序在一个数据集上的一次动态执行过程。 实体(有独立的活动地址空间)。③是计算机系统资源的使用实体和参与系统资源分配的最基本单位。 ④是计算机系统中可独立调度执行的实体。(在进一步引入“线程”的 OS 中,可独立调度执行的实体 变为线程。) 进程的基本特征: ① 独立性:进程是一个能独立运行的基本单位,也是系统进行资源分配和调度的独立单位。每个进 程具有自己相对独立的地址空间,除非通过进程通信手段,否则不能相互影响。 ② 结构性:进程空间是结构化的、分段组织的;每个进程都由程序段、数据段和一个进程控制块组 成。 ③ 动态性:是或包含可在其地址空间中活动的执行体对象;动态特性还表现在它因创建而产生,由 调度而执行,因得不到资源而暂停执行,最后由撤销而消亡。 ④并发性, 也称异步性: 在同一个计算机系统中允许同时存在多个进程, 微观上它们可能是交替执行; 但宏观上看,则似乎在同时独立运行。引入进程的目的就是为了使程序能与其他程序并发执行,以提 高资源利用率。 现代 OS 引入进程的意义:多道程序环境下,程序的并发执行破坏了程序的封闭性和可再现性,因此 人们引入进程。引入进程的目的就是为了使程序与其他程序并发执行,以提高资源利用率。 (一个程序可以通过多次执行,产生多个进程)②是计算机内存中具有一定结构和具有相对独立性的动态
8. 请说明 windows 系统中与线程描述有关的数据结构,以及线程创建的基本过程。 ①线程的内核数据结构(代表对象)是 ETHREAD,是一种调度对象,它的第一个成份是数据结构 KTHREAD,
也称为 TCB ; ②线程在用户空间的相关数据结构:有自己专有堆栈;有自己的运行上下文;有自己的线程环境块 TEB。 PEB 在用户空间的位置是固定的,PEB 下方就是 TEB,进程中有几个线程就有几个 TEB,每个 TEB 占一个 4KB 3
3. 在引入进程的 OS 中,进程与(二进制可执行)程序这两个概念的区别与联系。
区别:①程序是静态的, 是有序代码的集合, 是进程的定义和说明;进程是程序的执行。 ②进程是暂时的,程序是永久的。进程是一个状态变化的过程,程序对应着一个持久外存文件,具有外存 文件的性质。 ③进程是动态的、暂时的,是程序的一次执行,通常不能在计算机之间迁移。 1
王云龙 PB10210159 2012.6
的页面。 线程创建的基本过程: ①创建/初始化 ETHREAD 数据结构,并处理好与 EPROCESS 的关系。 ②为新线程分配堆栈、创建并初始化执行上下文。 ③在所属进程的用户空间中,创建并设置新线程 TEB。 ④进一步设置目标线程的 KTHREAD 数据结构,包括:设定新线程在用户空间执行入口始址。ETHREAD 数据 结构中有相关成份,用来存放相关地址。将其上下文中的断点 (返回点 )设置成指向内核中的一段程序 KiThreadStartup,使得该线程一旦被调度运行时就从这里开始执行。 ⑤将线程对象标插入就绪队列。
7. 请说明进程与线程的区别与联系。线程拥有独立的用户空间吗?可以参与资源分配吗?
在操作系统中引入线程概念的主要目的是减少程序并发执行时所需付出的时空开销,提高程序执行的并发 程度。不论是传统操作系统还是设有线程的操作系统,进程都是参与资源分配、拥有资源的基本单位。 线程是进程内的一个执行单元和可调度实体, 线程基本上不拥有资源, 只拥有一点在运行时必不可少的 资源(如程序计数器、一组寄存器和栈),但它可以与同属一个进程的其他线程共享进程拥有的全部资 源。 进程与线程的区别与联系 ①地址空间:不同进程的地址空间相互独立,而同一进程的各线程共享同一地址空间,一个进程中的线程 在另一进程中是不可见的。 ②通信关系:进程间通信必须通过 OS 提供的进程间通信机制,而同一进程的线程间通信可以通过直接读写 进程数据段如全局变量进行(仍需要同步互斥机制保证数据访问的一致性)。 ③调度:在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。同一进程 中的线程上下文切换比进程上下文切换快得多。 ④系统开销:创建进程或撤销进程时,操作系统所付出的开销远大于创建或撤销线程的开销;由于统一进 程内的多个线程共享进程的地址空间,因此,多线程之间的同步与通信非常容易实现。