第4章分布式进程管理 东北大学信息学院 于戈 2002年6月
第4章 分布式进程管理 东北大学信息学院 于 戈 2002年6月
主要内容 4,1进程和线程管理 42分布式处理机管理 4.3分布式容错系统 44分布式实时系统 4.5习题 2002-6-28 东北大学软件所于戈 第四章分布式进程管理
2002-6-28 东北大学软件所 于戈 第四章 分布式进程管理 2 主要内容 4.1 进程和线程管理 4.2 分布式处理机管理 4.3 分布式容错系统 4.4 分布式实时系统 4.5 习题
4.1进程和线程管理 口进程模型。例:4个程序组成的多道程序 逻辑上,4个独立的、顺序的进程的概念模型 -物理上,任意时刻只有一个是活动的 One program counter Four program counters A/Pro rocess switch A D D Time 2002-6-28 东北大学软件所于戈 第四章分布式进程管理 3
2002-6-28 东北大学软件所 于戈 第四章 分布式进程管理 3 4.1 进程和线程管理 ❑进程模型。例: 4个程序组成的多道程序 – 逻辑上,4个独立的、顺序的进程的概念模型 – 物理上,任意时刻只有一个是活动的
操作系统的进程结构 口调度器:处理分时中断、调度 rocesses 0 n-2|n-1 ●●● Scheduler 2002-6-28 东北大学软件所于戈 第四章分布式进程管理
2002-6-28 东北大学软件所 于戈 第四章 分布式进程管理 4 操作系统的进程结构 ❑调度器:处理分时中断、调度
进程的状态 1-进程a等待输入而阻塞,3-启动进程b运行 2-调度器选择另一个就4-当输入完成后进程a 绪进程b 进入就绪队列 Running 2 Blocked Ready 2002-6-28 东北大学软件所于戈 第四章分布式进程管理
2002-6-28 东北大学软件所 于戈 第四章 分布式进程管理 5 进程的状态 1 – 进程a等待输入而阻塞, 2 – 调度器选择另一个就 绪进程b 3 – 启动进程b运行 4 – 当输入完成后,进程a 进入就绪队列
进程的实现一进程表 进程管理 内存管理 文件管理 Registers Pointer to text segment Root directory e Program counter Program status word Pointer to data segment Working directory Stack pointer Pointer to stack segment File descriptors Process state User ID Priority Group ID Scheduling parameters Process ID Parent process Process group Signals Starting time CPU time used Children's CPU time Time of next alarm 2002-6-28 东北大学软件所于戈 第四章分布式进程管理
2002-6-28 东北大学软件所 于戈 第四章 分布式进程管理 6 进程的实现—进程表 进程管理 内存管理 文件管理 Registers Program counter Program status word Stack pointer Process state Priority Scheduling parameters Pointer to text segment Pointer to data segment Pointer to stack segment Root directory Working directory File descriptors User ID Group ID Process ID Parent process Process group Signals Starting time CPU time used Children’s CPU time Time of next alarm
中断处理和调度 1.将当前程序指钍压栈(硬件) 2.从中断向量取出新的程序指针(硬件) 3.保存当前寄存器(汇编,中断处理) 4.设置新的栈指钍(汇编,中断处理) 5.执行中断服务程序(C语言,中断处理) 6.调度器决定下一个运行的进程(C语言,调度器) 7.加载寄存器和内存映像(汇编,调度器) 8.启动新的进程(汇编,调度器) 2002-6-28 第四章分布式进程管理 7 东北大学软件所于戈
2002-6-28 东北大学软件所 于戈 第四章 分布式进程管理 7 中断处理和调度 1. 将当前程序指针压栈(硬件) 2. 从中断向量取出新的程序指针(硬件) 3. 保存当前寄存器(汇编,中断处理) 4. 设置新的栈指针(汇编,中断处理) 5. 执行中断服务程序(C语言,中断处理) 6. 调度器决定下一个运行的进程(C语言,调度器) 7. 加载寄存器和内存映像(汇编,调度器) 8. 启动新的进程(汇编,调度器)
线程的概念 口进程:相关的运行资源的管理单位 内存空间 打开的文件 子进程、信号处理、记账信息等 →资源分组 口线索:在CPU上执行的脉络 程序计数器、寄存器、栈 →执行 2002-6-28 东北大学软件所于戈 第四章分布式进程管理
2002-6-28 东北大学软件所 于戈 第四章 分布式进程管理 8 线程的概念 ❑进程:相关的运行资源的管理单位 – 内存空间 – 打开的文件 – 子进程、信号处理、记账信息等 资源分组 ❑线索:在CPU上执行的脉络 – 程序计数器、寄存器、栈 执行
线程模型 Process 1 Process 1 Process 1 Process User space Thread Thread Kernel Kernel Kernel space (b) 口多线程进程:一个线程被阻塞时,可运行同 一进程中的另一线程(阻塞→>就绪→运行) 口线程→进程;进程→处理机 2002-6-28 第四章分布式进程管理 9 东北大学软件所于戈
2002-6-28 东北大学软件所 于戈 第四章 分布式进程管理 9 线程模型 ❑多线程进程:一个线程被阻塞时,可运行同 一进程中的另一 线程(阻塞→就绪→运行) ❑线程进程;进程处理机;
线程模型 口每个线程可共享所属进程的资源 每个线程的项目 每个进程的项目 程序计数器 地址空间 堆栈 全局变量 寄存器组 打开的文件 子线程 子进程 状态 计时器 标志 信号量 计算信息 2002-6-28 第四章分布式进程管理 10 东北大学软件所于戈
2002-6-28 东北大学软件所 于戈 第四章 分布式进程管理 10 线程模型 ❑每个线程可共享所属进程的资源