进程的引入
-
顺序程序
顺序程序就是指程序在计算机上严格按照写入的顺序执行。顺序也是指不同程序的按序执行。顺序程序设计具有下面的特征:
- 顺序性:当多个程序在处理机上运行时,处理机严格按照程结构所指定的顺序执行,程序的每一步都必须在上一步执行后才能执行。
- 资源独占性:一个程序在执行时,独占全部资源。
- 可再现性:如果程序的初始条件相同,则其执行的结果相同与程序的执行速度无关,即在同一数据集上执行的结果均相同。
-
多道程序设计
-
主存。中有多道程序,它们在任何时刻就必须处在就绪、运行、和
阻塞三种状态之一。 -
宏观上并行。
-
微观上串行。
-
主要优点:
- CPU的利用率高。
- 设备的利用率高。
- 系统吞吐量大。
ps:
与单道程序设计相比,多道程序设计复杂很多。计算机需要足够大内存,对各种外围设备的调度和管理也是一个挑战。
- 程序并发执行的特性
- 程序执行结果的不可再现性。
- 独立性和制约性
- 程序执行的间断性
- 资源共享
- 程序和计算的不一致
进程的定义和控制
- 进程的定义
- 进程是程序的一次执行。
- 进程是可以和别的计算并发执行的计算。
- 进程是定义在一个数据结构上并且能在其上执行操作的一个程序。
- 进程是程序在一个数据集合上运行的一个过程。它是操作系统进行资源分配和调度的基本单位。
- 进程的组成
- PCB:描述和控制信息。
- 数据区:保存程序运行的变量。
- 工作区:我们通常说的堆栈区,保存局部变量和函数调用。
- 程序:文本段。
-
PCB
- 进程标识信息:进程的内部(系统分配给它的标示)和外部标示符(name of a person)
- 处理机状态信息:通用寄存器值,指令计数器值,程序状态字PSW值,用户栈指针值
- 进程调度信息:进程状态,进程优先权,进程调度的其他信息
- 其他信息:程序及数据指针,进程同步和通讯机制,资源清单,连接指针
-
PCB的组织方式
-
单一队列:所有进程的PCB通过链表组织成为一个单一队列。适用于进程数目不多的系统。如windows操作系统
-
表格结构(查找效率较高)
- PCB按进程状态不同组织成不同的表格:就绪进程表,执行进程表(多机系统中)及阻塞进程表
- 系统分别记载各PCB表的起始地址
-
PCB多级队列
-
进程的状态
进程的三状态
-
顶