进程的定义
what and why?
定义:一个具有独立功能的程序在一个数据集合上的动态执行过程
为什么要有进程?
表示一个进程的多个实例;
进程的组成
- code
- data
- pc
- 寄存器,堆,栈
- 一组系统资源(cpu,内存,打开的文件,网络等)
一系列表示进程状态的信息
程序和进程的关系
程序是进程产生的基础
每次运行程序产生一个新的进程
进程是程序功能的体现
进程通过调用可包含多个程序
进程是动态的,暂时的,有内核态,用户态之分(比如一个进程要读文件,进程会给os发送请求,由os完成文件的读取,此时进程就处于内核态),程序是静态的,永久的
进程的特点
- 动态性 状态变换
- 并发性
- 独立性(基于页表)
- 制约性(同步互斥)
进程的控制结构(PCB)
进程控制块和进程一一对应
- 进程标示信息 pid 所属用户 父进程等 ps 命令
- 进程状态信息 寄存器里
- 进程控制信息 控制进程处于不同状态 通信 管理内存 文件 等资源 进程关系(进程链表)