第一章 操作系统引论(笔记+课后答案)
·计算机系统组成:计算机硬件和计算机软件。
·计算机硬件通常是由中央处理机(运算器和控制器)、存储器、输入设备和输出设备等部件组成。
·计算机软件包括系统软件和应用软件。
系统软件如操作系统、多种语言处理程序(汇编和编译程序等)、连接装配程序、系统实用程序、多种工具软件等;-应用软件为多种应用目的而编制的程序,如办公软件,社交软件等。
·没有任何软件支持的计算机称为裸机
裸机-----操作系统----编译软件----各种应用软件
1.1.1 操作系统的目标
定义:操作系统(os)是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。
目标:
方便性
通过OS命令操纵计算机,方便用户
有效性
提高系统资源的利用率
提高系统吞吐量
可扩充性
OS必须具有很好的可扩充性
与OS的结构有紧密的联系
开放性
遵循世界标准规范。特别是开放系统互连OSI
1.1.2 操作系统的作用
用户与计算机硬件系统之间的接口
命令方式(UNIX、DOS命令);
系统调用方式(API) ;
GUI方式(Windows、LINUX)
计算机系统资源的管理者
处理机管理、存储器管理、I/O设备管理、文件管理。
实现对计算机资源的抽象
裸机:无软件的计算机系统。
虚拟机:覆盖了软件的机器,向用户提供一个对硬件操作的抽象模型。
1.1.3 推动OS发展的主要动力
1.不断提高计算机资源利用率
2.方便用户
3.器件的不断更新换代
4.计算机体系结构的不断发展
5.不断提出的新的应用需求
1.2 操作系统的发展过程
一:单道批处理系统
处理过程:
作业一个接一个地连续处理;
旨在提高系统资源利用率和系统吞吐量
缺点:
系统资源得不到充分的利用。
二:多道批处理系统
多道程序设计的概念
提高资源利用率和吞吐量,多道程序的运行情况
多道批处理系统的优缺点:
资源利用率高,系统吞吐量大,平均周转时间长,无交互能力
三:分时系统
1.分时系统的引入
用户需要表现在以下几个方面
人机交互(批处理系统做不到)
大享主机(感觉独占)
定义
分时系统:在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可通过自己的终端以交互方式使用计算机
2.分时系统实现中的关键问题
最关键的问题是如何使用户能与自己的作业进行交互
及时接收(多路卡、命令缓冲区)
及时处理
作业直接进入内存,采用轮转运行方式
3.分时系统的特征
多路性:允许将多台终端同时连接到一台主机,并分时使用。
独立性:感觉用户独占主机。
及时性:用户的请求能在很短时间内获得响应(1~3秒)
交互性:用户可通过终端与系统进行广泛的人机对话。
四:实时系统
1.实时系统:系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
最主要的特征:实时性
2.实时系统类型:
工业(武器)控制系统,多媒体系统,信息查询系统,嵌入式系统
实时任务的类型
根据任务执行时是否呈现周期性来划分
周期性实时任务、非周期性实时任务
根据对截止时间的要求来划分
硬实时任务、软实时任务
3.实时系统与分时系统的比较
多路性,独立性,及时性,交互性,可靠性
网络操作系统
网络OS的概念:
在计算机网络环境下对网络资源进行管理和控制,实现数据通信及对网络资源的共享,为用户提供与网络资源接口的一组软件和规程的集合
UNIX、Linux、Window NT/2000/Server
网络OS的特征:
硬件独立—接口一致性—资源透明性—系统可靠性----执行并行性
网络OS的功能:
数据通信、应用互操作、网络管理
分布式系统
1.定义:基于软件实现的一种多处理机系统,是多个处理机通过通信线路互连而构成的松耦合系统。
特征:分布性、透明性、同一性、全局性。
2.分布式OS
定义:配置在分布式系统上的公用OS。
例子:万维网、鸿蒙OS。
3.分布式OS的功能
单处理机OS的主要功能;
网络OS所拥有的全部功能;
还包括:通信管理功能、资源管理功能、进程管理功能。
1.3 操作系统的基本特征
一:并发(Concurrence)
并行性:两个或多个事件在同一时刻发生
并发性:两个或多个事件在同一时间间隔内发生
引入进程(任务):动态、并发
二:共享(Sharing)
系统中的资源可供内存中多个并发执行的进程共同使用
互斥共享方式(临界资源)
同时访问方式
三:虚拟(Virtual)
时分复用技术:虚拟处理机、虚拟设备 --提高了时间的利用率
空分复用技术:虚拟存储 --提高了空间的利用率
四:异步(Asynchronism)
进程的异步性:进程是以人们不可预知的速度向前推进的
1.4操作系统的运行环境
1.4.1 硬件支持
引导程序:位于固件
定位OS内核并将其加载到内存中。
指令:CPU执行
事件:硬件中断或软件中断引起
执行程序:位于内存
程序:位于外存
1.4.2 操作系统内核
常驻内存,通常与硬件紧密相关
支撑功能
中断处理,时钟管理,原语操作
由若干条指令组成,用于完成一定功能。
原子操作:要么不做,要么全做,不可分割。
资源管理功能
进程管理、存储器管理、设备管理
1.4.3处理机的双重工作模式
特权指令:在内核态下运行的指令
不仅能访问用户空间,还能访问系统空间。
如启动外部设备、设置系统时钟、管中断、切换执行状态、I/O指令。
非特权指令:在用户态下运行的指令
应用程序所使用的都是非特权指令。
防止应用程序的运行异常对系统造成破坏。
仅能访问用户空间。
1.5 操作系统的主要功能
一:处理机管理功能
1.进程控制
创建进程、撤消(终止),进程、状态,转换
2.进程同步
信号量机制
3.进程通信
直接通信,间接通信
4.调度
作业调度,进程调度
二:存储器管理功能
1.内存分配和回收
内存分配
2.内存保护
确保每个用户程序仅在自己的内存空间运行绝不允许用户程序访问操作系统的程序和数据
3.地址映射
逻辑地址转换为物理地址
4.内存扩充(虚拟存储技术)
请求调入功能置换功能
三:设备管理功能
主要任务:(1)完成IO请求;(⑵)提高CPU和IO设备的利用率。
功能:(1)缓冲管理·缓冲区机制(2)设备分配(3)设配处理
四:文件管理功能
(1)文件存储空间的管理
(2)目录管理
(3)文件的读/写管理和保护
(4)文件的共享与保护
五:操作系统与用户之间的接口
用户接口
联机用户接口>>>命令行方式CLl。
脱机用户接口>>>>>批处理系统:作业说明书(作业控制语言JCL)。
图像用户接口GUI
程序接口
系统调用:能完成特定功能的子程序。
六:现代操作系统的新功能
1.系统安全
Eg:认证技术、密码技术、访问控制技术、反病毒技术。
2.网络功能和服务
Eg:网络通信、资源管理、应用互操作。
3.支持多媒体
Eg:接纳控制技术、实时调度、多媒体文件的存储。
1.6 操作系统结构设计
一:简单结构
OS是无结构的,是为数众多的一组过程的集合,内部复杂、混乱的,也称整体系统结构
例子:MS-DOS,早期的UNIX
二:模块化结构
将OS按功能划分成若干个模块,并规定好各模块间的接口,称为“模块-接口法”
优点:
(1)提高OS设计的正确性、可理解性和易维护性
(2)增强OS的可适应性
(3)加速OS的开发过程
大部分现代OS采用可加载的内核模块来设计
内核有一组核心组件,提供核心服务
其他服务可在内核运行时动态实现(动态链接)
每个组件在需要时被加载到内核
例子: Linux、Mac OS x、Solaris以及Windows
三:分层式结构
操作系统划分为若干层,在低层上构建高层。
高层仅依赖于紧邻它的底层。
底层(0层)为硬件;最高层(N层)为用户层。
优点:
易保证系统的准确性。
可保证系统的易维护性和可扩充性。
缺点:
系统效率低。
例子:THE、Multics
四:微内核OS结构
基本概念
1.足够小的内核
2.应用“机制与策略分离”原理
3.基于客户/服务器模式
4.采用面向对象技术
基本功能
进程管理、低级存储器管理、中断和陷入处理
实例: Mach Os, Windows 2000/XP
五:微内核系统的优点和存在问题
微内核系统优点:
(1)提高了系统的可扩展性
(2)增强了系统的可靠性
(3)可移植性强
(4)提供了对分布式系统的支持
(5)鬲虫入了面向对象技术
微内核系统存在的问题:
运行效率有所降低
主要原因:在完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模型与上下文的多次切换
六:外核结构
基本思想:内核不提供传统OS中的进程、虚拟存储器等抽象,而是专注于物理资源的隔离(保护)与复用。
内核非常小,负责保护系统资源;
.应用程序管理硬件资源。
实例: Aegis系统。
1.7 系统调用
系统调用目的:
使应用程序可以通过它间接调用OS内核中的相关过程,取得相应的服务。
系统调用概念:
应用程序请求OS内核完成某功能时的一种过程调用;
用户与内核的接口。
与一般过程调用的区别:
运行在不同的系统状态,状态的转换,返回问题,嵌套调用
一、简答题
1.在计算机系统上配置OS的目标是什么?作用表现在哪几个方面?
在计算机系统上配置OS,主要目标是实现:方便性、有效性、可扩充性和开放性;
OS的作用主要表现在以下3个方面:
1)OS作为用户与计算机硬件系统之间的接口;
2)OS作为计算机系统资源的管理者;
3)OS实现对计算机资源的抽象。
2.试说明OS与硬件、其他系统软件以及用户之间的关系。
操作系统是覆盖在硬件上的第一层软件,他管理计算机的硬件和软件资源,并向用户提供良好的界面。操作系统与硬件密切相关,它直接管理着硬件资源,为用户完成所有与硬件相关的操作,从而极大地方便了用户对硬件资源的使用并提高了硬件资源的利用率。操作系统是一种特殊的系统软件,其他系统软件运行在操作系统的基础之上,可获得操作系统提供的大量服务,也就是说操作系统是其他系统软件与硬件之间的接口。而一般用户使用计算机除了需要操作系统支持以外,还需要用到大量的其他系统软件和应用软件,以使其工作更高效和方便。
3.试说明推动OS发展的主要动力是什么。
1)计算机系统资源的利用率不断提高;
2)方便用户;
3)器件不断更新换代;
4)计算机体系结构不断发展;
5)新的应用需求不断被提出。
4.在OS中,何谓脱机I/O方式和联机I/O方式?
脱机I/O方式是指事先将装有用户程序或数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上,该方式下的I/O操作由外围机控制完成,并且是在脱离主机的情况下进行的,因此叫作脱机I/O方式。联机I/O方式是指程序和数据的I/O都是在主机的直接控制下进行的。
5.试说明推动分时系统形成和发展的主要动力是什么?
1)CPU(central processing unit,中央处理机)的分时使用缩短了作业的平均周转时间;
2)人机交互功能的提供使用户能方便地直接控制自己的作业;
3)主机的共享使多个用户(包括远程用户)能同时使用一台计算机独立地、互不干扰地处理各自的作业。
6.实现分时系统的关键问题是什么?应如何解决?
实现分时系统的关键问题:使用户能与自己的作业进行交互,即用户在自己的终端上输入一条命令以请求系统服务后,系统能及时地接收并处理该命令,并在用户能接受的时延内将结果返回给用户。
解决:及时地接收命令和返回输出结果的实现方式是在系统中配置一个多路卡,并为每个终端配置一个缓冲区以暂存用户输入的命令和输出的结果。因此,关键要解决的问题是确保在较短的时间内系统中所有的用户程序都能执行一次,从而使用户输入的命令能够得到及时响应。为此,一方面,用户作业被提交后应立即进入内存;另一方面,系统应设置一个被称为时间片的很短的时间,并规定每个程序每次最长只能连续运行一个时间片,如果时间片用完,则不管它是否运行完毕,都必须将CPU让给下一个作业。通过使作业分时共享CPU,所有的作业都可以得到及时的处理,用户的请求亦可得到及时的响应。
7.为什么要引入实时系统?
实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对外部事件的处理,并控制所有实时任务协调一致地运行。引入实时系统是为了更好地满足实时控制领域和实时信息处理领域的需要。
8.什么是HRT任务和SRT任务?试举例说明。
1)硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果,如运载火箭的控制等;
2)软实时任务对截止时间的要求并不严格,偶尔错过任务的截止时间,对系统产生的影响也不大,如网页内容的更新、火车售票系统剩余票数的更新等。
9.试从及时性、交互性及可靠性方面对分时系统和实时系统进行比较。
1)从交互性方面来考虑。交互性问题是分时系统的关键问题。在分时系统中,用户可以通过终端与系统进行广泛的人机交互,如文件编辑、数据处理和资源共享等。实时系统也具有交互性,但在实时系统中,交互性仅限于访问系统中某些特定的专用服务程序,也就是说,它的交互性具有很大的局限性;
2)从及时性方面来考虑。分时系统的及时性是指用户能在很短的时间间隔内获得系统的响应,这一时间间隔是根据人们能接受的等待时间来确定的,一般为2~3s。对实时系统来说,及时性是它的关键问题之一,实时信息系统的及时性要求与分时系统相似,而实时控制系统的及时性要求则是由被控制对象所要求的开始截止时间和完成截止时间决定的,一般为秒级、百毫秒级、毫秒级,甚至更低;
3)从可靠性方面来考虑。可靠性是实时系统的另一个关键问题,实时系统中的任何差错都可能带来巨大的经济损失,甚至导致无法预料的灾难性后果,因此实时系统往往采取多级容错措施来保证系统高度可靠。分时系统虽然也要求可靠,但比实时系统的要求要低。
10.微机OS按运行方式来分,可以分为哪几类?举例说明。
1)单用户单任务OS:只允许一个用户上机(使用计算机),且只允许用户程序作为一个任务运行,主要配置在8位和16位微机上。最具代表性的单用户单任务OS是CP/M(8位)和MSDOS(16位);
2)单用户多任务OS:只允许一个用户上机,但允许用户把程序分为若干个任务并发执行,从而有效地改善了系统性能。最具代表性的单用户多任务OS是由微软公司推出的Windows系列,如Windows 3.1、Windows 95、Windows 98等;
3)多用户多任务OS:允许多个用户通过各自的终端使用一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为若干个任务并发执行,从而可以进一步提高资源利用率和系统吞吐量。最具代表性的多用户多任务OS是UNIX系统,各种类UNIX系统(如Solaris、Linux系统等)以及Windows NT/Server系列的系统。
11.OS具有哪几大特征?它们之间有何关系?
并发、共享、虚拟和异步这4个基本特征;
1)并发和共享是OS最基本的特征。为了提高计算机资源的利用率,OS必然要采用多道程序设计技术,使多个程序共享系统的资源、并发地执行;
2)并发性和共享性互为存在的条件。一方面,资源的共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,就不会存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理,协调好各进程对共享资源的访问,则必将影响程序的并发执行,甚至会使程序无法并发执行;
3)虚拟性以并发性和共享性为前提。为了使并发进程能更方便、更有效地共享资源,OS常采用多种虚拟技术在逻辑上增加CPU和设备的数量以及存储器的容量,从而解决并发进程对有限系统资源的共享问题;
4)异步性是并发性和共享性的必然结果。OS允许多个并发进程共享资源、相互合作,使得每个进程的运行过程受到了其他进程的制约,不再“一气呵成”,这必然会导致异步这一特征的产生。
12.是什么原因使OS具有异步特征?
在多道程序环境下,允许多个进程并发执行。但由于资源等因素的限制,进程的执行通常并非“一气呵成”,而是以“走走停停”的方式进行。内存中的每个进程在何时执行、何时暂停、以怎样的速度向前推进,都是不可预知的。故而作业完成的先后次序与进入内存的先后次序并不完全一致,亦即进程是以异步方式运行的。但在有关进程控制及同步机制等的支持下,只要运行环境相同,作业经多次运行都会获得完全相同的结果,因而异步方式是允许的。因此,OS具有异步特征。
13.何谓OS内核?OS内核的主要功能是什么?
在现代OS理论中,一般将OS划分为若干层次,再将OS的不同功能分别设置在不同层次中。通常将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理模块、进程调度模块和公用基本操作模块等)都安排在紧靠硬件的软件层次中,让它们常驻内存,进而形成了所谓的OS内核。
OS内核的主要功能有:①支撑功能,包括中断处理、时钟管理和原语操作等;②资源管理功能,包括进程管理、存储器管理、设备管理等。
14.何谓原语?何谓原子操作?
原语:是指由若干条指令组成的,用于完成一定功能的一个过程;
原子操作:是指一个操作中的所有动作要么全做,要么全不做,换言之,它是一个不可分割的基本单位。因此,原语在执行过程中是不允许被中断的。原子操作在内核态下执行,常驻内存。
15.简要描述处理机的双重工作模式。
一般地,处理机至少需要两种单独运行模式:用户态和内核态。
1)用户态也称为目态,计算机硬件可以通过一个模式位为1来表示它。当计算机系统执行用户程序时,系统处于用户态;
2)内核态也称为管态或系统态,计算机硬件可以通过一个模式位为0来表示它。每当OS能够控制计算机时,它就处于内核态。例如,当用户程序通过系统调用请求OS服务时,系统必
须从用户态切换到内核态,以响应请求。
16.简述中断处理过程。
一旦CPU响应中断,系统就会开始进行中断处理。中断处理过程主要包括以下3步。
1)保护被中断进程的现场。为了在中断处理结束后能使进程正确地返回中断点,系统必须保存当前处理机状态字和程序计数器的值;
2)分析中断原因,转去执行相应的中断处理程序。在多个中断请求同时发生时,处理优先级最高的中断源所发出的中断请求;
3)恢复被中断进程的现场,CPU继续执行被中断的原进程。
17.处理机管理有哪些主要功能?它们的主要任务是什么?
处理机管理的主要功能有进程管理、进程同步、进程通信和处理机调度。各部分的主要任务为:
1)进程管理,为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换;
2)进程同步,协调多个进程(含线程)的运行;
3)进程通信,实现在相互合作的进程之间进行信息交换;
4)处理机调度,包括作业调度和进程调度。作业调度是按照一定的算法从后备队列里选出若干个作业,为它们分配运行所需的资源;进程调度是按照一定的算法从进程的就绪队列中选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。
18.存储器管理有哪些主要功能?它们的主要任务是什么?
内存管理的主要功能有内存分配、内存保护、地址映射和内存扩充。各部分的主要任务为:
1)内存分配,为每道程序分配内存;
2)内存保护,确保每道程序仅在自己的内存空间运行,彼此互不干扰;
3)地址映射,将地址空间的逻辑地址转换为内存空间对应的物理地址;
4)内存扩充,即从逻辑上扩充内存,实现请求调入功能和置换功能等。
19.设备管理有哪些主要功能?它们的主要任务是什么?
设备管理的主要功能包括缓冲管理、设备分配、设备处理以及设备虚拟等。各部分的主要任务为:
1)完成用户提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作;
2)提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
20.文件管理有哪些主要功能?它们的主要任务是什么?
文件管理的主要功能有:文件存储空间的管理、目录管理、文件的读/写管理和保护。其主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件安全。
21.现代OS的新功能有哪些?
现代OS是在传统OS的基础上发展而来的,它除了具有传统OS的功能外,还具有保障系统安全、支持用户通过联网获取服务和可处理多媒体信息等功能。
22.什么是微内核OS?它具有哪些优点?
微内核OS具有如下4个特征:①足够小的内核;②基于客户/服务器模式;③应用策略与机制分离原则;④采用面向对象技术。
微内核OS的主要优点包括:①提高了系统的可扩展性;②增强了系统的可靠性和可移植性;③提供了对分布式系统的支持;④融入了面向对象技术。
23.外核OS的基本思想是什么?
外核OS的基本思想是:内核不提供传统OS中的进程、虚拟存储等抽象事物,而是专注于物理资源的隔离(保护)与复用。具体来说,在基于外核结构的OS中,内核负责保护系统资源,而硬件资源的管理职责则委托给了应用程序,这样,OS就可以做到在保证资源安全的前提下,减少对应用程序的限制,充分满足应用程序对硬件资源的不同需求。
24.什么是系统调用?系统调用与一般用户程序和库函数有何区别?
系统调用是OS提供给程序员的唯一接口。程序员利用系统调用,在源程序层面动态请求和释放系统资源,并调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个“黑箱子”,对用户屏蔽了OS的具体动作而只提供有关的功能。
系统调用与一般用户程序、库函数的区别在于:
1)系统调用(程序)在内核态执行,调用它们时需要一个类似于硬件中断处理机制的中断处理机制来提供系统服务;
2)普通的用户程序是直接为用户完成某特定功能而设计的,它们一般在用户态执行;
3)库函数是把函数放到库里供别人使用的一种方式,是面向应用开发、方便人们编程的。
二、计算题
25.设有3道程序A、B、C,它们按照优先次序(A->B->C)顺序执行,它们的计算时间和I/O操作时间如表1-1所示,假设3道程序以串行方式使用相同的设备进行I/O操作,试画出单道程序运行和多道程序运行的时间关系图,并计算完成这3道程序所须花费的时间。
26.(考研真题)一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下。
P1:计算 60ms, I/O操作 80ms, 计算 20ms。
P2: 计算 120ms, I/O操作 40ms,计算 40ms。
不考虑调度和切换时间,请就算完成两个作业需要的最少时间。
三、综合应用题
27.OS的概念、特征和功能是什么?
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件;
操作系统的特征(并发、共享、虚拟、异步);
操作系统的功能:
1)作为用户与计算机硬件系统之间的接口;
2)作为计算机系统资源的管理者;
3)实现对计算机资源的抽象。
28.
(1)叙述该计算问题中处理机、输入机和打印机是如何协同工作的。
输入机读取数据后,处理机对该数据进行计算处理,经过处理后的数据最后在打印机上输出,如此反复。
(2)计算在图1-14所示的执行情况下处理机的利用率。
40/320=1/8=0.125=12.5%
(3)简述处理机利用率不高的原因。
处理机、输入机和打印机之间未并行工作,系统中的资源得不到充分利用。
(4)请画出能提高处理机利用率的执行方案。
版权归原作者 -追梦的猪猪- 所有, 如有侵权,请联系我们删除。