- 进程的定义
- 进程控制块PCB:作用:用来描述进程的基本情况和活动过程,进而控制和管理进程。
- 组成:由程序段,数据段,pcb组成
- 创建进程:创建进程中的PCB;撤销进程:撤销进程中的PCB
- 进程定义:具有独立功能的程序在一个数据集合上运行的过程,他是系统进行资源分配盘和调度的一个独立单位。
- 进程和程序的不同
- 并发性:进程拥有,程序没有。
- 动态性:进程是动态的,程序是静态的。
- 独立性和异步性。
- 进程控制块PCB:作用:用来描述进程的基本情况和活动过程,进而控制和管理进程。
- 进程基本状态和转换
- 图2-1 五种进程状态的转换就绪状态 -> 运行状态:处于就绪状态的进程被调度后,获得处理机资源(分派处理机时间片),于是进程由就绪状态转换为运行状态。 运行状态 -> 就绪状态:处于运行状态的进程在时间片用完后,不得不让出处理机,从而进程由运行状态转换为就绪状态。此外,在可剥夺的操作系统中,当有更高优先级的进程就 、 绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。 运行状态 -> 阻塞状态:当进程请求某一资源(如外设)的使用和分配或等待某一事件的发生(如I/O操作的完成)时,它就从运行状态转换为阻塞状态。进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式。 阻塞状态 -> 就绪状态:当进程等待的事件到来时,如I/O操作结束或中断结束时,中断处理程序必须把相应进程的状态由阻塞状态转换为就绪状态。
- 进程的创建和终止
- 创建过程:申请空白的PCB,填写信息-->为进程分配运行时所需的资源-->进程变为就绪状态,插入就绪队列
- 终止过程:等待操作系统善后处理-->将PCB清零,空间返还系统。
- 进程同步
- 基本概念:
- 临界资源:许多硬件资源(打印机,磁带机),进程之间采取互斥方式实现对这种资源的共享。
- 临界区:无论是硬件临界资源还是软件临界资源,进程都必须互斥的对它进行访问。把在每个进程中访问临界资源的那段代码称为临界区。(所以每次想要访问临界区的资源的时候,必须确保它没有被人访问)
- 同步机制遵循的规则:①:空闲让进②:忙则等待③:有限等待④:让权等待。
- 基本概念:
- 进程通信
- 进程通信类型:
- 共享存储器系统:共享某些数据结构或者共享某个存储区。这里面分为:共享数据结构(生产者消费者问题),共享存储区(划分一块内存,用于共享,由进程直接管理)
- 管道通信系统:由一个读进程和一个写进程实现共享。发送进程以字符流的形式将数据送入管道,接收进程从管道接收数据,利用管道进行通信。
- 消息传递系统:①直接通信方式:利用os直接将消息发送出去。②间接通信方式:发送和接收进程通过中间实体(邮箱)的方式进行发送和接收。这个方法不借用任何共享存储或数据结构。
- 客户-服务机系统:
- 进程通信类型:
- 线程
- 线程:作为调度和分派的基本单位。
- 进程和线程的比较
- 调度的基本单位:进程是独立调度和分配的基本单位,能独立运行,切换代价大;线程作为调度和分配的基本单位,能独立运行,切换代价小;进程的切换回导致线程的切换,而同一个进程中线程的切换对进程没有影响,但是不同进程中的线程相互切换会导致进程切换。
- 并发性:进程间可以并发执行,多个线程也能并发执行,一个进程的所有线程也能并发执行。
- 拥有资源:进程可以拥有资源,作为系统中拥有资源的一个基本单位(PCB);线程不拥有系统资源,只有本有够自己运行的资源。线程允许多个线程共享该进程的所有的资源。
- 进程的系统开销大,独立性高,线程开销小,独立性比较差。
- 线程的实现方式
- 内核支持线程:无论系统进程还是用户进程都是在操作系统内核下运行的。
- 用户级线程:在用户空间中实现的,用户级线程和内核无关。