第一章 操作系统引论
1.1 操作系统的概念
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理硬件设备,提高他们的利用率和系统吞吐量,并为用户和应用程序提供一个简单的接口,以便用户和应用程序使用硬件设备。
1.2 计算机操作系统的基本特征
并发、共享、虚拟、异步。
2.1 单道批处理系统
优点:同一批内各作业的自动依次更替,在一定程度上改善了主机CPU和I/O设备的使用效率,提高了吞吐量。
缺点:1.在程序执行I/O请求时,CPU处于空闲状态,浪费资源。 2.磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏。
2.2 多道批处理系统
多道批处理系统的产生标志着真正意义上的操作系统的产生
优点:资源利用率高,系统吞吐量大。
缺点:平均周转时间长,无交互能力。
3.1 分时操作系统的特点
多路性、独立性、及时性、交互性。
3.2 实时系统的特点
及时性要求高,系统可靠性高。
3.3 分时系统与实时系统比较
设计目标不同:前者为多用户提供开发环境,后者为特殊用途提供专用系统
交互性强弱不同:前者交互性强,后者弱
响应时间要求不同:前者要求低,后者要求高。
安全性要求不同:前者要求低,后者要求高。
4.1 操作系统的基本特征
并发—并行性:两个或多个事件在同一时刻发生。并发性:两个或多个事件在同一时间间隔内发生。
共享—系统中的资源可供内存中多个并发执行的进程共同使用。
虚拟—时分复用技术,空分复用技术。
异步—进程的异步性:进程是以人们不可预知的速度向前推进的
4.2 操作系统的主要功能
1.处理机管理功能
- 进程控制:创建进程,为它分配除处理机以外的所有资源。进程运行完成,撤消该进程,释放资源。
- 进程同步:协调并发进程的执行顺序。
- 进程通信:实现进程间的信息交换。
- 调度:按一定算法,从等待队列中选出一个,并使之投入运行。
2.存储器管理功能 - 提高存储器的利用率——内存分配
- 为并发运行提供良好的环境——内存保护
- 确保每个用户程序仅在自己的内存空间运行
- 绝不允许用户程序访问操作系统的程序和数据
- 便于用户使用——地址映射
- 逻辑地址转换为物理地址
- 为用户提供足够大的存储空间——内存扩充
3.设备管理功能 - 提高CPU和I/O设备的利用率——缓冲管理
- 为用户程序分配I/O设备——设备分配
- 完成用户程序请求的I/O操作——设备处理;
- 改善人机界面——虚拟设备
4.文件管理功能 - 文件存储空间的管理
- 目录管理——按名存取
- 文件读、写管理和保护
5.接口管理功能
脱机用户接口:作业级接口(作业控制语言)
联机用户接口:命令接口(键盘、解释程序)、图形接口
第二章 进程的描述与控制
1.1 前趋图描述程序执行
前趋图:用于描述程序执行先后顺序
定义:一个有向无循环图,是一个二元组,由结点的集合和有向边组成。其中:
结点:表示一条语句、一个程序段或一个进程
有向边:两个结点之间的前趋关系“→”
2.1 进程的描述
进程的定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
- 进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和保护的基本单位。
- 进程是一个既能用来共享资源,又能描述程序并发执行过程的系统基本单位。
- 进程是程序的一次执行。
2.2 进程的特征
动态性、并发性、独立性、异步性。
2.3 进程的基本状态及转换
就绪态:进程获得了除处理机以外的所有资源,等待被调入CPU。
运行态(执行态):占有处理机正在执行的进程状态。在单CPU环境下,该状态至多只有一个。在多CPU环境下,该状态进程数<=CPU数
阻塞态(等待态):等待除CPU以外的其他资源的进程的状态。
①就绪→执行:调度。调度程序选择一个新的进程运行。
②执行→就绪:时间片用完;运行进程被中断,因为一高优先级进程处于就绪状态。
③执行→等待:等待某个事件发生而暂时无法执行,放弃处理机。
④等待→就绪:因等待的事件发生而唤醒。
2.4 进程的挂起状态
进程在非运行态下的一种被换至外存,从而不接受调用的静止状态。我们把这种静止状态称为挂起状态。包括就绪挂起和阻塞挂起。
3.1 PCB
- PCB是进程的一部分,常驻内存。
- 进程实体包括:进程控制块(PCB)、程序段、相关数据段。
3.2 PCB的作用
PCB是每个进程在OS中的登记表项(处于核心段,通常不能由应用程序自身的代码来直接访问,而要通过系统调用访问)。
4.1 进程控制概念
系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各种状态间的转换,从而达到多进程高效率并发执行和协调,实现资源共享的目的。
- 进程管理最基本的功能
- 一般由OS内核中的原语实现
进程创建----进程终止----进程阻塞与唤醒----进程挂起与激活
4.2 原语
原语:系统状态下执行的某些具有特定功能的程序段称为原语。
原语的特点:
- a、具有独立的系统功能;
- b、在系统态运行;
- c、不允许中断或不允许并发;
- d、是一个不可分割的基本单位。
4.3 进程的创建过程(记忆中的重点)
申请空白的PCB,为新建立的进程分配资源,初始化PCB,将新进程插入就绪队列
5 进程通信
5.1 高级通讯机制类型
共享存储器系统、管道通信、消息通信方式
5.2 共享存储器系统
- 基于共享数据结构的通讯方式(低效,只适于传递少量数据)
- 基于共享存储区的通讯方式(高效,进程可通过对共享存储区进行读或写数据实现通讯。)
5.3 管道通信机制
管道通信方式也称共享文件方式,能够连接一个读进程和一个写进程,并允许他们以先进先出方式进行通信的一个共享文件,又名pipe文件。
5.4 消息传递系统
在消息传递系统中,进程间的数据交换是以消息(message,在计算机网络中又称报文)为单位。程序员直接利用系统提供的一组通讯命令(原语)来实现通讯。
6 线程
6.1 线程概念
线程:线程是进程中的一个实体,是被系统独立调度和分派的基本单位。
6.2 线程和进程的比较
6.3 进程的状态
(1) 执行状态,表示线程已获得处理机而正在运行;
(2) 就绪状态,指线程已具备了各种执行条件,只须再获得CPU便可立即执行;
(3) 阻塞状态,指线程在执行中因某事件受阻而处于暂停状态,例如,当一个线程执行从键盘读入数据的系统调用时,该线程就被阻塞。
6.4 线程控制块
线程控制块 TCB(Thread control block)
标志线程存在的数据结构,其中包含对线程管理需要的全部信息.
6.5 线程的实现
内核支持线程KST
用户级线程ULT
组合方式