Everybody,阿婆主根据《计算机操作系统》(第四版、汤子瀛)这本书来对一些考研或者是工作上对计算机操作系统的知识疑难点进行了总结,有需要的朋友可以通过阿婆主总结的文章来进行学习或背记相关的考点,阿婆主希望能够帮助到大家。接下来我会根据每个章节来进行对知识点的总结,每次更新一章的知识点,全文手打,若有错误的地方麻烦大家指出,方便我及时更新错误的地方。好了,废话不多说,切入正题~
目录(检索你需要知道的知识点)
第一章操作系统的基础知识点
1.1.1 试说明操作系统与硬件、其他系统软件以及用户之间的关系。
1.1.2 什么是多道程序技术?在OS中引入该技术,带来了哪些好处?
1.1.3 推动批处理系统和分时系统形成和发展的主要动力是什么?
1.1.4 实现分时系统的关键问题是什么?应该如何解决?
1.1.5 试从交互性\及时性以及可靠性三个方面,比较分时系统与实时系统。
1.2.1 操作系统具有哪几大特征?它们之间有何关系?
1.3.1 试比较分层式结构与模块式结构的异同。
1.3.2 微内核结构具有哪些优点?为什么?
第一章操作系统的基础知识点
1.1 OS的引入和发展过程中的典型问题分析
1.1.1 试说明操作系统与硬件、其他系统软件以及用户之间的关系。
答:操作系统是覆盖在硬件上的第一层软件,它管理计算机的硬件和软件资源,并向用户提供良好的界面。操作系统与硬件紧密相关,它直接管理着硬件资源,为用户完成所有与硬件相关的操作,从而极大地方便了用户对硬件资源的使用并提高了硬件资源的利用率。操作系统是一种特殊的系统软件,其他系统软件运行在操作系统的基础之上,可获得操作系统提供的大量服务,也就是说操作系统是其他系统软件与硬件之间的接口。而一般用户使用计算机除了需要操作系统外,还需要用到大量的其他系统软件和应用软件,以使其工作更方便和高效。可见硬件、操作系统、其他系统软件、应用程序和用户之间存在着如下图所示的层次关系:
1.1.2 什么是多道程序技术?在OS中引入该技术,带来了哪些好处?
答:多道程序技术是指在内存中同时存放若干个作业,并使它们共享系统的资源且同时运行的技术。
在OS中引入多道程序技术带来了以下好处:
(1)提高CPU的利用率。在引入多道程序设计技术后,由于可同时把若干道程序装入内存,并可使它们交替地执行,这样,当正在运行的程序因I/O而暂停执行时,系统可调度另一道程序到CPU执行,从而可保持CPU处于忙状态,使CPU的利用率提高。
(2)可提高内存和I/O设备的利用率。为了能运行较大的作业,通常内存都具有较大的容量,但由于80%以上的作业都属于中、小型作业,因此在单道程序的环境下也必定造成内存的浪费。类似地,系统中所配置的多种类型的I/O设备,在单道程序环境下,也不能充分利用。如果允许在内存中装入多道程序,并允许它们并发执行,则无疑会大大地提高内存和I/O设备的利用率。
(3)增加系统吞吐量。在保持CPU、I/O设备不断忙碌的同时,必然会大幅度地提高系统的吞吐量,从而降低作业加工所需的费用。
1.1.3 推动批处理系统和分时系统形成和发展的主要动力是什么?
答:
(1)推动批处理系统形成和发展的主要动力是“不断提高系统资源利用率”和“提高系统吞吐量”。它们主要表现在:脱机输入/输出技术的应用和作业的自动过渡大大地提高了I/O的速度、I/O设备与CPU并行工作的程度、减少了主机CPU的空闲时间;多道程序设计技术的应用更进一步提高了CPU、内存和I/O设备的利用率和系统的吞吐量。
(2)推动分时系统形成和发展的主要动力则是“为了更好地满足用户的需要”。主要表现在CPU的分时使用缩短了作业的平均周转时间;人机交互能力的提供使用户能方便地直接控制自己的作业;主机的共享,使多个用户(包括远程用户)能同时使用同一台计算机,独立地\互不干扰地处理自己的作业。
1.1.4 实现分时系统的关键问题是什么?应该如何解决?
答:实现分时系统的关键问题是使用户能与自己的作业进行交互,即用户在自己的终端上键入一条命令以请求系统服务后,系统能及时地接收并处理该命令,并在用户能够接受的时延内将结果返回给用户。
及时地接收命令和返回输出结果是比较容易做到的,一般只要在系统中配置一多路卡,并为每个终端配置一个缓冲区用来暂存用户键入的命令和输出的结果便可以了。因此,关键要解决的问题是确保在一较短的时间内,系统中所有的用户程序都能执行一次,从而使用户键入的命令能够得到及时处理。为此,一方面,用户作业提交后应立即进入内存;另一方面,系统应设置一个被称为时间片的很短的时间,并规定每个程序每次最长只能连续运行一个时间片,如果时间片用完,则不管它是否运行完毕,都必须将CPU让给下一个作业。通过作业分时共享CPU,可使所有的作业得到及时的处理,使用户的请求得到及时的响应。
1.1.5 试从交互性\及时性以及可靠性三个方面,比较分时系统与实时系统。
答:
(1)从交互性方面来考虑。交互性问题是分时系统的关键问题,在分时系统中,用户可以通过终端与系统进行广泛的人机交互,如文件编辑、数据处理和资源共享。实时系统也具有交互性,但在实时系统中交互性仅限于访问系统中某些特定的专用服务程序,也就是说它的交互性具有很大的局限性。
(2)从及时性方面来考虑。分时系统的及时性是指用户能在很短的时间内获得系统的响应,此时间间隔是以人们能接受的等待时间决定的,一般为2~3秒。对实时系统来说,及时性是它的关键问题之一,实时信息系统的及时性要求与分时系统相似,而实时控制系统的及时性要求则是由被控制对象要求的开始截止时间和完成截止时间决定的,一般为秒级、百毫秒级直到毫秒级,甚至更低。
(3)从可靠性方面来考虑。可靠性是实时系统的另一个关键问题,实时系统中的任何差错都可能带来巨大的经济损失,甚至带来无法预料的灾难性后果,所以实时系统往往采取多级容错措施来保证系统的高度可靠。分时系统虽然也要求可靠,但比实时系统的要求更低。
1.2 OS的基本特征和功能中的典型问题分析
1.2.1 操作系统具有哪几大特征?它们之间有何关系?
答:操作系统的特征有并发性、资源共享性、虚拟性和异步性。它们的关系如下:
(1)并发性和资源共享性是操作系统最基本的特征。为了提高计算机资源的利用率,OS必然要采用多道程序设计技术,使多个程序共享系统的资源,并发地执行。
(2)并发性和资源共享性互为存在的条件。一方面,资源的共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必将影响到程序的并发执行,甚至根本无法并发执行。
(3)虚拟性以并发性和资源共享性为前提。为了使并发进程能更方便、更有效地共享资源,操作系统常采用多种虚拟技术在逻辑上增加CPU和设备的数量以及存储器的容量,从而解决众多并发进程对有限的系统资源的争用问题。
(4)异步性是并发性和资源共享性的必然结果。操作系统允许多个并发进程共享资源、相互合作,使得每个进程的运行过程受到其他进程的制约,不再“一气呵成”,这必然导致异步性特征的产生。
1.3 分层式和微内核结构中的典型问题分析
1.3.1 试比较分层式结构与模块式结构的异同。
答:分层式结构与模块式结构一样具有模块化的特征。分层式结构也要将复杂的操作系统按其功能分成若干个比较简单、相对独立的模块;为了使模块之间能够交互,它也必须规定模块之间的接口。因此,分层式结构具有模块式结构的优点。
分层式结构与模块式结构的主要区别在于,分层式结构中各模块之间是有序的。分层式结构将各个功能模块按他们的功能流图的调用次序安排成若干层,各层之间的模块不能像模块式结构那样通过接口毫无规则地相互依赖、互相调用,而只能是单向依赖或单向调用,即每层中的模块只能使用较低层模块提供的功能和服务。因此,分层式结构中,模块之间的组织结构和依赖关系更加清晰,这不仅增加了系统的可读性和可适应性,同时还可使每一层建立在可靠的基础上,从而提高系统的可靠性。
1.3.2 微内核结构具有哪些优点?为什么?
答:微内核结构的优点如下:
(1)提高了系统的可扩展性。在微内核结构中,OS的大部分功能,都是由相对独立的服务器来实现的,用户可以根据需要,选配其中的部分或全部服务器;还可以随着计算机硬件和OS技术的发展,相应的更新若干服务器或增加一些新的服务器。
(2)增强了OS的可靠性。由于所有的服务器都是运行在用户态,它们不能直接访问硬件,因此,当某个服务器出现错误时,通常只会影响到它自己,而不会引起内核和其他服务器的损坏和崩溃。
(3)可移植性更好。在微内核的OS中,所有与特定CPU和I/O设备硬件相关的代码,均放在内核和内核下的硬件隐藏层中,而操作系统其他绝大部分(即各种服务器)均与硬件平台无关,因而,把操作系统移植到另一硬件平台上所需作的改动比较小。
(4)适用于分布式系统。对用户进程(即客户)而言,如果他通过消息传递与服务器通信,那么他只需发送一个请求,然后等待服务器发来的响应,而根本无需知道这条消息是在本地机就地处理还是通过网络送给远地机上的服务器处理。