- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
处理器管理 什么是多道程序设计 让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种程序设计技术称为多道程序设计。这种计算机系统称为多道程序设计系统,简称为多道系统。 采用多道程序设计技术要注意下面三方面问题: 存储保护:保证各道程序互不侵犯 程序浮动:程序放在主存的任意区域都能正确执行,甚至在执行过程中改变存储区都不受影响,这种技术称为程序浮动。 资源的分配和调度:竞争处理器、外围设备 为什么要采用多道程序设计 程序的顺序执行 假设一个程序由输入、处理、输出组成,分别用时t0,t1,t2 为什么要采用多道程序设计 程序的并行执行 现代计算机中的硬件使得处理机与外设具备了并行工作的能力。 为什么要采用多道程序设计 采用多道程序设计技术后,能提高整个系统的效率,具体表现为: 提高了处理机利用率,从而提高单位时间的算题量 充分利用外设资源 发挥了处理器和外围设备以及外围设备之间的并行工作能力 提高资源的利用率,增加了单位时间内的算题量,从而提高了吞吐量 采用多道程序设计应注意的问题 可能延长程序执行时间 两道计算问题A和B A:计算50ms,打印100ms,计算50ms,打印100ms B: 计算50ms,输入80ms,计算100ms,打印100ms 如果两道程序分别单独执行(顺序) A执行总共需要300ms,占用处理机100ms B执行总共需要330ms,占用处理机150ms 处理机的利用率为 (100+150)/(300+330) = 250/630 = 39.7% 采用多道程序设计应注意的问题 两道计算问题A和B A:计算50ms,打印100ms,计算50ms,打印100ms B: 计算50ms,输入80ms,计算100ms,打印100ms 采用多道程序设计应注意的问题 并行道数和系统效率不成正比 首先,主存空间限制同时装入的程序数量 其次,外设的数量也是制约条件 第三,多个程序同时要求同一资源 多道程序能提高资源使用效率,增加单位时间的算题量,但对于单个问题来说,从算题开始到全部完成计算的时候可能要延长。 确定并行道数时,应综合考虑系统的资源配置和用户对资源的需求。 进程的定义 程序是具有独立功能的一组指令或一组语句的集合,或者说是指出处理器执行操作的步骤。程序的执行必须依赖于一个实体---数据集。 把一个程序在一个数据集上的一次执行称为一个进程。 程序是静态的文本,进程是动态的过程,进程包括程序和程序处理的对象(数据集)。 为什么要引入进程 提高资源的利用率 把一个计算问题分成n个独立执行的程序模块,例如输入进程、打印进程、处理进程,进程间可以并行工作,提高系统的利用率 正确描述程序的执行情况 假设有编译程序P,将c语言的源文件编译为目标文件,使用P编译a.c和b.c,两个并行 为什么要引入进程 在操作系统中,尤其是采用了多道程序设计的系统中,引入进程是非常重要的。 通常把进程分成系统进程和用户进程两大类。把完成操作系统功能的进程称为系统进程,完成用户功能的进程称为用户进程。 进程的属性 动态性 多个不同的进程可以包含相同的程序 把一个能被多个用户同时调用的程序称为可再入的程序。可再入程序必须是纯代码的,在执行中自身不变。一个可再入的程序要求调用者提供工作区,以保证程序以同样的方式为各用户服务。编译程序和操作系统都是可再入的程序。 进程可以并发执行 可重入代码(Reentry code),也叫纯代码(Pure code)是一种允许多个进程同时访问的代码 可重入就是,一个函数没有执行完成,由于外部因素或内部调用,又一次进入该函数执行。可重入代码,必须保证资源的互不影响的使用,比如全局变量,系统资源等。 可重入最简单的理解就是任何变量都是局部变量。可重入指函数在运行过程中,被中断打断后,待返回时仍然能够正常运行。这就需要在编写代码时注意全局变量和公用资源的使用 进程的基本状态 进程有三种基本调度状态 就绪状态(ready):进程已获得除处理机外的所需资源,只要分配处理器就可执行。 运行状态(running):进程已获得处理机,正在执行。 等待/阻塞状态(blocking):进程在运行过程中,因等待某一事件(如等待某一输入输出操作完成)而暂停的状态称为阻塞状态, 进程的三个特性 动态性:执行过程中状态不断发生变化 并发性:进程可同时执行,轮流占用处理器 异步性:执行速度不可预知 进程控制块 为了标识进程,记录各个进程执行时的情况,操作系统在创建进程时为每个进程设置一个进程控制块(Process Control Block,简称PCB)。 不同的操作系统,进程控制块记录信息的内容与数量是不相同的。一般情况下,进程控制块应包含四类信息 进程的创建和撤销 每个进程都有生命周期,即从创
原创力文档


文档评论(0)