电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

《操作系统》2进程与线程课件

  • 资源ID:48641975       资源大小:1.68MB        全文页数:29页
  • 资源格式: PPT        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

《操作系统》2进程与线程课件

第2章 进程与线程本章目录2.1 进程的概念2.1.1 多道程序设计环境下的程序特点 2.1.2 进程的定义2.2 进程的管理 2.2.1 进程控制块2.2.2 进程控制块队列2.4.3 Linux进程的生存过程2.2.3 进程控制的系统调用命令2.1.3 进程的状态及状态变迁2.3 线程 2.3.1 线程的概念2.3.2 线程的实现2.3.3 线程与进程的关系2.4 Linux的进程 2.4.1 Linux进程2.4.2 Linux的几种链接信息2.1 进程的概念 o2.1.1多道程序设计环境下的程序特点 .单道程序设计环境下的程序特点 1.资源的独占性程序A程序B程序C时间4234245330469141820232630图例:打印机输出CPU执行 . .执行的顺序性 结果的再现性 多道程序设计环境下的程序特点 2.程序A时间04691215 17131822程序B程序C. 执行的并发性:宏观上,在内存的 多个程序都按自己程序规定的操作步骤 向前推进;微观上,CPU在任何时刻只 执行一个程序,它们轮流占用CPU,交 替地执行着。 . 相互的制约性:内存里的多个程序共享系统中的资源,相互间必然有各种制约。 一种是“间接制约关系”,另一种是“直接制约关系” 。程序P1调用echo()函数,getchar()接收到从键盘输入的字符x,在将其存于变 量chin后被中断; 程序P1从断点恢复执行。此时由于P2调用了echo(),chin里原先的x被y所覆盖 。于是,在屏幕上显示的是y,而不是x。 程序P1调用echo()函数,getchar()接收到从键盘输入的 字符x,然后在屏幕上显示出字符x;. 状态的多变性:诸多程序在运行过程中有着各种制约关系,致使内存中 每一个程序的状态总在不断的变化之中:时而获得CPU处于运行状态;时 而由于输入/输出或申请某种资源未得到满足而只好挂起来等待。它们走走 停停,停停走走,交替式地向前推进,直至终点。 例2-1 :在多道程序设计环境下,“结果再现性”被打破的简单例子 void echo() chin = getchar();chout = chin;putchar(chout); 执行顺序1 :程序P2调用echo()函数,getchar()接收到从键盘输入的 字符y,然后在屏幕上显示出字符y。(1)(2).执行顺序2 :(1)(2)(3)程序P2获得CPU使用权,调用echo()函数,从头做到尾,屏幕上显示字符y; 返回目录.o2.1.2 进程的定义 1. 进程的定义 .进程是程序的一次运行活动;进程的运行活动是建立在某个数据集合之上的;进程要在获得资源的基础上从事自己的运行活动。所谓“进程”是指一个程序在给定数据集合上的一次执行过程,是系统进行资源分配和 运行调度的独立单位。 可从三个方面来描述进程: (1)(2)(3)例2-2 :驼峰溜放控制过程中的进程 驼峰到达场编组场溜放中 的一勾车雷达 测速、测长道岔 (轨道电路)一列新货车一列解体货车缓行器1234 5678股道号溜放中 的一勾车 扳道岔程序 .缓行器控制程序 .雷达测速程序 .雷达测长程序 .巡回检测程序 2. 进程与程序的关系 进程是一个动态的概念,强调的是程序的一次“执行”过程;程序则是一 组有序指令的集合,在多道程序设计环境下,它不涉及“执行”,是一个静态 的概念。 .不同进程可执行同一个程序。由进程的定义可知,区分进程的条件一是所执行的程 序,二是数据集合。即使多个进程执行相同的一个程序,只要它们运行在不同的数据集 合上,它们就是不同的进程。 .每个进程都有自己的生命期。进程的本质是程序的一次执行过程,当系统要完成某 项工作时,它就“创建”一个进程,以便执行事先编写好的、完成该工作的那段程序。程 序执行完毕、完成预定的任务后,系统就“撤消”这个进程,收回它所占用的资源。一个 进程创建后,系统就感知到它的存在;一个进程撤消后,系统就无法再感知到它。于是 从创建到撤消,这个时间段就是一个进程的“生命期”。 .进程之间具有并发性。在一个系统中,同时会存在多个进程,与它们对应的多个程 序同时在系统中运行,轮流占用CPU和各种资源。这正是多道程序设计的初衷,说明这 些进程在系统中并发执行着。 .进程间会相互制约。由于进程是系统中资源分配和运行调度的单位,因此在对资源 共享和竞争中,必然会相互制约,影响了各自向前推进的速度。 通常,系统进程运行在核心态,用户进程运行在用户态。不过,在微内核模 式下,只有那些执行基本功能程序的进程,运行在核心态,那些执行非基本程序的进 程,则以各种服务的形式运行在用户态。 系统进程与用户进程都要使用系统中的各种资源,它们都是资源分配与运行 调度的独立单位,但系统进程的使用级别,应该高于用户进程。也就是说,在双方出现 对资源的竞争时,系统进程有优先获得资源、优先得到运行的权利。只有这样,才能保 证计算机系统高效、有序的工作。 系统进程直接管理软、硬件资源的有关活动;而用户进程则不得插手资源管 理,在需要使用资源时,必须向系统提出申请,由系统统一调度与分配。 系统进程间的相互关系由操作系统负责协调,以利于增加系统的并行性,提 高资源的整体利用率;用户进程间的相互关系由用户自己(在程序中)安排。不过,操 作系统会向用户提供一定的协调手段(以系统调用命令的形式)。 3. 系统进程与用户进程 .在多道程序设计系统中,既有操作系统程序,又有用户程序,因此整 个系统中存在着两类进程:一类是系统进程,一类是用户进程。 . 操作系统中用于管理系统资源的那些可以并发执行的程序,构成了一 个个系统进程,它们提供系统的服务,分配系统的资源;而可以并发执行的用户程序段 ,形成一个个用户进程,它们是操作系统的服务对象,是系统资源的实际享用者。 .系统进程与用户进程的主要区别 : (1)(2)(3)(4)返回目录终止:进程或正常结束,或因某种原因被强制结束。这时,系统正在为其进行 善后处理。 阻塞:进程正在等待某事件(如I/O完成)的发生。在事件到来之前,即使把 CPU分配给这个进程,它也无法运行。阻塞状态有时也被称为等待状态。 运行:进程获得CPU正在被执行中。若系统只有一个CPU,那么任何时候系统 中最多只有一个进程处于运行状态。 就绪:进程已具备运行的条件,只要有机会获得CPU,它就可以投入运行。 创建:进程正在初创时期,操作系统还没把它列入可执行的进程行列。 o2.1.3 进程的状态及状态变迁 1. 进程的基本状态和状态变迁 .就绪提交 运行阻塞终止调度撤销超时 事件发生等待事件三种最 基本的状态创建进程的五种状态 (1)(2)(3)(4) (5)进程状态的变迁进程从一个状态改变成另一 个状态,称为进程状态的“变迁”。箭头上 的文字,是引起状态变迁的原因。并不是 所有的进程状态之间都可发生变迁。.可能的变迁为:创建就绪 ,就绪运行 ,运行就绪,运行阻塞 ,阻塞就绪 ,运 行终止 就绪/挂起:进程在辅存。只要被激活,进程就可以调入内存,如果获得CPU 就可以投入运行。 2. 对进程状态更细致的划分 就绪/挂起就绪激活 运行阻塞终止调度撤销超时事件发生等待事件挂起阻塞/挂起激活挂起事件发生创建提交提交挂起. .若内存中现有的进程都在等待I/O的完成,CPU只能空闲运转。这无疑 是对系统资源的一种浪费。 .使用磁盘与内存间的交换技术,可达到提高CPU利用率的目的。 新增两个状态 (1)(2) 阻塞/挂起:进程在辅存等待事件的发生。只要被激活,进程就可以调入到内 存里去等待事件的发生。 . 处于这两种状态的进程,表示它们 是在辅存而不是内存。只有通过“激活”, 才可以使这些进程的状态变迁为“就绪”或 “阻塞”,从而进入内存。 . 这时,比较重要的变迁是: 阻塞阻塞/挂起 ,阻塞/挂起 就绪/挂起 ,就绪/挂起就绪 , 就绪就绪/挂起 ,创建就绪, 创建就绪/挂起,阻塞/挂起阻 塞 ,运行就绪/挂起 。返回目录进程控制块里包括四种基本 信息:标识信息、现场保护区信 息、调度信息以及管理信息 。程序代码及与代码相关联的数据集合,是组成一个进程的实体。但它们都是静态文 本,无法反映进程的各种动态特征。 2.2 进程的管理 o2.2.1 进程控制块 . .1. 进程控制块 为便于管理和控制进程的执行,为随时刻画进程的动态特性,为反映进程间的相互 关系,操作系统用一个与进程有关的数据结构来完成这样的任务。这个数据结构被称为 “进程控制块(PCB)”,它由操作系统创建和管理。标识信息现场保护区 信息调度信息管理信息进程标识符(进程名)进程标识数(PID)家族关系(父进程)家族关系(子孙进程)通用寄存器指令计算器程序状态字(PSW)用户栈指针进程状态进程优先数(级/权)等待原因队列指针程序存放位置资源使用历史打开的文件数据存放位置由于进程控制块PCB里包含着 一个进程所需要的所有信息,因此 它是操作系统中最重要的一种数据 结构。进程的PCB是系统感知一个 进程实际存在的唯一实体。 .2. 进程的三个组成部分 .操作系统中进程由三个部分组成,称为“进程映像” 。 (1) (2) (3)程序:进程将要执行的程序; 数据:用户空间中的可修改部分,如数据、堆栈、可修改程序; 进程控制块PCB:记录操作系统 管理、控制进程所需要的数据信息。 进程映像的表示PCBPCBPCB1PCB2程 序程 序程 序数据 集合数据 集合数据 集合1数据 集合2(a)(b)(c)3. 进程间的切换 进程P0进程P1操作系统中断或系统调用保护现场到PCB0从PCB1现场保护区 获取现场信息中断或系统调用保护现场到PCB1从PCB0现场保护区 获取现场信息执行执行执行被打断 的断点x从断点x 恢复执行被打断 的断点y返回目录PCB中可以有多个队列指 针,以反映进程间的不同关系,比 如用另一个指针反映出进程间的家 族关系。 还可以有就绪/挂起队列、 阻塞/挂起队列等; 队列最后一个PCB的“队列 指针”里,放队列结束标志,如“-1”; 操作系统要为每个队列设置 一个头指针,通过它及队列中各PCB 里的队列指针,可以得到该队列里的 所有进程的PCB; o2.2.2 进程控制块队列.操作系统是通过PCB来管理系统中的进程的。最常用的办法是根据进程所 处状态的不同,通过PCB中的链接指 针,形成各种管理队列。 .运行队列 头指针就绪队列 头指针PCBPCBPCBPCBPCB-1阻塞队列1 头指针PCBPCB-1阻塞队列2 头指针PCBPCBPCBPCB-1PCB队列指针(a) 带有队列指针的PCB(b) 由PCB组成的各种队列几点说明 (1)(2)(3)(4)返回目录按系统所采用的调度算法,将其PCB排入就绪队列 或就绪/挂起队列。 调用创建进程原语后,系统中出现一个新的进程,就会 感知到这个进程的存在。一个进程创建(或“派生”)另一个 进程,前者称为父进程,后者称为子进程。 o2.2.3 进程控制的系统调用命令 在执行期间不能被打断、不能被分割的程序段,在操作系统里称作“原 语”、“原子操作”或“不可分割的操作”。 . . .有关进程控制的系统调用命令都是以原语的形式出现的。 1. 创建进程原语 屏蔽中断申请一个PCB分配一个标识填写PCB将进程置为就绪或就绪/挂起 状态,到相应队列排队开中断不能被分 割的整体.创建进程原语程序主要应该完成的工作 (1)为新进程申请一个PCB; (2)为新进程分配一个唯一的标识; (3) 根据创建者提供的信息,填写进程控制块PCB里的 各项内容; (4) . 创建进程原语的图中,“屏蔽中断”及“开中断”两个操作

注意事项

本文(《操作系统》2进程与线程课件)为本站会员(豆浆)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.