操作系统原理_方敏_进程与线程基本知识课件

上传人:29 文档编号:241282588 上传时间:2024-06-15 格式:PPT 页数:22 大小:429.11KB
返回 下载 相关 举报
操作系统原理_方敏_进程与线程基本知识课件_第1页
第1页 / 共22页
操作系统原理_方敏_进程与线程基本知识课件_第2页
第2页 / 共22页
操作系统原理_方敏_进程与线程基本知识课件_第3页
第3页 / 共22页
点击查看更多>>
资源描述
进程和线程基本知识操作系统课程组进程和线程基本知识操作系统课程组内容安排进程的基本概念进程的基本概念进程调度进程调度进程间的相互作用进程间的相互作用 线程的基本概念线程的基本概念2内容安排进程的基本概念2进程的基本概念定义定义v进程是程序的一次执行,该进程可与其它进程并发执行;它是一个动进程是程序的一次执行,该进程可与其它进程并发执行;它是一个动态的实体,在传统的操作系统设计中,进程既是资源的基本分配单元,态的实体,在传统的操作系统设计中,进程既是资源的基本分配单元,也是基本的执行单元。也是基本的执行单元。进程与程序的区别和联系进程与程序的区别和联系v程序是静态的,进程是动态的。程序是有序代码的集合;进程是程序程序是静态的,进程是动态的。程序是有序代码的集合;进程是程序的一次执行。的一次执行。v进程是暂时的,程序的永久的。进程是一个变化的过程,有生命周期,进程是暂时的,程序的永久的。进程是一个变化的过程,有生命周期,暂时存在,程序没有生命周期,可长久保存。暂时存在,程序没有生命周期,可长久保存。v进程还是操作系统资源分配和保护的基本单位,程序没有此功能。进程还是操作系统资源分配和保护的基本单位,程序没有此功能。v进程与程序的对应关系。通过多次执行,一个程序可对应多个进程;进程与程序的对应关系。通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。通过调用关系,一个进程可包括多个程序。v进程与程序的结构不同。进程与程序的结构不同。3进程的基本概念定义3进程的基本概念进程的组成进程的组成4进程的基本概念进程的组成PCB Process Contro进程的基本概念进程进程/线程的执行线程的执行运行运行Running阻塞阻塞Blocked进程占有处理机,处理机正在执行该进进程占有处理机,处理机正在执行该进程的程序。程的程序。进程已获得除处理机外进程已获得除处理机外的所需资源,等待分配的所需资源,等待分配处理机执行。处理机执行。也叫等待、挂起、睡眠态,此时进也叫等待、挂起、睡眠态,此时进程因等待某种条件(如程因等待某种条件(如I/O操作或进操作或进程同步)无法运行。引起进程阻塞程同步)无法运行。引起进程阻塞的原因很多,系统将根据不同的阻的原因很多,系统将根据不同的阻塞原因将进程插入某个相应的阻塞塞原因将进程插入某个相应的阻塞队列中。队列中。就绪就绪Ready5进程的基本概念进程/线程的执行运行被调度时间片用完,中断资源进程的基本概念运行运行就绪就绪阻塞阻塞新建新建结束结束6进程的基本概念运行就绪阻塞被调度时间片用完,中断资源释放或事进程的基本概念进程的特征进程的特征v并发性:执行时间可以重叠;并发性:执行时间可以重叠;v动态性:有生命周期,存在不同的状态;动态性:有生命周期,存在不同的状态;v独立性:独立执行,是资源分配和调度的独立单位;独立性:独立执行,是资源分配和调度的独立单位;v制约性:虽然独立执行,但可能存在相互制约关系;制约性:虽然独立执行,但可能存在相互制约关系;v异步性:各进程执行时间相对独立,不确定;异步性:各进程执行时间相对独立,不确定;v结构性:拥有固定结构。结构性:拥有固定结构。7进程的基本概念进程的特征7进程调度定义定义v就是按照一定的算法,从就绪队列中选择某个进程占用就是按照一定的算法,从就绪队列中选择某个进程占用CPU的方法的方法对对CPU资源进行合理的分配使用,以提高处理机利用率,并使各进资源进行合理的分配使用,以提高处理机利用率,并使各进程公平得到处理机资源。程公平得到处理机资源。进程调度算法进程调度算法v先来先服务调度算法先来先服务调度算法(FCFS,First Come First Served)PCBPCBPCBPCBCPU8进程调度定义PCBPCBPCBPCB就绪队列CPU8进程调度v基于优先数的调度算法基于优先数的调度算法(Priority Scheduling Algorithm)思想:给每一个进程设置一个优先数思想:给每一个进程设置一个优先数(优先级优先级),系统在调度时优先选择,系统在调度时优先选择具有高优先级的进程占用具有高优先级的进程占用CPU。具有相同优先数的进程按照。具有相同优先数的进程按照FCFS算法执算法执行。行。优先数的确定:优先数的确定:运行前:可根据外设的使用情况,运行时间的长短,紧急程度,重要运行前:可根据外设的使用情况,运行时间的长短,紧急程度,重要程度等因素确定。程度等因素确定。运行中:运行中:l静态优先数法:静态优先数法:进程创建时就规定好它的优先数,这个数值在进进程创建时就规定好它的优先数,这个数值在进程运行时不变。程运行时不变。l动态优先数法动态优先数法:进程的优先数在执行过程中可以根据情况变化而:进程的优先数在执行过程中可以根据情况变化而改变。改变。9进程调度基于优先数的调度算法(Priority Schedu进程调度v时间片轮转法时间片轮转法(RR,Round Robin)特点:专门为分时系统设计。类似于特点:专门为分时系统设计。类似于FCFS算法但是增加了抢占及进程间算法但是增加了抢占及进程间的切换功能。的切换功能。思想:系统规定一个时间长度思想:系统规定一个时间长度(时间片时间片/时间量时间量)作为允许一个进程运行的作为允许一个进程运行的时间,如果在这段时间该进程没有执行完,则必须让出时间,如果在这段时间该进程没有执行完,则必须让出CPU等待下一次等待下一次分配的时间片。分配的时间片。PCBPCBPCBPCBCPU就绪队列就绪队列10进程调度时间片轮转法(RR,Round Robin)PC进程调度v多级反馈队列调度算法多级反馈队列调度算法(Multilevel Feedback Queue Scheduling)思想:引入多个就绪队列,通过对各队列的区别对待,达到一个综合的思想:引入多个就绪队列,通过对各队列的区别对待,达到一个综合的调度目标。调度目标。CPUPCBPCBPCBPCBPCBPCBPCBPCBPCBPCBPCBPCB11进程调度多级反馈队列调度算法(Multilevel Feed进程间的相互作用 同步同步v进程之间相互合作、协同工作的关系称为进程的同步。简单说来就是:进程之间相互合作、协同工作的关系称为进程的同步。简单说来就是:多个相关进程在执行次序上的协调。进程间的直接制约。多个相关进程在执行次序上的协调。进程间的直接制约。临界资源临界资源v也称独占资源,是指在一段时间内只允许一个进程访问的资源。例如也称独占资源,是指在一段时间内只允许一个进程访问的资源。例如打印机,磁带机,也可以是进程共享的数据、变量等。打印机,磁带机,也可以是进程共享的数据、变量等。互斥互斥v定义:当多个进程因为争夺临界资源而互斥执行称为进程的互斥。进定义:当多个进程因为争夺临界资源而互斥执行称为进程的互斥。进程间的间接制约。程间的间接制约。12进程间的相互作用 同步12进程间的相互作用互斥解决方案互斥解决方案v关中断法关中断法(开关中断指令开关中断指令)也称为也称为“硬件锁硬件锁”,是实现互斥最简单的方法。,是实现互斥最简单的方法。做法:每个进程在进入临界区后先关中断,屏蔽其它请求,在离开之前做法:每个进程在进入临界区后先关中断,屏蔽其它请求,在离开之前再开中断。再开中断。v锁变量法锁变量法(测试和设置指令测试和设置指令)做法:设置一个共享做法:设置一个共享(锁锁)变量变量W,初值为,初值为0。当一个进程想进入其临界区。当一个进程想进入其临界区时,它首先测试这把锁。如果锁的值为时,它首先测试这把锁。如果锁的值为0,则进程将其置为,则进程将其置为1并进入临界并进入临界区。若锁已经为区。若锁已经为1,则进程等待直到其变成,则进程等待直到其变成0。于是,。于是,0就表示临界区内没就表示临界区内没有进程,有进程,1表示已经有某个进程进入了临界区。表示已经有某个进程进入了临界区。v其它方法其它方法Dekker算法:进程被强制轮流进入临界区算法:进程被强制轮流进入临界区(不管是否愿意不管是否愿意)。Peterson算法:设置标识指示是否又要求进入临界区。算法:设置标识指示是否又要求进入临界区。13进程间的相互作用互斥解决方案13进程间的相互作用信号量信号量(Semaphore)和和P、V操作操作v信号量:信号量:1965年由荷兰学者年由荷兰学者Dijkstra提出,它是一种特殊的数据结构。提出,它是一种特殊的数据结构。功能:表示资源的实体。功能:表示资源的实体。特殊之处:特殊之处:每个信号量与一个队列关联;每个信号量与一个队列关联;其值只能通过初始化和其值只能通过初始化和P、V操作来访问。操作来访问。v信号量的类型:信号量的类型:公用信号量:用于进程间的互斥,初值通常为公用信号量:用于进程间的互斥,初值通常为1私有信号量:用于进程间的同步,初值通常为私有信号量:用于进程间的同步,初值通常为0或或n14进程间的相互作用信号量(Semaphore)和P、V操作14进程间的相互作用vP、V操作操作(均是原语均是原语)P(S):/S为信号量为信号量 S=S-1;if(S 0)调用进程被阻塞,调用进程被阻塞,进入进入S的等待队列;的等待队列;PCBPCBPCBPCBPCB15进程间的相互作用P、V操作(均是原语)P操作:荷兰语“pr进程间的相互作用V(S):/S为信号量为信号量 S=S+1;if(S=0)从从S的等待队列中唤醒一个进程的等待队列中唤醒一个进程 使其进入就绪状态;使其进入就绪状态;PCBPCBPCBPCBPCB16进程间的相互作用V操作:荷兰语“verhogen”“增量进程间的相互作用信号量及信号量及P、V操作的应用操作的应用v进程的互斥进程的互斥 P(S);print file1;V(S);P(S);print file2;V(S);17进程间的相互作用信号量及P、V操作的应用semaphore 进程间的相互作用v进程的同步进程的同步生产者与消费者问题生产者与消费者问题 cooking;P(S1);put in dish;V(S2);P(S2);take out from dish;V(S1);eating;18进程间的相互作用进程的同步生产者与消费者问题问题描述:生线程的基本概念定义定义v线程线程(thread)也叫轻型进程,是一个可执行的实体单元。它代替以往也叫轻型进程,是一个可执行的实体单元。它代替以往的进程,成为现代操作系统中处理机调度的基本单位。的进程,成为现代操作系统中处理机调度的基本单位。线程和进程的关系线程和进程的关系19线程的基本概念定义多线程模型1、线程是进程的一个组成部分,线线程的基本概念线程的结构线程的结构PCB程序程序数据数据TCB栈栈TCB栈栈TCB栈栈工作区工作区20线程的基本概念线程的结构PCB程序数据进程地址空间TCB栈线线程的基本概念线程优势线程优势v创建和撤消线程的开销非常小。创建和撤消线程的开销非常小。不需要向系统请求独立的地址空间及进行相关的地址空间复制不需要向系统请求独立的地址空间及进行相关的地址空间复制(例如父子例如父子进程进程),因此创建和撤销线程系统的开销要远小于进程。,因此创建和撤销线程系统的开销要远小于进程。v切换迅速。切换迅速。线程的上下文环境要比进程简单的多,因此线程间的切换远比进程快的线程的上下文环境要比进程简单的多,因此线程间的切换远比进程快的多。多。v通信效率高。通信效率高。同一进程中的线程由于共享同一地址空间,通信时不需要借助内核功能。同一进程中的线程由于共享同一地址空间,通信时不需要借助内核功能。v并发度高。并发度高。在多处理机系统中,对进程的个数是有所限制的,但对线程的个数理论在多处理机系统中,对进程的个数是有所限制的,但对线程的个数理论上不存在限制,更发挥了多处理机系统的优势。上不存在限制,更发挥了多处理机系统的优势。21线程的基本概念线程优势21References1方敏、王亚平、权义宁、王长山等编著,计算机操作系统,西安方敏、王亚平、权义宁、王长山等编著,计算机操作系统,西安电子科技大学出版社,电子科技大学出版社,2004.822References1方敏、王亚平、权义宁、王长山等编
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!