操作系统——1.概述
整体OS包含:
选填/简答:占多数,记忆、总结归纳(积累课本上的名词)
计算:按步骤推导,还是记忆偏多
算法:PV操作题
考纲
- 批处理与多道程序设计
- 分时系统与实时系统
- 操作系统的基本类型与特征
- 并发与并行的概念
- 操作系统的层次结构与功能模块
- 程序的并发执行与顺序执行
选填居多。
一、操作系统的基本概念
1、操作系统的概念
- 操作系统OS:是指控制和管理整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作和资源的分配,进而提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
- 计算机系统自下而上可分为四部分:硬件、操作系统、应用程序和用户。
2、操作系统的特征
选填、简答小问。各自是什么
- 操作系统的基本特征:并发、共享、虚拟、异步。
- 并发和共享是操作系统两个最基本的特征。(共享以并发为条件、共享管理影响并发)。虚拟性以并发性和共享性为前提。异步性是并发性和共享性的必然结果。
- (1)并发
- 并发:两个或多个事件在同一时间间隔内发生。
- 并性:两个或多个事件在同一时刻内发生。
- 并发性:计算机系统中同时存在多个运行的程序,具有处理和调度多个程序同时执行的能力(分时实现)。
- 并行性:系统具有同时进行运算或操作的特性(硬件支持)。
- (2)共享
- 共享/资源共享/资源复用:系统中的资源可供内存中多个并发执行的进程共同使用。
- 进程:在系统中能独立运行并作为资源分配的基本单位。
- 分类
- 互斥共享方式:一段时间内只允许一个进程访问资源。该资源即临界资源/独占资源。eg.物理设备、栈、变量。
- 同时访问方式:允许一段时间内由多个进程”(宏观上)同时“访问。微观上可能分时共享。eg.磁盘设备。
- (3)虚拟
- 虚拟:把一个物理上的实体变为若干逻辑上的对应物。
- 虚拟技术:用于实现虚拟的技术。
OS中:时分复用技术(处理器的分时共享)、空分复用技术(虚拟存储器)。 - 虚拟处理器技术:多道程序并发、分时使用一个处理器。
- 多道程序设计:在内存中同时存放若干个作业,并使它们共享系统的资源且同时运行的技术。
虚拟处理器:利用多道程序设计把一个物理上的CPU虚拟为多个逻辑上的CPU。
- 多道程序设计:在内存中同时存放若干个作业,并使它们共享系统的资源且同时运行的技术。
- 虚拟存储器技术&虚拟存储器:逻辑上扩充存储器容量。
- 虚拟设备技术&共享设备:变成多台逻辑上的IO设备+临界变共享。
- 虚拟的实现,如果采用分时复用,每台虚拟设备的平均速度≤物理设备速度的1/N;采用空分复用,每台虚拟设备平均占用空间≤物理设备拥有空间的1/N。
- (4)异步
- 异步:进程以人们不可预知的速度向前推进。
- OS中只要运行环境相同,OS就须保证多次运行得相同结果。
3、操作系统的目标和功能
- 目标:方便性、有效性、可扩充性、开放性
- 功能4+1(+1):处理机管理、存储器管理、文件管理、设备管理、用户接口、扩充机器
(1)作为计算机系统资源的管理者
- 处理机管理:多道程序环境下,处理机的分配和运行都以进程/线程为基本单位,因此归结于对进程的管理。
- 进程管理主要功能:进程控制、进程同步、进程通信、死锁处理、处理机调度。
- 存储器管理
- 目的:给多道程序的运行提供良好环境、方便用户使用及提高内存的利用率
- 功能:内存分配与回收、地址映射、内存保护与共享、内存扩充。
- 文件管理
- 文件系统:操作系统中负责文件管理的部分。
- 功能:文件存储空间的管理、目录管理、文件读写管理和保护。
- 设备管理
- 主要任务:完成用户的IO请求,方便用户使用各种设备,并提高设备的利用率。
- 功能:缓冲管理、设备分配、设备处理、虚拟设备。
(2)操作系统为用户与计算机硬件系统之间的接口。
接口分类、作用
- 命令接口:用户利用这些操作命令来组织和控制作业的执行。
使用命令接口进行作业控制的主要方式:联机控制方式、脱机控制方式。按作业控制方式的不同分为:- 联机/交互式命令接口:适用于分时或实时系统,由一组键盘操作命令组成。
- 脱机/批处理命令接口:适用于批处理系统,由一组作业控制命令组成。
- GUI/图形用户界面/图形接口:通过调用程序接口实现。图形接口不是os一部分,但其调用的系统调用命令是。
- 程序接口:编程人员用来请求操作系统服务。由一组系统调用/广义指令组成。用来请求操作系统为其提供服务(如:使用外部设备、申请分配和回收内存)
(3)操作系统用作扩充机器。
了解
- 裸机:没有任何软件支持的计算机。
- 扩充机器/虚拟机:覆盖了软件的机器。
二、操作系统的发展与分类
了解
1、手工操作阶段(无OS)
- 人工操作阶段:缺点:①用户独占全机,不会出现因资源被其它用户占用而等待的现象,但资源利用率低。②CPU等待手工操作,CPU利用不充分。
- 脱机I/O方式:解决人机矛盾及CPU和IO设备之间速度不匹配的矛盾。优点:①减少CPU的空闲时间。②提高了IO速度。
2、批处理阶段
对比、优劣、特点
(1)单道批处理系统
- 形成:解决人机矛盾及CPU和IO设备之间速度不匹配的矛盾。提高利用率。
- 形容:系统对作业的处理成批进行,但内存中始终保持一道作业。
- 主要特征:自动性、顺序性、单道性。
- 问题:系统中的资源得不到充分利用。每次主机内存中仅存放一道作业,每当它在运行期间发出IO请求后,高速CPU处于等待低速IO完成状态。
(2)多道批处理系统
- 形成:为了进一步提高资源利用率和系统吞吐量,引入多道程序技术,允许多个程序同时进入内存并允许它们在CPU中交替运行,共享系统中的各种软硬件资源。
- 形容:采用多道程序技术形成。该系统把用户提交的作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行。
- 特点:多道、宏观上并行、微观上串行。
- 需解决问题:处理机争用、内存分配和保护、IO设备分配、文件的组织和管理、作业管理、用户和系统的接口问题。
- 优点:①资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;②系统吞吐量大,CPU和其他资源保持“忙碌”状态、切换系统开销小。
- 缺点:①用户响应的时间较长;②不提供人机交换能力,用户不能了解自己的程序运行情况、也不能控制计算机。
3、分时操作系统
定义、性质
- 形成:人机交互、共享主机
- 分时技术:把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。时间片内不能完成则让出处理器。
- 分时操作系统:多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰。
- 主要特征:同时性/多路性、交互性、独立性、及时性。
- 关键问题:如何使用户能与自己的作业进行交互:允许有多个用户同时通过自己的键盘键入命令,系统能全部及时接收并处理(作业直接进入内存、采用轮转运行方式)
以下几个系统:分类,可以了解
4、实时操作系统
- 形成:在某个时间限制内完成某些紧急任务而不需要时间片排队。
- 形容:计算机系统接受到外部信号后及时进行处理,并在严格的时限内处理完接受的事件。
- 实时系统的类型:工业(武器)控制系统、信息查询系统、多媒体系统、嵌入式系统。
- 实时任务的类型:周期性实时任务/非周期性实时任务、硬实时任务/软实时任务。
- 特点:多路性、独立性、及时性、交互性、可靠性
5、网络操作系统和分布式计算机系统
- 网络操作系统:计算机网络中的各台计算机有机结合,实现数据互相传送。特点:网络中各种资源的共享及各台计算机之间的通信。
- 分布式计算机系统:若干计算机相互协同完成同一任务(本质不同)。用于管理分布式计算机系统的操作系统称为分布式计算机系统。特点:分布性、并行性。
6、个人计算机操作系统
- 广泛应用于文字处理、电子表格、游戏等。eg.windows、linux。
- 总发展历程:
三、操作系统的运行环境
1、操作系统的运行机制
内容、作用
- 计算机系统中,CPU执行两种性质不同的程序:
- 操作系统内核程序(“管理程序”):是应用程序的管理者,需执行一些特权指令。运行在核心态。
- 用户自编程序(“应用程序”):由于安全考虑不能执行特权指令。运行在用户态。
- 特权指令:计算机中只能由操作系统内核部分使用,不允许用户直接使用的指令,eg.IO、置中断指令、清内存指令、存储保护指令和设置时钟指令。
- CPU的状态划分为用户态/目态、核心态/管态/内核态。
- 操作系统的内核:由与硬件关联较紧密的模块(时钟管理、中断处理、设备驱动等)和运行频次较高的程序(进程管理、存储器管理、设备管理等)构成。
- 内核是计算机上配置的底层软件,是计算机功能的延伸。指令操作工作在核心态。
- 内核包括以下四方面内容:
- 时间管理:向用户提供标准的系统时间、对时间中断的管理实现进程的切换。
- 中断机制:是操作系统各项操作的基础。只有一小部分功能属于内核,负责保护和恢复中断现场的信息,转移控制权到相关的处理程序。这样可以减少中断的处理时间,提高系统的并行处理能力。
- 原语:是一些可被调用/关闭中断的公用小程序。特点:①处于操作系统的最低层,是最接近硬件的部分;②程序运行具有原子性;③运行时间较短、调用频繁。
- 系统控制的数据结构及处理:OS中用来登记状态信息的数据结构:eg.作业控制块、PCB、设备控制块、链表、消息队列。定义对其的操作:进程管理、存储器管理、设备管理。
2、中断和异常
※
- 通过硬件实现,发生中断或异常时,运行用户态的CPU会立即进入核心态。
- 中断/外中断:来自CPU执行指令以外的事件的发生。是正常功能的一部分。eg.设备发出的IO技术中断、时钟中断。
- 异常/内中断/例外/陷入:源自CPU执行指令内部的事件。由错误引起。**eg.**程序的非法操作码、地址越界、算术溢出、虚存系统的缺页、专门的陷入指令。
- 中断处理过程(能口头描述) (最后是返回断点)
3、系统调用
※ 定义、分类
- 系统调用:用户在程序中调用OS所提供的一些子功能,系统调用可视为特殊的公共子程序。
- 按功能分类如下:设备管理(请求释放启动)、文件管理、进程控制(创建撤销阻塞唤醒)、进程通信(信号信息传递)、内存管理(分配回收获取大小始址)。
- 执行过程:
- 用户态转核心态的唯一途径是中断或异常(eg.访管指令);核心转用户,使用中断返回等特权命令。
- 访管指令:用户态下可执行,产生一个自愿中断(访管中断),将OS转核心态。用于请求操作系统提供服务。
四、操作系统的体系结构
定义、对比、优势
1、大内核
- 大内核系统将操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。
- 优点:模块间共享信息,能有效利用相互间的有效特性,性能高;
- 缺点:需求服务多后、设计体系复杂、层次界限模糊、内核代码难以维护
2、微内核
- 微内核将内核中最基本的功能保留在内核,将无需在核心态执行的功能移至用户态执行,从而降低了内核的设计复杂性。
- 优点:用户进程独立、可靠性好;灵活性好;便于维护;适合分布式处理的计算环境。
- 缺点:系统效率查、OS的执行开销偏大。
- 用若干个运行在用户态下的进程(即服务器进程)来实现,形成C/S模式。
- 为减少切换核心态和用户态的执行开销,可采用库操作系统,即将系统服务作为运行库链接到用户程序的一种解决方案。