一、初识进程
进程组成
进程包含了程序代码和当前活动(其中当前活动通过程序计数器和处理器寄存器的内容表示)两个部分,具体有:
- 文本段(代码段)
- 数据段(全局变量)
- 栈(stack)(包含临时数据、函数参数、返回地址、局部变量)
- 堆(heap)(进程运行期间动态分配的内存)
- 程序计数器
注意: 程序是被动实体,进程是活动实体(其中当前活动通过程序计数器和处理器寄存器的内容表示)
进程状态
进程有5种状态,包括:
- New(新的)
- Running(运行)
- Waiting(等待)
- Ready(就绪)
- Terminated(终止)
注意:一次只有一个进程能在一个处理器上运行(Running态),但在处理器上运行的时候,其他进程可以进行IO操作(想一下DMC模式)
进程控制块(PCB)
每一个进程都需要分配一定的信息,这些信息的仓库就叫做PCB,PCB有以下功能:
- 系统利用PCB 控制 和 管理 进程
- PCB是进程存在的唯一标志
- 操作系统通过PCB感知进程的存在
PCB中包含以下内容(信息):
- 进程状态(如上所述)
- 程序计数器:表示进程要执行的下个指令的地址
- CPU寄存器:与程序计数器一起,在出现中断时状态信息需要保存,使进程能够正确执行
- CPU调度信息:包括优先级、调度队列的指针等(见第五章)
- 内存管理信息:(见第八章)
- 记账信息:包括CPU时间、实际使用时间、时间界限、记账数据、作业和进程数量等