单道程序不足:
执行特点:静态的 孤立的
具体特性:顺序性 封闭性 可再观性 资源独占性
提出并发执行:
是指多个程序段之间在执行时间上重叠。
多程序段同时在系统中运行。
宏观上并行,微观上串行。
问题:资源冲突、甚至死锁
与“时间有关的错误”
进行多道程序设计
进程的定义:
进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。是系统动态执行的基本单位,是系统进行资源分配的独立单位。(进程:程序=N:N)
进程与程序的区别:
程序:静态、指令集合、无生命周期、可保存、不是进程调度和分配资源的单位。
进程:动态、执行过程、有生命周期、不可保存、是进程调度和分配资源的单位。
进程是由程序、数据和进程控制块三部分组成;进程具有创建其他进程的功能,而程序没有。
进程的基本状态:
运行态:进程占有CPU,并在CPU运行。在单CPU系统中,最多只有一个经常处于运行态。
就绪态:进程以具备运行条件,当由于无CPU暂时不能运行状态(当调度给CPU时,立即可以运行)。处于就绪状态的进程可以有多个。队列的排列一般按优先级大小来排列。
阻塞态:进程等待某种事件的发生而暂时不能运行的状态,即使CPU空闲,该进程也不能运行。处于阻塞状态的进程可以有多个。
进程状态之间的转换
进程控制和管理的关键数据结构PCB
进程控制块PCB:用于记录程序运行过程中的动态信息
每个进程都对应一个PCB
PCB保存着进程控制和进程管理所需的所有信息
Unix中的PCB为proc和user结构
Linux中的PCB结构为task_struct(定义在sched.h中)
进程的特点:动态性、并发性、独立性、异步性
进程映射基本元素:用户数据、用户程序、系统栈和进程控制块
进程映像:
程序是进程的静态部分,可见
PCB是进程的动态部分,不可见
PCB
记录OS控制和管理进程所需的所有信息。
是进程属性的动态描述。
基本组成:进程标识(PID、父进程、家族关系、用户ID)
处理器状态及现场(寄存器状态、IP、堆栈等)
进程控制信息(状态、优先权、资源情况等)
网友评论