- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]操作系统讲稿第三章进程1
第3章 进程管理 3.1进程的基本概念 问题: ◆为何引出“进程”? ◆ “进程”与程序什么关系? 3.1.1 程序的顺序与并发执行 程序的顺序执行及其特征 设二道用户作业 ● 顺序执行:前一操作结束,后一操作开始 ● 资源独占:一道程序状态决定各资源状态 ● 结果确定性:结果仅取决于初值 ● 执行轨迹:可重复 3.1.1 程序的顺序与并发执行 ●顺序性 ●封闭性 ●可再现性 2. 程序的并发执行及其特征 设有3道用户作业,并发执行分析 请思考绘制下图条件? 2. 程序的并发执行及其特征 ◆程序执行的间断性 ◆失去封闭性 ◆不可再现性 3.1.2 进程的定义及特征 进程:是程序在一个数据集合上的一次执行过程,是系统进行资源分配和调度的独立单位。 分类 用户进程 系统进程 进程与程序区别 进程特征 进程的三种基本状态 就绪——已经具备了运行条件,但由于未获 CPU时所处状态。 运行—— 占用CPU 阻塞——等待某事件(如I/O请求,等待某 一消息……)完成,暂停运行。 3.1.3 进程的状态及转换 3.2 进程描述 3.2.1 进程的组成 3.2.2 进程控制块PCB 1.PCB组成 (1)进程标识名 和 标识数 外部名、内部名 (2)进程实体位置信息: (3)进程调度信息: 进程状态:执行、就绪、阻塞 进程优先级:占用CPU的重要依据 占用CPU时间片,所需CPU时间片…… 入睡原因 PCB 组成 (4)现场保护信息:放弃CPU时保护,调度到时恢复:PSW,PC,通用、寄存器栈指针 (5)进程控制信息 进程间通讯信息,例Ii?Ci协调通信 资源分配信息 链接指针 2 PCB队列 PCB管理: 相同状态的PCB用链表组织成一 个队列 3.3 进程控制 进程控制: ◆创建、撤消、阻塞、唤醒 ◆限制进程对资源的访问 3.3.1 进程空间 3.3.2 进程控制原语 原语:机器指令的延伸,系统态下执行的某些具有特定功能的程序段。不能被中断或不允许并发执行 进程的创建与撤消 (1)创建进程事件 ◆用户登录Login ——产生一终端对应进程 ◆作业调度——批处理,创一作业对应进程 ◆提供服务——创建服务进程 ◆fork ( ) ——父进程创建子进程 创建子进程 父进程要求创建子进程,子进程(图像)可以复制父进程,子继承父拥有的资源。 (2)建立进程过程 【 Create ( ) 原语 】 (3)进程终止 ◆结束: main() { … exit ( ) } ◆异常(越权,越界,溢出) ◆外界干预(死循环 ctrl-c) ◆祖先进程要求撤消其子进程。 进程终止 2. 进程的阻塞与唤醒 (1)阻塞(入睡) 原因: ◆请求系统服务 ◆等待I/O结束 ◆输入数据未达 ◆无新工作(调度程序无调度对象) (2)阻塞(Block)原语 (3)唤醒(Wakeup)原语 3.3.3 进程上下文 处理机上下文:程序计数器、寄存器、程序状态字、堆栈等内容 。 进程上下文:程序代码段、数据段、PCB、以及各种寄存器和栈区的内容。 3.4 线程 ( Thread ) ◆分配资源的基本单位:独立占有MEM… ◆ 进程是OS调度执行的实体 将独立调度分派CPU,分离出来形成: (轻量级进程) 线程 目的:◆提高系统内程序执行的并发程度; ◆减少进程切换所需时间 3.4.1 线程的基本概念及分类 线程——是进程的一个实体,是被系统独立调度和分派的基本单位。 1.单线程和多线程的进程模型 2.进程与线程的区别 (1)进程为资源分配的基本单位 (2)进程拥有虚拟地址空间,同一进程内的不同线程共享其所属进程的同一地址空间。 (3)线程只由相关堆栈、寄存器和线程控制表TCB(Threads Control Block)组成 (4)进程切换时涉及到有关资源指针的保存以及地址空间的变化;线程切换时无需保存资源 2.进程与线程的区别 (5)进程的调度与切换由操作系统内核完成,而线程的调度即可由操作系统完成,也可由用户完成。 (6)在多线程操作系统中,线程是系统内的执行实体,而进程不是。 (7)线程均可并发执行,在多处理机系统中它们可以被分派到不同的CPU上并行执行。 3. 线程实现机制 ◆
文档评论(0)