操作系统学习笔记(4)

来源:互联网 发布:地球仪地图软件 编辑:程序博客网 时间:2024/06/06 01:48

进程管理:

基础:进程描述及控制
策略:进程调度
实现:互斥与同步
避免:死锁与饥饿
解决:几个经典问题
关于:进程通信

=========
进程的引入:

程序顺序执行:
程序:源代码、目标程序、可执行程序
程序执行:编辑、编译、链接、执行
程序结构:顺序结构、分支结构和循环结构
特征:顺序性、封闭性、可再现性

程序的并发执行:
多道程序设计技术:多个程序并发执行
特征:间断性、非封闭性、不可再现性


程序并发执行引发的问题:
1。协调各程序的执行顺序
2。进程之间可能有影响
3。作业调度和进程调度

进程的概念:可并发执行的程序,在一个数据集合上的运行过程。
特点:申请/拥有资源~调度(线程)
程序:静态概念,是指令和数据的集合,可长期存储
一个程序可以对应一个进程或多个进程
一个进程可以对应一个程序,或一段程序

进程的特征:
1。动态性
2。并发性
3。独立性
4。异步性


引入进程带来的问题:
1。增加了空间开销:数据结构
2。额外大的时间开销:保护现场
3。更难控制:
4。处理机的竞争尤为突出

进程的结构:
组成:程序、数据集合、进程控制块PCB
PCB是进程存在的唯一标志。

PCB:
进程标识信息:进程的内部和外部标识符
处理机状态信息:
进程调度信息:进程状态、进程优先权、进程调度的其他信息。
其他信息:程序及数据地址、进程同步和通讯机制、资源清单、链接指针。

PCB的组织方式之一:单一队列
所有PCB组成一个单一队列。(适用于进程数目不多的系统)

PCB的组织方式之二:表格结构
PCB按进程状态不同,组织成不同的表格:就绪进程表、执行进程表(多机系统)、阻塞进程表。
系统记载PCB表的起始地址。

PCB的组织方式之二:多级队列
类似于表格的组织方式。


=========================
进程的状态:

进程执行轨迹:
进程执行的指令序列,来观察处理机的执行过程。

两状态进程模型:
执行、未执行

两状态进程模型:队列形式

“未执行”:ready、blocked(等待I/O,需要数据)

进程的五状态:
1。执行状态(running)
2。就绪状态(ready)
3。阻塞状态(blocked)    -在等待某个事件的发生。
4。新状态(new)    -进程已被创建,但不是可执行进程(有些资源没有分配到,不满足执行条件)。
5。终止状态(terminated)    -从执行状态转换出来的状态。

执行->就绪(时间片用完/优先级高的进程剥夺了CPU)

注:
某些系统容许父进程在任何情况下终止其子进程。
如果一个父进程被终止,其子进程都必须终止。


问题:多个进程竞争内存资源
内存资源紧张
无就绪进程,处理机空闲:IO速度慢,全部阻塞
解决办法:
1。采用交换技术
2。采用虚拟存储技术:每个进程只能装入一部分程序和数据。