操作系统
概念
操作系统是控制和管理计算机软硬件资源,以尽可能合理、有效的方法组织多个用户共享多种资源的程序集合
作用
- 通过资源管理提高计算机系统的效率
- 改善人际界面面向用户提供友好的工作环境
特征
- 并发性
- 共享性
- 虚拟性
- 不确定性
进程管理
概念
进程是一个具有独立功能的程序关于数据集合的一次可以并发执行的运行活动,是系统进行资源分配和调度的基本单位。
组成
- PCB[进程控制块]
包括进程的描述信息、控制信息和资源信息,是进程动态特性的集中反映;唯一标识 - 程序
描述了进程所要完成的功能 - 数据
描述了程序运行所需要的数据部分和工作区
进程的状态
注意:阻塞无法直接转换成运行,就绪无法直接阻塞
进程的同步与互斥
信号量
信号量是一个二元组(S,Q),其中 S 是一个整形变量,初值为非负数,Q 为一个初始状态为空的等待队列
前驱图
反应了任务间的并行,任务间的先后顺序
上图表示:S1和S2可以并行执行,S3需要在S1和S2之后执行,S4需要在S3之后执行
进程资源图
用来表示进程和资源之间的分配和请求关系
R表示资源,P表示进程
箭头指向R表示还需要一个资源,箭头执行P表示给进程p一个资源
临界资源
各进程间需要以互斥方式对其进行访问的资源
临界区
进程中对临界资源实施操作的那段程序
PV操作
P表示申请资源 V表示释放资源
生产者与消费者
需要的信号量:
s1- 仓库的独立使用权【这里需要说明是仓库是互斥使用的】
s2 - 空闲仓库的个数
s3 - 商品的个数
# 生产者
生产一个商品S
p(s1)
p(s2)
将商品放入仓库中
v(s3)
v(s1)
# 消费者
消费一个商品S
p(s1)
p(s3)
将商品从仓库中取出
v(s2)
v(s1)
死锁问题
系统中两个或两个以上的进程无限期地等待永远不会发生的条件,系统处于一种停滞状态,这种现象就称为死锁。
产生死锁的条件
- 互斥条件。任一时刻只允许一个进程使用资源。
- 不剥夺条件。进程已经占用的资源,不会被强制剥夺。
- 请求与保持条件。进程在请求其余资源时,不主动释放已经占有的资源。
- 环路条件。环路中每一条边是进程在请求另一个进程已经占有的资源。