考研内容及操作系统引论
一、考研考查目标及大纲
二、操作系统引论
1.操作系统(operatingsystem,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理硬件设备,提高它们的利用率和系统吞吐量,并为用户和应用程序提供一个简单的接口,以便于用户和应用程序使用硬件设备。
2.OS是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
3.操作系统关心的问题:①管理计算机裸机;②设计、提供用户程序与硬件系统的界面;③管理计算机系统资源。操作系统管理文件,是指操作系统关心计算机中的文件的逻辑结构、物理结构、文件内部结构、多文件之间如何组织的问题,而不是关心文件的具体内容。
系统开机后操作系统的程序会被自动加载到内存中的系统区,RAM。
目标
- 方便性
- 有效性
- 可扩充性
- 开放性
思考题
用户使用方便和计算机高效运行是OS的两个主要目标,请思考这两个目标是否存在矛盾?它们在什么时候是矛盾的?在什么时候是不矛盾(一致)的?
作用
- OS作为用户与计算机硬件系统之间的接口
- OS作为计算机系统资源的管理者
- 计算机系统资源:处理机、存储器、I/O设备以及信息(数据和程序)。
计算机资源包括硬件资源和软件资源;
硬件资源:处理机、存储器;
文件不属于硬件资源,但属于计算机资源。
源程序不是操作系统的管理内容,它是一种计算机代码,是用程序设计语言编写的程序,经编译或解释后可形成具有一定功能的可执行文件,是直接面向程序员用户的。
- 处理机管理负责处理机的分配与控制;存储器管理负责内存的分配与回收;I/O设备管理负责I/O设备的分配(回收)与操纵;文件管理负责文件的存取、共享与保护等。
- OS实现了对计算机资源的抽象
- 覆盖了上述软件的I/O设备称为扩充机器或虚机器。它向用户提供了一个可以对硬件进行操作的抽象模型。用户可利用该模型提供的接口使用计算机,而无须了解物理接口的实现细节。
- I/O软件实现了对计算机硬件操作的第一个层次的抽象。
- 文件管理软件实现了对硬件资源操作的第二个层次的抽象。
这里是引用
发展过程
1. 未配置操作系统的计算机系统
- 人工操作方式
缺点:①用户独占全机;②CPU等待人工操作。 - 脱机I/O方式:程序和数据的输入和输出都是在外围机的控制下完成的。(在主机的直接控制下进行I/O的方式,称为联机I/O方式。)
优点:(1)减少了CPU的空闲时间;(2)提高了I/O速度。
2. 单道批处理系统
- 处理过程:首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当该作业处理完成时,又把运行控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。计算机系统自动地、一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成。
- 缺点:系统中的资源得不到充分利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便会处于等待状态,并且必须在该程序I/O完成后才能继续运行。此外,I/O设备的低速性也使CPU的利用率显著降低。
单道程序设计基本特征:顺序性、封闭性。
在单处理机系统中,同一时刻只能有一个进程占用处理机。处理机与设备、处理机与通道(独立于CPU,控制输入输出的设备)、设备与设备可并行。
3. 多道批处理系统
- 处理过程:在该系统中,用户所提交的作业会被先存放在外存上,并排成一个队列,称为“后备队列”。然后由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。由于在内存中同时装有若干道程序,这样便可在运行程序A时,利用其因I/O操作而暂停执行时的CPU空档时间,再调度另一道程序B运行。同样可以利用程序B在I/O操作时的CPU空档时间,再调度程序C运行,进而实现多道程序交替运行。
- 优缺点:①资源利用率高;②系统吞吐量大;③平均周转时间长;④无交互能力。
多道程序设计基本特征:制约性、间断性、共享性。
早期的多道批处理操作系统会将所有进程的数据全部调入贮存,再让多道程序并发执行,即使不支持虚拟存储管理,也能实现“多道程序并发”。
4. 分时系统
- 特征:(1)多路性,是指系统允许将多台终端同时联接到一台主机上,并按分时原则为每个用户服务;(2)独立性,是指系统提供了一种用机环境,即每个用户在各自的终端上进行操作,彼此之间互不干扰;(3)及时性,是指用户的请求能在很短的时间内获得响应;(4)交互性,是指用户可以通过终端与系统进行广泛的人机对话。
5. 实时系统
- 指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
- 类型:(1)工业控制系统;(2)信息查询系统;(3)多媒体系统;(4)嵌入式系统。
- 实时任务的类型:(1)周期性实时任务(外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备。)和非周期性实时任务(无明显的周期性,但都必须联系着一个截止时间,或称为最后期限【①开始截止时间:指某任务在某时刻以前必须开始执行;②完成截止时间:指某任务在某时刻以前必须执行完成。】);(2)硬实时任务(HRT,指系统必须满足任务对截止时间的要求。)和软实时任务(SRT,若偶尔错过了任务的截止时间,则其对系统产生的影响也不会太大。)。
- 特征:(1)多路性,系统周期性地对多路现场信息进行采集,并对多个对象或多个执行机构进行控制;(2)独立性,每个终端用户在与系统进行交互时,对信息的采集和对对象的控制,是彼此互不干扰的;(3)及时性,控制对象所要求的截止时间,一般为秒级到毫秒级;(4)交互性,有限制;(5)可靠性,采取了多级容错措施。
6. 微机操作系统:配置在微机上的OS,也称为个人计算机
- 按微机字长分:8位,16位,32位,64位(n位字长是指CPU一次能够并行处理n个二进制位。)
- 按运行方式分:1.单用户单任务OS,只允许一个用户上机,且只允许用户程序作为一个任务运行;2.单用户多任务OS,,只允许一个用户上机,但允许用户把程序分为若干个任务并发执行;3.多用户多任务OS,允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行。
7. 嵌入式操作系统
- 嵌入式OS:指应用于嵌入式系统的OS。一种用途广泛的系统软件,通常包括与硬件相关的低层驱动软件、系统内核、设备驱动接口、通信协议、图形用户界面、标准化浏览器等。负责嵌入式系统的全部软硬件资源的分配、任务的调度以及并发活动的协调等。
- 特点:(1)系统内核小;(2)系统精简,一般没有系统软件和应用软件的明显区分;(3)实时性高,基本要求;(4)具有可配置性。
8. 网络操作系统
- 特征:(1)硬件独立性,系统可以运行于各种硬件平台之上;(2)接口一致性,针对同一性质的资源,采用统一的访问方式和接口;(3)资源透明性;(4)系统可靠性;(5)执行并行性。
- 功能::①连接的建立与拆除;②报文的分解与组装;③传输控制;④流量控制;⑤差错的检测与纠正。
9. 分布式操作系统
- 是基于软件实现的一种多处理机系统,是多个处理机通过通信线路互联而构成的松散耦合系统,系统的处理和控制功能分布在各个处理机上。
- 是利用软件系统方式构建在计算机网络上的一种多处理机系统。
- 特征:(1)分布性;(2)透明性;(3)同一性;(4)全局性。
- 功能:涵盖单处理机OS的主要功能;①通信管理功能;②资源管理功能;③进程管理功能。
基本特性
并发和共享是多用户(多任务)OS的两个最基本的特征。它们互为对方存在的条件。
并发
并行是指两个或多个事件在同一时刻发生。
并发是指两个或多个事件在同一时间间隔内发生。
- 在多道程序环境下,并发是指在一段时间内宏观上有多个程序在同时运行;但在单处理机系统中,每一时刻仅能有一道程序执行,故在微观上这些程序只能分时
交替执行
。 - 在一个未引入进程(是指在系统中能独立运行并能作为资源分配对象的基本单位,它是由一组机器指令、数据和堆栈等组成的。)的系统中,同属于一个应用程序的计算程序和I/O程序只能顺序执行。
共享
资源共享,或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。
- 互斥共享方式:当进程A要访问某资源时,必须先提出请求。若此时该资源空闲,系统便可将其分配给进程A使用。此后若再有其他进程也要访问该资源,则只要进程A未用完,其他进程就必须等待。仅当进程A访问完并释放后,才允许另一进程对该资源进行访问。
- 在一段时间内只允许一个进程访问的资源,称为临界资源(或独占资源)。
虚拟
在OS中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能,称为“虚拟”。
- 时分复用技术(多道程序技术):利用处理机的空闲时间来运行其他程序。设N是某物理设备所对应的虚拟的逻辑设备数,则每台虚拟设备的平均速度必然等于或小于物理设备速度的1/N。(1)虚拟处理机技术;(2)虚拟设备技术。
- 空分复用技术:利用存储器的空闲空间来存放其他程序。设N是某物理设备所对应的虚拟的逻辑设备数,则此时一台虚拟设备平均占用的空间必然等于或小于物理设备所拥有空间的1/N。
异步
进程是以人们不可预知的速度向前推进的。
运行环境
硬件支持
内核
- 支撑功能:(1)中断处理(内核最基本的功能);(2)时钟管理;(3)原语操作(原子操作,是指一个操作中的所有动作要么全做、要么全不做,此即原子性。原语在执行过程中不允许被中断。)。
- 资源管理功能:(1)进程管理;(2)存储器管理;(3)设备管理。
处理机的双重工作模式
- 处理机至少需要两种单独运行模式:用户态(也称为目态,模式位1,当计算机系统执行用户程序时。)和内核态(也称为管态或系统态,模式位0,当用户程序通过系统调用请求OS服务时。)。
- 特权指令:指在内核态下运行的指令,对内存空间的访问范围基本不受限制。
- 非特权指令:指在用户态下运行的指令。应用程序使用的都是非特权指令,只能完成一般性的操作和任务,不能对系统中的硬件和软件进行直接访问,对内存的访问范围局限于用户空间。
中断与异常
- 事件总是由于中断或陷阱引起的。
- 陷阱(异常):是一种由软件引起的中断,或源于出错,或源于用户程序的特定请求。
- 中断向量:包含各种设备的中断处理程序的地址。
主要功能
处理机管理功能
- 进程控制
- 进程同步
- 进程通信
- 调度:(1)作业调度(按照一定的算法,从后备队列中选出若干个作业,并为它们分配运行所需的资源;在将这些作业调入内存后,分别为它们建立进程,以使它们都成为可能会获得处理机的就绪进程,并将这些进程插入就绪队列。);(2)进程调度(按照一定的算法,从进程的就绪队列中选出一个进程,将处理机分配给它,并为它设置运行现场,使其投入执行)。
存储器管理功能
- 内存分配和回收
- 内存保护
- 地址映射
- 内存扩充:(1)请求调入功能;(2)置换功能。
设备管理功能
- 缓冲管理
- 设备分配
- 设备处理
文件管理功能
- 文件存储空间管理
- 目录管理
- 文件的读/写管理和保护:(1)文件的读/写管理;(2)文件保护。
接口管理功能
- 用户接口:(1)联机用户接口;(2)脱机用户接口;(3)图形用户接口;
按命令控制方式的不同,命令接口分为联机用户接口和脱机用户接口。
命令解释器、shell(命令解析器)属于命令接口。
- 程序接口(也称系统调用)
结构
简单结构
模块化结构
- 模块化程序设计技术(模块-接口法):将OS按其功能精细地划分为若干个具有一定独立性和大小的模块,每个模块具有某方面的管理功能,并仔细地规定好各模块间的接口,进一步将各模块细分为若干个具有一定功能的子模块,规定好各子模块之间的接口。
- 模块独立性
- 优缺点:
分层式结构
- 有序分层法:在目标系统An和裸机系统(宿主系统)A0之间,铺设若干个层次的软件A1,A2,…,An-1,使An-1,An-2,…,A2,A1层软件,最终能在A0上运行。常采用自底向上分层设计法。
- 优缺点:
微内核结构
(1)足够小的内核;(2)基于客户/服务器模式;(3)采用策略与机制分离原则;(4)采用面向对象技术
- 基本功能:(1)进程(线程)管理;(2)低级存储器管理;(3)中断和陷入处理。
- 优点:
- 存在的问题:
外核结构
配图1-12具有外核结构的Aegis系统
系统调用
在本质上是应用程序请求OS内核完成某功能(请求系统服务)时的一种过程调用。
- 每一个系统调用都是一个能完成特定功能的子程序。
- 系统调用是由操作系统提供给用户的,只能通过用户程序间接使用。它是操作系统为应用程序使用内核功能所提供的接口(程序接口)。
- 系统调用命令:广义指令。
- 库函数是高级语言中提供的与系统调用对应的函数,有些库函数与系统调用无关,属于用户接口而非系统调用,是系统调用的上层,目的是隐藏“访管”指令[1]的细节。
- 操作系统不提供管理系统缓存的系统调用。
- 一般的过程调用,其调用程序和被调用程序运行在相同的状态——内核态或用户态,而系统调用的调用程序运行在用户态,被调用程序运行在内核态。
- 一般的过程调用可直接由调用过程转向被调用过程,但系统调用需要通过软中断机制先由用户态转换为内核态,经内核分析后才能转向相应的系统调用子程序。
- 一般的过程调用对嵌套调用(在一个被调用过程执行期间,可以利用系统调用命令去调用另一个系统调用。)的深度没有限制,但系统调用有。
配图1-13系统调用
-类型:(1)进程控制类系统调用;(2)文件操纵类系统调用;(3)进程通信类系统调用;(4)设备管理类系统调用;(5)信息维护类系统调用。
[1]访管指令是一条可以在目态下执行的指令。用户程序中凡是要调用操作系统功能时就安排一条访管指令。当处理器执行到访管指令时就产生一个中断事件(自愿中断),暂停用户程序的执行,而让操作系统来为用户服务。