- 操作系统概述
- 操作系统(OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。它是计算机系统中最基本的系统软件。
- 操作系统的特征
并发和共享是操作系统两个最基本的特征。
并发是指两个或多个事件在同一时间间隔内发生。引入进程的目的是使程序能并发执行。
同一时间间隔并发和同一时刻并行的区别,多道程序环境下,宏观上有多道程序同时执行,每一时刻,单处理机环境实际只有一道程序执行,故微观上这些程序在分时交替执行。
共享是指系统中的资源可供内存中多个并发执行的进程共同使用,分为两种资源共享方式。互斥式共享,规定在一段时间内只允许一个进程访问该资源,把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。同时访问微观上是分时共享。
虚拟是把一个物理上的实体变为若干逻辑上的对应物。利用多道程序设计技术,把一个物理上的CPU虚拟为多个逻辑上的CPU,称为虚拟存储器。
进程的异步性。
- 操作系统提供了用户接口
为了方便用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口。命令接口分为联机命令接口和脱机命令接口。联机命令接口又称交互式命令接口,适用于分时或实时系统的接口。
程序接口由一组系统调用命令组成,请求操作系统提供服务,最流行的是图形用户界面(GUI)即图形接口。系统调用是操作系统提供给应用程序使用内核功能的接口。
- 操作系统的分类
单道批处理系统。内存中始终保持一道作业,主要特征如下:自动性,顺序性,单道性。
多道批处理系统。多道程序设计允许多个程序同时进入内存并运行,特点有:多道、宏观上并行、微观上串行。需要解决如何分配处理器,内存和I/O设备。优点是资源利用率高,吞吐量大,缺点是响应时间较长,不提供人机交互能力。
分时操作系统。把处理器的运行时间分很短的时间片,轮流分配给作业。实现分时系统最关键的问题是如何使用户能与自己的作业进行交互。主要特征是同时性、交互性、独立性、及时性。
实时操作系统。系统接收到外部信号及时进行处理,主要特点是及时性和可靠性。
- 操作系统运行环境
操作系统划分了用户态和核心态。
操作系统内核包括四个方面内容:时钟管理,中断机制,原语,系统控制的数据结构及处理。核心太态指令包括系统调用类指令和针对时钟、中断和原语的操作指令。
操作系统内核工作在核心态,而用户程序工作在用户态。用户程序需要使用核心态的功能,在核心态建立一些门,实现从用户态进入核心态。实际操作系统中,唯一能进入这些门的途径是通过中断或异常。当中断或异常发生时,运行用户态的CPU立即进入核心态,这是通过硬件实现的。
中断,也称外中断,来自CPU执行指令意外的事件的发生。
异常,也称内中断、例外或陷入(Trap),源自CPU执行指令内部的时间。
系统调用就是用户在程序中调用操作系统所提供的一些子功能。系统调用运行在系统的核心态。(考纲)
用户态转向核心态的例子
- 用户程序请求操作系统的服务,即系统调用。
- 发生中断。
- 用户程序中产生了一个错误状态。
- 用户程序中企图执行一条特权指令。
- 从核心态转向用户态由一条特权指令实现,一般是中断返回指令
- 程序的运行由用户态转到核心态,会用到访管指令,访管指令是在用户态使用的,所以不是特权指令。
输入输出指令需要中断操作,中断必须在核心态下执行。
计算机通过硬件中断机制完成由用户态到核心态的转换,中断处理程序一般在核心态下执行。
特权指令是指有特殊权限的指令,比如:清内存、置时钟、分配系统资源、修改虚存的段表或页表、修改用户的访问权限。
- 进程管理
- 进程的概念和特征(考纲)
多道程序环境下,允许多个程序并发执行,为此引入进程的概念,更好的描述和控制程序的并发执行,实现操作系统的并发性和共享性。
为了程序独立运行,为之配备专门的数据结构,称为进程控制块(PCB),系统利用PCB描述进程的基本情况和运行状态,进而控制和管理进程,由程序段、相关数据段和PCB三部分构成了进程映像(进程实体),创建进程实质上是创建进程映像中的PCB,撤销进程实质上是撤销进程的PCB,进程映像是静态的,进程是动态的。PCB是进程存在的唯一标志。
进程定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
进程的特性:动态性(进程最基本的特征),并发性,独立性,异步性,结构性。
- 进程的状态和转换
进程通常有以下五种状态,前三种是进程的基本状态:
- 运行状态:
- 就绪状态
- 阻塞状态,又称等待状态
- 创建状态
- 结束状态
就绪状态→运行状态
运行状态→就绪状态
运行状态→阻塞状态
阻塞状态→就绪状态
- 进程控制
在操作系统中,一般把进程控制用的程序段称为原语,原语的特点是执行期间不允许中断,它是一个不可分割的基本单位。
进程的创建(创建原语)
进程的终止(核销原语)
进程的阻塞(阻塞原语)
进程的唤醒(唤醒原语)
进程切换
- 进程的组织
由以下三个部分组成:
进程控制块。PCB是进程实体的一部分,是进程存在的唯一标志。常用的组织方式有链接方式和索引方式两种,链接方式是将同一状态的PCB链接成一个队列,索引方式是将同一状态的进程组织在一个索引表中,索引表的表项指向相应的PCB,不同状态对应不同的索引表,如就绪索引表。
程序段:程序段就是能被进程调度到CPU执行的程序代码段。
数据段:进程对应的程序加工处理的原始数据。
- 进程的通信
进程通信是指进程之间的信息交换。PV操作是低级通信方式。高级通信方法主要有以下三个类。
共享存储
消息传递
管道通信
- 线程概念(考纲)
最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元。线程也有就绪、阻塞和运行三种基本状态。
引入进程的目的,是为了更好的使多道程序并发执行,以提高资源利用率和系统吞吐量,增加并发程度。
引入线程的目的,是为了减少程序在并发执行时所付出的时空开销,提高操作系统的并发性能。
- 线程与进程的比较
(1)调度。线程是独立调度的基本单位,进程是拥有资源的基本单位。在同一进程中,线程的切换不会引起进程切换。在不同进程中进行线程切换,如从一个进程内的线程切换到另一个进程中的线程时,会引起进程切换。
(2)拥有资源。