进程的引入
由于早期未配置os的系统和单道批处理系统中程序是顺序执行的,然而这种方式浪费资源、系统资源利用率较低,从而出现了多道批处理系统。内存中可以同时装入多个程序,使其共享资源、并发执行。为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,于是引入了“进程”
什么是进程?
进程是程序的一次执行;
是一个程序及其数据在处理机上顺序执行时所发生的活动;
是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源进行分配和调度的一个独立单位。
进程(又称为进程实体)由三部分组成:PCB(进程控制块)、程序段和相关数据段
进程控制块PCB
1.PCB作为进程实体的一部分,记录操作系统所需的用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的记录型数据结构。我们认为,创建进程就是创建一个PCB,销毁进程也就是销毁进程的PCB。它的作用是使一个能在多道程序环境下不能独立运行的程序称为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。
PCB中主要包含以下四方面的信息:
1)进程标识符:用于唯一的标识某一个进程
2)处理机状态(又称处理机上下文):主要由处理机的各种寄存器中的内容组成,当进程被切换时,处理机状态信息被保存起来以便重新执行时可以继续执行
寄存器主要包括:
通用寄存器:用于暂存信息(大多数处理机有8~32个)
指令计数器:存放将要访问的下一条指令的地址
程序状态字PSW:是运算器的一部分,分两类:一种是体现当前指令结果如是否有进位、是否为零,另一种是存放控制信息如允许中断、跟踪标志等
用户栈指针:每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址,栈指针则是指向该栈的栈顶
3)进程调度信息:存储当前进程的进程状态、进程优先级、进程调度所需的其他信息(与调度算法有关的信息如进程等待CPU的时间、已执行的时间等)和事件(从执行状态到阻塞状态的原因)
4)进程控制信息:用于进程控制的信息,包括:程序和数据的地址、进程同步和通信机制、资源清单和链接指针(该进程所在队列中的下一个PCB的首地址)
2.PCB的组织方式:
在一个系统中常有数百乃至上千个PCB,为了对他们加以有效的管