1、什么是多道程序设计技术?在OS引入该技术,带来了哪些好处?
答:多道程序设计技术是指在内存中同时存放若干个作业,并让它们同时运行,且共享系统中的资源的技术。
在OS中引入多道程序设计技术带来了以下好处:
(1)提高CPU的利用率。在引入多道程序设计技术之后,由于同时可把多道程序装入内存,并可使它们交替执行,这样,当正在运行的程序因I/O而暂停执行时,系统可调度另一道程序到CPU执行,从而可保持CPU处于忙状态,使CPU的利用率提高。
(2)可提高内存和I/O设备的利用率。为了能运行较大的作业,通常内存都具有较大的容量,但由于80%以上的作业都属于中、小型作业,因此在单道环境下也必定造成内存的浪费。类似的,系统中所配置的多种类型的I/O设备,在单道程序环境下,也不能充分利用。如果允许在内存中装入多道程序,并允许它们并发执行,则无疑会大大提高内存和I/O设备的利用率。
(3)增加系统吞吐量。在保持CPU、I/O设备不断忙碌的同时,必然会大幅度提高系统的吞吐量,从而降低作业加工所需的费用。
2、操作系统具有哪几大特征?它们之间有何关系?
答:操作系统的特征有并发、共享、虚拟和异步4个基本特征。它们的关系如下:
(1)并发和共享是操作系统最基本的特征。为了提高计算机资源的利用率,OS系统必然要采用多道程序设计技术,使多个程序共享系统中的资源,并发的执行。
(2)并发和共享互为存在的条件。一方面,资源的共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效地管理,协调好诸进程对共享资源的访问,也必将影响到程序的并发执行,甚至根本无法并发执行。
(3)虚拟性以并发性和资源共享性为前提。为了使并发进程能更方便地共享资源,操作系统常采用多种虚拟技术在逻辑上增加CPU和设备的数量以及存储器的容量,从而解决众多并发进程对有限的系统资源的争用问题。
(4)异步性是并发性和资源共享性的必然结果。操作系统允许多个并发进程共享资源、相互合作,使得每个进程的运行过程受到其他进程的制约,不再“一气呵成”,这必然导致异步性特征的产生。
3、一个分层结构的操作系统由裸机、用户、CPU调度、文件管理、作业管理、内存管理、设备管理、命令管理等部分组成。试按层次结构的原则从内到外将各部分重新排列。
答:采用层次结构方法可以将操作系统的各种功能分成不同的层次,即将整个操作系统看成是由若干层组成,每一层都提供一组功能,这些功能仅依赖于该层以内的各层次,最内层部分是机器硬件本身提供的各种功能。操作系统的这种层次结构如下图所示。图中,同机器硬件紧挨着的是操作系统的内核,它是操作系统的最内层。内核包括中断处理、设备驱动、CPU调度以及进程控制和通信等功能,其目的是提供一种进程可以存在和活动的环境。内核以外各层次依次是存储器管理、I/O管理层、文件管理层、作业管理层、命令管理层。它们提供各种资源管理功能并为用户提供各种服务。命令管理层是操作系统提供给用户的接口层,因而在系统的最外层。从描述可以看出,按层次结构原则从内到外依次为:裸机、CPU调度、内存管理、设备管理、文件管理、作业管理、命令管理、用户。
4、对于一个正确运转的计算机系统,保护操作系统是很重要的。但为了向用户提供更大的灵活性,应尽可能少地对用户加以限制。下面列出的各操作通常是加以保护的。试问至少有那几条指令需加以保护?
(1)切换到用户模式
(2)切换到内核模式
(3)从存放操作系统的存储区上读取数据
(4)将数据写到操作系统的数据区
(5)从存储操作系统的代码区中取指令
(6)打开时钟中断
(7)关闭时钟中断
答:至少第(2)和第(4)操作应当加以保护。因为这两条操作是对操作系统本身的内容进行修改,如果交由用户任意操作,会对系统产生破坏,最终可能导致运行出错甚至系统瘫痪,所以应在任何时刻都加以保护。其他几种操作在一般情况下也应当保护,但至少不会像以上两种操作那样若不保护可能会对系统产生极大的破坏性,而本题问的是在最少保护的情况下,因此不做选择。