操作系统作用
- 管理系统的硬件、软件、数据资源
- 控制程序运行
- 人机之间接口
- 应用软件与硬件之间接口
特殊操作系统
分时操作系统
采用时间片轮转,为多个用户提供服务
特点
- 多路径
- 独立性
- 及时性
实时操作系统
实时控制系统和实时信息系统
特点
规定时间内响应
网络操作系统
方便共享资源,提供网络服务
- Unix
- Linux
进程管理
进程的状态
flowchart LR A[运行] B[就绪] C[等待] A -->|等待某个事件| C C -->|等待事件发生| B B -->|调度| A A -->|时间片到| B
进程与线程的概念
flowchart LR subgraph 进程 direction LR subgraph 线程1 T1["程序计数器<br>寄存器<br>栈"] end subgraph 共享区 S["内存地址空间<br>代码<br>数据<br>文件等"] end subgraph 线程2 T2["程序计数器<br>寄存器<br>栈"] end end T1 --- S T2 --- S
进程的同步与互斥
互斥
同类资源竞争关系。间接制约操作
同步
速度有差异,在一定情况下等待,进程间协作关系。直接制约操作
临界资源
进程间需要互斥方式对其进行资源共享。如:打印机
信号量
可以表示资源数量;为负数时可以表示排队进程数
PV 操作
| 操作 | 含义 | 本质 |
|---|---|---|
| P(S) | 申请资源 | S— |
| V(S) | 释放资源 | S++ |
前驱图
前驱活动完成后通知所有后继活动 后继活动开始前要检查前驱活动是否完成
前驱图表示
- 1 个箭头表示 1 个前驱关系
- A 有箭头指向 B,记录(A,B)
- 没有前驱进程的结点为初始进程,没有后继结点的进程为终结进程
技巧
- 有后继就 V 操作释放资源并通知后继,有前驱就有 P 操作检查资源
- 实现并发的信号量初始值一般为0
死锁及银行家算法
死锁
进程管理是操作系统的核心。如果一个进程在等待一个不可能发生的事,则进程就死锁
银行家算法
资源分配的限制 当一个进程对资源的最大需求量不超过系统中的资源数就可以接纳该进程 进程可以分期请求资源,但总请求数不能超过做大需求量 当系统的资源不能满足进程需要的资源数,对进程请求可以推迟分配