第二章学习笔记
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
组合方式