第一章操作系统概论1.什么是操作系统?请说明操作系统在计算机系统中的作用和地位。操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合:它们能够有效地组织和管理计算机中的硬件和软件资源,合理地控制计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。2.操作系统管理计算机系统的哪些资源?硬件和软件资源。3.请从资源管理角度说明操作系统的主要功能。进程管理(处理器管理)、存储管理、文件管理、作业管理、设备管理4.操作系统有哪些基本特征?并发性:计算机系统中同时存在若干个正在运行着的程序;共享性:操作系统程序和多个用户程序共享系统中的各种资源随机性:操作系统的运行是在一种随机的环境下进行的5.比较Windows、UNIX、Linux操作系统的体系结构,有什么异同?Windows体系结构是分成的模块系统,主要层次有硬件抽象层HAL、内核、执行体和大量的子系统集合;UNIX操作系统的系统架构图,其最里层是硬件,作为整个系统的基础;其次是操作系统内核,包括进程管理、存储器管理、设备管理和文件管理四个资源管理功能;往外一层是系统调用接口,及操作系统与用户的接口shell以及编译程序等;最外层是应用程序Linux系统有四个主要部分,及内核、shell、文件系统和用户程序。6.Android操作系统有什么特点?Android操作系统分为四层,从高层到低层分别是应用程序层、应用框架层、系统运行库层和Linux内核层。以Linux为核心的手机操作平台,是一款开放式操作系统7.手机操作系统通常提供哪些功能?8.请叙述各种类型操作系统的工作方式及特点。一般把操作系统分为三种基本类型,即批处理操作系统、分时系统和实时系统(1)批处理操作系统批处理操作系统分为简单批处理系统和多道批处理系统两种类型。用户将作业交给系统操作员,系统操作员在收到作业后并不立即将作业输入计算机,而是在收到一定数量的作业后,组成一批作业,再把这批作业输入到计算机中。这批作业可在系统中形成一个连续的、自动转接的作业流。系统操作员然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将执行完毕的作业结果交给用户。批处理操作系统的特点是成批处理。(2)分时系统分时操作系统是为了弥补批处理系统不能提供交互式快速服务的缺点而发展起来的。一台计算机主机连接了若干个终端,每个终端可由一个用户使用。用户通过终端交互式的向系统提出命令请求,系统接受用户的命令后,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据系统送回的处理结果发出下一道交互指令。分时操作系统具有多路性、交互性、独占性和及时性的特点(3)实时系统使计算机能在规定的时间内,及时响应外部事件的请求,同事完成对该事件的处理,并能控制所有实时设备和实时任务协调一致地工作的操作系统。目标是,在严格的时间范围内,对外部请求做出反应,系统具有高度可靠性。实时系统主要有两类:硬实时系统、软实时系统(4)嵌入式操作系统嵌入式操作系统就是运行在嵌入式芯片环境中,对整个芯片以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。嵌入式操作系统具有高可靠性、实时性、占有资源少、智能化能源管理、易于连接、低成本等优点。(5)个人计算机操作系统个人计算机操作系统是一种单用户多任务的操作系统。其主要特点是:为单个用户服务;采用图形界面人机交互的工作方式,界面友好;使用方便,用户无须具备专门知识,也能熟练地操作系统。(6)网络操作系统为计算机网络配置的操作系统成为网络操作系统。网络操作系统是基于计算机网络的、在各种计算机操作系统之上按照网络体系结构协议标准设计开发的软件,包括网络管理、通信、安全、资源共享和各种网络应用。计算机网络有:集中式模式、分布式模式(7)分布式操作系统分布式操作系统是网络操作系统的更高级形式,除了有网络操作系统的功能之外,期特征是,系统中所有主机使用同一个操作系统、资源深度共享、透明性和自治性。9.请比较批处理系统、分时系统以及实时系统之间的相同点和不同点。相同点:这三类操作系统均为现代计算机系统中普遍使用的操作系统,操作系统本身以及它所管理的对象都是并发的系统,是一个极其复杂和庞大的软件系统。不同点:批处理操作系统的特点是成批处理,用户不能干预自己作业的远行;分时系统的特点是多路性、交互性、独占性和及时性;实时操作系统的特点是能在严格的时间范围内对外部请求做出反应,以及具有高度可靠性。10.请描述分时系统下响应时间的含义。、分时系统中,通常把用户从终端发出命令到系统给予回答所经历的时间定义为响应时间。11.在什么情况下应该采用批处理方式?在什么情况下应该考虑分时系统策略?批处理系统适用于追求系统资源利用率高、作业吞吐率高的计算机系统。分时系统适用于需要提供交互式快速服务的计算机系统。12.现代的通用操作系统把批处理方式和分时方式二者结合起来,为什么要这样做?这样的结合有什么特点?这样的操作系统结合了批处理和分时两种系统的特点,该系统把处理终端用户的、交互式的、比较小的但需要及时处理的作业作为“前台作业”予以优先处理;把需要较长运行时间、要调用其他外部设备、比较大型但无须终端用户干预的且不需要立即处理的作业作为“后台作业”进行批处理。这样,使整个计算机系统忙闲结合,能更有效地利用计算机系统的资源。13.实时操作系统有什么主要特征?在严格的时间范围内,对外部请求做出反应,系统具有高度可靠性。14.在如下的应用场合中,应该选用什么类型的操作系统呢?并请说明为什么。导弹控制;实时操作系统国家统计局软件;通用的分时/批处理操作系统汽车发动机点火控制;实时操作系统火车订票系统;网络操作系统互联网电子游戏。网络操作系统15.请说明什么是SPOOLing技术?在现代操作系统中有没有使用SPOOLing技术?SPOOLing技术的全称是“同时的外部设备联机操作”。该技术是用磁盘设备作为主机的直接输入输出设备,主机直接从磁盘上选取作业远行,作业的执行结果业存在磁盘上,通道负责将用户作业从外设动态写入磁盘,并使这一操作与主机并行。从而大大提高了处理器和各种外部设备的利用效率。由于SPOOLing技术需要通道技术,所以一般用于大型计算机系统和那些对I/O处理能力要求比较严格的系统中,一般低档微型计算机中,不使用此技术。16.网络操作系统和分布式操作系统都是配置在计算机网络上的操作系统,它们之间有什么本质上的不同?网络操作系统是基于计算机网络的,是在各种计算机操作系统之上按网络体系结构协议标准设计开发的软件,它包括网络管理、通信、安全、资源共享和各种网络应用。分布式操作系统是网络操作系统的更高级形式,除了有网络操作系统的功能之外,其特征是系统中所有主机使用同一个操作系统、资源的深度共享、透明性和自治性。17.操作系统设计的过程包括哪些方面,在每个方面都要考虑什么问题?操作系统的设计过程包括功能设计、算法设计和结构设计。在每个方面均应考虑使操作系统具有可靠性、高效性、易维护性、易移植性、安全性及简明性等问题18.操作系统的设计目标是什么?目标有三条:系统模块化、模块标准化、通信规范化;19.影响操作系统正确性的因素有哪些?影响操作系统正确性的因素包括操作系统的功能成分多、各种外部设备的接口复杂、参与开发的人员较多20.在进行操作系统结构设计时应考虑哪些问题?应考虑组成操作系统的各部分的划分原则以及它们之间的关系(即通信),简言之,即操作系统的构成法和组合方法。21.请说明整体式结构、层次式结构和微内核结构的基本思想及优缺点?整体式结构(模块组合法)的基本思想是首先确定操作系统的总体功能,然后将总功能分解为若干子功能,实现每个子功能的程序称为模块,再通过接口将所有模块连接起来形成一个操作系统的整体。优点:结构紧密、接口简单直接、系统效率较高。缺点:模块间转接随便,各模块相互牵连,独立性差,系统结构不清晰;数据基本上作为全程量处理,模块的修改和维护较困难;由于模块组合常以大型表格为中心,限制了系统的并发性。层次式结构的基本思想是为克服模块结构的缺点、减少各模块之间无规则的互相调用、相互依赖关系,力求将模块间的调用的无序性变为有序性,将操作系统的所有功能模块按功能流图的调用次序,将模块分成若干层,各层之间的模块只能是单向依赖或单向调用关系。优点:既具有模块法把整体问题分解成局部化的优点,使各模块自己的组织结构和依赖关系清晰明了,增加了系统的可读性和可适应性,增加了系统的可靠性,易于调式、易于修改、易于扩充、易于维护等。微内核(客户/服务器)结构适宜于应用在网络环境下分布式处理的计算环境中。优点:将系统的分成若干个小的并且自包含的服务进程分支,每个分支运行在独立的用户进程中,相互之间通过规范一致的方式接收发送消息而联系起来。优点:可靠]灵活、适宜于分布式处理的计算环境。缺点:效率较低。第二章操作系统运行环境1.请简述处理器的组成和工作原理。你认为哪些部分和操作系统密切相关,为什么?处理器一般由运算器、控制器、一系列的寄存器以及高速缓存构成。其中,运算器实现指令中的算术和逻辑运算,是计算机的核心。控制器负责控制程序运行的流程,寄存器是一种暂时存储器件,用于CPU执行指令的过程中暂存数据、地址以及指令信。CPU本身提供了一定的存储能力,但容量很小。处理器中的运算器、控制器、寄存器都与操作系统密切相关。操作系统就是通过对处理器中的这些部件来实现程序的运算和程序流程的控制的。2.为了支持操作系统,现代处理器一般都提供哪两种工作状态,以隔离操作系统和普通程序?两种状态各有什么特点?现代处理器一般都提供管态和目态等两种工作状态。用户程序在目态下运行,只能使用非特权指令,具有较低的特权级别;操作系统在管态下运行,可以使用特权指令和非特权指令,具有较高的特权级别。3.计算机系统中既有操作系统程序,又有用户程序,在什么情况下操作系统才能占用中央处理器?当用户程序占用CPU时,CPU在目态下运行,只能使用非特权指令;当需要使用特权指令时,将引起一次处理器状态的切换,此时处理器通过中断机制,将目态转换为管态,然后将处理权移交给操作系统中的一段代码,操作系统才能占用CPU。从目态变为管态其转换的惟一途径是通过中断。4.为什么要把‘启动I/O’等指令定义为特权指令?因为如果允许用户随便使用这些指令,就有可能是系统陷入混乱。5.怎样限制用户程序中使用特权指令?当用户程序占用CPU时,CPU在目态下运行,只能使用非特权指令;若此刻CPU取到了一条特权指令,形成“非法操作”事件,CPU就拒绝执行该指令。中断机制识别到该事件,运行状态就从目态变为管态,将控制权转给操作系统,通过操作系统通知用户修改。6.什么是分级的存储体系结构?它主要解决了什么问题?计算机存储系统的设计主要考虑容量、速度和成本三个问题。容量是存储系统的基础,都希望配置尽可能大的存储系统;同时要求存储系统的读写速度能与处理器的速度相匹配;此外成本也应该在一个合适的范围之内。但这三个目标不可能同时达到最优。一般情况下,存储设备读写速度越快,平均单位容量的价格越高,存储容量越小;反之,存储设备读写速度越慢,平均单位容量的价格越低,存储容量越大。为了在这三者之间取得平衡,就采用分级的存储体系结构,由寄存器、高速缓存、主内存、硬盘存储器、磁带机和光盘存储器等构成。操作系统经常访问较小、较贵而快速的存储设备,以较大、较便宜而读写速度较慢的存储设备作后盾。在整体上通过对访问频率的控制来提高存储系统的效能。7.请简述程序局部性原理。是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。8.什么是存储保护,有哪些方法实现存储保护?存储在内存中的用户程序和操作系统以及他们的数据,有可能受到正在CPU上运行的某系用户程序的有意或无意的破坏,这会造成十分严重的后果。一定有程序向操作系统写入了数据,将有可能造成系统奔溃。对内