现代操作系统--作业题整理演示教学
- 格式:doc
- 大小:70.50 KB
- 文档页数:14
20200415批次操作系统1.现代操作系统一般都提供多任务的环境,试回答以下问题。
(1) 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?(2) 为支持进程的状态变迁,系统至少应该供哪些进程控制原语?(3) 当进程的状态变迁时,相应的数据结构发生变化吗?(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?答:为支持进程的并发执行,系统必须建立“进程控制块(PCB)”,PCB的组织方式常用的是链接方式。
(2)为支持进程的状态变迁,系统至少应该供哪些进程控制原语?答:进程的阻塞与唤醒原语和进程的挂起与激活原语。
(3)当进程的状态变迁时,相应的数据结构发生变化吗?答:创建原语:建立进程的PCB,并将进程投入就绪队列。
;撤销原语:删除进程的PCB,并将进程在其队列中摘除;阻塞原语:将进程PCB中进程的状态从运行状态改为阻塞状态,并将进程投入阻塞队列;唤醒原语:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。
现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题:为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构正确答案为支持多进程的并发执行,系统为每个进程建立了一个数据结构:进程控制块(PCB),用于进程的管理和控制。
PCB中记录了有关进程的一些描述信息和控制信息,包括进程标识符、进程当前的状态、优先级、进程放弃CPU时的现场信息,以及指示组成进程的程序和数据在存储器中存放位置的信息、资源使用信息、进程各种队列的连接指针和反映进程之间的隶属关系的信息等。
现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题:为支持进程状态的变迁,系统至少应提供哪些进程控制原语正确答案在进程的整个生命周期中,会经历多种状态。
进程控制的主要职能是对系统中所有进程实施有效地管理,它具有创建新进程、撤销已有进程、实现进程的状态转换等功能。
(1) 计算机系统是由和两部分内容所组成的。
为了使计算机系统能协调一致地工作,就需要由对系统中的资源进行管理。
(2) 操作系统中引入多道程序设计技术以后,宏观上并行、微观上串行。
同时存在于内存中并处于运行状态的多道作业从宏观上看是,微观上看是。
(3) 操作系统就是有效地管理计算机系统中的各种,合理地组织计算机的,以方便用户的一组构成的集合。
(4) 所谓操作系统的不确定性,是指在操作系统控制下多道作业的和每个作业是不确定的。
(5) 从资源管理的角度出发,作为管理计算机系统资源、控制程序运行的操作系统,其功能可以简单归纳为、、、、。
(6) 为了便于构造安全可靠的操作系统,现代计算机硬件都提供了两种处理机状态。
这两种状态分别是和。
(7) 现代操作系统具有4 个主要特征:、、和。
(8) 操作系统是加在上的第一层软件,它的功能与运行直接依赖于硬件环境,与硬件的关系尤为密切,和是实现多道程序设计技术的基础。
2. 综合题(1) 什么是操作系统?操作系统的基本特征是什么?(2) 操作系统在计算机系统中处于什么地位?具有哪些功能?(3) 操作系统具有哪些基本类型?(4) 操作系统提供哪些接口?它们的作用是什么?(5) 操作系统的结构在发展过程中发生了哪些变化?(6) 什么是通道?通道的作用是什么?(7) 什么是管态和目态?为什么设置管态和目态?(8) 假设在内存中有三道程序A、B、C,并按A、B、C 的优先次序运行,其中A 程序的运行记录:计算30ms,I/O 操作40ms,计算10ms;B 程序的运行记录:计算60ms, I/O 操作30ms,计算10ms;C 程序的运行记录:计算20ms,I/O 操作40ms,计算20ms。
试画出按多道程序运行的时间关系图(调度程序的时间忽略不计),完成这三道程序共花多少时间?比单道运行节省多少时间?1. 选择题(1) 作业由( )3 部分组成。
A. 程序、数据和作业说明书B. 程序、算法和作业说明书C. 程序、JCB 和作业说明书D. 程序、函数和作业说明书(2) 作业调度程序是从( )状态的队列中选取适当的作业投入运行。
操作系统基础习题解析及实验指导2016.9第一篇操作系统基础知识点及习题解答该部分罗列操作系统基础各章节的学习要点,指出学习的重点和难点,在回顾相关知识点的基础上,对典型习题进行分析和解答。
第一章操作系统引论本章学习要点【1】掌握操作系统的概念与作用【2】掌握操作系统的基本类型与特点【3】掌握操作系统的特征与功能【4】深入领会多道程序设计技术本章学习难点【1】多道程序设计技术【2】操作系统的特征知识点回顾一. 操作系统的概念一个完整的计算机系统由计算机硬件系统和计算机软件系统两部分组成。
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统功能的第一次扩充。
图1-1 计算机系统的层次图1.操作系统(Operating System,简称OS)的作用(1)OS作为用户与计算机硬件系统之间的接口OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
或者说,用户在OS 的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。
(2)OS作为计算机系统资源的管理者这是广为流行的一个关于OS作用的观点。
在一个计算机系统中,通常都包含了各种各样的硬件和软件资源。
归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。
OS的主要功能正是针对这四类资源进行有效的管理。
(3)OS用作扩充机器对于一台完全没有软件配置的计算机系统(裸机),即使功能再强,也必定难于使用。
OS在第 1 页共102 页裸机上分别覆盖I/O设备管理软件、文件管理软件等,此时用户所看到的机器,将是一台比裸机功能更强、使用更方便的机器。
通常把覆盖了软件的机器称为扩充机器或虚机器。
在计算机系统上覆盖上一层软件后,系统功能便增强一级。
由于OS自身包含了若干层软件,因此当在裸机上覆盖上OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器。
2.操作系统的概念操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,方便用户使用的程序的集合。
操作系统典型题目讲解09年考研操作系统试题21.假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是(D) A.5% B.9.5% C.50% D.95%22.下列选项中,能引起外部中断的事件是(A)A.键盘输入B.除数为0 C.浮点运算下溢D.访存缺页23.单处理机系统中,可并行的是DI 进程与进程II 处理机与设备III 处理机与通道IV 设备与设备A.I、II和III B. I、II和IV C. I、III和IV D. II、III和IV 24.下列进程调度算法中,综合考虑进程等待时间和执行时间的是 D A.时间片轮转调度算法B.短进程优先调度算法C.先来先服务调度算法D.高响应比优先调度算法25.某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。
该系统可能会发生死锁的K的最小值是 C A.2 B.3 C.4 D.526.分区分配内存管理方式的主要保护措施是AA.界地址保护B.程序代码保护C.数据保护D.栈保护27.一个分段存储管理系统中,地址长度为32位,其中段号占8位,则最大段长是C A.2的8次方字节B.2的16次方字节 C.2的24次方字节 D.2的32次方字节28.下列文件物理结构中,适合随机访问且易于文件扩展的是B A.连续结构 B.索引结构C.链式结构且磁盘块定长D.链式结构且磁盘块变长29.假设磁头当前位于第105道,正在向磁道序号增加的方向移动。
现有一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是A A.110,170,180,195,68,45,35,12 B.110,68,45,35,12,170,180,195 C.110,170,180,195,12,35,45,68 D.12,35,45,68,110,170,180,19530.文件系统中,文件访问控制信息存储的合理位置是AA.文件控制块B.文件分配表C.用户口令表D.系统注册表31.设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。
5.何谓脱机I/O和联机I/O?答:脱机I/O:程序和数据的输入和输出都是在外围机的控制下完成的在脱离主机的情况下进行的。
联机I/O:是指程序和数据的输入输出都是在主机的直接控制下进行的。
了解:【假脱机:在联机情况下实现的同时操作的技术。
】11.OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
13. 什么是时分复用技术?举例说明它能提高资源利用率的根本原因是什么。
答:时分复用技术:将资源在不同的时间片内分配给各进程以使该资源被重复利用,从而提高资源的利用率。
原因: 如采用时分复用技术的虚拟处理机,能够在不同的时间片内处理多个用户的请求,从而使得用户感觉自己独占主机,而处理机在这期间也被充分的利用。
了解:空分复用技术:让同一个频段在不同的空间内得到重复利用,称之为空分复用。
2. 画出下面四条诧句的前趋图: S1:a=x+y;S2:b=z+1; S3:c=a-b ;S4:w=c+1;6.试从动态性,并发性和独立性上比较进程和程序。
答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。
进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。
(2)并发性是进程的重要特征,同时也是OS 的重要特征。
引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。
(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。
对于未建立任何进程的程序,不能作为独立单位参加运行。
11.试说明进程在三个基本状态之间转换的典型原因。
答:(1)就绪状态→执行状态:进程分配到CPU 资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O 请求 (4)阻塞状态→就绪状态:I/O 完成了解:三个基本状态是什么:(1)就绪状态 (2)执行状态 (3)阻塞状态第三章1.高级调度不低级调度的主要仸务是什么?为什么要引入中级调度? 答:高级调度的主要任务:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程插入就绪队列上,准备执行。
第二章进程管理令狐采学第一部分教材习题(P81)3、为什么程序并发执行会产生间断性特征?(P36)4、程序并发执行,为何会失去封闭性和可再现性?(P37)【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。
同时由于失去了封闭性,也将导致其再失去可再现性。
程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。
5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?【解】在操作系统中引入进程的概念,是为了实现多个程序的并发执行。
传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。
这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。
建立进程所带来的好处是使多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。
但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。
6、试从动态性、并发性和独立性上比较进程和程序?(P37)【解】(1)动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。
动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。
可见,进程有一定的生命期。
而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。
(2)并发性:所谓进程的并发,指的是多个进程实体,同存于内存中,能在一段时间内同时运行。
并发性是进程的重要特征,同时也成为OS的重要特征。
引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是无法并发执行的。
操作系统练习题和答案一、单项选择题1.现代操作系统的基本特征是( C )、资源共享和操作的异步性。
P13A. 多道程序设计B. 中断处理C. 程序并发执行D. 实现分时和实时处理2.在页式虚拟存储管理中,为实现地址变换,应建立(C )P157A.空闲区表B.分区分配表C.页表D.移动表3.SPOOL技术用于(C)A. 处理器管理B. 存储管理C. 设备管理D. 文件管理4.在可变分区分配方案中,在空闲区表中以空闲区长度按递减顺序排列适合于(A)P131A.最坏适应算法B.最先适应算法C.最优适应算法D.首次循环适应算法5.用户程序发出磁盘I/O请求后,系统的正确处理流程是(B)A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序6.从磁盘读取数据的下列时间中,对系统效率影响最大的是( D)A.处理时间B.传输时间C.延迟时间D.寻道时间7.以下关于进程的并发执行描述正确的是(A )A.多个进程在某个时间段内轮流占用处理器执行B.多个进程在某个时刻同时占用处理器执行C.单处理器的系统也允许进程并发执行D.只有多处理器的系统才能允许进程并发执行8.造成某进程状态从就绪态转变成运行态的原因是(D)A.上次分配给该进程的处理器时间太短B.有更高优先级的进程要运行C.该进程需要更多的处理器时间运行D.该进程被进程调度程序选中9.以下存储管理技术中,可以实现虚拟存储器的技术是(D )A.单用户连续存储管理B.固定分区存储管理C.可变分区存储管理D.页式存储管理10.PCB全称(B )A.进程队列B.进程控制块C.进程状态D.进程对象11.计算机系统能及时处理由过程控制反馈的数据,并做出响应的操作系统是(B)A. 批处理操作系统B. 实时操作系统C. 分时操作系统D. 多处理机操作系统12.某进程所要求的一次打印输出结束,该进程被唤醒,其进程状态将从(B )A. 就绪状态到运行状态B. 等待状态到就绪状态C. 运行状态到等待状态D. 运行状态到就绪状态13.内存分配的最差适应算法的空闲区表是(A )A. 按大小递减顺序排列B. 按大小递增顺序排列C. 按地址由小到大排列D. 按地址由大到小排列14.以下说法错误的是(D )A.并发进程中与共享变量有关的程序段称为临界区B.并发进程中涉及到相同变量的程序段称为相关临界区C.临界区的引入主要是为了解决并发进程执行时出现与时间有关的错误D.所有并发进程都会产生与时间有关的错误15.一种既有利于短小作业又兼顾到长作业的作业调度算法是(B )A. 先来先服务B.最高响应比优先C.轮转D.均衡调度16.按文件的逻辑结构可将文件分成(C )A. 数据文件,命令文件,文本文件B. 命令文件,库文件,索引文件C. 顺序文件,链式文件,索引文件D. 输入文件,输出文件,随机文件17.计算机操作系统的功能是(D )A.把源程序代码转换为目标代码B.实现计算机用户之间的相互交流C.完成计算机硬件与软件之间的转换D.控制、管理计算机系统的资源和程序的执行18.多道程序设计是指(C )A. 在多台处理机上同时执行多道程序B. 在多台处理机上同一时刻执行多道程序C. 在一台处理机上同时执行多道程序D. 在一台处理机上同一时刻执行多道程序19.有关进程的下列叙述中正确的是(D )A. 进程是静态的文本B. 进程与程序是一一对应的C. 进程与作业是一一对应的D. 多个进程可以在单个CPU上同时执行20.在下列操作系统中,对响应时间要求最高的是( C )。
注:标有“操作系统第二版中文版答案”的答案是从操作系统第二版中文答案的电子书上摘抄的,剩下的是非标准答案(可以忽略~~)。
有几道题没有写。
以下的相关文档仅供参考!祝各位同学考试愉快!第一章:引论(P44)1、什么是多道程序设计?答:多道程序就是CPU在内存中多个进程之间迅速切换。
它一般被用来使CPU 保持忙碌,当有一个或多个进程进行I/O时。
(操作系统第二版中文答案)2、什么是SPOOLing?读者是否认为将来的高级个人计算机会把SPOOLing作为标准功能?答:SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。
(回答:什么是SPOOLing?百度的~~~)输入SPOOLing是作业中的读入技术,例如:从卡片在磁盘,这样当当前执行的进程完成时,将等候CPU。
输出SPOOLing在打印之前首先复制打印文件,而非直接打印。
在个人计算机上的输入SPOOLing很少,但输出SPOOLing非常普通。
(操作系统第二版中文答案)3、在早期的计算机中,每个字节的读写直接由CPU处理(既没有DMA)。
对于多道程序而言这种组织方式有什么含义?答:多道程序的主要原因是当等候I/O完成时CPU有事可做。
如果没有DMA,I/O 操作时CPU被完全占有,因此,多道程序无利可图(至少在CPU利用方面)。
无论程序操作多少I/O操作,CPU都是100%的忙碌。
当然,这里是假定主要的延迟是数据复制时的等待。
如果I/O很慢的话,CPU可以做其他工作。
(操作系统第二版中文答案)4、系列计算机的思想在20世纪60年代由IBM引入System/360大型机。
现在这种思想已经消亡了还是继续活跃着?答:它依然存在。
例如:Interl以各种各样的不同的属性包括速度和能力消耗来产生Pentium I,II,III和4。
所有这些机器的体系结构都是兼容的,仅仅是价格上的不同,这些都是家族思想的本质。
(操作系统第二版中文答案)5、缓慢采用GUI的一个原因是支持它的硬件的成本(高昂)。
为了支持25行80列字符的单色文本屏幕应该需要多少视频RAM?对于1024*768像素24位色彩位图需要多少视频RAM?在1980年($5/KB)这些RAM的成本是多少?现在它的成本是多少?答:25*80字符的单色文本屏幕需要2000字节的缓冲器。
1024*768像素24位颜色的位图需要2359296字节。
1980年代这两种选择将分别地耗费$10和$11520。
而对于当前的价格。
将少于$1/MB。
(操作系统第二版中文答案)8、考虑一个有两个CPU的系统,并且每个CPU有两个线程(超线程)。
假设有三个线程P0,P1,P2,分别以运行时间5ms,10ms,20ms开始。
运行这些程序需要多少时间?假设这三个程序都是100%限于CPU,在运行时无阻塞,并且一旦设定就不改变CPU。
答:这些程序的运行时间因程序的组合的不同而不同,一共有以下4种情况:1)(P0,P1) and P2 => (5ms + 10ms) and 20ms => 20ms2)(P0,P2) and P1 => (5ms + 20ms) and 10ms => 25ms3)(P1,P2) and P0 => (10ms + 20ms) and 50ms => 30ms4)(P0,P1,P2) => (5ms + 10ms + 20ms) => 35ms9、一台计算机有一个四级流水线,每一级都花费相同的时间执行其工作,即1ns。
这台机器每秒可执行多少条指令?答:从管道中每纳秒出现一条指令。
意味着该机器每秒执行十亿条指令。
它对于管道有多少个阶段不予理睬,即使是10-阶段管道,每阶段1nsec,也将执行对每秒十亿条指令。
因为无论哪种情况,管道末端输出的指令数都是一样的。
(操作系统第二版中文答案)10、假设一个计算机系统有高速缓存、内存(RAM)以及磁盘,操作系统用虚拟内存。
读取缓存中的一个词需要2ns,RAM需要10ns,硬盘需要10ms。
如果缓存的命中率是95%,内存的是(缓存失效时)99%,读取一个词的平均时间是多少?答:平均访问时间 = 2ns * 0.95 + 10ns *0.99 *(1-0.95) + 10ms * (1-0.99) *(1-0.95) = 5002.395ns .14、陷阱和中断的主要差别是什么?答:陷阱是由程序造成的,并且与它同步。
如果程序一而再地被运行,陷阱将总在指令流中相同的位置的精确发生。
而中断则是由外部事件和其他时钟造成的,不具有重复性。
(操作系统第二版中文答案)20、有一个文件,其文件描述符是fd,内含下列字节序列:3,1,4,1,5,9,2,6,5,3,5。
有如下系统调用:lseek(fd,3,SEEK_SET);read(fd,&buffer,4);其中lseek调用寻找文件中的字节3。
在读取操作完成之后,buffer中的内容是什么?答:包含字节:1,5,9,2.(操作系统第二版中文答案)22、块特殊文件和字符特殊文件的基本差别是什么?答:块特殊文件包含被编号的块,每一块都可以独立地读写或者写入。
而且可以定位于任何块,并且开始读入或写入。
这些对于字符特殊文件是不可能的。
(操作系统第二版中文答案)25、对程序员而言,系统调用就像对其他库过程的调用一样。
有无必要让程序员了解哪一个库过程导致了系统调用?在什么情形下,为什么?答:就程序逻辑而言,库例程调用哪个系统调用是没有关系的。
但是,如果需要考虑性能问题,无需系统调用就可以完成的任务将使进程运行更快。
所有的系统调用都会导致用户环境和内核环境的切换开销。
更进一步,在多用户系统中,在系统调用完成之前,操作系统可能调度到其他的进程,这将使得调用过程的处理更加迟缓。
(操作系统第二版中文答案)1、于操作系统,下列叙述不正确的是()。
A、管理系统资源B、控制程序执行C、改善人机界面D、提高用户软件运行速度2、以下哪个系统不是基本的操作系统().A、分时操作系统B、实时操作系统C、分布式操作系统D、多道批处理系统3、计算机系统由__________和__________组成。
4、分时操作系统具有的四个主要特点是同时性、 _________、__________和_________。
5、多道程序设计的根本目标是( )。
6、多项选择:操作系统设计目标是()。
A、管理系统资源B、提高安全性C、方便用户使用系统D、使系统能高效工作7、在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应。
A、批处理操作系统B、实时操作系统C、分时操作系统D、多处理机操作系统8、多项选择:引入多道程序设计的主要目的在于()。
A、提高实时响应速度B、充分利用处理机,减少机空闲时间C、有利于代码共享D、充分利用外围设备E、减少存储器碎片9、计算机发展到第三代,操作系统已成为软件的一个重要分支,最早的操作系统是()。
10、设计实时操作时( )不是主要的追求目标。
A、安全可靠B、资源利用率C、及时响应D、快速处理答案:1、D2、C3、硬件子系统软件子系统4、独立性及时性交互性5、提高计算机系统的工作效率6、C D7、B8、BD9、批处理操作系统10、B第二章:进程与线程(P95)2、假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。
CPU需要哪些信息?请描述用硬件完成进程切换的过程。
答:应该有一个寄存器包含当前进程表项的指针。
当I/O结束时,CPU讲当前的机器状态存入当前进程表项中,然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程)。
然后,就可以启动这个进程了。
(操作系统第二版中文答案)3、在所有当代计算机中,至少有部分中断处理程序是用汇编语言编写的。
为什么?答:通常高级语言不允许CPU硬件,而这种访问是必须的。
例如:中断处理程序可能需要禁用和启动某个特定的设备服务,或者处理进程堆栈区的数据。
另外,中断服务例程需要尽快地执行。
(操作系统第二版中文答案)4、当中断或系统调用把控制转给操作系统时,通常将内核堆栈和被中断进程的运行堆栈分离。
为什么?答:内核使用单独的堆栈有若干的原因。
其中两个原因如下:首先,不希望操作系统崩溃,由于某些用户进程不允许足够的堆栈空间。
第二,如果内核将数据保留在用户空间,然后从操作系统调用返回,那么恶意的用户可能使用这些数据找出某些关于它进程的信息。
(操作系统第二版中文答案)5、多个作业能够并行运行,比它们顺序执行完成的要快。
假设有两个作业同时开始执行,每个需要10分钟的CPU时间。
如果顺序执行,那么最后一个作业需要多少时间可以完成?如果并行执行又需要多少时间?假设I/O等待占50%。
答:CPU利用率计算公式:CPU利用率 = 1 - p^n.设运行作业所需要的时间为T 顺序执行:T = (10 + 10) / 0.5 = 40(分钟);并行执行:p = 0.5, n = 2, CPU利用率 = 1 - 0.5^2 = 0.75, 则T = (10 + 10) / 0.75 = 26.7(分钟).7、如果创建一个多线程进程,若子进程得到全部父进程线程的副本,会出现问题。
假如原有线程之一正在等待键盘输入,现在则成为两个线程在等待键盘输入,每个进程有一个。
在单线程进程中也会发生这种问题吗?答:不会。
如果单线程进程在键盘上阻塞,就不能创建子进程。
(操作系统第二版中文答案)9、在本章中,我们介绍了多线程的web服务器,说明它比单线程服务器和有限状态机服务器更好的原因。
存在单线程服务器更好一些的情形吗?请给出一个例子。
答:是的。
如果服务器是完全CPU绑定的,则不需要多线程。
这只会增加不必要的复杂性。
假设某个百万人口区域的电话查号系统(类似于114),如果每个(姓名,电话号码)记录为64个字符,整个的数据库则为64MB,这就是很容易全部读入服务器内存中以提高快速的查询。
(操作系统第二版中文答案)11、为什么线程要通过调用thread_yield自愿放弃CPU?毕竟,由于没有周期性的时钟中断,线程可以不交回CPU。
答:进程中线程是相互协作的,而不是相互独立的。
如果放弃了是为了应用程序,那么线程将放弃CPU。
毕竟,通常是同一个程序员写的代码。
(操作系统第二版中文答案)12、线程可以被时钟中断抢占吗?如果可以,在什么情形下可以?如果不可以,为什么不可以?答:用户级线程不能被时中断抢占,除非整个进程的时间片用完。
内核级线程可以单独地被剥夺。