2.1.1进程的概念、组成、特征
进程vs程序
- 程序:静态的 可执行文件
- 进程:动态的 程序的一次执行过程
进程的组成
- PCB/进程控制块:操作系统个管理进程所需要的信息,都记录在这,组成
- 进程描述信息
- PID:进程唯一的身份标识
- UID:进程所属用户ID
- 进程控制和管理信息
- CPU、磁盘、网络流量使用情况统计
- 进程当前状态
- 资源分配清单
- 正在使用哪些文件、正在使用哪些内存区域、正在使用哪些I/O设备
- 处理机相关信息
- 如PSW、PC等等寄存器的值——>用来实现进程切换
- 进程描述信息
- 程序段:程序的代码
- 数据段:运行过程当中产生的各种数据
PCB是给操作系统用的——方便操作系统管理
程序段、数据段是给进程自己用的
程序的运行过程
- 代码经过编译链接形成可执行文件==一系列指令
- 运行时将指令读入内存,创建对应的进程(创建对应的PCB)
- cpu从内存的程序段中读取指令、执行
- 运行过程中产生的数据保存在数据段
进程是系统进行资源分配和调度的一个独立单位
进程的特征:
- 动态性
- 并发性
- 独立性:进程是能独立运行、独立获得资源、独立接受调度的基本单位
- 异步性:各进程按照各自独立的、不可预知的速度向前推进,操作系统要提供“进程同步机制”来解决异步问题
- 结构性:进程——>PCB+程序段+数据段
2.1.2进程的状态和转换
进程的状态转换
进程的组织
链接方式:
执行指针—>PCB1(指向当前处于运行态的进程,多少个cpu=最多有多少个进程处于运行态)
就绪队列指针—>PCB2—>PCB3—>PCB4(指向当前处于就绪态的进程,通常会把优先级高的进程放在队头)
阻塞队列指针—>PCB5—>PCB6
操作系统还会根据阻塞原因不同再分为多个阻塞队列,比如说:等待打印机的阻塞队列,等待磁盘的阻塞队列