大工18春《操作系统》大作业题目及要求答案
18春兰大操作系统课程作业_C

------------------------------------------------------------------------------------------------------------------------------ 单选题在OS中采用多道程序设计技术,能有效地提高CPU、内存和I/O设备的()。
A: 灵活性B: 可靠性C: 兼容性D: 利用率单选题推动批处理系统形成和发展的主要动力是()。
A: 提高计算机系统的功能B: 提高系统资源利用率C: 方便用户D: 提高系统的运行速度单选题如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是()。
A: 程序查询B: 中断方式C: DMA方式D: 无条件存取方式单选题关于操作系统的叙述()是不正确的。
A: 管理资源的程序B: 管理用户程序执行的程序C: 能使系统资源提高效率的程序D: 能方便用户编程的程序单选题文件系统中在创建一个文件时,为它建立一个()。
A: 文件目录B: 目录文件C: 逻辑结构D: 逻辑空间单选题在一单用户操作系统中,当用户编辑好一个程序要存放到磁盘上去的时候,他使用操作系统提供的()这一接口。
A: 键盘命令B: 作业控制命令C: 鼠标操作D: 原语单选题PCB是进程的唯一()。
A: 关联B: 实体C: 状态D: 特征------------------------------------------------------------------------------------------------------------------------------ 单选题缓冲技术用于()。
A: 提高主机和设备交换信息的速度B: 提供主、辅存接口C: 提高设备利用率D: 扩充相对地址空间单选题进程P1使用资源情况:申请资源S1,申请资源S2,释放资源S1;进程P2使用资源情况:申请资源S2,申请资源S1,释放资源S2,系统并发执行P1,P2,系统将()。
18年4月清考《操作系统》考核作业

------------------------------------------------------------------------------------------------------------------------------东北大学继续教育学院操作系统I 试卷(作业考核线上) A 卷学习中心:院校学号:姓名(共 4 页)一、填空题(每空1分)10分1.进程在运行过程中有三种基本状态,他们是(),(),()。
2.用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用()操作,退出临界区时应调用()操作。
3.磁盘和主机之间传递数据是以()为单位进行的。
4.进程是一个()态概念,而程序是一个()态概念。
5.在请求页式管理中,页面置换算法常用的是()和()。
二、选择题(每题1分)10分,请将答案填入下表。
A.一个缓冲区B.一段共享数据区C.一段程序D.一个互斥资源2.当CPU执行操作系统代码时,称处理机处于____A.执行态B.用户态C.系统态D.就绪态3.CPU输出数据的速度远远高于打印机的打印速度,为解决这一矛盾,可采用____A.并行技术B.通道技术C.缓冲技术D.虚存技术4.操作系统是对____进行管理的软件。
A. 软件B. 硬件C. 计算机资源D.应用程序5.如果分时操作系统的时间片一定,那么____,则响应时间越长。
A.用户数越少B.用户数越多C.内存越少D.内存越多6.Unix系统中CPU调度原理是基于:____------------------------------------------------------------------------------------------------------------------------------A.时间片调度B.先来先服务C.时间片+优先级D.最短作业优先7.当____时,进程从执行态转变为就绪态。
东师操作系统18春在线作业2

(单选题) 1: 分区管理要求对每一个作业都分配()的内存单元。
A: 地址连续B: 若干地址不连续C: 若干连续的帧D: 若干不连续的帧正确答案:(单选题) 2: 并发性是指若干事件在()发生。
A: 同一时刻B: 同一时间间隔内C: 不同时刻D: 不同时间间隔内正确答案:(单选题) 3: 处于后备状态的作业存放在()中。
A: 外存B: 内存C: A和BD: 扩展内存正确答案:(单选题) 4: 在分页存储管理系统中,从页号到物理块号的地址映射是通过()实现的。
A: 段表B: 页表C: PCBD: JCB正确答案:(单选题) 5: CPU状态分为系统态和用户态,从用户态转换到系统态的唯一途径是()。
A: 运行进程修改程序状态字B: 中断屏蔽C: 系统调用D: 进程调度程序正确答案:(单选题) 6: 在磁盘调度算法中,电梯调度算法是指()。
A: SSTFB: SCANC: CSCAND: FSCAN正确答案:(单选题) 7: 在下列物理文件中,()将使文件顺序访问的速度最快。
A: 顺序文件B: 链接文件C: 索引文件D: 直接文件正确答案:(单选题) 8: 为了解决CPU输出数据的高速度与打印机打印的低速度矛盾,可采用()。
A: 并行技术B: 通道技术C: 缓冲技术D: 虚存技术正确答案:(单选题) 9: 文件代表了计算机系统中的()。
A: 硬件B: 软件C: 软件资源D: 硬件资源正确答案:(单选题) 10: 虚拟存储管理策略可以()。
A: 扩大物理内存容量B: 扩大物理外存容量C: 扩大逻辑内存容量D: 扩大逻辑外存容量正确答案:(单选题) 11: 在计算机系统中,控制和管理各种资源、有效地组织多道程序运行的系统软件称作()。
A: 文件系统B: 操作系统C: 网络管理系统D: 数据库管理系统正确答案:(单选题) 12: 下列论述中错误的一条是()。
A: 虚拟盘是一种易失性存储器,因此它通常只用于存放临时文件。
东大18春学期操作系统Ⅰ在线作业1

(单项选择题) 1:CPU输出数据的速度远远高于打印机的打印速度,为解决这一矛盾,可采纳____。
A: 并行技术B: 通道技术C: 缓冲技术D: 虚存技术(单项选择题) 2:若是文件采纳直接存取方式且文件大小不固定,那么宜选择____文件结构。
A.直接B.顺序C.随机D.索引A:B:C:D:(判定题) 1: 文件的物理组织有顺序、链接和索引。
A: 错误B: 正确(判定题) 2: 从文件治理角度上看,文件由文件操纵块和文件体两部份组成。
A: 错误B: 正确(判定题) 3: 用于进程操纵的原语要紧有成立原语、撤消原语,挂起原语,激活原语。
A: 错误B: 正确(判定题) 4: 进程创建工作要紧完成的是创建进程操纵块(PCB),并把它挂到等待队列中。
A: 错误B: 正确(判定题) 5: 在单个CPU系统中,CPU和IO设备是并行操作的。
A: 错误B: 正确(判定题) 6: 访问磁盘时刻由三部份组成,即寻道时刻、旋转延迟时刻、传输时刻。
A: 错误B: 正确(判定题) 7: 把物理地址转换为逻辑地址的工作称为地址映射。
A: 错误B: 正确(判定题) 8: 索引文件大体上由索引区和数据区组成。
其中,索引区一样按关键字顺序寄存。
A: 错误B: 正确(判定题) 9: 从资源分派的角度看,能够把设备分为独占设备和共享设备。
打印机属于独占设备,而磁盘属于共享设备。
A: 错误B: 正确(判定题) 10: 互换算法是在内存中没有空闲页面时被挪用的,它的目的是选出一个被淘汰的页面。
若是内存中有足够的空闲页面寄存所调入的页,那么没必要利用置换算法。
A: 错误B: 正确(判定题) 11: 在页式治理中,页式虚地址与内存物理地址的映射是由段表和硬件地址变换机构完成的。
A: 错误B: 正确(判定题) 12: 主存中一系列物理存储单元的集合称为存储空间。
A: 错误B: 正确(判定题) 13: 进程是一个动态概念,而程序是一个静态概念。
(完整版)操作系统课后题答案

(完整版)操作系统课后题答案课本课后题部分答案第⼀章1.设计现代OS的主要⽬标是什么?答:(1)有效性(2)⽅便性(3)可扩充性(4)开放性2.OS的作⽤可表现在哪⼏个⽅⾯?答:(1)OS作为⽤户与计算机硬件系统之间的接⼝(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象13.OS有哪⼏⼤特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
14.处理机管理有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运⾏过程中的状态转换。
进程同步:为多个进程(含线程)的运⾏进⾏协调。
通信:⽤来实现在相互合作的进程之间的信息交换。
处理机调度:(1)作业调度。
从后备队⾥按照⼀定的算法,选出若⼲个作业,为他们分配运⾏所需的资源(⾸选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照⼀定算法选出⼀个进程,把处理机分配给它,并设置运⾏现场,使进程投⼊执⾏。
15.内存管理有哪些主要功能?他们的主要任务是什么?北京⽯油化⼯学院信息⼯程学院计算机系3/48《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。
内存分配:为每道程序分配内存。
内存保护:确保每道⽤户程序都只在⾃⼰的内存空间运⾏,彼此互不⼲扰。
地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。
内存扩充:⽤于实现请求调⽤功能,置换功能等。
16.设备管理有哪些主要功能?其主要任务是什么?答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。
主要任务: 完成⽤户提出的I/O 请求,为⽤户分配I/O 设备;提⾼CPU 和I/O 设备的利⽤率;提⾼I/O速度;以及⽅便⽤户使⽤I/O设备.17.⽂件管理有哪些主要功能?其主要任务是什么?答:⽂件管理主要功能:⽂件存储空间的管理、⽬录管理、⽂件的读/写管理和保护。
东师操作系统18春在线作业1

(单选题) 1: 使命令的执行结果不在屏幕上显示,而将之引向另一个文件,这种功能称为()。
A: 脱机输出B: 管道(线)C: 联机输出D: 输出重定向正确答案:(单选题) 2: 在一段时间内,只允许一个进程访问的资源称为()。
A: 共享资源B: 临界区C: 临界资源D: 共享区正确答案:(单选题) 3: 批处理系统的主要缺点是()。
A: CPU的利用率不高B: 失去了交互性C: 不具备并行性D: 以上都不是正确答案:(单选题) 4: 通过(),用户可从终端键入dir(或ls)并按下回车键来显示当前目录的内容。
A: 脱机用户接口B: 联机用户接口C: 系统调用接口D: 图形用户接口正确答案:(单选题) 5: 操作系统中,()负责对进程进行调度。
A: 处理机管理B: 作业管理C: 高级调度管理D: 存储和设备管理正确答案:(单选题) 6: 进程间的同步与互斥,分别表示了各进程间的()。
A: 相互独立与相互制约B: 协调与竞争C: 不同状态D: 动态性与独立性正确答案:(单选题) 7: SPOOLing是对脱机I/O工作方式的模拟,SPOOLing系统中的输入井是对脱机输入中的()进行模拟。
A: 内存输入缓冲区B: 磁盘C: 外围控制机D: 输入设备正确答案:(单选题) 8: ()不是操作系统关心的主要问题。
A: 管理计算机裸机B: 设计、提供用户程序与计算机硬件系统的界面C: 管理计算机系统资源D: 高级程序设计语言的编译器正确答案:(单选题) 9: 下列关于存储器管理功能的论述中正确的是()。
A: 即使在多道程序设计的环境下,用户也能设计用物理地址直接访问内存的程序。
B: 内存分配最基本的任务是为每道程序分配内存内存空间,其所追求的主要目标是提高存储空间的利用率。
D: 交换技术已不是现代操作系统中常用的技术。
正确答案:(单选题) 10: 将访问矩阵按列进行划分,可为每个列建立一张(),如果对应列代表一个文件,则可将其放在该文件的FCB中。
兰大《操作系统》18春平时作业2

------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 磁盘与主机之间的数据传送方式是()。
A: 无条件B: 程序查询C: 中断方式D: DMA方式正确答案:(单选题) 2: 计算机系统中往往对每一台设备确定一个编号以识别各台设备,这些编号称为设备的()号。
A: 绝对B: 相对C: 逻辑D: 类正确答案:(单选题) 3: 资源的静态分配算法在解决死锁问题中是用于()死锁。
A: 防止B: 避免C: 检测D: 解除正确答案:(单选题) 4: 文件代表了计算机系统中的()。
A: 硬件B: 软件C: 软件资源D: 硬件资源正确答案:(单选题) 5: 固定分区存储管理把主存储器划分成若干个连续区,每个连续区称一个分区。
经划分后分区的个数是固定的,各个分区的大小()。
A: 是一致的B: 都不相同C: 可以相同,也可以不相同,但根据作业长度固定D: 在划分时确定且长度保持不变正确答案:(单选题) 6: 当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为()。
A: 源程序B: 目标程序C: 可执行程序D: 非执行程序正确答案:(单选题) 7: 在操作系统中,下列()指的是一种硬件机制。
A: 通道技术B: 缓冲区C: Spooling技术D: 内存覆盖技术------------------------------------------------------------------------------------------------------------------------------ 正确答案:(单选题) 8: 采用固定分区方式管理主存储器的最大缺点是()。
A: 不利于存储保护B: 主存空间利用率不高C: 要有硬件的地址转换机构D: 分配算法复杂正确答案:(单选题) 9: 现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为()。
大工《操作系统》大作业参考题目及要求【内容仅供参考】784

题目:1.谈谈你对本课程学习过程中的心得体会与建议?在本科的课程的学习中我对计算器的操作系统有了很深层次的认识.对于一个系统的组成与他的组件都有了全方面的新认识.一个系统的组成以及系统的完美运行.需要各个组件的通力协作才能保证一个系统的完整运行2.《操作系统》课程设计,从以下5个题目中任选其一作答。
《操作系统》课程设计注意:从以下5个题目中任选其一作答。
总则:不限制编程语言,可以选用C/C++等(具体工具平台及语言可以自己根据自己的习惯选用,不必完全按照上述技术要求)作业提交:大作业上交时文件名写法为:[以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。
如下图所示。
注意事项:独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,(2)算法思路:简单介绍算法的基本思想,100字左右即可。
(3)算法数据结构:列出主要用的数据结构,比如最大需求矩阵Max[][] ,已分配矩阵Allocation[][]等,只需要列出数据结构名称即可。
(4)主要函数代码:由于银行家算法比较难,列出部分核心代码即可。
每一个函数需要简单说明此函数的功能。
比如“coutprint()函数,该函数功能是打印输出”。
题目五银行家算法(Banker’s Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为系统设计的一种避免死锁产生的算法。
它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。
在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量,在满足所有贷款要求时,客户应及时归还。
银行家在客户申请的贷款数量不超过自己拥有的最大值时,都应尽量满足客户的需要。
在这样的描述中,银行家就好比操作系统,资金就是资源,客户就相当于要申请资源的进程。
银行家算法是一种最有代表性的避免死锁的算法。
大工《操作系统》大作业参考题目及要求【内容仅供参考】246

题目:页面置换算法FIFO算法1.谈谈你对本课程学习过程中的心得体会与建议?转眼间,学习了一个学期的计算机操作系统课程即将结束。
在这个学期中,通过老师的悉心教导,让我深切地体会到了计算机操作系统的一些原理和具体操作过程。
在学习操作系统之前,我只是很肤浅地认为操作系统只是单纯地讲一些关于计算机方面的操作应用,并不了解其中的具体操作过程和实用性。
通过这一学期的学习,我才知道操作系统(OperatingSystem,简称 OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。
经过一个学期的学习,我也知道了计算机操作系统是铺设在计算机硬件上的多层系统软件,不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,由它实现了对计算机硬件操作的多层次的抽象。
总而言之,操作系统的一些原理在生活中都可以找到相应的例子。
结合生活中的例子,可以化抽象为具体,我们会更加清楚地了解到其原理与操作过程。
我觉得通过我们的不断学习,结合生活中的实际问题,我们就会把操作系统学得更好。
2.《操作系统》课程设计,从以下5个题目中任选其一作答。
题目一:页面置换算法FIFO算法页面置换算法FIFO算法在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。
当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。
而用来选择淘汰哪一页的规则叫做页面置换算法。
在请求分页存储器管理系统中,我们需要一个页面置换算法,而先进先出算法就是最早出现的一种算法,利用该算法可以实现页面的置换,实现内存的充分利用,使进程可以执行。
先进先出置换算法(FIFO)最简单的页面置换算法是先入先出(FIFO)法。
这种算法的实质是,总是选择在主存中停留时间最长(即最老)的一页置换,即先进入内存的页,先退出内存。
18春兰大操作系统课程作业_B

------------------------------------------------------------------------------------------------------------------------------ 单选题对磁盘进行移臂调度的目的是为了缩短()时间。
A: 寻找B: 延迟C: 传送D: 启动单选题根据外存设备不同,文件被划分为若干个大小相等的物理块,它是()的基本单位。
A: 存放文件信息或分配存储空间B: 组织和使用信息C: 表示单位信息D: 记录式文件单选题如果要照顾所有进程,让它们都有执行的机会,最好采用()算法。
A: SCBFB: FIFOC: 轮转法D: FPF单选题推动批处理系统形成和发展的主要动力是()。
A: 提高计算机系统的功能B: 提高系统资源利用率C: 方便用户D: 提高系统的运行速度单选题进程的()和并发性是两个很重要的属性。
A: 动态性B: 静态性C: 易用性D: 顺序性单选题当一个任务需要若干进程协同完成时,进程之间需要交换一定数量的信息,把这种信息交换称为()。
A: 进程唤醒B: 进程通信C: 进程互斥D: 进程同步单选题推动微机OS发展的主要动力是()。
A: 方便用户B: 计算机硬件的不断更新换代C: 便于微机联网D: 提高资源利用率------------------------------------------------------------------------------------------------------------------------------ 单选题在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于()。
A: 进程相应的程序段的长度B: 进程总共需要运行时间多少C: 进程自身和进程调度策略D: 进程完成什么功能单选题对资源采用按序分配的策略可以使产生死锁的()条件不成立。
科大18春《计算机操作系统》在线作业2

------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 在虚拟页式存储管理方案(单选题) 1: 在虚拟页式存储管理方案中,为实现地址变换,应建立()。
A: 空闲区表B: 分区分配表C: 页表D: 段表正确答案:(单选题) 2: 操作系统中必须设置一个统一的机构,对进程的运行有效地控制和管理,该机构称为是()。
A: 进程控制块B: 系统核心C: 信号量结构D: 中断机制正确答案:(单选题) 3: 在页式存储管理中,系统提供一对硬件寄存器,他们是()。
A: 基址寄存器和限长寄存器B: 页表始址寄存器和页表长度寄存器C: 上界寄存器和下界寄存器D: 直接地址寄存器和间接地址寄存器正确答案:(单选题) 4: 文件目录是()的有序集合A: 文件控制块B: 文件名C: 文件信息D: 文件目录项正确答案:(单选题) 5: 下面关于存储管理的叙述中正确的是:()。
A: 先现在操作系统中,允许用户干预内存的分配B: 固定分区存储管理是针对单道系统的内存管理方案C: 可变分区存储管理可以对作业分配不连续的内存单元D: 页式存储管理中,页面大小是在硬件设计时确定的正确答案:(单选题) 6: 进程控制块中包括多种信息,以下信息中不是进程控制块中的内容是()。
A: 优先级B: 标识C: 位置D: 页面大小正确答案:(单选题) 7: 系统出现死锁的原因()。
A: 计算机系统发生了重大故障B: 有多个等待的进程存在C: 若干进程因竞争资源而无休止地等待着其它进程释放占用的资源D: 进程同时申请的资源数大大超过资源总数------------------------------------------------------------------------------------------------------------------------------ 正确答案:(单选题) 8: 在操作系统中,对信号量S的v原语操作定义中,进程从相应等待队列中出列并进入就绪队列中的条件是()。
大工18春《操作系统概论》在线测试2

------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏()条件是不太实际的。
A: 互斥B: 请求和保持C: 不剥夺D: 循环等待正确答案:(单选题) 2: 在执行P操作时,进程若能继续执行,执行P操作前信号量的值应()。
A: 大于0B: 小于0C: 等于0D: 大于等于0正确答案:(单选题) 3: 在多进程的系统中,为了保证公共变量的完整性,每一个进程应互斥进入临界段。
所谓临界段是指()。
A: 缓冲区B: 数据区C: 代码段D: 以上都不对正确答案:(单选题) 4: 实时系统中的进程调度通常采用()算法。
A: 先来先服务B: 最短作业C: 时间片轮转D: 可抢占的优先权正确答案:(单选题) 5: 一种既有利于短小作业又兼顾到长作业的作业调度算法是()。
A: 先进先出B: 时间片轮转C: 最高响应比优先D: 最短优先正确答案:(单选题) 6: 为了对紧急进程或重要进程进行调度,调度算法应采用()。
A: 先进先出B: 最高优先权C: 最短进程优先D: 时间片轮转正确答案:(单选题) 7: 按照作业到达的先后次序调度作业,并且是非抢占的调度算法是指()调度算法。
A: 先进先出B: 最短进程优先C: 时间片轮转D: 优先级------------------------------------------------------------------------------------------------------------------------------ 正确答案:(单选题) 8: 若PV操作的信号量S初值为3,当前值为-1,则表示有()等待进程。
大工18春操作系统大作业题目及要求

------------------------------------------------------------------------------------------------------------------------------学习中心:专业:年级:年春/秋季学号:学生:题目:1.谈谈你对本课程学习过程中的心得体会与建议?2.《操作系统》课程设计,从以下5个题目中任选其一作答。
《操作系统》课程设计注意:从以下5个题目中任选其一作答。
总则:不限制编程语言,可以选用C/C++等(具体工具平台及语言可以自己根据自己的习惯选用,不必完全按照上述技术要求)作业提交:大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东101410013979浙江台州奥鹏学习中心[1]VIP)以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。
如下图所示。
注意事项:独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计!题目一:页面置换算法OPT算法要求:(1)撰写一份word文档,里面包括(算法思路、算法数据结构、主要函数代码、测试案例)章节。
(2)算法思路:OPT为最佳置换算法,简单介绍该算法的------------------------------------------------------------------------------------------------------------------------------基本思想,100字左右即可。
(3)算法数据结构:列出主要用的数据结构,比如存储页面号序列page[],存储装入物理块中的页面memery[]等,只需要列出数据结构名称即可。
(4)主要函数代码:列出OPT置换算法的代码。
不需要列出主函数。
(5)给出一个测试案例即可,比如设置物理块个数为3,页面序号6 0 2 4 3 0 4 2 3,代码应列出算法置换的具体细节。
《操作系统》作业及参考答案

《操作系统》作业及参考答案第1章操作系统概述1.3.1选择最合适的答案1.一般用户更喜欢使用的系统是()。
A.手工操作B.单道批处理C.多道批处理D.多用户分时系统2. 与计算机硬件关系最密切的软件是()。
A.编译程序B.数据库管理系统C.游戏程序D.OS3. 现代OS具有并发性和共享性,是()的引入导致的。
A.单道程序B. 磁盘C. 对象D.多道程序4. 早期的OS主要追求的是()。
A.系统的效率B.用户的方便性C.可移植D.可扩充性5.()不是多道程序系统A.单用户单任务B.多道批处理系统C.单用户多任务D.多用户分时系统6.()是多道操作系统不可缺少的硬件支持。
A.打印机B.中断机构C.软盘D.鼠标7. 特权指令可以在()执行。
A.目态B.浏览器中C.任意的时间D.进程调度中8. 没有了()计算机系统就启动不起来。
A.编译器B.DBMSC.OSD.浏览器9. 通道能够完成()之间的数据传输。
A.CPU与外设B.内存与外设C.CPU与主存D.外设与外设10. 操作系统的主要功能有()。
A.进程管理、存储器管理、设备管理、处理机管理B.虚拟存储管理、处理机管理、进程调度、文件系统C.处理机管理、存储器管理、设备管理、文件系统D.进程管理、中断管理、设备管理、文件系统11. 单处理机计算机系统中,()是并行操作的。
A.处理机的操作与通道的操作是并行的B.程序与程序C.主程序与子程序D.用户程序与操作系统程序12. 处理机的所有指令可以在()执行。
A.目态B.浏览器中C.任意的时间D.系统态13.()功能不是操作系统直接完成的功能。
A.管理计算机硬盘B.对程序进行编译C.实现虚拟存储器D.删除文件14. 要求在规定的时间内对外界的请求必须给予及时响应的OS是()。
A.多用户分时系统B.实时系统C.批处理系统时间D.网络操作系统15. 操作系统是对()进行管理的软件。
A.硬件B.软件C.计算机资源D.应用程序16.()对多用户分时系统最重要。
操作系统作业题(1)参考答案

块6不出现在任何一张表中,这时报告块丢失。尽管块丢失不会造成任何损坏,但浪费了磁盘空间,减少了磁盘容量。解决块丢失问题是比较简单的,只需要重新建立空闲表。
六、把64K的文件从这样的磁盘上装入内存需要的时间计算如下:
一般来说,页的大小与块的大小是一样的,取块的大小为4K。则共有64/4=16个块,每块的装入时间为:寻道延迟+旋转延迟+传送时间=30+20/2+(4/32)*20=42.5ms
2、
答:在分页系统中,由于页表尺寸较大,因此许多分页方案都只能把它保存在内存中,但这种设计对性能有很大的影响。例如一条把寄存器的内容复制到另一个寄存器中的指令,在不使用分页时只需要访问内存一次以获取指令,而在使用分页时需要额外的内存访问去读取页表。因为系统的运行速度一般都是受CPU从内存中取得指令和数据的速率所限制的,因而在每次访问内存时都要访问两次页表会使机器的性能降低2/3,这样的系统是没有人愿意使用的。因此在分页系统中,如何提高对页表的查询速度就成为研究的焦点。解决的办法是,为计算机装备一个不需要经过页表就能把虚地址映射成为物理地址的小的硬件设备,这个设备就是转换后援存储器TLB。当一个虚地址被送到MMU进行转换时,硬件首先把它和TLB中的所有条目同时进行比较,看它的页号是否在TLB中,如果找到了并且这个访问没有违反保护位,则它的页框号将直接从TLB中取出而不用去查页表。
(3)
答:若一个进程集合中的每一个进程都在等待只能由本集合中的另一个进程才能引发的事件,则把这种情况称之为死锁。如果一个进程正在等待一个不可能发生的事件,则称该进程处于死锁状态。系统发生死锁是指一个或多个进程处于死锁状态。
死锁发生的条件:产生死锁的主要原因是供共享的系统资源不足,资源分配策略和进程的推进顺序不当。系统资源既可能是可重用的永久性资源,也可能是消耗的临时资源。关于可重用资源死锁存在四个必要条件,他们是:(1)互斥条件:又称独占条件,即一个资源每次只能被一个进程使用。(2)保持和等待条件:又称部分分配条件:即一个进程已获得一些资源,又因请求其他资源而被阻塞等待。(3)不剥夺条件:进程已获得的资源,不经进程释放,不能剥夺这个资源。(4)环路等待条件:若干进程形成一个环形链,其中每一个进程占有链中下一个进程所申请的一个或多个资源。
操作系统期末复习-2018春

操作系统期末复习(2018春)一、选择题(选择一个正确答案的代码填入括号中,每小题2分,共30分)1.在计算机系统中,控制和管理各种软、硬件资源,有效地组织多道程序运行的系统软件称作()。
A.网络系统B.文件系统C.操作系统D.数据库系统2.在计算机系统中,操作系统是( )。
A.处于裸机之上的第一层软件B.处于应用软件之上的系统软件C.处于硬件之下的底层软件D.处于系统软件之上的用户软件3.以下不属于操作系统具备的主要功能的是()。
A.内存管理B.中断处理C.文档编辑D.CPU调度4.下列不属于分时系统特征的是( )。
A.为多用户设计B.可靠性比实时系统要求高C.方便用户与计算机的交互D.需要中断机构及时钟系统的支持5.下列系统中,属于实时系统的是()。
A.方正排版系统B.计算机辅助设计系统C.火车订票系统D.办公自动化系统6.以下著名的操作系统中,属于多用户、分时系统的是()。
A.DOS系统B.Windows NT系统C.OS/2系统D.UNIX系统7.系统调用是由操作系统提供的内部调用,它()。
A.直接通过键盘交互方式使用B.只能通过用户程序间接使用C.是命令接口中的命令D.与系统的命令一样8.操作系统内核与用户程序、应用程序之间的接口是()。
A.shell命令B.系统调用C.图形界面D.C语言函数9.进程与程序之间有密切联系,但又是不同的概念。
二者的一个本质区别是()。
A.程序顺序执行,进程并行执行B.程序是动态概念,进程是静态概念C.程序是静态概念,进程是动态概念D.程序保存在文件中,进程存放在内存中10.在操作系统中,进程存在的唯一标志是利用()表现出来的。
A.数据B.程序C.程序和数据D.进程控制块11.进程是程序的执行过程,可以处于不同的状态,各自向前推进的速度是不可预知的,这种性质称作进程的( )。
A.动态性B.并发性C.异步性D.调度性12.已经获得除()以外的所有运行所需资源的进程处于就绪状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络教育学院《操作系统》课程设计题目:题目四学习中心:专业:年级:学号:学生:1.谈谈你对本课程学习过程中的心得体会与建议?答:转眼间,学习了一个学期的计算机操作系统课程即将结束。
在这个学期中,通过老师的悉心教导,让我深切地体会到了计算机操作系统的一些原理和具体操作过程。
在学习操作系统之前,我只是很肤浅地认为操作系统只是单纯地讲一些关于计算机方面的操作应用,并不了解其中的具体操作过程和实用性。
通过这一学期的学习,我才知道操作系统(Operating System,简称 OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。
通过这次的对操作系统的总结,有收获也有遗憾、不足的地方,但我想,我已经迈入了操作系统的大门,只要我再认真努力的去学习,去提高,凭借我对网页设计的热情和执着,我将来设计出的网页会更加专业,更完善。
感谢老师在百忙中阅卷,也感恩老师这学期以来对我的照顾,在老师的深刻讲授下让操作系统这门十分枯燥和难理解的学科变得生动有趣。
祝愿老师早日职称晋升,立项通过,身体健康,阖家欢乐。
谢谢老师!题目四:进程同步与互斥生产者与消费者问题一、设计思路:1.1生产者—消费者问题生产者—消费者问题(Producer_consumer)是一个经典的进程同步问题。
它描述的是:有一群生产者进程在生产产品,并将此产品提供给消费者进程去消费。
为使生产者进程和消费者进程能并发执行,在它们之间设置有个缓冲区的缓冲池,生产者进程可将它所生产的产品放入一个缓冲区中,消费者进程可从一个缓冲区取得一个产品消费。
尽管所有的生产者进程和消费者进程都是以异步的方式运行的,但它们之间必须保持同步,即不允许消费者进程到一个空缓冲区去取产品,也不允许生产者进程向一个已装有消息尚未被取走产品的缓冲区投放产品。
如下图所示:1.2、生产者和消费者原理分析在同一个进程地址空间内执行两个线程。
生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。
消费者线程从缓冲区中获得物品,然后释放缓冲区。
当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放一个空缓冲区。
当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻挡,直到新的物品被生产出来。
1.3、生产者与消费者功能描述:生产者功能描述:在同一个进程地址空间内执行两个线程。
生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。
当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。
消费者功能描述:消费者线程从缓冲区获得物品,然后释放缓冲区,当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻塞,直到新的物品被生产出来。
二、基本内容进程同步是指几个进程相互合作,一个进程到达某个点后,除非另一个进程已经完成某些操作,否则就不得不停下来,等待这些操作的结束,这就是进程同步的概念。
生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra 提出,用以演示他提出的信号量机制。
本作业要求设计在同一个进程地址空间内执行的两个线程。
生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。
消费者线程从缓冲区中获得物品,然后释放缓冲区。
当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。
当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻塞,直到新的物品被生产出来。
生产者—消费者问题是一种同步问题的抽象描述。
计算机系统中的每个进程都可以消费或生产某类资源,当系统中某一进程使用某一资源时,可以看作是消耗,且该进程称为消费者。
而当某个进程释放资源时,则它就相当一个生产者。
通过一个有界缓冲区把生产者和消费者联系起来。
假定生产者和消费者是相互等效的,只要缓冲区未满,生产者就可以将产品送入缓冲区,类似地,只要缓冲区未空,消费者就可以从缓冲区中去走物品并消费它。
生产者和消费者的同步关系将禁止生产者向满的缓冲区输送产品,也禁止消费者从空的缓冲区中提取物品。
在生产者—消费者问题中,信号灯具有两种功能。
首先,它是跟踪资源的生产和消费的计数器;其次,它是协调资源的生产者和消费者之间的同步器。
消费者通过再一指派给它的信号灯上做P操作来表示消耗资源,而生产者通过在同一信号灯上做V操作来表示生产资源。
再这种信号灯的实施中,计数在每次P操作后减1,而在每次V操作中加1。
个这一计数器的初始值是可利用的资源数目。
当资源是不可利用时,将申请资源的进程放置在等待队列中。
如果有一个资源释放,在等待队列中的第一个进程被唤醒并得到资源的控制权。
为解决这一类生产者——消费者问题,设置了两个同步信号灯,一个说明空缓冲区的数目,用empty表示,其初值为有界缓冲区的大小n,另一个说明缓冲区的数目,用full表示,其初制值为0。
由于有界缓冲区是一个零界资源,必须互斥使用,所以另外还需设置一个互斥信号灯mutex,起初值为1。
假定在生产者和消费者之间的公用缓冲区中,具有n个缓冲区,这时可以利用互斥信号量mutex实现诸进程对缓冲池的互斥使用;利用信号量empty和full 分别表示缓冲池中空缓冲区和满缓冲区的数量。
又假定这些生产者和消费者互相等效果,只要缓冲池未满,生产者便可以将消息送入缓冲池;只要缓冲池未空,消费者便可以从缓冲池中取走一个消息。
在生产者---消费者问题中应注意:首先,在每个程序中用于互斥的wait(mutex)和signal(mutex)必须成对出现;其次,对资源信号量empty和full 的wait和signal操作,同样需要成对地出现,但它们分别处于不同的程序中。
生产者与消费者进程共享一个大小固定的缓冲区。
其中,一个或多个生产者生产数据,并将生产的数据存入缓冲区,并有一个或多个消费者从缓冲区中取数据。
假设缓冲区的大小为n(存储单元的个数),它可以被生产者和消费者循环使用。
分别设置两个指针in和out,指向生产者将存放数据的存储单元和消费者将取出数据的存储单元,如图,指针in和out初始化指向缓冲区的第一个存储单元。
生产者从第一个存储单元开始存放数据,一次存放一条数据一条数据且in指针向后移一个位置,当in 指针指向第n个存储单元,下一次将指向第一个存储单元,如此循环反复使用缓冲区。
消费者从缓冲区中逐条取走数据,一次取一条数据,相应的存储单元变为“空”,可以被生产者再次使用。
每次取走一条数据,out指针向后移一个存储单元位置。
试想,如果不控制生产者与消费者,将会产生什么结果?1 2 3 4 5 6 7 8 nIn out1 2 3 4 5 6 7 8 nIn out其中,in表示存数据位置,out表示取数据位置::空存储单元图:生产者/消费者循环使用缓冲区首先,生产者和消费者可能同时进入缓冲区,甚至可能同时读/写一个存储单元,将导致执行结果不确定。
这显然是不允许的。
所以,必须使生产者和消费者互斥进入缓冲区。
即某时刻只允许一个实体(生产者或消费者)访问缓冲区,生产者互斥消费者和其他任何生产者。
其次,生产者不能向满的缓冲区写数据,消费者也不能在空缓冲区中取数据,即生产者与消费者必须同步。
当生产者产生出数据,需要将其存入缓冲区之前,首先检查缓冲区中是否有“空”存储单元,若缓冲区存储单元全部用完,则生产者必须阻塞等待,直到消费者取走一个存储单元的数据,唤醒它。
若缓冲区内有“空”存储单元,生产者需要判断此时是否有别的生产者或消费者正在使用缓冲区,若是有,则阻塞等待,否则,获得缓冲区的使用权,将数据存入缓冲区,释放缓冲区的使用权。
消费者取数据之前,首先检查缓冲区中是否存在装有数据的存储单元,若缓冲区为“空”,则阻塞等待,否则,判断缓冲区是否正在被使用,若正被使用,若正被使用,则阻塞等待,否则,获得缓冲区的使用权,进入缓冲区取数据,释放缓冲区的使用权。
其执行流程如图所示,伪代码如图所示。
2、涉及的数据结构①用资源向量Available。
这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。
如果Available[j]=K,则表示系统中县有RJ类资源K个。
②需求矩阵MAX。
这是一个N*M的矩阵,它定义了系统中N个进程中的每一个进程对M类资源的最大需求。
如果MAX[i,j]=K,则表示进程I需要RJ类资源的最大数目为K。
③矩阵Allocation。
这也是一个N*M的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。
如果Allocation[i,j]=K,则表示进程i当前已分得RJ类资源的数目为K。
④矩阵Need。
这也是一个N*M的矩阵,用以表示每一个进程尚需的各类资源数。
如果Need[i,j]=K,则表示进程I还需要RJ类资源K个,方能完成其任务。
上述三个矩阵间存在下述关系:Need[i,j]=MAX[i,j]-Allocation[i,j]三、数据流程图:3.1、生产者3.2、消费者3.3模块说明:const unsigned short SIZE_OF_BUFFER = 10; //缓冲区长度unsigned short ProductID = 0; //产品号unsigned short ConsumeID = 0; //将被消耗的产品号unsigned short in = 0; //产品进缓冲区时的缓冲区下标unsigned short out = 0; //产品出缓冲区时的缓冲区下标int g_buffer[SIZE_OF_BUFFER]; //缓冲区是个循环队列bool g_continue = true; //控制程序结束 HANDLE g_hMutex; //用于线程间的互斥HANDLE g_hFullSemaphore; //当缓冲区满时迫使生产者等待HANDLE g_hEmptySemaphore; //当缓冲区空时迫使消费者等待DWORD WINAPI Producer(LPVOID); //生产者线程DWORD WINAPI Consumer(LPVOID); //消费者线程3.4源程序#include <windows.h>#include <iostream>const unsigned short SIZE_OF_BUFFER = 20;//有界缓冲区长度int g_buffer[SIZE_OF_BUFFER];//开辟缓冲区,用数组表示,可以看成是一个循环队列unsigned short ProductID = 0;//新生产出来的产品的产品号unsigned short ConsumeID = 0;//被消耗的产品的产品号unsigned short in = 0;//产品进缓冲区时的缓冲区下标,用于记录生产者的指针位置unsigned short out = 0;//产品出缓冲区时的缓冲区下标,用于记录消费者的指针位置bool g_continue = 1;//控制程序运行:1表示继续运行,0表示停止运行HANDLE g_hMutex;//线程间的互斥信号量HANDLE g_hFullSemaphore;//资源信号量:缓冲区满HANDLE g_hEmptySemaphore;//资源信号量:缓冲区空DWORD WINAPI Producer(LPVOID);//生产者线程DWORD WINAPI Consumer(LPVOID);//消费者线程const unsigned short PRODUCERS_COUNT=4;//生产者的个数const unsigned short CONSUMERS_COUNT=3;//消费者的个数const unsigned short THREADS_COUNT=PRODUCERS_COUNT+CONSUMERS_COUNT;//总线程数HANDLE hThreads[PRODUCERS_COUNT];//各线程的handleDWORD producerID[CONSUMERS_COUNT];//生产者线程的标识符DWORD consumerID[THREADS_COUNT];//消费者线程的标识符/*----------------------------生产一个产品开始------------------------------*///生产一个产品,输出其ID号void Produce(){std::cout<<std::endl;std::cerr<<"生产一个产品: "<<++ProductID;std::cout<<std::endl;}/*----------------------------生产一个产品结束------------------------------*//*----------------------把新生产的产品放入缓冲区开始------------------------*///把新生产的产品放入缓冲区void Append(){std::cerr<<"把生产的产品送入缓冲区";g_buffer[in]=ProductID;in=(in+1)%SIZE_OF_BUFFER;std::cerr<<std::endl;std::cout<<"缓冲区产品生产者/消费者"<<std::endl; //新产品放入缓冲区后,输出缓冲区当前的状态for(int i=0;i<SIZE_OF_BUFFER;++i){//输出缓冲区下标if (i<10)std::cout<<i<<" "<<g_buffer[i];elsestd::cout<<i<<" "<<g_buffer[i];if(i==in){if(g_buffer[i]<10)std::cout<<" ";elsestd::cout<<" ";std::cout<<" <-- 生产者";//输出生产者的指针位置}if(i==out){if(g_buffer[i]<10)std::cout<<" ";elsestd::cout<<" ";std::cout<<" <-- 消费者";//输出消费者的指针位置}std::cout<<std::endl;}}/*----------------------把新生产的产品放入缓冲区结束------------------------*//*----------------------------消费一个产品开始------------------------------*/void Consume()//消费一个产品{std::cout<<std::endl;std::cerr<<"消费一个产品: "<<ConsumeID;std::cout<<std::endl;}/*----------------------------消费一个产品结束------------------------------*//*-----------------------从缓冲区中取出一个产品开始-------------------------*///从缓冲区中取出一个产品void Take(){std::cout<<std::endl;std::cerr<<"从缓冲区取出一个产品";ConsumeID=g_buffer[out];out=(out+1)%SIZE_OF_BUFFER;std::cerr<<std::endl;std::cout<<std::endl;std::cout<<"缓冲区产品生产者/消费者"<<std::endl;//取出一个产品后,输出缓冲区当前的状态for(int i=0;i<SIZE_OF_BUFFER;++i){//输出缓冲区下标if(i<10)std::cout<<i<<" "<<g_buffer[i];elsestd::cout<<i<<" "<<g_buffer[i];if(i==in){if(g_buffer[i]<10)std::cout<<" ";elsestd::cout<<" ";std::cout<<" <-- 生产者";//输出生产者的指针位置}if(i==out){if(g_buffer[i]<10)std::cout<<" ";elsestd::cout<<" ";std::cout<<" <-- 消费者";//输出消费者的指针位置}std::cout<<std::endl;}}/*-----------------------从缓冲区中取出一个产品结束-------------------------*//*-----------------------------生产者线程开始-------------------------------*///生产者线程DWORD WINAPI Producer(LPVOID lpPara){while(g_continue){//资源信号量的P操作WaitForSingleObject(g_hFullSemaphore,INFINITE);//互斥信号量的P操作WaitForSingleObject(g_hMutex,INFINITE);//生产一个产品Produce();//把新生产的产品放入缓冲区Append();Sleep(2000);//互斥信号量的V操作ReleaseMutex(g_hMutex);//资源信号量的V操作ReleaseSemaphore(g_hEmptySemaphore,1,NULL);}return 0;}/*-----------------------------生产者线程结束-------------------------------*//*-----------------------------消费者线程开始-------------------------------*///消费者线程DWORD WINAPI Consumer(LPVOID lpPara){while(g_continue){//资源信号量的P操作WaitForSingleObject(g_hEmptySemaphore,INFINITE);//互斥信号量的P操作WaitForSingleObject(g_hMutex,INFINITE);//从缓冲区中取出一个产品Take();//消费一个产品Consume();Sleep(2000);//互斥信号量的V操作ReleaseMutex(g_hMutex);//资源信号量的V操作ReleaseSemaphore(g_hFullSemaphore,1,NULL);}return 0;}/*-----------------------------消费者线程结束-------------------------------*//*---------------------------创建生产者线程开始-----------------------------*/void createPT()//创建生产者线程{for(int i=0;i<PRODUCERS_COUNT;++i){hThreads[i]=CreateThread(NULL,0,Producer,NULL,0,&producerID[i]);if(hThreads[i]==NULL)g_continue=0;}}/*---------------------------创建生产者线程结束-----------------------------*//*---------------------------创建消费者线程开始-----------------------------*/void createCT()//创建消费者线程{for (int j=0;j<CONSUMERS_COUNT;++j){hThreads[PRODUCERS_COUNT+j]=CreateThread(NULL,0,Consumer,NULL,0,& consumerID[j]);if (hThreads[j]==NULL)g_continue=0;}}/*---------------------------创建消费者线程结束-----------------------------*//*-------------------------------主函数开始---------------------------------*/void main(){//创建互斥信号量g_hMutex=CreateMutex(NULL,FALSE,NULL);//创建资源信号量g_hFullSemaphore=CreateSemaphore(NULL,SIZE_OF_BUFFER-1,SIZE_OF _BUFFER-1,NULL);g_hEmptySemaphore=CreateSemaphore(NULL,0,SIZE_OF_BUFFER-1,NULL );//创建生产者线程createPT();//创建消费者线程createCT();//不按回车键的话程序会一直运行下去while(g_continue)//按回车键终止程序if(getchar())g_continue = 0;}/*-------------------------------主函数结束---------------------------------*/四、总结:生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra 提出,用以演示他提出的信号量机制。