进程管理复习

进程管理

总领:OS是人类设计和实现的最大最繁琐的软件之一,它抽象于冯·诺伊曼计算机模型并对其实现自动化管理。其中处理器是模型中最核心的部分,而处理器管理的单位称为进程,为进一步提升资源利用率则多道程序设计应运而生。

处理器方面(软硬件)

在这里插入图片描述

指令系统(特权、非特权)
存储

寄存器、用户栈与核心栈

处理器状态
  • 内核态、用户态
  • 区别在于:是否被允许运行特权指令(安全)
程序状态字(PSW)
  • 实现程序状态的保护恢复

中断系统

是激活OS的唯一方式,是软硬件协作的典范。

中断分类
  • 硬中断、软中断
  • 软中断:中断(处理器外中断)、异常(处理器内中断)
  • 区别在于:1.产生方式 2.同异步 3.cpu状态 4.主被动 5.阻塞与否、嵌套可否
步骤响应
处理原则
优先级与多重中断

进程

PCB+数据+代码。顺序程序设计4特点、进程5特点属性

在这里插入图片描述

状态与转换
  • 三态模型、七态模型

(按照运行条件、拥有CPU)

在这里插入图片描述

描述与组成
Process Image 动态刻画
  • 进程控制块、程序块、核心块、数据块
Process Context 静态刻画(环境)
  • 用户级上下文、寄存器、系统级
PCB
  • 标识信息、现场、控制
  • 两种组织方式:链接、索引

在这里插入图片描述

在这里插入图片描述

进程各状态的实现
进程控制
进程控制原语
  • 创建、阻塞、撤销、挂起、激活

线程

  • 引入线程的意义及优点(轻量级进程)
  • 公有、私有部分
  • 实现:KLT、ULT、混合式
  • 模型:一对多模型、多对一、多对多

处理器调度

分层
  • 高级调度(作业调度,控制多道proc的道数)、中级调度(平衡调度,控制内存容纳进程数)、低级调度(进程/线程调度,决定CPU的分配)
原则(背计算公式)
  • 资源利用率、吞吐率、公平性(均衡)、响应时间、周转时间
作业管理与调度
  • 作业是程序、数据、作业说明书构成,JCB
  • 交互型作业(终端作业)、批处理作业
  • SPOOLing系统 输入井、输出井
  • 脱机、联机

低级调度

  • 剥夺式(抢占)、非剥夺式(非抢占)
  • 算法主要影响作业周转时间和等待时间
FCFS
  • 按照进入系统先后顺序来挑选作业
  • 非抢占式算法
  • 公平性算法
  • 易于实现,效率不高
SJF/SPF
  • 每次挑选最短运行时间的作业
  • 非抢占式
  • 优待短作业,长作业易饥饿
  • 效率较高
SRTF
  • 每次挑选最短剩余时间的作业
  • 抢占式
HRRF
  • 每次选最高响应比的作业
  • 非抢占式
  • 等待时间相同,运行时间短的作业优先;运行时间相同,等待时间长的优先
  • 效率介于SJF与FCFS之间
HPF
  • 根据当前进程的优先级来选择 ,优先级:进程的一种调度属性

  • 静态优先级:在进程创建时确定,之后不再改变

  • 动态优先级:随着占用CPU的时间而改变

  • 剥夺或非剥夺

RR
  • 规定每个进程运行的时间片,按照某种顺序(FCFS)轮流调度执行

  • 剥夺或非剥夺

  • 时间片长度的确定

MLFQ
  • 优先级不同分多就绪队列
  • 排队参考老化策略
解题思路
  • 公式
  • 画图:并发执行运行轨迹画法、甘特图

同步、通讯与死锁

进程交互

  • 同步(竞争、协助)、通讯
  • 竞争(进程互斥):死锁、饥饿; 协助(进程同步): 间接协助、松散、紧密
  • 进程互斥关系是一种特殊的进程同步关系
  • 并发实质:处理器在几个程序间多路复用
  • Bernstein条件:满足公式为交集则保证封闭性、可再现性, P125
  • Amdahl定律:可并行和顺序的比例对性能影响的公式
临界区
  • 并发进程中与共享变量有关的程序段称为临界区,临界资源是每次仅供一个进程使用的。
  • 临界区互斥三原则:互斥使用忙则等待有限等待、让权等待

同步

忙式等待策略(软硬件)
1.关中断
2. 测试并设置指令
3.对换指令
忙式等待缺陷
  • 忙等待,浪费cpu时间
  • 依赖os具体指令
  • 只能互斥,不适合控制多进程同时进入临界区
信号量和PV操作
  • P、V操作原语
  • 用法和可解决的问题
  • 信号量 按用途分: 公有私有;按取值分 二值一般
  • 信号量值的意义(等于、小于0、小于等于0)
  • PV成对出现,P操作次序最为重要
管程
  • 是一种记录型信号量,相比PV信号量是一个整体的数据结构,与类方法不同的是只被互斥调用
  • signal() wait(),可在高级语言实现
  • 分为工作区和等待区

IPC

信号通讯
  • When:传简单信息
  • What:发指定(预定义)的信号来通知另一个进程,接受方根据信号类型执行处理
  • How:产生、传递、捕获、释放
管道通信
  • When:同一台PC传大量数据

  • What:单向FIFO,Unix OS特有的进程间通信方式

  • How:临时-> 创建、打开、关闭、读写

    ​ 有名管道-> FIFO通信机制,以文件形式存于FS,可直接用,用时读写

共享内存
  • When:同一台PC传大量数据
  • What:多进程共有shared memory,所有进程都可以读写该区
  • How:虚拟存储实现
消息传递
  • When&What:不同进程(甚至不同主机上的不同进程)间传递大量数据

  • How:消息队列方式实现。两原语 send() 、receive() 皆有阻塞(同步)or非阻塞(异步)方式

死锁

死锁四大条件

  • 互斥、占用和等待、不剥夺、循环等待
  • 一般不破坏互斥条件

死锁控制

(动静结合)

事前 ———— 防止(预防)—— 规则(顺序资源分配法)
 |  |
 |	———— 避免  ———————— 银行家算法(不限制申请资源顺序,限制分配资源顺序)
 |
事后 ———— 检查与解除 ———— 死锁检查算法 or 资源分配图和死锁定理(找环的回路),恢复(kill P、剥夺资源、保存检查点、重启)
思考
  • 死锁与饿死
  • 活锁与饥饿

经典同步问题

哲学家吃面
  • 等叉子方案
  • 等盘子方案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值