计算机操作系统|汤小丹慕课版|课后习题答案|考研备考
第1章 操作系统引论
第1章 课后习题答案
第1章 零碎知识点
第2章 进程的描述与控制
第2章 课后习题答案
第2章 零碎知识点
第3章 处理机调度与死锁
第3章 课后习题答案
第3章 零碎知识点
第4章 进程同步
第4章 课后习题答案
第4章 零碎知识点
第5章 存储器管理
第5章 课后习题答案
第5章 零碎知识点
第6章 虚拟存储器
第6章 课后习题答案
第6章 零碎知识点
第7章 输入/输出系统
第7章 课后习题答案
第7章 零碎知识点
第8章 文件管理
第8章 课后习题答案
第8章 零碎知识点
第9章 磁盘存储器管理
第9章 课后习题答案
第9章 零碎知识点
第10章 多处理机操作系统
第10章 课后习题答案
第10章 零碎知识点
第11章 虚拟化和云计算
第11章 课后习题答案
第11章 零碎知识点
第12章 保护和安全
第12章 课后习题答案
第12章 零碎知识点
第1章 操作系统引论
第1章 课后习题答案
在计算机系统上配置OS的目标是什么?作用主要表现在哪几个方面?
答:
1.1 计算机系统配置OS的4个主要目标:是实现方便性、有效性、可扩充性、开放性。
1.2 OS的作用主要表现在3个方面:
(1)OS是用户与计算机硬件系统之间的接口。
(2)OS是计算机系统资源的管理者。
(3)OS实现了计算机系统资源的抽象。
请说明OS与硬件、其他系统软件以及用户之间的关系。
答:
(1)从体系结构的角度看:OS是覆盖在硬件上的第一层软件,它负责管理计算机的软硬件资源,同时为用户提供良好的界面。
(2)从硬件的角度看:OS与硬件紧密相关,直接管理着硬件资源,为用户提供了完成所有与硬件相关的操作,极大方便了用户对硬件资源的使用,并提高了硬件资源的利用率。
(3)从软件角度看:OS是一种特殊的系统软件,也是其他系统软硬件的接口。其它系统软件运行在OS的基础之上,可获得OS所提供的大量服务 。而一般用户使用计算机除了可以使用OS支持外,也可以使用其他系统和应用软件。
请说明推动OS发展的主要动力是什么?
答:
(1)计算机系统资源利用率不断提高
(2)方便用户
(3)硬件的更新换代
(4)计算机体系结构的发展
(5)新的需求被不断提出
在OS中,何谓脱机I/O方式和联机I/O方式?
(1)脱机I/O是指事先将装有用户程序或者数据的纸带或卡片上的数据输入到磁带上,该方式的I/O操作由外围控制机完成,是在脱离主机的情况下进行的。
(2)联机I/O是指程序和数据的I/O都是在主机的直接控制下进行的。
请问推动分时系统形成和发展的主要动力是什么?
答:
推动分时系统形成和发展的主要动力:“更好满足用户需要”。其主要表现为:
(1)CPU的分时缩短了作业的平均周转时间。
(2)人机交互功能的提供方便用户直接控制自己的作业
(3)主机共享可以使多个用户(包括远程用户)同时使用一台计算机独立地、互不干扰地处理各自的作业。
实现分时系统的关键问题使什么?应该如何解决?
答:
6.1 实现分时系统的关键问题是:使用户可以与自己的作业进行交互,即用户在自己的终端上输入一条命令以请求系统服务后,系统能够及时接收并处理该命令,并在用户能接受的时间内返回给该用户。
6.2 实现分时系统的解决方法是:在系统中配置一个多路卡,并为每个终端配置一个缓冲区以暂存用户输入的命令和输出的结果(这样是为了及时接受命令和返回输出结果)。
因此关键问题是要确保在较短时间内确保所有的用户程序都能执行一次,从而使用户输入的命令可以得到及时的响应。
为此一方面(1)用户作业被提交后应该立即进入内存。另一方面(2)系统应该设置一个时间很短的时间片,并规定每个程序每次最长只能连续运行一个时间片,如何一个时间片用完,则不管它是否运行完毕,都必须将CPUA让给下一个作业。通过使作业分时共享CPU,所有的作业都可以及时的处理,用户的请求亦可得到及时的响应。
为什么要引入实时系统?
答:实时系统是指系统能及时响应外部事件的请求,在规定的额时间内内完成对时间的处理,并控制所有实时任务协调一致的运行。引入实时系统是为了更好的满足实时控制领域和实时信息处理领域的需要。
什么是硬实时(HRT)任务和软实时(SRT)任务?试举例说明。
答:
(1)硬实时任务(HRT)是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果,如:运载火箭的控制,导弹武器系统等。
(2)软实时任务(SRT)对截止时间的要求并不严格,偶尔错过截止时间对系统产生的影响也不大,如:网页内容的更新,火车售票系统剩余票数的更新等。
请从及时性、交互性、可靠性方面分别对分时系统与实时系统进行比较。
答:
(2)及时性方面:分时系统的及时性是指用户能在很短时间间隔内获取系统响应,这一时间间隔是根据人们能接受的等待时间来确定的。一般为2~3s。对实时系统来说,及时性是实时系统的关键问题之一,实时信息系统的及时性要求和分时系统的及时性要求相似,而实时控制系统的及时性要求则是由被控制对象所要求的开始截止时间和完成截止时间决定的,一般为秒级,毫秒级,甚至更低。
(2)交互性方面:交互性问题是分时系统的关键问题。在分时系统中用户可以通过终端与系统进行广泛的人机交互,比如文件编辑、数据处理和资源共享等。实时系统也有交互性,但是在实时系统中,交互性仅限于访问系统中某些特定的专用服务程序,即实时系统的交互性具有很大的局限性。
(2)可靠性方面:可靠性是实时系统的另一个关键问题,实时系统中的任何差错都可能带来巨大的经济损失,甚至导致无法预料的灾难性后果,因此实时系统往往采用多级容错措施来保证系统高度可靠。分时系统也要求可靠,但是相对实时系统而言的要求较低。
微机OS按运行方式来分,可以分为哪几类?请举例说明。
答:按照运行方式,微机OS可以分为3类:单用户单任务OS、单用户多任务OS、多用户多任务OS。
(1)单用户单任务OS:只允许一个用户上机(使用计算机),且只允许用户程序作为一个任务运行,主要配置在8位和16位微机上。最具代表性的单用户单任务OS是CP/M(8位)和MS-DOS(16位)。
(2)单用户多任务OS:只允许一个用户上机,但允许用户把程序分成若干个任务并发执行,从而有效地改善了系统性能。最具代表性的单用户多任务OS是微软的早期推出的Windows系列,如Windows3.1、Windows 95、Windows 98等。
(3)多用户多任务OS:允许多个用户通过各自的终端使用一台机器,共享主机系统中的各种资源,而每个用户程序又可以进一步分为若干个任务并发执行,从而进一步提高资源利用率和系统吞吐量。最具代表性的多用户多任务OS是UNIX系统,各种类UNIX系统(如Solaris、Linux系统等)以及Windows NT/Server系列的系统。
OS具有哪几大特征?它们之间有何联系?
答:OS具有4大基本特征:并发、共享、虚拟、异步。它们有如下4种关系。
(1)并发和共享是OS最基本的特征。为了提高计算机资源利用率,OS必然要采用多道程序技术,使得多个程序共享系统资源、并发执行。
(2)并发和共享互为存在条件。一方面,资源的共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,就不会存在资源共享方面的问题;另一方面若系统不能对资源共享实施有效的管理,协调好各进程对共享资源的访问,则并将影响程序的并发执行。
(3)虚拟以并发和共享为前提。,OS之所以采用虚拟技术,就是为了使并发进程更方便、更有效地共享系统资源。OS多采用虚拟技术在逻辑上增加CPU和设备的数量以及存储器的数量,从而解决并发进程对有限系统资源的共享问题。
(4)异步性使并发性和共享性地必然结果。OS允许多个并发进程共享资源、相互合作,使得每个进程地运行过程受到了其他进程地制约,不再一气呵成,这必然会导致异步这一特征地产生。
是什么原因使OS具有异步特征?
答:
OS具有异步特征,而异步是并发和共享地必然结果。 具体可以归纳为以下3个原因。
(1)在多道程序环境下,允许多个程序并发执行,但由于资源等因素地限制,进程的执行通常并非一气呵成,而是以走走停停的方式完成的。
(2)内存中的每个进程在何时执行、何时暂停、以怎样的速度向前推进,都是不可预知的。
(3)但是在有关进程控制以及同步机制等的支持下,只要运行环境相同,作业经过多次运行都会获得完全相同的结果,因为异步方式是允许的。
什么是OS内核?OS内核的主要功能是什么?
答:
OS内核定义:在现代OS理论中,一般将OS划分为若干层次,再将OS的不同功能分别设置在不同层次中。通常将一些与硬件紧密相连的模块(如中断程序)、各种常用设备的驱动程序以及运行频率比较高的模块(如时钟管理、进程调度、公共基本操作等)都紧密安排在靠近硬件的模块种,让他们常驻内存,进而形成了所谓的OS内核。
OS内核主要功能:
(1)支撑功能:包括中断处理、时钟管理和原语操作等;
(2)资源管理功能:包括进程管理、存储器管理、设备管理等。
什么是原语?什么是原子操作?
答:原语,是一个过程,该过程由若干条指令组成没用于完成一定的功能。原子操作,是一个不可分割的基本单位,是指一个操作的所有动作要么全做,要么全部不做。
因此,原语在执行过程中不允许被中断,原子操作在内核态被执行,常驻内存。
请简要描述处理机的双重工作模式?
答:一般地,处理机至少需要两种单独的运行模式:即用户态和内核态。
(1)用户态,又称为目态,计算机硬件可以通过一个模式位1来表示它。当计算机运行用户程序时,系统即处于用户态。
(2)内核态,又称管态或系统态,计算机硬件可以通过一个模式位0来表示它。当OS能够控制计算机时,它就处于内核态。比如,当用户程序通过系统调用请求OS服务时,系统必须从用户态切换到内核态,以响应请求。
简述中断处理的过程。
答:一旦CPU响应中断,系统就会开始进行中断处理。中断处理的过程主要包括以下3步。
(1)保护被中断进程的现场。为了在中断处理结束后能使进程正确返回中断点,系统必须保存当前处理机状态字和程序计数器的值。(保护现场)
(2)分析中断原因,执行相应的中断处理程序。在多个中断请求同时发生时,处理优先级最高的中断源所发出的请求。(执行中断)
(3)恢复被中断进程的现场,CPU继续执行被中断的原进程。(恢复现场)
【王道补充の中断过程】
答:
(1)CPU检测到中断信号后,由硬件自动保存被中断程序的断点(即程序计数器PC和程序状态字PSW)。(保护现场)
(2)之后,硬件找到该中断信号对应的中断向量,中断向量指明终端服务程序入口地址(中断向量统一存放在中断向量表中,该表由操作系统初始化,即找中断向量)。然后,开放中断,允许更高级的中断请求打断低级的中断服务程序。
(3)接下来,执行中断服务程序,保存中断品鼻子、保存各通用寄存器的值,并提供与中断信号对应的中断服务,中断服务程序属于操作系统内核,中断服务程序的最后一条指令一定是中断返回指令。
(4)然后,关中断,防止在恢复现场过程中被新的中断请求打断。
(5)最后,恢复现场,然后开放中断,以便返回原来的程序后可以响应其他的中断请求。
PS:可以简记为:保护现场—>确认中断向量—>开中断—>执行中断服务程序—>关中断—>恢复现场—>开中断
处理机管理有哪些主要功能?它们的主要任务是什么?
答:处理机管理的主要功能有4个:进程管理、进程同步、进程通信和处理机调度。其中各部分的主要任务为:
(1)进程管理:为作业创建进程,撤销已结束进程,控制进程在运行中的状态转换。
(2)进程同步:协调多个进程(含线程)的运行。
(3)进程通信:实现在相互合作的进程之间的信息交换。
(4)处理机调度:包括作业调度和进程调度。作业调度是按照一定的算法从后备队列里选出若干个作业,为他们分配运行所需的资源;进程调度是按照一定的算法从进程的就绪队列中选取一个进程,把处理机分配给它,并设置运行现场,使进程投入运行。
内存管理有哪些主要功能?它们的主要任务是什么?
答:内存管理的主要功能有4个:内存分配、内存保护、地址映射和内存扩充。其中各部分的主要任务为:
(1)内存分配:为每道程序分配内存。
(2)内存保护:确保每道程序仅在自己的内存空间运行,彼此互不干扰。
(3)地址映射:将地址空间的逻辑地址转为内存空间对应的物理地址。
(4)内存扩充:即从逻辑上扩充内存,实现请求调入功能和置换功能。
设备管理有哪些主要功能?它们的主要任务是什么?
答:设备管理的主要功能有4个:缓冲管理、设备分配、设备处理和设备虚拟。其中各部分的主要任务为:
(1)完成用户提出的I/O请求,为用户分配进程所需的I/O设备,并完成指定的I/O操作。
(2)提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
文件管理有哪些主要功能?它们的主要任务是什么?
答:文件管理的主要功能有3个:文件存储空间管理、目录管理、文件读写管理和保护。其主要任务是对用户文件和系统文件进行管理以方便用户使用、保证文件安全。
现代OS的新功能有哪些?
答:现代OS除了具有传统OS的功能外,还具有保障系统安全、支持用户联网获取服务和可处理多媒体信息等功能。
什么是微内核OS?它具有哪些优点?
答:微内核OS是具有如下4个特征的OS:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用策略与机制分离原则;(4)采用面向对象技术。
微内核OS的主要优点有4个:(1)提高了系统的可扩展性;(2)增强了系统的可靠性和可移植性;(3)提供了对分布式系统的支持;(4)融入了面向对象技术。
外核OS的基本思想是什么?
答:外核OS的基本思想是:内核不提供传统OS中的进程、虚拟存储等抽象事物,而是专注于物理资源的隔离(保护)与复用。具体来说,在基于外核结构的OS中,内核负责保护系统资源,而硬件资源的管理职责则委托给了应用程序,这样,OS就可以做到在保证资源安全的前提下,减少对应用程序的限制,充分满足应用程序对硬件资源的不同需求。
什么是系统调用?系统调用与一般用户程序和库函数有何区别?
答:系统调用是OS提供给程序员的唯一接口。程序员利用系统调用,在源程序层面动态请求和释放系统资源,并调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子,对用户屏蔽了OS的具体动作,而只提供有关的功能。
系统调用与一般用户程序和库函数的区别在于3点:(1)系统调用(程序)在内核态执行,调用它们时需要一个类似于硬件中断处理机制的中断处理机制来提供系统服务;(2)普通用户程序是直接为用户完成某特定功能而设计的,它们一般在用户态执行;(3)库函数是把函数放到库里提供别人使用的一种方式,是面向应用开发,方便人们编程的。
【王道补充】请简述系统调用的过程?
答:
(1)(传参)正在运行的进程先传递系统调用参数。(2)(trap)然后陷入指令负责将用户态转换为核心态,并将返回地址压入堆栈后备用(3)(执行)接下来CPU执行相应的内核态程序,(4)(返回)最后返回用户态,继续执行程序。
【王道补充】请结合OS和计组相关知识,简述计算机的启动过程?
答:CPU激活后,会从最顶端的地址FFF0H获得第一条指令来执行,这个地址仅仅只有16字节,放不下一段程序,所以是一条JMP指令,以跳转到更低地址去执行BIOS程序。BIOS程序在内存最开始的空间构建中断向量表和相应的服务程序,在后续POST过程中要用到中断调用等功能。然后通过通电自检POST(Power-on Self Tset),以检测硬件是否有故障。完成POST后,BIOS需要在硬盘、光驱或软驱等存储设备搜寻操作系统内核的位置以启动操作系统。
PS:可简记为①CPU加电、激活,CS:IP指向FFF0H;②执行JMP指令跳转到BIOS;③登记BIOS中断程序入口地址;④硬件自检;⑤进行操作系统引导
OS的概念、特征和功能是什么?
答:
(1)OS定义:OS是一组程序的集合,主要负责控制和管理计算机的硬件和软件资源、合理地对各类作业进行调度以方便用户使用计算机。
(2)OS的4个特征:并发、共享、虚拟、异步。①并发:一段时间间隔内多个进程或线程的并发执行,是宏观上的并行,微观上的串行。②共享:系统中的资源可供内存中多个并发执行的进程或者线程共同使用。③虚拟:通过某种技术将物理实体变为若干个逻辑上的对应物。④异步:进程以人们不可预知的速度向前推荐,每次运行只要环境相同,则结果必定一致。
(3)OS的5大功能:处理机管理、存储器管理、设备管理、文件管理、接口管理。①处理机管理:进程(线程)是处理机调度的单位,因此处理机管理实际上是对进程(线程)的管理。②存储器管理:主要包括内存的分配与回收、地址转换、虚拟内存的实现等。③设备管理:主要包括设备分配与回收、缓冲区管理、磁盘调度、设备虚拟等。④文件管理:主要包括文件存储空间的管理、目录管理、文件共享与保护等。⑤接口管理:主要包括用户接口、程序接口、命令接口和网络接口的管理等。
第1章 零碎知识点
零碎的杂七杂八の知识点
并发是指若干事件在同一时间间隔发生,并行是指若干事件在同一时刻发生。
广义指令就是系统调用(或者说系统调用指令)。其中系统调用包括①传参 ②trap指令(或仿管指令、陷入指令),该指令只在用户态执行,CPU进入核心态。 ③执行系统调用,在核心态下完成。④返回用户态,继续执行程序。广义指令只能在核心态执行。
Shell是命令解析器,命令解析器属于命令接口。命令接口是面向用户的,在用户态执行。
系统中的缓存全部由操作系统管理,对用户是透明的,操作系统不提供管理系统缓存的系统调用。
系统开机后,操作系统的程序会被自动加载到内存中的系统区,这段区域是RAM。即操作系统最终会被加载到RAM中。
中断技术使得多道批处理系统的I/O设备可与CPU并行工作。
中断处理是操作系统必须提供的功能。
进程调度由调度算法决定CPU的使用权,由操作系统来实现,不需要硬件的支持。
中断处理的前三个步骤是由硬件直接实现的;地址映射需要基地址(或页表)寄存器和地址加法器的支持;时钟管理需要硬件计数器保持时钟的运行。
缺页处理和时钟中断都属于中断,在核心态执行。
进程调度是操作系统内核进程,无需用户干预,在核心态执行。
特权指令只能由操作系统使用,在核心态执行。
置时钟指令只能在核心态执行。读时钟、取数、寄存器清零都可以通过汇编,在用户态下完成。
中断程序本身可能使用户程序,也可能是OS程序,但是进入中断处理的程序一定属于OS程序,因为进入中断处理的程序时通过硬件来实现的。
子程序调用只保存程序断点,即该指令的下一条指令的地址;中断处理不仅要保存断点(程序计数器PC的内容,即地址),还要保存程序状态字寄存去PSWR(即当前使用户态还是核心态)的内容。在中断处理中最重要的两个寄存器使PC和PSWR。
中断服务程序属于操作系统内核。
微内核的缺点是系统效率低,因为微内核要频繁地在用户态和核心态之间切换,开销大。
只有操作系统的内核才常驻内存,操作系统地其他部分仅在需要时调入。
软件能实现地功能硬件也能实现,所以虚拟机既可以用软件实现,也可以用硬件实现。