Download presentation
Presentation is loading. Please wait.
1
进程概念
2
大家熟悉的程序执行模型
3
最理想的多任务模型 Program A Program B
4
进程概念 An operating system executes a variety of programs:
Batch system – jobs Time-shared systems – user programs or tasks 为什么不能沿用“程序”?为什么“进程”? different data with same program different program with same data
5
进程的定义 教科书曾经用过job、process、task等词汇描述这个概念
Process – a program in execution; process execution must progress in sequential fashion 进程映像image不仅有program, A process also includes: program counter,当前执行位置 Stack, 伴随的数据 data section, 伴随的数据
6
内存中的进程Image示例
7
进程状态 进程执行过程中,它变换着状态 new: 进程被创建 running: 进程的代码正在解释执行
waiting: 进程等待某个(某些)事件发生 ready: 进程准备就绪, 等待分配一个CPU来解释执行 terminated: 进程被终止执行
8
进程状态迁移示例
9
进程控制块(PCB) 进程通常与下列信息关联 Process state Program counter CPU registers
CPU scheduling information Memory-management information Accounting information I/O status information THAT SPECIFIC TO THE PROCESS 随后以Linux PCB为例, “示例:Linux的PCB.doc”
10
PCB示例
11
进程调度队列,动态反映操作系统全貌 Job queue – 等待进入计算机系统的待处理任务
Ready queue – 驻留内存,准备就绪,等待CPU Device queues – 等待I/O设备的进程 进程一经创建,即在这些队列之间迁移,直至被终止
12
就绪队列,各种I/O等待队列
13
一个进程在队列间迁移 Scheduler
14
进程上下文切换(Context Switch)
CPU任何时候只能为一个进程服务 当CPU转向为另外一个进程服务时,由于CPU内部资源有限,它必须保存原有(转换前)进程的状态,装入待服务(转换后)进程的状态,也即“进程上下文切换” “状态”指寄存器、标志位、堆栈等当前值 上下文切换时间是一种额外开销(overhead),因为期间CPU不做对用户进程直接有益的事 上下文切换时间决定于CPU硬件支持力度
15
进程切换
16
END
Similar presentations