首页 操作系统各章作业及复习以及操作系统实验指导书

操作系统各章作业及复习以及操作系统实验指导书

举报
开通vip

操作系统各章作业及复习以及操作系统实验指导书 操作系统概论 名词解释 操作系统 软件 响应时间 分时技术 批处理 吞吐量 裸机 脱机输入输出 单道批处理系统 多道批处理系统 并发性 并行性 临界资源 虚拟性 二.填空 1. 操作系统是配置在计算机硬件系统上的第一层软件,是对硬件系统的第一次扩充。是用户和计算机硬件系统之间的接口。 2. 用户与操作系统之间的接口有命令接口、程序接口、图形用户接口 多道程序设计技术,在单处理机情况下多道程序环境中的各道程序,宏观上它们是并行运行,微观上则是串行执行。 操作系统是一组控制和管理...

操作系统各章作业及复习以及操作系统实验指导书
操作系统概论 名词解释 操作系统 软件 响应时间 分时技术 批处理 吞吐量 裸机 脱机输入输出 单道批处理系统 多道批处理系统 并发性 并行性 临界资源 虚拟性 二.填空 1. 操作系统是配置在计算机硬件系统上的第一层软件,是对硬件系统的第一次扩充。是用户和计算机硬件系统之间的接口。 2. 用户与操作系统之间的接口有命令接口、程序接口、图形用户接口 多道程序设计技术,在单处理机情况下多道程序环境中的各道程序,宏观上它们是并行运行,微观上则是串行执行。 操作系统是一组控制和管理计算机硬件和软件资源、合理的对各类作业进行调度,以及方便用户的程序的集合。 分时操作系统是按照时间片为每个用户分配处理机的。实时控制系统和实时信息处理系统是实时操作系统的两种应用。 网络操作系统的模式有:客户/服务器C/S(Client/Server)模式和对等(Peer-to-Peer)模式。 并发、共享、虚拟、异步性构成了操作系统的特征。 8. 除从硬件的角度外,扩充内存可采用虚拟技术。将外存作为内存来使用。 9 程序的并发执行是指两个或两个以上的程序或程序段可在同一时间间隔内同时执行。 10.从资源管理的观点看,OS是计算机系统资源的管理者。OS的主要功能是针对处理机, 存储器, I/O设备及文件等四类资源进行有效的管理。 11. 多道批处理系统与分时操作系统和实时操作系统是操作系统的三种基本类型。 12.在操作系统中,存储器管理主要包括:内存分配,内存保护,地址映射和内存的扩充。 三、选择题 以下属于操作系统的是: a)ie浏览器 b)dos c)宏汇编 d)word字处理软件 以下属于单任务单用户的操作系统是 a)unix b)dos c)windows xp d)os/2 能在微机、工作站、小型机及大型机上运行的OS是 a)unix b)dos c)windows 95 d)Macintosh OS 进程的描述与控制 一、名词解释 1. 原语 是指由若干条指令组成、用来实现某个特定操作的一个过程。原语的执行具有原子性,即原语在执行过程中不能被分割。操作系统内核中含有许多原语,它们运行在系统状态下。 2.内核:通常将一些与硬件紧密相关的模块(诸如中断处理程序,各种常用设备的驱动程序),以及运行频率较高的模块(诸如时钟管理、进程调度以及许多模块公用的一些基本操作)都安排在紧靠硬件的软件层次中,并使它们常驻内存,以便提高OS的运行效率,并对它们加以保护。通常把这一部分称为OS的内核。 二.填空 1.程序顺序执行时所 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 现的特征有:顺序性、封闭性、可再现性 2.并发执行失去封闭性的原因是共享资源的影响 3. 由程序段、数据段及进程控制块三部分构成了一个进程的实体。 4. 进程的基本状态有:新(New)状态、就绪(Ready)状态、执行状态、阻塞(Block) ( “等待”“睡眠”)状态、终止(Terminated)状态。 5. 系统态和用户态是处理机的两种执行状态 6. PCB的组织方式:链表方式、索引表方式。 7. 进程控制是操作系统的内核通过原语来实现的。 8. 进程控制包括:进程创建、进程撤消、进程阻塞、进程唤醒。 9. 线程是进程中的一个实体,是被系统独立调度和分派的基本单位。 10. 三、选择题 1.以下描述不正确的是 A.前驱图是用来描述程序段或进程之间执行的先后次序关系 B.前驱图中不能有环路。 C.前驱图中可以有环路。 D.前驱图只是用来描述进程的家族关系的。 2.关于进程与程序的描述,以下正确的是 A.进程和程序没有本质的区别 B.进程是动态的,程序是静态的 C.进程可以在计算机之间迁移,而程序不能。 3.以下同时支持用户级线程和内河支持线程的操作系统是: A. informix数据库管理系统; B. OS/2操作系统 C. Solaris操作系统 D.dos 4.一个进程是_____ A.由协处理机执行的一个程序 B. 一个独立的程序 + 数据集 C.PCB结构与程序和数据的组合 D. 一个独立的程序 四、判断正误 1.进程和程序之间是多对一的关系。X 2.引入了线程后,进程就不再是资源分配和调度的基本单位。X 3. 引入了线程后,线程就作为调度的基本单位。V 4. 系统中同时处于就绪、阻塞、运行状态的进程有很多,故对同一状态的进程系统按队列来组织。X 五、简答题 1.简述进程与程序的区别于联系 进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。 进程是暂时的,程序的永久的:进程是一个状态变化的过程,程序可长久保存。 进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。 2.给出进程的5种基本状态的转换图 3.论述进程和线程的区别于联系 1、调度方面 在引入线程的OS中,线程是作为调度和分派的基本单位,进程是作为资源拥有的基本单位。 2、并发性方面 不但进程间可以并发执行,进程中的多个线程也可并发执行。 3、拥有资源方面 进程是拥有系统资源的独立单位,线程自己不拥有系统资源(也有一点不可缺少的资源),但它可以共享其所属进程的资源。 4、系统开销方面 创建和撤消进程(线程),系统都要为之分配和回收资源。进程(线程)间的切换系统所付出的开销大(小)。 第三章 进程的同步与通信 一、填空 1.并发执行的进程可以共享系统的资源,但对共享的临界资源必须做到互斥的访问。 2.系统中的资源应不允许用户进程直接使用,而应由系统统一分配。 3.把每个进程中访问临界资源的那段代码称为临界区。 4.要实现对临界资源的互斥访问,只须使诸进程互斥的进入自己的临界区。 5.在使用整型信号量中,可能会使进程处于忙等的现象。 6.在记录型信号量中,当S.value>0数值时,表示某类可用资源的数量。而当S.value<0时,表示该类资源已分配完。若有进程请求该类资源,则被阻塞, 这时,S.value的绝对值等于等待该类资源的进程数。 7.在and型信号量中,采取原子操作的方式,其资源分配的原则是要么全部分配给进程,要么一个也不分配。以避免死锁情况的发生。 8.进程通信可分为高级通信(进程间传送的信息量大)和低级通信(进程间传送的信息量小)。 判断题 进程进入不安全区域,则一定产生死锁。X 信号量除了能使进程并行执行时互斥的对临界资源访问外,还可以用来描述进程之间的前序关系。V 选择题 1.在信号量机制中所使用的p、v操作属于 a)一般过程 b)一般函数 c)原子操作 d)和普通程序一样 2.以下那种信号量的使用可能会使进程处于“忙等” a)整型信号量 b)记录型信号量 c)and型信号量 d)一般信号量集 3.在记录型信号量中,执行v(s)后,当S.value值小于等于0时,表明 有进程被阻塞,需要唤醒。B)没有进程被阻塞 c)有S.value个进程在阻塞队列中 4.下面使用信号量的代码中,将使得 signal(mutex); critical section wait(mutex) a)导致多个进程同时进入临界区。 B)导致多个进程都不能进入临界区。 C)保证了对临界资源的护持访问 5.下面说法错误的是 a)信号量是可以用来实现进程的同步的。 B)信号量机制可以用来实现进程执行的次序的。 C)整型信号量可能会使处理机出现忙等的现象。 d) 管程是用户进程,它来统一管理进程的同步。 6.信号量机制中的pv操作是通过_____来实现的。 A.原语 B. 指令 C. 过程调用 D. 通信机 三.简答题 1.什么是临界资源和临界区? 2.我们为某临界区设一把锁,当w=1时,表示关锁;当w=0时,表示锁已打开。写出开锁原语和关锁原语,并用其实现互斥(写出框架)。 3. 完善下面生产者和消费者问题解法中的程序; Producer描述 Begin repeat … producer an item in nextp … wait(empty); wait(mutex); buffer(in):=nextp; in:=(in+1)mod n; signal(mutex); signal(full); until false; end Consumer描述 Begin repeat wait(full); wait(mutex); nextc := Buffer(out); out:=(out+1)mod n; signal(mutex); signal(empty); consume the item in nextc; until false; end 第四章 调度与死锁 一、名词解释 1.周转时间:作业i从提交时刻Tsi到完成时刻Tei称为作业的周转时间。 2.高级调度:按一定原则对外存后备队列中的作业进行调度,并建立进程PCB。 3.中级调度:将暂时不能运行的进程调至外存上等待,以释放宝贵的内存空间,从而决定允许哪些进程竞争处理机。 4.低级调度:它决定了存在就绪进程时,哪一个就绪进程将分配到中央处理机,并且把中央处理机实际分配(由Dispatcher分派程序完成)给这个进程,即低级调度是将处理机分配给进程。 5.带权周转时间Wi:作业的周转时间与系统为它提供服务的时间之比 Wi=Ti/Tsi 6.响应时间:指从用户提交一个请求开始到系统首次产生响应为止的时间。 7.死锁Deadlock:是计算机系统中多道程序并发执行时,两个或两个以上的进程由于竞争资源而造成的一种互相等待的现象(僵局),如无外力作用,这些进程将永远不能再向前推进。 8安全状态:指系统能按照某种顺序,为每个进程分配所需的资源,直至最大需求,使得每个进程都能顺利完成。. 二.判断题 1死锁的检测与解除在系统中必须配套出现。V 三、填空 1.按调度的层次分,进程(作业)的调度可分为:高级调度、中级调度和低级调度。 按OS的类型分,进程(作业)的调度可分为:批处理调度、分时调度、实时调度和多处理机调度。 2调度的实质是资源的分配。 3.调度算法采用时间片轮转法时,如果时间片太大,将退变为FCFS调度算法,反之则会加大系统的开销,降低系统的性能。 4.产生死锁的原因:竞争资源和进程推进的顺序序不当。 5.处理死锁的基本方法:预防死锁 、避免死锁 、检测死锁 、解除死锁。 6.产生死锁的必要条件有:互斥条件、不剥夺条件、部分分配:(请求和保持条件)、环路等待条件 7.死锁的预防就是要破坏除互斥条件以外的其他三个必要条件。 选择题 1.处理机的调度程序 a)常住内存 b)常住辅存 c)在主存和辅存间切换 d)和普通程序一样 2.下面那种调度算法对长作业不利 a)FCFS b)SJF c)高响应比的优先权调度算法 d)多级队列调度算法 3.调度算法采用时间片轮转法时,如果时间片太大,将退变为 a)FCFS b)SJF c)高响应比的优先权调度算法 d)多级队列调度算法 4.在同构型多处理机系统中的进程调度中 a)静态分配需设有相应的同步机制。 B)动态分配需设有相应的同步机制。 C)自调度需设有相应的同步机制。 D)都不需要设有相应的同步机制。 5.在操作系统中,死锁出现是指_____ A.计算机系统发生重大故障 B. 资源数目远远少于进程数 C.若干进程因竞争资源而无限等待其他进程释放已占有的资源 D.进程同时申请的资源数超过资源总数 6. 在死锁处理中,银行家算法是一种______算法。 A.死锁避免 B. 死锁防止 C. 死锁检测 D. 死锁预防 三.简答题 1.高级调度和低级调度的任务是什么?为什么要引入低级调度? 2.何为死锁?产生死锁的原因和必要条件是什么? 3.在银行家算法的例子中,如果p0发出的请求向量由Request0(0,2,0)改为Request0(0,1,0),问系统是否可将资源分配给它。为什么? 第五章 存储器管理 一、名词解释 1.重定位:在可执行文件装入时需要解决可执行文件中地址(指令和数据)和内存地址的对应。由操作系统中的装入程序loader来完成。 2.分页存储管理:在该方式中,用户程序的地址被划分成划分若干个固定大小的区域,称为页(或页面)。页面的典型大小为1k;相应地将内存空间分成若干个物理块(或页框 ),页和块的大小相同,这样可将用户程序的任一页放到内存的任一块中,实现离散分配。这时内存中的碎片大小不会超过一页。 3.分段存储管理:在该方式中,用户程序的地址被划分成划分若干大小不等的段,存储分配一段为单位,段在内存中可以不相邻。 4.页(页面):把每个作业(进程)虚拟地址空间划分成若干大小相等的片.每一片就称为一个页 5、页框(物理块):把主存空间划分成与页相同的片. 每一片就称为一个页框。 6.页表:由页号和页面号(块号)组成,指出逻辑地址中页号与主存中块号的对应关系。 二.填空 1.将一个模块装入内存时,要进行地址重定位。重定位方法有:绝对装入、可重定位装入、动态运行时装入。 2.在分区分配中,操作系统为用户程序分配内存需要用一种表来管理系统中的内存,这个表叫做空闲分区表。 3.在分区分配中,操作系统通过使用空闲分区表(链)来组织内存。 4.在可变分区的内存管理中,可能会产生外碎片,这些外碎片可以通过紧凑的方式来消除,从而使的内存的利用率得到提高。 5.在内存管理中,离散的存储管理方式有:分页存储管理、分段存储管理、段页式存储管理 6.在页式存储管理中,页表寄存器包含页表的始址和页表的长度 7. 7在段式存储管理中,段表寄存器包含段表的始址和段表的长度 8.在具有快表的地址变换机构中,快表通常释放在一组高速地缓冲寄存器中,这个高速缓冲寄存器又叫联想存贮器 9.在页式存储管理中,执行一指令至少要访问主存两次。 10.在段页式系统中,为了实现从逻辑地址到物理地址的变换,系统中必需同时配置段表和页表。 三.选择题 1.在内存管理中,以下内存分配方式那种会产生内碎片? a)单一连续分配 b)分区分配 c)固定分区分配 d)可变分区分配 2.在内存管理中,以下内存分配方式那种会产生外碎片? a)单一连续分配 b)分区分配 c)固定分区分配 d)可变分区分配 3.在内存管理中,以下内存分配方式那种不在要求程序在内存中必须全部占用连续的内存空间? a)连续分配 b)页式存储分配 c)固定分区分配 d)可变分区分配 4.以下那种离散的存储管理方式更能实现程序的共享与保护。 a)连续分配 b)页式存储分配 c)段式存储分配 d)可变分区分配 四、简答题 1.简述页式存储管理的地址变换过程。 2.简述页式存储管理的地址变换过程。 P164 第14题 第15题 第17题 第六章 虚拟存储器 一、名词解释 1.虚拟存储器是具有请求调入功能和置换功能,能仅把作业的一部分装入内存便可运行作业的存储器系统,它能从逻辑上对内存容量进行扩充的一种虚拟的存储器系统。其逻辑容量由内存和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。 2.“抖动”(颠簸):即刚被换出的页很快又被访问,需重新调入,导致系统频繁地更换页面,以致一个进程在运行中把大部分时间花费在完成页面置换的工作上,我们称该进程发生了“抖动”(颠簸)。 二.判断题 1.在页式存储管理中,系统给用户程序分配的内存必须是一块连续的区域。X 2.在请求调页的存储管理中,最佳置换算法是现代操作系统中经常采用的一种页面置换算法。X 三、填空 1.虚拟存储器的基本特征是离散性,在此基础上又形成了多次性及对换性的特征。其所表现出来的最重要的特征是虚拟性。 2.虚拟存储器的逻辑容量由内存和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。 3.在虚拟段式存储管理中, 若逻辑地址的段内地址大于段表中该段的段长, 则发生越界中断 4.假定系统为某进程分配了三个物理块,并考虑有以下的页面号引用串:7,0,l,2,0,3,0,4,2,3,0,3,2,l,2,0,l,7,0,1。采用最佳置换算法,只发生了6次页面置换。采用先进先出(FIFO)置换算法,发生了12次页面置换,采用LRU (Least Recently Used)算法,发生了9次页面置换 三.选择题 1.以下那种形式会产生系统的颠簸 a)连续分配 b)页式存储分配 c)段式存储分配 d)请求页式存储分配 2.在请求页式存储管理中,在实际应用中以下那种页面置换算法的性能最佳 a)最佳(Optimal)置换算法 b)先进先出(FIFO)置换算法 c)LRU (Least Recently Used)算法 d)Clock置换算法 3. ______存储管理 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 可解决小内存运行大作业。 A.页式存储管理 B. 段式存储管理 C. 段页式存储管理 D. 请求页式存储管理 四、简答题 1.在请求分页系统中的每个页表项如图所示。试分别说明后四列各列的作用 页号 物理块号 状态位P 访问字段A 修改位M 外存地址 答:状态位(存在位P):用于指示该页是否已调入内存,供程序访问时参考。 访问字段A:用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考。 修改位M:表示该页在调入内存后是否被修改过。由于内存中的每一页都在外存上保留一份副本,因此,若未被修改,在置换该页时就不需将该页写回到外存上,以减少系统的开销和启动磁盘的次数;若已被修改,则必须将该页重写到外存上,以保证外存中所保留的始终是最新副本。 外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。 2.试比较缺页中断机构和一般中断的区别。 答:在请求分页系统中,每当所要访问的页面不在内存时,便要产生一缺页中断,请求OS将所缺页调入内存。与一般中断的主要区别在于: 缺页中断在指令执行期间产生和处理中断信号,而一般中断在一条指令执行完后检查和处理中断信号。 缺页中断返回到该指令的开始重新执行该指令,而一般中断返回到该指令的下一条指令执行。 一条指令在执行期间,可能产生多次缺页中断。 P194 第9题 第11题 第15题 第七章 设备管理 一、判断题 1、在I/O控制方式中,程序I/O控制,中断,DMA以及通道4种方式都可以使CPU与I/O并行工作。X 2. 文件目录具有将文件名转换为该文件在外存物理位置的功能。V 二.填空 1.微机I/O系统多采用总线I/O系统结构。CPU 与内存直接连接到总线上。而I/O设备则通过设备控制器连接到总线上。 2. 31. I/O设备按传输速率分类:低速设备、中速设备、高速设备。 3.按信息交换的单位分类块设备、字符设备 4. 缓冲的类型可分为:•单缓冲、•双缓冲、•多缓冲、•缓冲池 5. 设备分配中数据结构要用到:系统设备表(SDT)、设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)。在整个系统中,有一张系统设备表(SDT),用于记录系统中全部设备的信息。系统为每一个设备都配置了一张设备控制表(DCT),用于记录该设备的情况。 6. I/O的控制方式一般可分为:程序I/O方式、中断方式、DMA方式和通道方式。 三.选择题 1.微机I/O系统是一种 A)总线型I/O系统 B)通道型I/O系统 C)总线通道型I/O系统 D)都不是 2. 是处理机和设备之间的接口。 A)总线 B)通道 C)设备控制器 D)通道控制器 3. 以下那种控制方式使得CPU、通道和I/O设备三者之间的并行性最高。 A)程序I/O方式 B)中断方式 C)DMA方式 D)通道方式 4.以下关于通道的说法正确的是 A)通道是数据在cpu与I/O设备之间的通路 B)所有的计算机系统中都采用了通道技术 C)在具有通道的计算机系统中,通道处理机和主处理机具有一样的功能。 D)通道是通过执行通道程序,并与设备控制器来共同实现对I/O设备的控制。 5. 目前为了解决CPU与I/O设备间速度不匹配的矛盾,提高的I/O速度和设备利用率,在所有的I/O设备与处理机(内存)之间,都使用了 来交换数据。 A)缓冲 B)中断方式 C)DMA方式 D)通道方式 6.设备分配中的查表顺序为 A)设备控制表(DCT)、系统设备表(SDT)、控制器控制表(COCT)、通道控制表(CHCT) B)系统设备表(SDT)、控制器控制表(COCT)、设备控制表(DCT)、通道控制表(CHCT) C)系统设备表(SDT)、设备控制表(DCT)、通道控制表(CHCT)、控制器控制表(COCT) D)系统设备表(SDT)、设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT) 7.关于设备的独立性问题以下论述正确的是 A)设备的独立性需要相应的软件支持,它就是设备独立性软件 B)设备的独立性是指设备与主机无关; C)设备的独立性对用户来说,支持用户使用设备的物理名; D)操作系统通过逻辑设备表(LRT)来完成用户使用的物理设备到逻辑设备的映射; 8.缓冲池是在______中开辟的区域。 A.辅助存储器 B. 寄存器 C. 内存 D. 设备控制器 9. 利用SPOOL技术实现虚拟设备的目的是______ 。 A.便于对独享设备的管理 B. 便于对独享设备的分配 C. 便于独享设备与CPU并行工作 D. 把独享的设备变为可以共享 四、简答题 1.为什么要使用缓冲? 答:1、改善CPU与I/O设备间速度不匹配的矛盾;2、可以减少对 CPU的中断频率,放宽对中断响应时间的限制;3、提高 CPU和 I/O设备之间的并行性 2. 什么是 SPOOLing技术 答: 当多道程序程序技术出现后,就可以利用一道程序,来模拟脱机输入时的外围控制机的功能,即把低速I/O设备上的数据传送到高速的磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,即把数据从磁盘传送到低速I/O设备上。这样,便在主机的直接控制下,实现脱机输入、输出功能。所以,我们把这种在联机情况下实现的同时与外围设备( Peripheral )联机操作的技术称为SPOOLing(Simultaneous Peripheral Operation On Line),或称为假脱机技术。 第八章 文件系统 一、名词解释 文件控制块FCB:为了实现“按名存取”,系统必须为每个文件设置用于描述和控制文件的数据结构,它至少要包括文件名和存放文件的物理地址,这个数据结构称为文件控制块FCB 文件目录:文件控制块的有序集合称为文件目录 二、判断题 1使用索引节点的目的是提高文件的查找速度,索引节点有内存索引节点和磁盘索引节点。V 二.填空 1.按文件的逻辑结构分类文件可分为:(无结构文件)流式文件、有结构文件(记录式文件)。 2.35.按文件的物理结构分类文件可分为:顺序(连续)文件;链接文件;索引文件 36.引入索引结点的目的是:提高文件的查找速度 3.引入索引结点的目的是:为了提高文件的查找速度。 三.选择题 1.关于索引结点的描述,以下不正确的是 A)在文件目录的目录项中除文件名以外的其它信息构成了该文件的索引结点 B)索引结点是文件目录项中的一部分; C)索引结点分磁盘索引节点和内存索引结点 D)当文件打开时,系统要将该文件的索引结点从磁盘拷贝到内存; 2.以下哪种目录结构不允许文件重名 A)树型目录结构 B)两级目录结构 C)单级目录结构 D)都允许 3. 在文件系统中,为实现文件保护一般应采用哪些方法?_____ A.口令 B. 密码 C. 访问控制  D. 复制 4. 文件的二级目录结构由主文件目录和______ 组成。 A.用户目录文件 B. 根目录 C. 子目录 D. 当前目录 四、简答题 1.影响文件安全的因素有哪些?分别采用什么方法来保证文件的安全? 人为因素:过失或有益破坏;----〉采用存取控制机制 系统因素:故障等; -----〉容错技术 自然因素:磁盘的有效期。------〉后备系统 P256页 5、10、16、22 题 第九章 磁盘存储器管理 一、名词解释 1.寻道时间Ts:这是把磁臂(磁头)从当前位置移动到指定磁道上所经历的时间。 2.旋转延迟时间Tr:Tr是指定扇区移动到磁头下面所经历的时间 3.传输时间Tt:Tt是指把数据从磁盘读出,或向磁盘写入数据所经历的时间。 二.判断题 1.在磁盘的scan算法中,会出现进程的 “饥饿”现象。X 三、填空 1.目前常用的外存分配方法有:(1)连续分配; (2)链接分配;(3)索引分配。 2. 容错技术可分为三个级别:① SFT-Ⅰ是低级磁盘容错技术,主要用于防止磁盘表面缺陷造成的数据丢失。② SFT-Ⅱ是中级磁盘容错技术,防止磁盘驱动器和磁盘控制器的故障所造成的数据丢失。实现:磁盘镜像、磁盘双工。 ③SFT-Ⅲ是高级系统容错技术。 P289页: 第2题 第13题 第16题 实验一 进程调度实验 一.实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解. 二.实验要求:设计一个有 N个进程并发执行的进程调度程序。 三.算法讲解 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。   每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。   进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。   进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。   就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。   如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。 四.实验报告要求 1.写出实验目的 2。写出实验要求 3。写出实验内容(包括算法描述及实验结果分析) 4。实验心得体会。 附:进程调度源程序如下: /*jingchendiaodu.c*/ #include "stdio.h" #include #include #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 struct pcb /* 定义进程控制块PCB */ { char name[10]; char state; int super; int ntime; int rtime; struct pcb* link; }*ready=NULL,*p; typedef struct pcb PCB; sort() /* 建立对进程进行优先级排列函数*/ { PCB *first, *second; int insert=0; if((ready==NULL)||((p->super)>(ready->super))) /*优先级最大者,插入队首*/ { p->link=ready; ready=p; } else /* 进程比较优先级,插入适当的位置中*/ { first=ready; second=first->link; while(second!=NULL) { if((p->super)>(second->super)) /*若插入进程比当前进程优先数大,*/ { /*插入到当前进程前面*/ p->link=second; first->link=p; second=NULL; insert=1; } else /* 插入进程优先数最低,则插入到队尾*/ { first=first->link; second=second->link; } } if(insert==0) first->link=p; } } input() /* 建立进程控制块函数*/ { int i,num; clrscr(); /*清屏*/ printf("\n 请输入进程数?"); scanf("%d",&num); for(i=0;iname); printf("\n 输入进程优先数:"); scanf("%d",&p->super); printf("\n 输入进程运行时间:"); scanf("%d",&p->ntime); printf("\n"); p->rtime=0;p->state='w'; p->link=NULL; sort(); /* 调用sort函数*/ } } int space() { int l=0; PCB* pr=ready; while(pr!=NULL) { l++; pr=pr->link; } return(l); } disp(PCB * pr) /*建立进程显示函数,用于显示当前进程*/ { printf("\n qname \t state \t super \t ndtime \t runtime \n"); printf("|%s\t",pr->name); printf("|%c\t",pr->state); printf("|%d\t",pr->super); printf("|%d\t",pr->ntime); printf("|%d\t",pr->rtime); printf("\n"); } check() /* 建立进程查看函数 */ { PCB* pr; printf("\n **** 当前正在运行的进程是:%s",p->name); /*显示当前运行进程*/ disp(p); pr=ready; printf("\n ****当前就绪队列状态为:\n"); /*显示就绪队列状态*/ while(pr!=NULL) { disp(pr); pr=pr->link; } } destroy() /*建立进程撤消函数(进程运行结束,撤消进程)*/ { printf("\n 进程 [%s] 已完成.\n",p->name); free(p); } running() /* 建立进程就绪函数(进程运行时间到,置就绪状态*/ { (p->rtime)++; if(p->rtime==p->ntime) destroy(); /* 调用destroy函数*/ else { (p->super)--; p->state='w'; sort(); /*调用sort函数*/ } } main() /*主函数*/ { int len,h=0; char ch; input(); len=space(); while((len!=0)&&(ready!=NULL)) { ch=getchar(); h++; printf("\n The execute number:%d \n",h); p=ready; ready=p->link; p->link=NULL; p->state='R'; check(); running(); printf("\n 按任一键继续......"); ch=getchar(); } printf("\n\n 进程已经完成.\n"); ch=getchar(); } 实验二 死锁的避免——银行家算法 实验目的 银行家算法是避免死锁的一种重要算法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 实验要求:编制程序, 依据银行家算法判定本次分配是否安全。 三.算法所用數據結構讲解 1.数据结构 假设有m个进程N类资源,则有如下数据结构 MAX[M*N] M个进程对N 类资源的最大需求量; AVAILABEL[N] 系统可用资源数; ALLOCATION[M*N] M个进程已得到N 类资源的资源量; NEED[M*N] M个进程还需要N 类资源的资源量; 行家算法 设进程I 提出请求Request[N],则 若Request[N]<= NEED[I,N],则转(2);否则出错。 若NEED[I,N] <= AVAILABEL[N],则转3;否则出错。 安全性检查 从进程集合中找到一个能满足下述条件的进程:①Finish[i]=false; ②Needi≤Work. 如找到,执行步骤(2);否则执行步骤(3)。 当进程Pi获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故执行:Work:=Work+Allocation; Finish[i]:=true; Goto step1; 如果所有进程的Finish[i]=true,则表示系统处于安全状态;否则,系统处于不安全状态。 四.实验报告要求 1.写出实验目的 2。写出实验要求 3。写出实验内容(包括算法,程序流程图及部分实验结果) 4.实验 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 与体会 附: #include "stdio.h" #define M 5 /*总进程数 */ #define N 3 /*总资源数*/ #define FALSE 0 #define TRUE 1 /*M个进程对N类资源最大资源需求量*/ int MAX[M][N]= {{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}}; /*系统可用资源数*/ int AVAILABLE[N]={3,3,2}; /* M个进程已经得到N类资源的资源量*/ int ALLOCATION[M][N]={{0,1,0},{2,0,0},{3,0,2},{2,1,1},{0,0,2}}; /* M个进程还需要N类资源的资源量*/ int NEED[M][N]={{7,4,3},{1,2,2},{6,0,0},{0,1,1},{4,3,1}}; int Request[N]={0,0,0}; int i=0,j=0; void main() { char flag='Y'; void showdata(); void changdata(int); void rstordata(int); int chkerr(int); showdata(); while (flag=='Y'||flag=='y') { printf("输入申请资源的进程号(0~4):"); scanf("%d",&i); while (i<0||i>=M) { printf("输入的进程号不存在,请重输入申请资源的进程号(0~4):"); scanf("%d",&i); } for(j=0;jNEED[i][j]) { printf("进程%d申请的资源数大于进程%d还需要%d类资源的资源量!",i,i,j); printf("申请不合理,出错!请重新选择\n"); exit(0); } else { if (Request[j]>AVAILABLE[j]) { printf("进程 %d 申请的资源数大于系统可用%d类资源的资源量!",i,j); printf("本次分配不成功。\n "); exit(0); } } } if (flag=='Y'||flag=='y') { changdata(i); printf("\n尝试性分配后资源情况\n"); showdata(); if (chkerr(i)) { rstordata(i); showdata(); } } else { printf("\n是否继续银行家算法演示?y继续,n退出。"); scanf("%d",&flag); } } } /*主程序结束*/ void showdata() { int i,j; printf("系统可用资源数为:\n"); for(j=0;j",TEMP[i]);else printf("进程%d\n",TEMP[i]); return 0; } else {printf("经安全性检查,系统不安全,本次分配不成功,归还资源。\n");return 1;} } 实验结果: 1.若P1发出请求向量Request(1,0,2)结果: 2. P0请求资源Request(0,2,0)结果: 3. P0请求资源Request(0,1,0)结果: 4. P4发出请求Request(3,3,0) 结果: 实验三:用C语言模拟实现可变式分区存储管理 一、实验目标:    1、通过编写可变式分区存储管理的C语言程序,使学生加强对可变式分区存储管理的认识。    2、掌握操作系统设计的基本原理、方法和一般步骤。  二、实验内容:用C語言編寫一個实现可变式的分区管理的模擬程序。   *复习相关的知识:    1、分区管理的原理:将存储器划分成若干段大小固定的区域,一个区域里只能运行一个程序,程序只能在其自身所在的分区中活动。    2、固定式分区管理的原理:区域大小及起始地址是固定的。一个分区只能存放一个程序。需要设置一个分区说明表来标明内存的使用状态。根据分区说明表来给程序分配相应的区域。由于程序不可能刚刚占有一个分区的大小 ,这样就会在一个分区之中留下零头,造成了极大的浪费。   3、可变式分区管理的原理:区域的大小及起始地址是可变的,根据程序装入时的大小动态地分配一个区域。保证每个区域之中刚好放一个程序。这样可以充分地利用存储空间,提高内存的使用效率。如果一个程序运行完毕,就要释放出它所占有的分区,使之变成空闲区。这样就会出现空闲区与占用区相互交错的情况。这样就需要P表,F表来分别表示内存的占用区状态与空闲区的状态。   *确定该系统所使用的数据结构:       我们可以把内存表示为一个数组的形式。这个数组中的每一个单元都是一个无符号的字符型的数据类型。这样一个单元刚好占用一个字节的大小。这一个字节的地址可以用它在此数组中的下标来表示。如果一个程序占用了一定的区域,那么这个区域的大小就可以用它占有的字节数的个数来表示。用C语言可以表述如下:     unsigned char memory[1024]     它就可以表示一个1K的内存空间。     为了实现可变式的分区管理,还需要设立两个表,一个是P表,一个是F表,它们分别表示内存的占用区状态。由于在该程序运行的过程之中需要不断地修改P表和F表,所以这两个表不适合于用数组的形式来表示;而应该使用单链表的形式。这样就要给单链表中的结点确立一个数据结构。很显然,P表中的每一个结点至少要包括以下的几项:占用的程序名、占用区的起始地址、占用区的大小、指向下一个结点的指针。F表中的结点可以不需要程序名这一项。但是为了统一起见,我们就统一地采用P表中的这种结点的结构。可以用C语言描述如下:    struct node     {       char name[10];           int start, length;          struct node  *next;            }  ;      struct node  *p, *f;     还要为它们确立一个初始的状态。这两个链表最好带有一个头结点。      p = (struct node *)malloc (sizeof(struct node));    p->next = NULL;    f = (struct node *) malloc (sizeof(struct node));    f->next = (struct node *)malloc (sizeof(struct node));    f->next ->start = 0;    f->next -> length = 1024;    f->next ->next = NULL;   *、实现分配与回收一个占用区的算法:     1、分配函数的执行过
本文档为【操作系统各章作业及复习以及操作系统实验指导书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_738018
暂无简介~
格式:doc
大小:183KB
软件:Word
页数:34
分类:互联网
上传时间:2013-06-15
浏览量:88