一、进程
程序:是静态的,就是个存放在磁盘里的可执行文件,就是一系列的指令集合。
进程(Process):是动态的,是程序的一次执行过程。进程是在计算机的内存中运行的程序的实例
进程:
- 定义: 进程是程序的一次执行。它是计算机系统中正在运行的程序的实例。
- 特征: 每个进程都有自己的地址空间、代码、数据、堆栈、寄存器等,并且在执行时与其他进程相互隔离。
- 创建: 进程可以由操作系统启动,也可以由其他进程创建。
进程控制块(PCB):
-
定义: 进程控制块是操作系统用来维护和管理进程状态信息的数据结构。每个进程都有对应的进程控制块。
-
内容: 进程控制块中包含了关于一个进程的所有必要信息,以便操作系统能够有效地管理和控制这个进程。常见的信息包括:
- 进程标识符(PID): 唯一标识一个进程的整数。
- 程序计数器(Program Counter): 存储下一条将要执行的指令的地址。
- 寄存器状态: 包括通用寄存器、程序状态字(PSW)等。
- 进程状态: 描述进程当前的状态,如运行、就绪、阻塞等。
- 调度信息: 包括进程的优先级、调度队列指针等。
- 内存管理信息: 进程的地址空间信息,如基址寄存器、界限寄存器等。
- 文件描述符表: 记录了进程打开的文件信息。
- 进程所拥有的资源: 包括分配给进程的内存、打开的文件、使用的设备等。
- 进程控制信息: 包括父进程、子进程、进程创建时间、累计 CPU 时间等。
-
作用: 进程控制块的主要作用是在进程的不同状态之间切换时保存和还原进程的上下文,以及为操作系统提供对进程的管理和控制功能。
总体而言,进程和进程控制块是操作系统中关键的概念,它们为多任务和多进程的管理提供了基础。进程控制块存储了操作系统需要了解和管理的所有关于进程的信息
二、进程特征
-
动态性:
- 进程是程序的一次执行过程,是动态地产生、变化和消亡的。这意味着进程可以在运行时创建、终止或者改变状态,使得系统能够灵活地适应各种工作负载。
-
并发性:
- 内存中有多个进程实体,它们可以并发执行。这允许多个任务在同一时间片内进行,提高系统的吞吐量和响应性。
-
独立性:
- 进程是能够独立运行、独立获得资源、独立接受调度的基本单位。每个进程都有自己的内存空间、执行上下文和资源。它们是相互隔离的,一个进程的问题不会直接影响其他进程。
-
异步性:
- 各个进程按照各自独立的、不可预知的速度向前推进,表现出异步性。这意味着进程的执行是不同步的,操作系统需要提供进程同步机制来解决可能的竞态条件和资源冲突。
-
结构性:
- 每个进程都会配置一个进程控制块(PCB)。PCB 包含了关于进程的所有必要信息,如进程标识符、状态信息、寄存器内容、资源分配情况等。结构上看,进程由程序段、数据段和 PCB 组成。
这些特性共同构成了进程的基本概念,使得操作系统能够有效地管理和调度多个任务,实现并发执行、资源共享和动态适应系统工作负载的能力