参考:《操作系统--内核与设计原理 》William
操作系统的基本职责是控制进程的执行,包括给进程分配资源和确定交替执行的方式。可以把操作系统看做管理资源的实体。进程可以看做是管理资源的最小单位,线程是执行程序的最小单位。进程的理解可分为三部分:进程的状态,进程描述,和进程的控制。
一、进程的状态
1.进程
进程的基本是执行驻留在内存中的指令。
由分派程序控制进程间的切换,以提高处理器的利用率。
2.进程状态模型
新建 就绪 运行 退出 阻塞 挂起
新建:
①新建原因:新批处理作业,交互式登陆,提供一项新服务而创建,由现有进程创建。
②存放位置:辅存(虚存),没有在主存中分配空间
③过程:将标识号关联到进程,分配和创建管理进程所需要的所有表。
关于新建进程的信息保存在主存的进程表中。
就绪:代码和数据加载到虚存。
退出:
①原因:自然终止(自愿),运行出错终止(自愿),被别的进程杀死(非自愿),系统出错终止(非自愿)
②与作业相关的表和临时信息被操作系统保留,为辅助程序和支持程序提供了提取所需信息的时间,一旦被提取,系统就不在 保留
阻塞:进程请求他必须等待的事情
挂起:交换的需要。因为阻塞,为了提高CPU利用率,将其他就绪的进程换入内存,将主存中进程一部分或全部被换出,进入挂起队列。系统执行了一个换出操作之后,即从挂起队列中取出一个先前被挂起的进程执行。先前被挂起的进程由于阻塞被挂起,当导致阻塞的特定事件发生时,就不再阻塞,可以执行了。
3.数据结构:阻塞队列和就绪队列
二、进程的描述
操作系统如何管理进程实体?通过构造它所管理的每个实体的信息表
进程表:进程位置和进程属性。
( 1)一个进程在其内存有相应的进程映像(程序、数据、栈和进程 控制块),进程控制块是与操作系统用于控制进程的属性的集合。进程在主存中的位置取决于所选择的进程控制方案。
(2)进程控制块的典型元素
进程标识,处理器状态信息,进程控制信息。
3.进程控制
(1)程序运行的两种模式: 较多特权模式(系统模式),较少特权模式(用户模式),PSW中一个控制位来切换两种模式。
(2)进程的运行过程
进程创建
①给进程关联一个标识
②给进程分配空间
③初始化进程控制块
④设置正确的链接;即把它放在就绪或就绪\挂起的链表中
进程切换
①何时切换: 中断,陷阱,管理程序调用
②模式切换:可以不改变进程的运行状态
③一个完整的切换过程:
1.保存处理器状态:程序计数器,和各种寄存器
2.更新当前进程的进程控制块信息。
3.把进程的进程控制块移到相应的队列
4.选择新的进程
5.更新进程控制块
6.更新存储管理数据结构
7.恢复处理器就近一次切换出运行状态的上下文环境。
四。操作系统的执行方式
1. 独立内核
2.在用户程序中执行的内核函数
3.作为一个独立进程的操作系统函数。