基本概念
1:程序的顺序执行
顺序性,封闭性,可再现性
2:前趋图
3:程序的并发执行
间断性,失去封闭性,不可再现性
4:进程的特征和定义
结构特征。程序段,数据段,PCB
动态性。由创建而产生,由调度而执行,由撤销而消亡。
并发性:并发是引入进程的目的。
独立性。独立运行,独立分配资源和独立接受调度
异步性。
5:进程的状态
就绪,执行,阻塞,挂起
6:进程控制块
记录了os所需要的,用于描述进程的当前状态以及控制进程的全部信息。作用是将程序变成可并发执行的进程。PCB是进程存在的唯一标志。
包含:进程标志符,处理机状态,进程调度和控制信息
进程控制
进程控制是os的内核通过原语来实现的。
系统状态:操作系统内核运行于系统状态下。
用户状态:用户程序运行在用户状态。
1:进程创建
创建原语。父进程子进程。主要是创建PCB。
先从PCB集合中申请一个空闲的PCB,为新进程分配内存等资源,根据父进程提供的参数和分配到的资源情况来初始化PCB,最后将新进程插入到就绪队列。
2:进程终止
实质是回收PCB。
找到要终止的进程PCB,若该进程正在执行,终止其执行,置重新调度标志;终止所有子进程,释放终止进程拥有的资源;将终止进程移出它所在的队列并回收PCB。
3:进程的阻塞和唤醒
见书
4:进程的挂起与激活
见书
进程同步
1:基本概念
两种形式的制约:直接相互制约,间接相互制约
临界资源和互斥:互斥是一种特殊的同步
同步机制应遵循的准则:空闲让进,忙则等待,有限等待,让权等待
2:信号量机制:整型,记录型
3:信号量的应用
前趋关系
互斥
4:经典进程同步问题
生产者-消费者:mutex,empty,full
哲学家进餐
读者写者:rmutex,wmurex,readcount
管程机制
1:定义
管程是由一组局部变量和对局部变量进行操作的一组过程以及对拒不变量初始化的语句序列构成的软件模块。
特点:
局部变量之恩能够被局部于管程内的过程所访问。反之亦然。
任何进程只能够通过调用管程提供的过程入口进入管程
任何一个时刻,最多只有一个进程在管程中执行
保证进程互斥进入管程是由编译器负责的。
2:条件变量
wait操作
signal操作
进程通信
1:类型
共享存储器:对共享数据结构的设置和对进程间的同步都由程序员完成,少量数据交换,低级通信方式
消息传递:直接通信和间接通信,实时。间接通信使用信箱来完成,实时或非实时。
管道通信:必须对发送进程和接收进程在利用管道进行通信时实施同步和互斥,并且只有在确定了对方存在时方可通信。
2:消息缓冲队列通信机制
直接通信方式
PCB中添加mq(队列头指针),mutex(队列互斥信号量),sm(队列资源信号量)
线程
1:概念
目的:减少程序在并发执行时付出的时空开销,使os具有更好的并发性。
进程是拥有资源的基本单位,而不再是一个可执行的实体;每个线程是可执行的实体,CPU调度和分派的基本单位是线程。
线程:线程标识付和一组状态参数(寄存器,堆栈,运行状态等现场信息)
特点:轻型实体,独立调度和分派的基本单位;可并发执行;共享进程资源
2:线程的控制
线程由线程创建,但之间不存在父子关系的支持
执行,就绪,阻塞状态
3:线程同步
互斥锁
条件变量
信号量机制:私有信号量和工友信号量
4:内核支持线程和用户级线程
用户级:存在用户空间,与内核无关。内核只管理常规进程-单线程进程。
优点是不需要得到内核支持,切换无需陷入内核,故切换开销小,速度快;线程库对用户线程的调度算法和os调度算法无关。
缺点:一个线程的阻塞将导致整个进程的所有线程阻塞,无法享受到多处理机系统中多个处理器的好处。
内核级:在核心空间实现。
克服了用户及线程的缺点。首先黑河可以把同一个进程中的多个线程调度到多个处理器中;其次如果进程中一个线程阻塞,内核可以调度同一个进程中的另一个线程。三:内核本身可以用多线程的方式实现。
缺点:及时在一个进程的多个线程间切换,也需要陷入内核,速度效率不好。
用户级和内核级的结合
LWP
本文介绍了进程的基本概念,包括进程的特性、状态管理和控制机制。详细解释了进程的创建、终止、阻塞和唤醒等控制操作,并探讨了进程同步的重要性和实现方法。此外,还讨论了管程机制和进程通信的不同类型。
2148

被折叠的 条评论
为什么被折叠?



