- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京交通大学计算机学院 回顾与展望 操作系统是管理资源者 具有有效性和方便性 多道和分时是实现上述要求的基本方法 后续的教学任务:如何实现操作系统?有哪些难点?采用什么技术方法? 学习要求 进程管理是全书的重点也是难点 如何理解 本次课的要求 难点:实现操作系统的第一个挑战?为什么要引入进程?进程到底是什么? 重点:并发性,进程状态转移 了解:进程控制 第二章 进程管理 2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程同步问题 2.5 管程 2.6 进程通信 2.7 线程 第一个挑战 单道程序 操作系统只需要将作业调入内存,并转入作业入口开始执行后,计算机系统就可以交给该作业,除了被动响应程序的服务请求外,就无事可做了。 多道程序 多道和分时系统的最重要共性:并发 并发是提高效率、方便性的最核心手段 多个程序在内存并发时,操作系统就必须进行主动的干预,复杂性大大增加。 顺序、并行、并发执行 并发 定义:两个或多个程序在同一时间间隔内运行。 并行执行:同一时刻执行两个或者多个 顺序执行:独占系统依次执行 并行和顺序是并发执行的特殊情况 并发 下面这些关于并发的说法对不对? 宏观上并行,微观上交替执行 先执行的不一定先结束 同一时刻只有一个程序执行 同一时间段有多个程序执行 多个程序共享CPU 如何保证一个程序暂停后下一次还能从上次断点继续执行? 换一种说法:OS把一个CPU正确的虚拟化为多个CPU必须做哪些工作? CPU的虚拟化 每个虚拟CPU需要保存哪些信息? PC,SP, 其他寄存器等 切换CPU时的操作 先保存CPUi的信息 在加载CPUj的信息 切换的时机 程序主动放弃CPU、时钟中断等 第二个挑战 程序并发执行可能导致意想不到的后果! 并发执行约束:前趋图 ?={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P5,P7),(P6,P7)} Pi?Pj 称Pi是Pj的直接前趋,Pj是Pi的直接后继 前趋图中必须不存在循环 图例中存在前趋关系S2?S3和S3 ?S2,显然,这种前趋关系是无法满足的。 单道程序顺序执行 程序的顺序执行 构成程序的若干个程序段之间 组成程序段的多条语句之间 单道程序顺序执行时的特征 顺序性 处理机严格按照程序指令的规定顺序执行 封闭性 封闭环境下运行,程序独占全机资源 只有当前运行程序才能改变资源状态 程序执行结果不受外界因素的影响 可再现性 只要程序执行时的环境和初始条件相同,程序重复执行结果相同 单道程序顺序执行时的特性与程序员对编程的认知完全相同,为程序实现和错误调试,带来极大方便 程序并发执行例1 同一程序内部语句间并发执行及其前驱关系 S1: a:=x+2 S2: b:=y+4 S3: c:=a+b S4: d:=c+6 程序并发执行例2 同一程序内不同部分以及程序间并发执行 第i个程序:Ii?Ci ?Pi Ii?Ii+1 Ci?Ci+1 Pi?Pi+1 程序并发执行举例 程序间并发,程序内语句顺序执行 共享变量N,初值为0 程序A A1: N=1; 程序B B1: Print(N); B2: N=0; 程序并发执行 程序并发执行的特征与问题 间断性 “执行—暂停执行—执行”的活动规律 失去封闭性 系统资源共享及资源状态改变的多样性,致使程序运行失去封闭性,程序运行必然会受到其它程序的影响 不可再现性 并发执行的程序,计算结果与其执行速度及时间有关 解决方法:进程的引入 需求: 需要记录新的数据控制并发程序执行 需要控制并发程序执行的先后关系 现状: 程序的概念已不能完整、有效地描述和控制并发程序在内存中的运行 进程的定义 进程控制块:存放了进程标识符、进程运行的当前状态、程序和数据的地址以及关于该程序运行时的CPU环境信息 进程实体:由程序段、数据段及进程控制块三部分构成 进程 进程实体的运行 可并发程序的执行 进程 进程就成为一个可活动的、能改变其他客体的、有生命的主动实体 像不像“人”? 进程实体是进程的“身体”? 进程成为操作系统一个独立的管理对象 进程==主体==主动发起 数据、硬件设备==客体==被动接收 进程 进程作为主体意义 操作系统把“资源”分配给“享有权利、负有义务、承担责任的主体”(进程) 把CPU分配给进程的过程就是“调度” 进程是操作系统中资源分配和调度的一个独立单位 进程的特征?与程序的区别与联系 结构特征 程序段、数据段及进程控制块 动态性 生命周期及“执行” 本质 并发性 共存于内存、宏观同时运行 独立性 调度、资源分配、运行 异步性 推进相互独立、速度不可预知 进程状态的引入 并
文档评论(0)