《进程线程与作》PPT课件.ppt

上传人:小飞机 文档编号:5611274 上传时间:2023-08-02 格式:PPT 页数:43 大小:284.99KB
返回 下载 相关 举报
《进程线程与作》PPT课件.ppt_第1页
第1页 / 共43页
《进程线程与作》PPT课件.ppt_第2页
第2页 / 共43页
《进程线程与作》PPT课件.ppt_第3页
第3页 / 共43页
《进程线程与作》PPT课件.ppt_第4页
第4页 / 共43页
《进程线程与作》PPT课件.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《《进程线程与作》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《进程线程与作》PPT课件.ppt(43页珍藏版)》请在三一办公上搜索。

1、第二章 进程、线程与作业,多道程序设计Multi-programming 进程的引入Process 线程与轻进程Thread and light-weighted process作业Job,2.1 多道程序设计,单道程序设计的缺点多道程序设计的提出多道程序设计的问题,2.1.1 单道程序设计,处理机利用率低设备利用率低内存利用率低,t,运行程序A,CPU,设备1,运行程序A,t1,t2,t5,t6,设备2,2.1.2 多道程序设计的提出,t,设计目标:提高系统效率(吞吐量),2.1.3 多道程序设计的问题,处理机资源的管理程序个数处理机个数(如何分配?)存储资源的管理地址空间的相对独立性、共享

2、性内存、外存的分配与去配设备资源管理分配策略IO控制,2.2 进程的引入,进程的概念进程状态及状态转换进程控制块进程的组成与上下文进程的队列进程的类型与特征进程间相互联系与相互作用进程的创建与撤销进程与程序间的联系与差别,2.2.1 进程的概念,定义:进程是具有一定独立功能的程序关于一个数据集合的一次运行活动。定义强调两个方面:动态:执行中的程序;并发:可与其他进程同时执行。,2.2.2 进程状态及转换,进程状态(基本状态)运行态(RUN):占有CPU正在向前推进就绪态(READY):可以运行,但未得到CPU等待态(WAIT):等待某一事件发生,进程状态转换图,Keep in Mind,进程状

3、态转换图2,2.2.3 进程控制块(PCB),标志进程存在的数据结构,其中保存系统管理进程所需的全部信息PCB 内容:进程标识(pid)家族联系进程状态 地址信息现场信息 打开文件调度参数 消息指针所属用户(uid)队列指针,2.2.4 进程的组成与上下文,进程的组成进程控制块(process control block)建立进程建立PCB撤销PCB撤销进程程序代码(code)数据(data)堆栈(stack+heap),2.2.4 进程的组成与上下文,进程的表记,2.2.4 进程的组成与上下文,进程上下文:进程的物理实体与支持进程运行的物理环境,包括:PCB+程序 系统环境:地址空间,系统栈

4、,打开文件表,上下文切换:由一个进程的上下文转到另一个进程的上下文系统开销:运行操作系统程序完成系统管理工作所花费的时间和空间,2.2.5 进程的队列,1.就绪队列:系统一个或若干个(根据调度算法确定)2.等待队列:每个等待事件一个3.运行队列:每个处理机一个,PCB构成的队列:(不一定FIFO),2.2.6 进程的类型与特征,进程类型系统进程运行操作系统程序,完成系统管理(服务)功能.用户进程运行用户(应用)程序,为用户服务。,2.2.6 进程的类型与特征(Cont.),进程的特征并发性:可以与其它进程一道向前推进;动态性:动态产生、消亡,生存期内状态动态变化;独立性:一个进程是可以调度的基

5、本单位;交往性:同时运行的进程可能发生相互作用;异步性:进程以各自独立,不可预知的速度向前推进;结构性:每个进程有一个PCB。,2.2.7 进程间相互联系与相互作用,相互联系相关进程同一家族的进程可以共享文件,需要相互通讯,协调推进速度父进程可以监视子进程,子进程完成父进程交给的任务。无关进程没有逻辑关系、同时执行的进程。有资源竞争关系,互斥、死锁、饿死。,2.2.7 进程间相互联系与作用,相互作用,1.直接相互作用:发生在相关进程之间,2.间接相互作用:发生在任何进程之间,2.2.8 进程的创建与撤销,进程的创建建立PCB,分配内存,加载程序,入就绪链UNIX:pid=fork(),exec

6、(prog,args)进程的撤销去配资源,撤销PCB,通知父进程UNIX:exit()vs.kill除初始进程外,其它进程由(父)进程创建,并形成进程家族。,2.2.9 进程与程序的联系与差别,进程与程序的联系进程包括一个程序进程存在的目的就是执行这个程序进程与程序的差别程序静态,进程动态程序可长期保存,进程有生存期一个程序可对应多个进程,一个进程只能执行一个程序,2.3 线程与轻进程,2.3.1 线程的引入2.3.2 线程的概念2.3.3 线程的结构2.3.4 线程的实现2.3.5 线程的应用2.3.6 Java线程,2.3.1 线程的引入,进程切换上下文涉及内容多,开销大,“笨重”相关进程

7、之间耦合关系差解决方案Multi-threading同一进程中包含多个线程上下文只涉及寄存器和用户栈,切换速度快相关线程之间通讯方便、快捷,2.3.2 线程的概念,进程中一个相对独立的执行流。进程/线程进程是资源分配单位线程是执行单位多线程优点切换速度快(地址空间不变)(light weighted)系统开销小通讯容易(共享数据空间),线程控制块,TCB(Thread control block)标志线程存在的数据结构,其中包含对线程管理需要的全部信息内容线程标识、线程状态调度参数、现场(通用寄存器,PC,SP)存放位置用户级线程:目态空间(运行系统)核心级线程:系统空间,2.3.3 线程结构

8、,寄存器,多进程结构(用户视图),2.3.3 线程结构,多线程结构(用户视图),2.3.4 线程的实现,2.3.1 用户级别线程User-level thread2.3.2 核心级别线程Kernel-level thread2.3.3 混合线程Hybrid approach,2.3.4.1 用户级别线程,实现方法:基于library函数,系统不可见线程创建、撤销、状态转换在目态完成TCB在用户空间,每个进程一个系统栈优点:不依赖于操作系统,调度灵活切换速度快缺点:同一进程中多个线程不能真正并行,一个线程进入系统受阻,进程中其它线程不能执行,2.3.4.1 用户级别线程,2.3.4.2 核心级别

9、线程,实现方法:基于系统调用创建、撤销、状态转换由操作系统完成优点:同一进程内多线程可以并行执行一线程进入核心等待,其它线程仍可执行缺点:系统开销大,同一进程内多线程切换速度慢调度算法不能灵活控制,2.3.4.2 核心级别线程,2.3.4.3 混合线程,Solaris例子User level thread:由Lib程序支持(创建调度)Light weighted process(LWP):由Lib程序支持每个task至少一个LWP用戶级别线程与LWP可以多对多只有与LWP相联系的用户线程向前推进Kernel level thread:由kernel 支持每个核心线程与唯一一个LWP对应核心线程

10、可与CPU多对多,可对一,2.3.4.3 混合线程(Solaris),2.3.5 线程的应用,内在的多控制流生产消费问题多线程优于多进程快100倍!提高处理机与设备的并行性多处理机环境提高处理机利用率,加快进程推进速度,2.3.5 线程的应用,例子:Word字处理(不同代码)交互编辑(T1)词法检查(T2)定时保存(T3)HTTP server(相同代码)对每个http请求,pop up一个线程,2.4 作业(Job),作业概念用户要求计算机系统为其完成的计算任务集合。作业步(job step)作业处理过程中一个相对独立的步骤一般一个作业步可由一个进程完成某些作业步之间可以并行作业分类批处理作

11、业交互式作业,2.4.1 批处理作业,作业控制语言(JCL)描述批处理作业控制意图的语言作业说明书(JCL语句的序列)一般以特殊符号起始$JOB J1$FORTN$LINK$ENDJOB作业控制程序:解释并处理作业说明书的程序作业控制进程:执行作业控制程序的进程,作业控制进程,2.4.2 交互式作业,帐户管理:/etc/passwd文件创建与撤销创建:用户提供(用户名,口令,资金)系统操作员建立(根目录/usr/zhang,填写passwd文件)撤销:删除该用户目录及所有文件在passwd文件中清除对应entry,2.4.2 交互式作业,注册与注销注册:logon:用户名password:*注销:显示注销:logout隐式注销:(如5分钟无输入命令),小结:作业、进程、线程,作业与进程作业进入内存后变为进程一个作业通常与多个进程相对应进程与线程不支持多线程的系统,可视为单线程进程一个进程一般包含多个线程,至少包含一个线程,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号