1、1第 1 章 计算机操作系统概述1、操作系统的概念操作系统(Operating System,OS)是方便用户、管理和控制计算机软硬件资源的系统软件(或程序集合) 。从用户角度看,操作系统可以看成是对计算机硬件的扩充;从人机交互方式来看,操作系统是用户与机器的接口;从计算机的系统结构看,操作系统是一种层次、模块结构的程序集合,属于有序分层法,是无序模块的有序层次调用。操作系统在设计方面体现了计算机技术和管理技术的结合。2、操作系统的发展形成了五大类型操作系统的五大类型是批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。 多通道批处理操作系统多道程序设计:即在系统内(内存
2、)同时存放并运行几道相互独立的程序。多道程序设计的基础:是将运行过程进一步细化成几个小的步骤,从而实现宏观上的并行。但从微观上看,内存中的多道程序轮流地或分时地占用处理机,交替执行。多道批处理系统 = 批处理系统+多道程序设计技术 分时与实时分时:鉴于 CPU 运转的高速度,把 CPU 的时间分成很短的时间片(例如,几十至几百毫秒)进行工作。时间片的大小影响系统的响应时间,并与系统用户的数量、系统时间片的切换速度有关。实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。实时系统对交互能力要求不高,但要求可靠性有保障。 网络操作系统与分布式操作系统分布
3、式操作系统是网络操作系统的更高级形式,它保持网络系统所拥有的全部功能,同时又有透明性、可靠性、高性能等。网络操作系统与分布式操作系统虽然都属于管理分布在不同地理位置的计算机,但最大的差别是:网络操作系统的工作,用户必须知道网址,而分布式系统用户则不必知道计算机的确切地址。3、操作系统的五大功能 作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等; 文件管理:又称为信息管理; 存储管理:实质是对存储“空间”的管理,主要指对主存的管理; 设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收; 进程管理:实质上是对处理机执行“时间”的管理,即如何将 C
4、PU 真正合理地分配给每个任务。4、表征操作系统的属性主要有:响应系数,并发性,信息的共享、保密与保护,可扩充性、可移植性、可读性、可生成性,安全可靠性,可测试性等。第 2 章 作业管理1、基本概念作业(Job) 是让计算机完成一件事或任务,可大可小,可多可少。2作业步(Job steps) :作业顺序执行的工作单元。作业流(Job Stream) :作业步的控制流程。作业类别分为终端型作业和批量型作业。2、三代用户界面 第一代用户界面:操作命令和系统调用(一维空间) 第二代用户界面:图形界面(二维空间) 第三代用户界面:虚拟现实的界面元素(三维空间)3、界面管理的功能 实现高效的人机通信 改
5、善计算机的可用性、可学性和有效性 支持三维及多媒体技术 为广大用户提供适应不同应用的众多界面构造工具及语言4、作业调度 作业调度功能(1)采用JCB(作业控制块)表格,记录各作业状况;(2)按选定的算法,从后备作业队列中选出一部分(多道)或一个作业投入运行;(3)为被选中的作业做好运行前的准备工作,例如建立相应的执行进程和分配系统资源;(4)作业运行结束的善后处理工作。 作业调度算法(1)先来先服务(FCFS)作业平均周转时间=(作业完成时刻i作业提交时刻i )/n个作业(2)最短作业优先:在作业内容参差很不均衡时有合理性(3)最高响应比优先响应比(系数) 作业响应时间(等待运行)/ 作业运行
6、时间(4)定时轮转法:按时间片分为固定时间片和不固定时间片(5)优先数法:急事先办的原则(6)事件驱动法:MS-Windows采用此算法5、Shell 命令解释和控制语言Shell 是用户与操作系统交互作用的界面。作为命令解释程序它接收用户输入的命令,进行分析,创建子进程实现命令的功能,等子进程终止工作后,发出提示符。此外,Shell还是一种高级程序设计语言,有变量、关键字、各种控制语句,支持函数模块,有自己的语法结构。第 3 章 文件管理1、文件管理的任务与功能任务:把存储、检索、共享和保护文件的手段,提供给操作系统本身和用户,以达到方便用户和提高资源利用率的目的。功能:-分配与管理外存,实
7、现按名存取-提供合适的存储方法-文件共享、保护,解决命名冲突,控制存取权限文件的组织结构:文件、文件元素、文件系统,其中文件系统包含文件管理程序(文件和目录的集合)和所管理的全部文件。2、文件分类3(1)按文件性质与用途分:系统文件、库文件、用户文件(2)按操作保护分:只读文件、可读可写文件、可执行文件(3)按使用情况分:临时文件、永久文件、档案文件(4)按用户观点分:普通文件、目录文件、特殊文件(5)按存取的物理结构分:顺序(连续)文件、链接文件、索引文件(6)按文件的逻辑存储结构分:有结构文件、无结构文件(7)按文件中的数据形式分:源文件、目标文件3、文件的逻辑结构和物理结构 文件的逻辑结
8、构-从用户使用角度确定的文件结构-按文件名及记录号存取文件,是一维、连续的字符序列,方便存储、检索或加工-文件由若干个逻辑记录组成,并加以命名或编号 文件的物理结构又称文件的存储结构,是指文件在存储介质上的存储组织形式,与存储介质的存储性能有关。空闲空间的管理方法主要有:空闲表法、空闲链表法、成组链接法4、文件目录(1)文件目录分类:一级文件目录、二级文件目录、多级文件目录(2)文件目录的管理 目录做成文件,文件系统便于内部统一管理,目录文件在使用时调入内存; 在操作系统中,大量采用“表格”管理。5、文件存取控制 解决文件保护、保密和共享 常用的文件存取控制方法有:存取控制矩阵、用户权限表、使
9、用口令、使用密码 Unix/Linux系统的安全性与计算机病毒简介6、文件系统的数据结构和表示UNIX或 Linux操作系统中文件系统的主要特点(1)操作系统文件的目录组织是一个树形结构;(2)文件本身是无结构的字符流;(3)把外部设备的特殊文件和普通文件以及目录文件都统一在文件这一概念之下。第 4 章 存储管理1、存储管理的基本概念 逻辑地址与物理地址在具有地址变换机构的计算机中,允许程序中编排的地址和信息实际存放在内存中的地址有所不同。前者叫逻辑(相对)地址,后者叫物理(绝对)地址。 重定位:将逻辑地址转换为物理地址。 三级存储器结构辅存主存 高速缓存为三级存储器结构,从辅存到高速缓存,存
10、储器容量减小,存取时间减少,速度增加,但每位存储器成本增加了。 虚拟存储管理虚存是由操作系统调度,采用内外存的交换技术,各道程序在必需使用时调入内存,不用的调出内存,这样好像内存容量不受限制。4虚存的特点:(1)虚存容量不是无限的,极端情况受内存和外存可利用的总容量限制;(2)虚存容量还受计算机总线地址结构限制;(3)速度和容量的“时空”矛盾,虛存量的“扩大”是以牺牲CPU工作时间以及内外存交换时间为代价的。 存储管理的任务和功能任务是方便用户,提高内存资源的利用率,实现主存共享。功能主要有主存的分配和回收、地址映射、主存扩充、内存的共享和保护技术2、分区分配存储管理分为固定分区、可变分区、可
11、重定位分区、多重分区。内存“扩充”技术: 交换:由操作系统做,用户不知道。 覆盖:由用户控制,操作系统提供覆盖机制。内存保护技术:保护系统工作区和用户作业区,特别是如何防止系统区被破坏。方法有存储保护键、界限寄存器3、请求页式存储管理(1)页式存储管理实现原理基于程序在运行时不需要一开始都装入内存(局部性原理),更不应该把最近较长一段时间内不用的程序装入内存。(2)页表的作用是将逻辑页号转换为物理块号。(3)页面淘汰算法先进先出算法(FIFO)、循环检测法、最近最少使用页面先淘汰(LRU) 、最不经常使用的页面先淘汰(LFU) 、最近没有使用页面先淘汰(NUR) 、最优淘汰算法(OPT)等。(
12、4)页式存储管理的优、缺点优点: 虛存量大,适合多道程序运行,用户不必担心内存不够的调度操作; 内存利用率高,不常用的页面尽量不留在内存; 不要求作业连续存放,有效地解决了“碎片”问题。与分区式相比,不需移动作业;与多重分区比,无零星碎片产生。缺点: 要处理页面中断、缺页中断处理等,系统开销较大; 有可能产生“抖动”; 地址变换机构复杂,为提高速度采用硬件实现,增加了机器成本。4、段式、段页式存储管理段式、页式存储管理的对比表参考教材117页。段页式存储管理特点: 每一段分若干页,再按页式管理,页之间不要求连续; 用分段方法分配管理作业,用分页方法分配管理内存; 兼有段式和页式管理的优点,系统
13、复杂和开销增大,一般在大型机器上才使用。第 5 章 输入输出设备管理1、设备管理的任务和功能 设备管理的任务(1)按用户需求提出的要求接入外部设备,系统按一定算法分配和管理控制,而用户5不必关心设备的实际地址和控制指令;(2)尽量提高输入输出设备的利用率,例如发挥主机与外设以及外设与外设之间的真正并行工作能力。 设备管理的功能(1)分配设备(2)控制和实现真正的输入输出操作(3)对输入输出缓冲区进行管理(4)在一些较大系统中实现虚拟设备技术2、外部设备分类(1)按系统和用户分:系统设备、用户设备(2)按输入输出传送方式分(UNIX或Linux 操作系统):字符型设备、块设备(3)按资源特点分:
14、独享设备、共享设备、虚拟设备(4)按设备硬件物理特性分:顺序存取设备、直接存取设备(5)按设备使用分:物理设备、逻辑设备、伪设备 设备I/O方式:询问、中断、通道 I/O设备分配算法:先来先服务( FCFS)、按优先级进行分配3、外部设备的安装设备驱动程序的作用、分类、使用。CPU 与外部信息的交换:程序直接控制方式、中断控制方式、DMA 方式和通道方式总线与接口:PC 系统总线、标准接口类型、USB 接口4、设备管理技术(1)I/O设置缓存理由 解决信息的到达率和离去率不一致的矛盾; 缓存起中转站的作用; 在通道或控制器内设置局部寄存器作为缓冲存储器,可暂存I/O信息,以减少中断CPU的次数
15、。这种情形可进一步推广,使得一次读入的信息可多次重复使用。(2)虚拟设备的技术(SPOOLing)SPOOLing,即外围设备联机并行操作,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常也叫做“假脱机技术”。是一种预输入、缓输出和转储的管理技术.SPOOLing系统的特点: 提高了I/O速度; 将独享设备改造为共享设备(典型例子是打印机的“共享”); 实现了虚拟设备功能。5、设备处理程序编制内容 设备驱动程序的功能(1)将接收到的抽象要求转换为具体要求;(2)检查用户I/O请求的合法性,了解 I/O设备的状态,传递 I/O有关参数,设置设备的工作方式;(3)发出I/O命令,启动分
16、配到的 I/O设备,完成指定的I/O 操作;(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理;(5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的 I/O请求,自动地构成通道程序。 设备驱动程序的特点6(1)驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序。(2)驱动程序与I/O设备的特性紧密相关。(3)驱动程序与I/O控制方式紧密相关。(4)由于驱动程序与硬件紧密相关,因而其中的一部分程序用汇编语言书写,目前有很多驱动程序,其基本部分已经固化,放在ROM中。 设备处理方式将抽象要求转换为具体要求;检查I/O请求的合法性;读出和检
17、查设备的状态;传送必要的参数;方式的设置;I/O 设备启动。第 6 章 进程及处理机管理1、 进程的引入(1)进程调度属于低级处理机管理,即确定系统中哪个进程将获得CPU;而作业调度属于高级处理机管理,即确定系统中哪些作业将获得CPU。(2)进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。(3)引入进程的意义是描述多道程序设计系统中程序的动态执行过程。2、进程的定义及特征(1)程序和进程的区别见教材153页的表6-2;(2)进程的五个基本特征:动态性、并发性、独立性、制约性、结构性;(3)进程与线程:线程是由进程进一步派生出来的一组代码(指令组)的执行过程。3、进程调度(1)进
18、程的三个基本状态及转换三个基本状态是等待、执行和就绪,在一定的条件下,进程的状态将发生转换。见教材158页图6-1。(2)进程调度算法主要有先来先服务(FCFS)、轮转法、多级反馈轮转法、优先数法。(3)进程控制块(PCB )是进程存在的唯一标志,它描述了进程的动态性。4、进程通信(1)进程的同步与互斥进程的同步与互斥是指进程在推进时的相互制约关系。一般来说同步反映了进程之间的协作性质,往往指有几个进程共同完成一个任务时在时间次序上的某种限制,进程相互之间各自的存在及作用,通过交换信息完成通信。如接力比赛中一组队员使用接力棒等。进程互斥体现了进程之间对资源的竞争关系,这时进程相互之间不一定清楚
19、其它进程情况,往往指多个任务多个进程间的通讯制约,因而使用更广泛。如打篮球时双方挣抢篮板球等。(2)临界区一次仅允许一个进程使用的共享资源称为临界资源,每个进程中访问临界资源的程序段称为临界区。(3)原语原语是不可中断的过程。 加锁/开锁(LOCK/UNLOCK )原语优点是实现互斥简单;缺点是效率很低。 信号量(Semaphore)及PV操作PV 操作能够实现对临界区的管理要求。它由 P 操作原语和 V 操作原语组成,对信号7量进行操作,具体定义如下:P(S):将信号量 S 的值减 1,即 S=S-1;如果 S0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。V(S): 将信号量
20、S 的值加 1,即 S=S+1;如果 S0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于 0 时,表示当前可用资源的数量;当它的值小于 0 时,其绝对值表示等待使用该资源的进程个数。注意信号量的值仅能由 PV 操作来改变。一般来说,信号量 S0 时,S 表示可用资源的数量。执行一次 P 操作意味着请求分配一个单位资源,因此 S 的值减 1;当 S0 时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个 V 操作意味着释放一个单位资
21、源,因此 S 的值加 1;若 S0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。 消息缓冲通信原语高级通信原语,用于一组信息发送(Send)与读取(Read)。5、死锁(1)死锁的概念死锁是两个或两个以上的进程中的每一个都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进,称这种现象为死锁现象。产生死锁的原因是共享资源有限,多个进程对共享资源的竞争,而且操作不当。(2)产生死锁的四个必要条件是资源互斥使用、保持和等待、非剥夺性、循环等待。(3)解决死锁的方法一般有死锁的预防,即破坏产生死锁的四个必要条件中的一个或多个,使系统绝不会进入死锁状态;死锁的避免,即
22、在资源动态分配的过程中使用某种办法防止系统进人死锁状态;以及允许系统产生死锁,然后使用检测算法及时地发现并解除它。第 7 章 操作系统结构和程序设计1、操作系统的设计目标和原则操作系统的设计目标:正确性、安全可靠性、可扩充性和可移植性、易维护性。分层原则:步骤、方法、层次间的调用;有序分层法分块原则:模块接口法2、层次结构设计操作系统的结构模型:层次模块模型、整体内核模型、进程模型和对象模型。操作系统的结构设计步骤:总体设计、逐步求精、结构码。3、DOS模块结构,Windows编程模式,Linux程序模块举例二、期末综合练习及解答(一)选择题(选择一个正确答案的序号填入括号中)1. 以下著名的
23、操作系统中,属于多用户、分时系统的是( ) 。ADOS BWindows NT CUNIX DOS/22. 一个作业 8:00 到达系统,估计运行时间为 1 小时,若 10:00 开始执行该作业,其响8应比是( ) 。A 0.5 B1 C2 D33. 按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指( )调度算法。A先来先服务 B计算时间短的作业优先C响应比高者优先 D优先级4. 文件管理实际上是管理( ) 。A主存空间 B辅助存储空间C逻辑地址空间 D物理地址空间5. 段页式存储管理汲取了页式存储管理和段式存储管理的长处,其实现原理结合了页式和段式管理的基本思想,即(
24、 ) 。A 用分段方法来分配和管理物理存储空间,用分页方法来管理逻辑地址空间B用分段方法来分配和管理逻辑地址空间,用分页方法来管理物理存储空间C用分段方法来分配和管理主存空间,用分页方法来管理辅存空间D用分段方法来分配和管理辅存空间,用分页方法来管理主存空间6. 最坏适应分配算法把空闲区( ) 。A 按地址顺序从小到大登记在空闲区表中B 按地址顺序从大到小登记在空闲区表中C 按长度以递增顺序登记在空闲区表中D 按长度以递减顺序登记在空闲区表中7. 在由 9 个生产者,6 个消费者,共享容量为 8 的缓冲器组成的生产者-消费者问题中,互斥使用缓冲器的信号量 mutex 的初值应该为( ) 。A8
25、 B6 C9 D18. 虚拟存储器的容量是由计算机的地址结构决定的,若 CPU 的地址总线为 32 位,则它的虚拟地址空间为( ) 。A100K B640K C2G D4G9. 把逻辑地址转变为内存的物理地址的过程称做( ) 。A编译 B连接 C运行 D重定位10. 通道是一种( ) 。AI/O 端口 B数据通道CI/O 专用处理机 D软件工具11. 时间片轮转调度算法是为了( ) 。A多个终端都能得到系统的及时响应 B先来先服务C优先级高的进程先使用 CPU D紧急事件优先处理12. 操作系统层次设计中为避免形成过多环路而产生死锁,一般应尽量避免( ) 。A上层调用下层 B高层调用低层C外层
26、调用内层 D内层调用外层13. 文件系统采用二级文件目录可以( ) 。A缩短访问存储器的时间 B解决同一用户间的文件命名冲突C节省内存空间 D解决不同用户间的文件命名冲突14. 操作系统是用户和计算机之间的接口,用户通过( ) 、 ( )和( )与操作系统取得联系。A输入/出设备 B键盘操作命令 C中断服务程序 D系统调用 E作业控制命令915. 文件的存取方法依赖于( ) 、 ( )和( ) 。A文件的物理结构 B存放文件的存储设备的特性C文件类型 D文件的逻辑结构E文件的存储结构16. 在分页式存储管理中,将每个作业的( )分成大小相等的页,将( )分块,页和块的大小( ) ,通过页表进行
27、管理。A符号名空间 B主存空间 C辅存空间D逻辑地址空间 E相等 F不等17. 死锁产生的必要条件有( ) 、 ( )和( ) 。A同步使用 B非剥夺性 C互斥使用D循环等待 E执行夭折 F剥夺执行18. 下面关于系统调用的描述中,正确的是( ) 、 ( )和( ) 。A系统调用可以直接通过键盘交互方式使用B系统调用中被调用的过程运行在 “用户态”下C利用系统调用能得到操作系统提供的多种服务D是操作系统提供给编程人员的接口E系统调用是 UNIX 系统中最早采用的名称19. 设备的 I/O 方式有( ) 、 ( )和( ) 。A重定位 B通道 CSPOOLing D询问 E中断 20. 下列描述
28、中,属于文件系统应具有的功能的是( ) 、 ( )和( ) 。A建立文件目录 B实现文件的保护和保密C根据文件具体情况选择存储介质 D提供合适的存取方法以适应不同的应用E监视外部设备的状态(二)是非题(正确的在括号内划,错的划)1. 实时操作系统追求的目标是高吞吐率。 ( )2. 多用户操作系统离开了多终端硬件支持,则无法使用。 ( )3. 如果某一进程获得除 CPU 外的所有所需运行资源,经调度,分配给它 CPU,该进程将进入等待状态。 ( )4. 在操作系统中,通常把终端作业称为后台作业,批处理作业称为前台作业。 ( )5. 作业一旦被作业调度程序选中,即占有了 CPU。 ( )6. 在进
29、行作业调度时,要想兼顾作业等待时间和计算时间,应选取响应比高者优先算法。( )7. 固定分区存储管理的各分区的大小不可变化,这种管理方式不适合多道程序设计系统。( )8. 动态存储分配时,要靠硬件地址变换机构实现重定位。 ( )9. 虚拟存储器实际上是一种设计技巧,使主存物理容量得到扩大。 ( )10. 文件的存储空间管理实质上是组织和管理辅存空闲块。 ( )11. 在文件系统的支持下,用户需要知道文件存放的物理地址。 ( )12. 在采用树形目录结构的文件系统中,各用户的文件名必须互不相同。 ( )13. 用户程序应与实际使用的物理设备无关,这种特性就称作与设备无关性。 ( )14. 常用的
30、缓冲技术是用来解决慢速设备与快速 CPU 处理之间协调工作的。 ( )15. SPOOLing 系统实现设备管理的虚拟技术,即:将独占设备改造为共享设备。它由专10门负责 I/O 的常驻内存的进程以及输入、输出井组成。 ( )16. 临界资源是指每次仅允许一个进程使用的共享资源。 ( )17. 进程之间的同步主要源于进程之间的资源竞争,是指对多个相关进程在执行次序上的协调。 ( )18. 信号量机制是一种有效地实现进程同步与互斥的工具。信号量的值只能由 PV 操作来改变。 ( )19. 计算机的死锁俗称“死机” 。 ( )20. 现代操作系统大量采用的层次设计方法,从已知目标 N 层用户要求,
31、逐级向下进行设计,称为自底向上方法。 ( )(三)填空题1. 人机交互控制界面从第一代的 和 发展到第二代图标控制,正向第三代虚拟现实发展。2. Shell 程序语言最早是由 UNIX 操作系统提供给用户使用的 。3. Windows 操作系统在 方面成功地使用图标进行方便用户的管理; UNIX操作系统的 好,从微型机到巨型机都可以使用。4. 计算机系统一般都有两种运行状态,即 和 。5. 进程的特征主要有 、 、独立性、制约性和结构性。6. 用户程序使用的地址称为 ;而程序执行时 CPU 按照 访问主存。7. 可变分区存储管理中,分区的长度不是预先固定的,而是按 来划分的;分区个数也不是预先
32、确定的,而是由 决定的。8. 页式存储管理中的页表指出了 与 之间的对应关系。9. 常用的 I/O 控制方式有程序直接控制方式、 、 和 DMA 方式。10. 计算机实现缓冲的方式有两种,一是采用专用的硬件 ,二是在主存中开辟专用的 。11. 文件存取方式按存取次序通常分 、 、 。12. 文件的三种物理结构是 、 和 。13. 某 UNIX 文件的保护信息是 111 110 100,则表示 可读、可写、可执行, 可读、可写,其他用户只能读。14. 进程通信根据 分为高级通信和低级通信,PV 操作属于 。15. 检测到死锁后可以采用 、 或检测并恢复办法来解除死锁。(四)应用题1. 操作系统为
33、什么要引入进程?进程与程序的关系是怎样的? 2. 作业调度和进程调度有何区别? 3. 简述请求页式存储管理的优缺点。4. SPOOLing 技术如何使一台打印机虚拟成多台打印机?5. 什么是死锁?死锁的四个必要条件是什么?6. 简述 UNIX/Linux 文件系统的主要特点。7. 什么叫通道技术?通道的作用是什么?8. 某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:11页号 物理块号0 51 102 43 7则逻辑地址0A5C(H)所对应的物理地址是什么?9. 设有进程A、B、C、D依次进入就绪队列(相
34、隔一个时间单位) ,它们的优先级如下表所示:进程 运行时间 优先数A 20 3B 15 1C 8 4D 10 3试问采用“先来先服务” 、 “静态优先数法 ”调度算法(注:优先数大的优先级高) ,选中进程的执行次序。10. 四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D 也不能同时读文件F。为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:(1)请说明应定义的信号量及初值。(2)在下列的程序中填上适当的 P、V 操作,以保证它们能正确并发工作:A() B() C() D()
35、1; 3; 5; 7;read F; read F; read F; read F;2; 4; 6; 8; 参考解答(一)选择题1、C 2、D 3、A 4、B 5、B 6、D 7、D 8、D 9、D 10、C 11、A 12、D 13、D 14、BDE (次序无关) 15、ABE(次序无关) 16、DBE 17、BCD(次序无关) 18、CDE(次序无关) 19、BDE(次序无关) 20、ABD(次序无关) (二)是非题正确的是 6、8、10、13、14、15、16、18 题,其余均是错误的。(三)填空题1. 键盘命令 系统调用2. 命令解释程序集合3. 用户界面设计 移植性4. 用户态 核心
36、态(或系统态)5. 动态性 并发性6. 逻辑地址(或相对地址) 物理地址(或绝对地址)7. 作业的实际需求量 装入的作业数8. 页号 块号129. 中断方式 通道方式10. 缓冲器 缓冲区11. 顺序存取 直接存取 按键索引12. 顺序(连续)文件 链接文件 索引文件13. 文件主 同组用户14. 交换信息量的多少 低级通信15. 预防 避免(四)应用题1. 解:现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。这对于我们理解、描述和设计操作系
37、统具有重要意义。进程定义为程序在并发环境中的执行过程,它与程序是完全不同的概念。主要区别是:(1)程序是静态的,而进程是动态的;(2)程序是永久的,进程是短暂的;(3)程序的组成是代码,进程由程序、数据和进程控制块组成;(4)一个程序可以对应多个进程,通过调用关系,一个进程也可以包括多个程序;(5)进程可以生成其他进程,而程序不能生成新的程序。2. 解:作业调度与进程调度之间的差别主要是:作业调度是宏观调度,它所选择的作业只是具有获得处理机的资格,但尚未占有处理机,不能立即在其上实际运行。进程调度是微观调度,动态地把处理机实际地分配给所选择的进程,使之真正活动起来。另外,进程调度相当频繁,而作
38、业调度执行的次数一般很少。3. 解:优点:(1)虛存量大,适合多道程序运行,用户不必担心内存不够的调度操作。动态页式管理提供了内存与外存统一管理的虚存实现方式。(2)内存利用率高,不常用的页面尽量不留在内存。(3)不要求作业连续存放,有效地解决了“碎片”问题。与分区式比,不需移动作业;与多重分区比,无零星碎片产生。UNIX 操作系统较早采用。缺点:(1)要处理页面中断、缺页中断处理等,系统开销较大。(2)有可能产生“抖动” 。(3)地址变换机构复杂,为提高速度采用硬件实现,增加了机器成本。4. 解:将一台独享打印机改造为可供多个用户共享的打印机,是应用 SPOOLing 技术的典型实例。具体做
39、法是:系统对于用户的打印输出,但并不真正把打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。5. 解:13死锁是两个或两个以上的进程中的每一个都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进的现象。死锁的四个必要条件是:互斥使用、保持和等待、非剥夺性和循环等待。6. 解:(1)UNIX 或 Linux 文件系统的目录组织是一个树形结构;(2)文件本身是无结构的字符流;(3)UNIX
40、 或 Linux 文件系统把外部设备做成特殊文件,与普通文件一并进行管理。7. 解:通道是一个独立于 CPU 的专管输入/输出控制的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令受 CPU 启动,并在操作结束时向 CPU 发中断信号。通道方式进一步减轻了 CPU 的工作负担,增加了计算机系统的并行工作程度。8. 解:逻辑地址 0A5C(H)所对应的物理地址是 125C(H) 。分析 页式存储管理的逻辑地址分为两部分:页号和页内地址。由已知条件“用户编程空间共 32 个页面” ,可知页号部分占 5 位;由“每页为 1KB”,1K=210,可知内页地址占 10 位。由“
41、内存为 16KB”,可知有 16 块,块号为 4 位。逻辑地址 0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100 ,根据上面的分析,下划线部分为页内地址,编码 “000 10” 为页号,表示该逻辑地址对应的页号为2。查页表,得到物理块号是 4(十进制) ,即物理块地址为:01 00 ,拼接块内地址 10 0101 1100,得 01 0010 0101 1100,即 125C(H) 。9. 解:采用先来先服务调度算法,按照进程进入就绪队列的先后次序占有 CPU,其执行次序是 A-B-C-D。采用静态优先数法,进程 A 最先就绪,在 0 时刻先占有 CPU 运行,随后 1 时刻进程B 进入就绪队列,2 时刻进程 C 进入就绪队列,3 时刻进程 D 进入就绪队列。由于采用静态优先数法,不容许随时间的推移改变进程的优先级,所以当进程 A 运行结束时,系统的就绪队列中有 B、C、D 三个进程,而进程 C 优先级最高,于是选中 C;这样分析下去,进程的执行次序是 A-C-D-B。10. 解:(1)定义二个信号量 S1、S2,初值均为 1,即:S1=1, S2=1。其中进程 A 和 C 使用信号量 S1,进程 B 和 D 使用信号量 S2。(2)从1到8分别为:P(S1) V(S1) P(S2) V(S2) P(S1) V(S1) P(S2) V(S2)