进程和程序有什么区别和联系(程序与进程)(1)

早期无操作系统的计算机系统,一个程序被装入内存开始运行直到运行结束这段时间内独占系统所有资源,因此系统吞吐量受限。

为了解决此问题,操作系统出现了,操作系统的核心功能之一是多任务并发、分时处理。支撑多任务并发执行的核心理念就是进程。系统运行的不再是一个程序而是被称为“进程”的实体,处于运行状态的进程不再独占系统的所有资源。

程序只是一个文件、一个静态的实体,包括数据段和指令,通常存储在磁盘等介质中。

进程是动态实体,是执行中(在内存中)的程序,是操作系统分配资源的最小单位,除了包括数据段、指令等静态内容外,还包括当前状态信息,如堆信息、栈信息、当前处理器所有寄存器的值等动态信息,这些动态信息被称为进程上下文。每个进程独有的资源有cpu时间片、虚拟地址空间、寄存器状态、文件句柄等。

一个程序可以形成多个进程。

,