第一章 一些基本的名词解释
前驱图: 用于描述程序执行先后顺序的图,为了更好的描述程序的顺序和并发执行情况。
程序顺序执行的特征: 顺序性;封闭性;可再现性;
1.2进程的性质
程序想要运行,操作系统中必须为程序配备一个PCB(程序控制块),这个PCB就是进程,系统利用PCB来描述进程的基本情况。
也就是说,进程是一次程序的执行。
进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
进程是具有独立功能的程序在一个数据集合上运行的过程,系统资源分配和调度的一个独立单位。
进程的特征:动态性,并发性,独立性,异步性。
进程三种基本状态的转换:
图
进程五种基本状态的转换:
图
1.3进程同步:
经典进程同步的问题:
生产者-消费者:两者都是异步方式运行的,但是必须保持同步;所以,二者之间存在具有n个缓冲区的缓冲池
两种制约关系: 间接相互制约关系(互斥)直接相互制约关系(同步)
临界资源:各个进程之间采取互斥方式,实现对这种资源的共享。
临界区:每个进程中访问临界资源的代码称为临界区,一个访问临界资源的循环进程描述如下
while(True){ 进入区; 临界区; 退出区; 剩余区; }
同步机制:硬件同步机制,信号量机制,管程机制;
同步机制的规则:
1.空闲让进
2.忙则等待
3.有限等待
4.让权等待
硬件同步机制
关中断:实现互斥最简单的方式。进入锁测试之前关闭终端,直到完成锁测试打开中断,有效保证了互斥。
test and set指令互斥
swap指令互斥
信号量同步机制
整型信号量:通过1,0的变化,和while配合,模拟中断和连接
记录型信号量:count模拟
and型信号量: &^模拟
1.3.2进程通信与线程
用不同信号同步机制,模拟解决消费者-生产者同步问题;
进程之间的通信;
线程的属性和性质;