• / 22
  • 下载费用:10 金币  

操作系统02323.ppt

关 键 词:
操作系统02323.ppt
资源描述:
计算机操作系统教程,进程管理实训,Windows 2000进程和线程,Windows 2000进程的简介 Windows 2000进程的定义 Windows 2000进程的特点 Windows 2000线程的定义 Windows 2000多线程的特点 Windows 2000中线程的状态 Windows 2000中线程的调度,Windows 2000简介,Windows 2000是在Windows NT基础上修改和扩充而成的,包括了4个系统用来支持不同对象的应用. 专业版Windows 2000 professional 为个人用户设计,可支持两个CPU,最大内存可配4GB. 服务器版Windows 2000 server为中小企业设计,可支持4个CPU,最大内存可配4GB. 高级服务器版Windows 2000 AdvancedServer为大型企业设计,可支持8个CPU,最大内存可配8GB. 数据中心服务器版Windows 2000 Datacenter Server为大型数据中心开发,可支持32个CPU,最大内存可配64GB.,Windows 2000的对象,Windows 2000是基于对象的操作系统,它将进程和线程也是作为对象来管理的. Windows 2000 用对象来表示所有的系统资源.由于系统资源都是用对象来表示的,所以,可以认为对象类就是资源类. 在Windows 2000中定义了两类对象,即执行体对象和内核对象.,Windows 2000进程的定义,Windows 2000对进程的定义是:进程是执行程序实例的线程使用的一系列资源的包容器. 其主要组成如下: 专用的虚拟地址空间. 可执行程序. 访问令牌. 进程标识. 内核级多线程机制.,Windows 2000进程的特点,Windows 2000与其他操作系统一样实现了进程的基本功能, 此外,Windows 2000中进程实现还有以下特点: 与unix的操作系统不同,Windows 2000的进程树并不是完全的树形结构. 与过去的操作系统不同, Windows 2000提供了许多新引进的高效的通讯机制(IPC).,Windows 2000线程的定义,Windows 2000对线程的定义是:线程是在进程空间中代码实际执行的路径,它是windows 2000进行调度的实体,是进程的必要组件. 其主要组成如下: CPU寄存器的内容. 两个堆栈,一个在内核模式下被线程使用,另一个在用户模式下被线程使用. 访问令牌(有时需要). 线程标识. 本机线程存储区.,Windows 2000的进程与线程,从进程组的模型可以看出,进程是一个程序运行时的资源集合,它包括了程序运行时使用的所有资源,如内存空间、设备资源、访问令牌等。但是进程是不具有活力的,在Windows系统中,进程除了提供资源以外并不执行实际操作,一个进程若要进行实际操作就必须拥有属于它的线程。线程负责执行进程地址空间中的代码,完成程序预定的功能。对于一个没有线程的进程,系统将自动终止该进程。,Windows 2000多线程的特点,一个进程可以拥有若干个线程,这些线程并发地执行进程地址空间中的代码,与多进程相比,多线程具有以下特点: 它们共享该进程的所有资源。 同一进程中的线程之间的通信可以通过直接读写进程的数据段来进行,而不必借助进程间的通信机制(IPC)。 在同一进程内,线程的上下文切换比进程的上下文切换快得多。,Windows 2000中线程的状态,初始态:线程正在创建过程中。 就绪态:线程已获得除CPU外的所有资源,等待被调度去执行的状态。 准备态:已被选中下一个在一个特定处理器上运行的线程,此线程处于等待条件合适时调度程序就对其进行切换。 运行态:内核执行线程切换,准备态线程进入运行态,并开始执行。,Windows 2000中线程的状态,等待态:一个线程可以有以下几种原因进入等待态:①出现了一个阻塞事件②等待同步信号③环境子系统要求线程挂起自己。当等待结束时,系统根据其优先级决定使其开始运行还是回到就绪队列。 转换态:一个线程完成等待后准备运行,但这时资源不可用,就进入转换态。 终止态:线程在执行完成后进入终止状态。,Windows 2000中线程的状态,创建,时间片用完,资源未满足,执行结束,抢占,选中,资源满足,挂起,完成等待,调入,,等待事件发生资源满足,Windows 2000中线程的调度,线程调度特征: 处理机调度是严格针对线程队列进行的,不考虑被调度线程属于哪个进程的。例如:进程P有5个可运行的线程,进程Q有2个可运行的线程,如果这7个线程的优先级相同,则每个线程将得到1/7的处理机时间。 Windows 2000的处理机调度对象是线程,进程仅作为资源对象和线程运行环境的提供者。 Windows 2000实现了一个基于优先级抢占式的多处理器调度系统,系统总是运行优先级最高的就绪线程。,Windows 2000中线程的调度,当一个线程被调度进入运行状态时,它可运行一个被称为时间配额的时间单位。时间配额是允许一个线程连续运行的最大时间总和,随后系统会中断线程的运行,判断是否需要降低该线程的优先级,并查找是否有其他高优先级或相同俦优先级的线程等待运行。 由于系统具有抢占式调度特征,因此,一个线程的一次调度执行可能并没有用完它的时间配额。如果一个高优先级的线程进入就绪状态,当前运行的线程可能在用完它的时间配额前就被抢占。事实上,一个线程甚至可能在被调度进入运行状态之后开始运行之前就被抢走。,Windows 2000中线程的调度,线程优先级: Windows 2000的调度是基于内核级线程的抢占式调度,包括多个优先级层次。在某些层次,线程的优先级是固定的,在另一些层次线程的优先数根据执行的情况动态调整。它的调度策略是一个动态优先数多级反馈队列,每一个优先数都对应于一个就绪队列,而每一个进程队列中的进程按照时间片方式轮转调度。 进程的一个属性是进程基本优先权类型为实时、高级、中上、中级、中下和空闲。 一个进程只有基本优先级,而一个线程有基本优先级和当前优先级两个优先级取值。线程的当前优先级可在一定范围(0~15)内动态变化。系统不调整在实时范围(16~31)内的线程优先级。,Windows 2000中线程的调度,线程调度的策略: 自愿切换。 抢占。 时间配额用完。 终止。,具体实验内容,要求: (1)设计一个有几个进程并发的模拟调度程序,每个进程由一个进程控制块(PCB)表示,进程控制块应包括下述信息:进程名、进程优先数、进程需要运行的时间、占用CPU的时间以及进程的状态等。,具体实验内容,(2)调度程序应当包含两种以上的调度算法,运行时可以任选一种,以利于各种方法的分析和比较。 (3)系统应能显示或打印各种进程状态和参数变化情况,便于观察。,示例说明,本程序可选用优先级法和简单轮转法对五个进程进行调度。 每个进程处于运行R、就绪W和完成F三种状态之一,并假设起始状态都是就绪状态W。 为了便于处理,程序中的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机函数产生。,示例说明,进程控制块中包含有:进程标识数、优先数/轮转时间片数、占用CPU时间片数、进程所需时间片数、进程状态和链指针(指向就绪队列的下一个进程)。 在程序中,用run表示当前运行进程指针,head表示进程就绪链链首指针,tail表示进程就绪链链尾指针。,示例程序结构说明,进程控制块的数据结构: struct process{ int id; int priority; int cputime; int alltime; char state; int next; }prochain[furthest+1];,示例程序结构说明,主函数 打印函数 初始化函数 调度算法函数 轮转法 优先级法 插入算法 轮转法的插入 优先级法的插入,
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:操作系统02323.ppt
链接地址:https://www.weizhuannet.com/p-9819033.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开