进程对于操作系统之重要不容置疑
进程 (Process)
- 是操作系统最核心的概念之一;
- 是操作系统要面对的最核心的管理对象;
- 是占用CPU资源和其他资源的实体
- 用户的所有程序均通过进程的形式运行;
- 操作系统给用户提供的各种服务也是以进程的形式运行。
- 进程管理模块是操作系统最核心的一个模块。
- 学习操作系统内核从学习操作系统如何建立、管理、调度进程开始。
什么是进程
- 一个正在计算机.上执行中的程序;
- 一个能分配给处理器执行的实体;
- 一个具有以下特征的活动单元:一组指令序列的执行、一个当前状态和相关的系统资源集。
简言之,进程是一个程序的一次动态执行。
操作系统为什么要引入进程
不引入“进程”,使用“程序”最为管理对象,可以吗?
这个程序存储在外存,用户听歌时0S为这个程序分配内存空间,装入内存,
调度这个程序占用CPU执行,给这个程序分配输入输出设备…
如果要同时播放两首曲子呢?
同一个程序的两次运行过程各自独立,独立占用CPU执行解码指令,独立占有资源,独立处理各自的数据文件…此时程序作为运行单位,显然行不通了。
一个程序的两次执行过程,在操作系统那里是相互独立的运行实体。
操作系统需要引入“进程”:
- 使用“ 进程”描述每一个程序的每一次动态执行;
- 通过“进程实体”来管理控制每一个程序的每一次执行过程
操作系统需要引进“子进程”,使大程序的程序段可以并发,以加快程序推进并且提高CPU利用率
现代操作系统视多道程序设计系统
多道程序并发运行,共享CPU,内存,I/O设备等资源
并发运行方式的基本特征
- 异步特征
- 资源共享特征
- 相互制约特征
- 不可重现性特征(例如抢票)
进程和程序之间的区别
程序: 完成一件事的代码序列。
进程: 是一个程序的一次动态执行过程
- 程序是静态的;进程是动态的。
- 程序只包含代码:进程包括要运行的代码。代码要处理的数据,运行过程中的状态参数等
进程与程序的关联
- 进程是操作系统为了管理控制程序的运行而加设的一个概念和实体;
- 程序不运行,就没有进程;一个进程是一个程序的一次执行过程
- 一个程序可能对应多个进程
分清楚:作业,程序,进程
- 作业:用户提交给系统的一个计算任务。批作业=程序+数据+作业控制说明书,交互作业=程序+数据+交互命令,作业是用于人机之间交互的一个概念。
- 程序是作业的组成部分。
- 进程对应一个程序的一次动态执行过程。