进程管理1《第二章》

进程的基本概念
前驱图是指一个有向无环图,可记为 DAG,它用于描述进程之间执行的先后顺序,图中的每个结点可用来表示一个进程或程序段,乃至一条语句,结点间的有向边则表示两个结点之间存在偏序或前驱关系。
进程定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立的单位
引入进程的原因(目的):使多个程序能并发执行、以提高资源利用率和系统吞吐量
进程组成:PCB+程序段+数据段
PCB:保存进程运行期间的相关数据,是进程存在的唯一标志
程序段:能被进程调度程序调度到 CPU 运行的程序的代码段
数据段:存储程序运行期间的相关数据,可以是原始数据也可以是相关结果
进程状态
状态种类:就绪状态,执行状态,阻塞状态(基本状态),创建状态,结束状态
状态变化:就绪—>执行:经过处理机调度,就绪程序得到处理机资源
执行—>就绪:时间片用完或在可剥夺系统中有更高优先级进程进入
执行—>阻塞:进程需要的某一资源还没准备好(自身决定)
阻塞—>就绪:进程需要的资源已准备好(一个进程把另一个进程唤醒)
进程的特征:动态性,并发性,独立性,异步性,(结构性)
多线程 OS 中的进程的属性:
(1)进程是一个可拥有资源的基本单位
(2)多个线程可并发执行
(3)进程已不是可执行的实体
进程控制
大多数操作系统内核都包含以下两大方面功能:
支撑功能(中断处理,时钟管理,原语操作),资源管理功能(进程管理,内存管理,设备管理)
创建:用户登录(分时系统)作业调度 (多道批处理系统)(系统内核创建) 提供服务(如:文件打印)满足应用进程的需求(应用进程为了使各项操作能够并发执行,可以自己创建)
终止:正常结束,发生异常,外界干预
阻塞:等待资源 ,进程通过调用阻塞原语block将自己阻塞(是一种主动行为),进入block过程后,由于该进程还处于运行状态,所以应先立即停止执行,把进程控制块中的现行状态“执行”改为阻塞,并将pcb插入阻塞队列中去。
唤醒:资源到达 ,调用唤醒原语wakeup
挂起:首先检查被挂起进程的状态,若处于活动就绪,则还成静止就绪。对于活动阻塞的进程,则将之改成静止阻塞。将进程的PCB复制到内存的指定区域。(挂起原语:suspend)
激活:将进程从外存调入内存。(激活原语:active)
切换:时间片用完、主动放弃处理机、被更高优先级的进程抢占处理机
进程组织
(1)线性方式:把所有PCB组织在一张线性表中,将该表的首地址存放在内存的一个专用区域中,每次查找是需要扫描全表。适用于系统中进程数目不多的情况。
(2)链接方式:把具有同一状态的 PCB,用其中 的链接字链接成一个队列,PCB存储在一个连续的存区。
(3)索引方式:各个索引表在内存单元中的首地址也记录在内存中的专用单元中,用添加索引表的方式记录具有相应状态下的某个PCB在PCB表中的地址。
进程通信(共享存储系统、消息传递系统、管道通信)
共享存储:在通信的进程之间存在一块可以直接访问的共享空间,通过对这片共享空间进行 读/写实现进程之间的信息交换。
消息传递:进程的数据交换是以格式化的消息为单位。进程通过系统提供的发送消息和接收
消息俩个原语进行数据交换。分为直接通信方式和间接通信方式(信箱通信)
消息缓冲队列机制及接受发送的实现:略
管道通信:半双工通信,某一时间只能实现单向传输,没写满不允许读,没读空不允许写。
线程概念
轻量级进程,它是一个基本的 CPU 执行单元,也是程序执行流的最小单元,由线程 ID、程 序计数器、寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和 CPU 分派的基本单位。 不拥有系统资源、不同的线程可以执行相同的程序、同一进程中的各个线程共享该进程所有 资源,是处理机调度的基本单位。线程是进程内相对独立的执行单元,但不能单独运行,只 能在程序中运行。线程的切换可能会引起进程的切换。
引入线程的目的:减少程序并发执行时付出的时空开销,时OS具有更好的并发性
线程的实现:
用户级线程 KST:用户的视角能看到的
使用用户级线程的优点:
(1)线程的切换不需要转换到内核空间
(2)调度算法可以是进程专用的
(3)用户级线程的实现与 OS 平台无关,因为对于线程的管理的代码是属于用户程序的一
部分,所有的应用成勋都可以对峙矜持那个共享。
内核级线程 ULT:从操作系统视角能看到的。是处理机分配的基本单位。
多线程模型
多对一,一对一,多对多

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值