主要对书本上进程描述和控制方面的知识进行整理。
1、进程和进程控制块
进程由程序代码和代码相关的数据集以及进程控制块(PCB)组成。
程序控制块是存放一个进程以下列表中信息的数据结构,该控制块由操作系统创建和管理。进程控制块是操作系统能够支持多进程和提供多处理的关键工具。对于一个单处理器计算机,在任何时候都最多只能有一个进程在执行,正在运行的这个进程的状态为运行态。
PCB通常记载进程之相关信息,包括:
- 程序计数器:接着要运行的指令地址。
- 进程状态:可以是new、ready、running、waiting或 blocked等。
- CPU暂存器:如累加器、索引暂存器(Index register)、堆栈指针以及一般用途暂存器、状况代码等,主要用途在于中断时暂时存储数据,以便稍后继续利用;其数量及类因电脑架构有所差异。
- CPU排班法:优先级、排班队列等指针以及其他参数。
- 存储器管理:如标签页表等。
- 会计信息:如CPU与实际时间之使用数量、时限、账号、工作或进程号码。
- 输入输出状态:配置进程使用I/O设备,如磁带机。
程序、数据、栈和进程控制块的集合称为进程映像。外存保留了进程映像中的所有段(或页)的拷贝,特别是在使用虚拟内存的系统中,进程映像的的一部分加载到内存中,其加载过程是
复制而非移动。
2、操作系统为了控制进程和管理资源需要哪些信息?
我们可以把操作系统看做是管理系统资源的实体,为了管理进程和资源,操作系统构造并维护它所管理的每个实体的信息表。主要有以下四种不同类型放入表:内存、I/O、文件和进程。
内存表用于跟踪内(实)存和外存(虚拟内存)。
I/O表管理计算机系统中的I/O设备和通道。
文件表提供表示文件是否存在、文件在外存中的位置、当前状态和其他属性。
进程表是操作系统为了管理进程维护的,内存、I/O和文件是代表进程而而被管理的,所以
进程表中必须有对这些资源的直接或间接引用。
3、处理器执行模式
大多数操作系统支持两种执行模式。
用户态:非特权态、目态,用户程序通常在此模式下运行
系统态:特权态、控制态、内核态、管态,内核态指的是操作系统的内核,这是操作系统中包含重要系统功能的部分。在内核态下,软件具有对处理器以及所有指令、寄存器和内存的控制能力。程序状态字(PSW)中有一位表示执行状态。
4、进程创建的步骤
1)给新进程分配一个唯一的进程标识符
2)给新进程分配空间
3)初始化进程控制块
4)设置正确的连接