计算机概览
在计算机中,CPU是核心的硬件资源,承担了所有的计算任务;内存资源承担了运行时数据的保存任务;外存资源(硬盘等)承担了数据外部永久存储的任务。其中,计算任务的调度、资源的分配由操作系统来统领。应用程序以进程的形式运行于操作系统之上,享受操作系统提供的服务。
进程的结构
一个进程由程序段、数据段和进程控制块三部分组成。
- 程序段:一般称为代码段,是进程的程序指令在内存中的位置,包含了需要执行的指令集合。
- 数据段:是进程的操作数据在内存中的位置,包含需要操作的数据集合。
- 程序控制块(Program Control Block,PCB):包含进程的描述信息和控制信息,是进程存在的唯一标志。
程序控制块组成
-
进程的描述信息
主要包括:进程ID和进程名称,进程ID是唯一的,代表进程的身份;进程状态,比如运行、就绪、阻塞;进程优先级,是进程调度的重要依据。
-
进程的调度信息
主要包括:程序起始地址,程序的第一行指令的内存地址,从这里开始程序的执行;通信信息,进程间通信时的消息队列。
-
进程的资源信息
主要包括:内存信息,内存占用情况和内存管理所用的数据结构;I/O设备信息,所用的I/O设备编号及相应的数据结构;文件句柄,所打开文件的信息。
-
进程上下文
主要包括执行时各种CPU寄存器的值、当前程序计数器(PC)的值以及各种栈的值等,即进程的环境。在操作系统切换进程时,当前进程被迫让出CPU,当前进程的上下文就保存在PCB结构中,供下次恢复运行时使用。