文档详情

操作系统第2章--进程和线程.ppt

发布:2018-05-13约5.55千字共38页下载文档
文本预览下载声明
Windows 2000的进程管理 ● Windows 2000中的进程是资源分配的基本单位, Windows 2000中 的进程作为对象来管理,可以通过句柄引用进程对象。 ●为了支持Win32、OS/2、POSIX等多种运行子环境, Windows 2000 核心的进程之间没有任何关系(包括父子关系)各运行环境子系统分别 建立、维护和表达各自的进程关系。 Windows2000的执行体进程块EPROCESS—PCB ●虚拟地址空间描述表 ●对象句柄列表 ●线程块列表 Windows2000进程的特点: ●进程作为对象实现 ●一个进程可含有多个线程 ●进程对象与线程对象都具有同步能力 Windows2000进程控制 ● Windows2000的进程控制由各环境子系统相应的 系统调用来实现 ● Win32子系统用于进程控制的系统调用有: CreateProcess创建新进程及其主线程 ExitProcess终止进程及其所有线程,并关闭所有的对象句柄。 TerminateProcess终止进程及其所有线程,不关闭所有的对象句柄,用于异常情况下的进程终止。 Windows2000的线程 Windows2000的线程是内核支持线程。系统调度以线程为单位。线程上、下文(TCB)主要包括: ●线程控制块 ●核心栈 ●用户栈 Windows2000的线程状态转换图 Windows2000的线程控制用系统调用 ● CreateThread 创建线程 ● ExitThread 结束当前线程 ● SuspendThread 挂起指定线程 ● ResumeThread 激活指定线程 ● —— 计算机操作系统(第2版) P70/ ● 5 ● 6 ● 7 ● 8 ● 9 思考 ● —— 作业 P214/ ● 5 ● 6 ● 7 操作系统试验指导 * * 跳转到第一页 跳转到第一页 第2章 进程管理 ●进程的引入 ●进程的状态及其组成控制 ●线程 ●进程控制 本章要点 程序的顺序执行 特点 ●顺序性:处理机的操作严格按规定顺序执行 ●封闭性:程序执行时,独占系统资源 ●可再现性:当初始条件相同时,程序多次执行的结果相同 P1:a=x+y P2: b=a-5 P3: c=b+1 ● 2.1进程的引入 程序的并发执行 P1: a=5 P2: b=6 P3: c=a+b P4: d=c+1 特点 ●间断性:程序在并发执行时,形成了相互制约关系。相互制约将导致并发程序具有“执行—暂停—执行”这种间断性的活动规律 ●失去封闭性:系统中的资源供多个程序共享,致使程序的运行失去了封闭性 ●失去可再现性: 程序并发执行的条件Bernstein Bernstein条件 读集:R(Pi)={a1,a2,……,am} 程序Pi执行期间参考的变量集合 写集:W(Pi)={b1,b2,……,bm} 程序Pi执行期间改变的变量集合 两个进程P1, P2若满足: R(P1)∩W(P2)∪R(P2)∩W(P1)∪W(P1)∩W(P2)={} 则P1, P2并发执行,且具有可再现性。 P1: a=5 P2: b=6 P3: c=a+b P4: d=c+1 P1、P2可以并发执行吗? P3、P4可以并发执行呢? 问题? P1: a=5 P2: b=6 R(P1)={} W(P1)={a} R(P2)={} W(P2)={b} R(P1) ∩W(P2)={} R(P2) ∩W(P1)={} W(P1) ∩W(P2)={} R(P1)∩W(P2)∪R(P2)∩W(P1)∪W(P1)∩W(P2)={} P1、P2可以并发执行 Bernstein条件——例1 Bernstein条件——例2 P3: c=a+b P4: d=c+1 R(P3)={a,b} W(P3)={c} R(P4)={c} W(P4)={d} R(P3) ∩W(P4)={} R(P4) ∩W(P3)={c} R(P3) ∩W(P4) ∪R(P4) ∩W(P3)∪W(P3)∩W(P4) ={c} P3、P4不能并发执行 ●可并发执行的程序 在一个数据集合上的执行过程 进程与程序的关系 进程 程序 ●动态的 静态的 ●并发的 顺序 ●暂时的 永久的 ●数据结构=程序+数据+PCB ●程序与进程不是一一对应关系 实质 进程的定义 进程状态转换图 ● 2.2 进程的状态及其组成 五种状态的进程状态转换图 双挂起状态的进程状态转换图 进程控制块PCB ●引入PCB的作用:就是使程序能成为独立运行的单位,并可和其他进程并发执行。 进程的组成 PCB的作用 ●进程控制块PCB ●程序段 ●数据
显示全部
相似文档