操作系统原理ppt课件(完整版).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《操作系统原理ppt课件(完整版).ppt》由会员分享,可在线阅读,更多相关《操作系统原理ppt课件(完整版).ppt(667页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第1章章 操作系统概论操作系统概论 本章学习目标 本章主要讲解操作系统的基本知识。通过本章学习,读者应该掌握以下内容:操作系统的功能和地位 操作系统的发展过程 操作系统的特征 操作系统的结构第第1章章 操作系统概论操作系统概论1第第2 2章章 进程管理进程管理 本章学习目标 本章主要介绍进程的概念、状态、构成以及Linux进程的相关知识。掌握进程的概念掌握进程的描述、状态及转换理解进程的特征了解Linux进程的描述及进程通信掌握进程的同步与互斥,并能灵活运用理解线程的概念及特征 第第2 2章章 进程管理进程管理2 教学内容 2.1进程的引入2.2进程的描述2.3进程控制2.4进程的同步与互
2、斥2.5进程同步问题举例2.6进程通信2.7线程本章小结 32.1 进程的引入进程的引入 2.1.1 程序的顺序执行程序的顺序执行1程序的顺序执行程序的顺序执行 程序是人们要计算机完成的一些指令序列,是一个按严格次序、顺序执行的操作序列,是一个静态的概念。我们把一个具有独立功能的程序独占处理机,直到最后结束的过程称为程序的顺序执行。2程序顺序执行时的特征程序顺序执行时的特征(1)顺序性。(2)封闭性。(3)可再现性。第第2 2章章 进程管理进程管理42.1.2 程序的并发执行及其特征程序的并发执行及其特征1并发执行的概念并发执行的概念 所谓程序的并发性,是指多道程序在同一时间间隔内同时发生。程
3、序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的一种执行方式。第第2 2章章 进程管理进程管理52程序并发执行时的特征程序并发执行时的特征(1)间断性 程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使这些并发执行的程序之间,形成了相互制约的关系。相互制约将导致并发程序具有“执行暂停执行”这种间断性的活动规律。(2)失去封闭性 某程序在执行时,必然会受到其它程序的影响。(3)不可再现性 在并发环境下,同一个程序执行多次,执行的过程可能不同。用程序作为描述其执行过程
4、以及共享资源的基本单位是不合适的。因此引入了进程作为描述程序的执行过程、共享资源的基本单位。第第2 2章章 进程管理进程管理62.1.3 进程的定义与特征进程的定义与特征1进程的定义进程的定义人们对进程下过许多定义。现列举其中的几种:(1)进程是程序的一次执行。(2)进程是可以和别的进程并发执行的计算。(3)进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。(4)进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位(5)进程是动态的,有生命周期的活动。内核可以创建一个进程,最终将由内核终止该进程使其消亡。第第2 2章章 进程管理进程管理7进程和程序
5、之间的关系进程和程序之间的关系 进程和程序是两个完全不同的概念,但又有密切的联系。它们之间的主要区别是:(1)程序是静态的概念,;而进程则是程序的一次执行过程。它是动态的概念。(2)进程是一个能独立运行的单位,能与其它进程并发执行;而程序是不能作为一个独立运行的单位而并发执行的。(3)程序和进程无一一对应的关系。(4)各个进程在并发执行过程中会产生相互制约关系,而程序本身是静态的,不存在这种异步特征。第第2 2章章 进程管理进程管理82进程的特征进程的特征从进程与程序的区别可以看出,进程具有如下特征:(1)动态性 动态性是进程最基本的特性。进程由创建而产生,由调度而执行,因得不到资源而暂停执行
6、,以及因撤消而消亡。(2)并发性 这是指多个进程实体,同存于内存中,能在一段时间段内同时执行。并发性是进程的重要特征,同时也是操作系统的重要特征。提高并发性,可以提高系统的效率。(3)独立性 进程是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。(4)异步性 这是指进程按各自独立的、不可预知的速度向前推进;或者说,进程按异步方式运行。(5)结构特征 从结构上看,进程实体是由程序段、数据段及进程控制块三部分组成,也称这三部分为进程映像。第第2 2章章 进程管理进程管理92.1.4 进程的基本状态及转换进程的基本状态及转换1进程的三个基本状态进程的三个基本状态 进程通常至
7、少有三种基本状态:(1)就绪状态(ready)进程运行所需的外部条件满足,但因为其它进程已占用CPU,所以暂时不能运行。(2)执行状态(running)外部条件满足,进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态。(3)阻塞状态(blocked)进程因等待某种事件发生,而暂时不能运行的状态,称为阻塞状态,也称为等待状态。系统中处于这种状态的进程可能有多个,通常将它们排成一个队列,也有的系统则根据阻塞原因的不同将这些进程排成多个队列。第第2 2章章 进程管理进程管理102进程状态的转换进程状态的转换 对于一个系统中处于就绪状态的进程,在调度程序为之分配了处理机之后,
8、该进程便可执行,相应地,它由就绪态转变为执行状态。正在执行的进程也称为当前进程,如果因分配给它的时间片已用完而被暂停执行时,该进程便由执行状态又回到就绪状态;一个处在执行状态的进程,如果因发生某事件而使进程的执行受阻,使之无法继续执行,该进程将由执行状态转变为阻塞状态。一个处于阻塞状态的进程,当它所需的外部事件满足,它应由阻塞状态变为就绪状态。第第2 2章章 进程管理进程管理11程执行完成或撤消阻塞状态就绪状态调度用片间时进程创建进等待某事件发生如I/O请求外部事件发生图2-1进程的基本状态及转换图完第第2 2章章 进程管理进程管理123引入挂起状态时的进程状态引入挂起状态时的进程状态 所谓挂
9、起状态,实际上就是一种静止的状态。一个进程被挂起后,不管它是否在就绪状态,系统都不分配给它处理机。在引入挂起状态后,进程之间的状态转换除了四种基本状态转换以外,又增加了以下几种:(1)活动就绪静止就绪。(2)活动阻塞静止阻塞。(3)静止就绪活动就绪。(4)静止阻塞活动阻塞。第第2 2章章 进程管理进程管理13完成或撤消执行外部事件满足外挂起激活挂起挂激活活动就绪静止就绪活动阻塞静止阻塞调度图2-2具有挂起状态的进程状态转换等部事件外待起部条件满足第第2 2章章 进程管理进程管理142.1.5 Linux进程的状态进程的状态 Linux系统的一个任务总体上有以下几种状态:(1)TASK-RUNN
10、ING状态。(2)TASK-INTERRUPTIBLE状态,可中断的等待状态。(3)TASK-UNINTERRUPTIBLE状态,不可中断等待状态。(4)TASK-ZOMBIE状态,僵死状态。(5)TASK-STOPPED状态,暂停状态。第第2 2章章 进程管理进程管理152.2 进程的描述进程的描述 进程实体通常是由程序、数据集合和PCB这三部分构成,也称为“进程映象”。PCB程序部分数据集合第第2 2章章 进程管理进程管理16图2-4 进程的一般组成模型2.2.1 进程控制块进程控制块PCB PCB集中反映一个进程的动态特征,当系统创建了一个新进程时,就为它建立一个PCB;当进程终止后,系
11、统回收其PCB,该进程在系统中就不存在了。所以,PCB是进程存在的惟一标志。可以按照功能将PCB分成四个组成部分:进程标识符、处理机状态、进程调度信息、进程控制信息。第第2 2章章 进程管理进程管理171进程标识符进程标识符进程标识符用于惟一地标识一个进程。一个进程通常有两种标识符:(1)进程内部标识符。(2)进程外部标识符。2处理机状态处理机状态:由各种寄存器中的内容组成。3进程调度信息进程调度信息(1)进程状态。(2)进程优先级。(3)进程调度所需要的其它信息。(4)事件,或阻塞原因。4进程控制信息进程控制信息,包括:(1)程序和数据的地址;(2)进程同步和通信机制;(3)资源清单;(4)
12、链接指针。第第2 2章章 进程管理进程管理182.2.2 进程控制块的组织方式进程控制块的组织方式各进程的PCB有如下几种组织方式:线性方式、链接方式和索引方式。1线性方式线性方式将各进程的PCB依次放入一个表中,结构如下图所示。PCB1PCB2PCB3PCBn-1PCBn第第2 2章章 进程管理进程管理19图2-5 PCB的线性组织方式2链接方式链接方式 链接方式是经常采用的方式。其原理是:按照进程的不同状态分别将其放在不同的队列。Linux操作系统就是应用这种进程控制块组织方式。运行队列指针就绪队列指针PCBPCBPCB0阻塞队列1指针阻塞队列2指针PCB0PCBPCBPCB0PCBPCB
13、PCB0图2-6PCB链接队列示意图第第2 2章章 进程管理进程管理203索引方式索引方式系统根据所有进程的状态建立几张索引表。阻塞索引表就绪索引表执行指针就绪表指针阻塞表指针PCB1PCB2PCB3PCB4PCB5PCB6PCB7图2-7PCB索引结构示意图第第2 2章章 进程管理进程管理212.2.3 Linux进程的进程的PCB Linux系统中的进程称为任务。该系统的进程控制块PCB用一个称为task-struct的结构体来描述,Linux系统PCB包含以下信息:1 进程描述信息进程描述信息(1)进程标识号(pid,process identifier)(2)用户和组标识(user a
14、nd group identifier)(3)连接信息(Links)2进程控制信息进程控制信息(1)进程当前状态(2)调度信息(3)记时信息(4)通信信息第第2 2章章 进程管理进程管理22 Linux支持典型的UNIX进程间通信机制信号、管道,也支持System 通信机制共享内存、信号量和消息队列。3 进程资源信息进程资源信息 记录了与该进程有关的存储器的各种地址和资料、文件系统以及打开文件的信息等等。4 CPU现场信息现场信息第第2 2章章 进程管理进程管理232.3 进程控制进程控制 所谓进程控制,就是系统使用一引起具有特定功能的程序段来创建、撤消进程以及完成进程各状态间的转换,从而达到
15、多进程高效率并发执行和协调、实现资源共享的目的。系统在运行时分为两种状态,即核心态和用户态。核心态也叫系统态或管态,是指CPU在运行操作系统的核心模块;用户态也称用态,是指CPU正在运行用户的程序。第第2 2章章 进程管理进程管理24 原语的概念:把系统态下执行的某些具有特定功能的程序段称为原语,原语的特点是不可被中断。系统在创建、撤消一个进程以及要改变进程的状态时,都要调用相应的程序段来完成这些功能。用于进程控制的原语有创建原语、撤消原语、阻塞原语和唤醒原语等。2.3.1 进程的家族关系进程的家族关系 操作系统通过内核原语来实现进程控制。在系统初始化完成后,系统就可创建进程。创建者称为父进程
16、,被创建的新进程称为子进程,子进程又可以创建自己的子进程,从而形成一棵有向的进程家族树。子进程与父进程之间有着密切的关系,子进程的许多属性都是从父进程继承来的,子进程与父进程的区别是形成自己独立的属性。子进程可以从父进程继承的属性包括:用户标识符、环境变量、打开文件、文件系统的当前目录、已经连接的共享存储区和信号处理处理例程入口表等。子进程不能从父进程继承的属性包括:进程标识符和父进程标识符等。2.3.2 进程的创建与终止进程的创建与终止1进程的创建进程的创建 导致进程创建的事件有:用户登录、作业调度、为用户提供服务等。创建原语Creat(),通过下述步骤创建一个进程。(1)申请空白PCB。(
17、2)为新进程分配资源。(3)初始化进程控制块。(4)将新建进程插入就绪态队列。2进程的终止过程进程的终止过程 在进程中,操作系统调用进程终止原语,终止本进程。过程如下:(1)根据被终止进程的标识符,从PCB队列中检索出该进程的PCB,从中读出该进程的状态。(2)若被终止进程正处于执行状态,应立即终止该进程的执行,该进程被终止后应重新进程调度。(3)检查该进程有无子孙进程,若有,则应将其所有子孙进程终止。(4)释放终止的进程所占有的资源,将其归还它的父进程或者系统。(5)将被终止的进程从它的PCB队列中移出。第第2 2章章 进程管理进程管理272.3.3 进程的阻塞与唤醒进程的阻塞与唤醒 进程状
18、态的转换需要通过进程之间的同步或通信机构来实现,也可直接使用“阻塞原语”和“唤醒原语”来实现。阻塞原语在一个进程期待某一事件发生,但发生条件还不满足时,被该进程自己调用来阻塞自己,并转换为等待状态。当等待队列中的进程所等待的事件发生时,等待该事件的进程都将被唤醒。唤醒一个进程有两种方法,一种是由系统进程唤醒,另一种是由事件发生进程唤醒。第第2 2章章 进程管理进程管理28 实现进程的执行状态到等待状态,又由等待状态到就绪状态转换的两种原语,分别为阻塞原语与唤醒原语。入口保存该进程的CPU现场字置该进程的状态为阻塞阻塞进程PCB进入等待队列转到进程调度入口从等待队列取被唤醒进程将被唤醒进程置为就
19、绪态被唤醒进程插入就绪队列转到进程调度或返回图2-9阻塞原语的实现图2-10唤醒原语的实现2.3.4 Linux系统调用系统调用 在Linux系统中,系统向用户提供了一些对进程进行控制的系统调用。常用的有:1fork()系统调用系统调用 Linux利用fork()系统调用创建一个新进程。2Exec系统调用系统调用 利用exec系统调用执行另一个程序。3exit()系统调用系统调用 父进程在创建子进程时,应在进程的末尾写一条exit,使子进程自我终止。4wait系统调用系统调用 将调用进程挂起,直至其子进程因暂停或终止而发来软中断信号为止。第第2 2章章 进程管理进程管理302.4 进程的同步与
20、互斥进程的同步与互斥2.4.1 临界资源的概念临界资源的概念1临界资源临界资源 两个或两个以上的进程不能同时使用的资源为临界资源。临界资源可能是一些独占设备,如打印机、磁带机等;也可能是一些共享变量、表格、链表等。第第2 2章章 进程管理进程管理312临界区临界区 每个进程中访问临界资源的那段代码称为临界区。在临界区前面增加一段用于进行检查的代码,把这段代码称为进入区;相应地,在临界区后面再加一段用于退出临界区的代码,称为退出区。进程中除去上述进入区和退出区,其它部分的代码,称为剩余区。这样,可将一个访问临界资源的进程描述如下:repeat 进入区;临界区;退出区;剩余区;until fals
21、e;第第2 2章章 进程管理进程管理322.4.2 进程的互斥与同步进程的互斥与同步1互斥与同步的概念互斥与同步的概念 进程互斥是指多个进程不能同时使用同一个临界资源CR,即两个或两个以上进程必须互斥地使用临界资源,或不能同时进入临界区CS。两个逻辑上完全独立、毫无关系的进程,由于竞争同一个资源而相互制约,就称为进程的互斥。进程同步,是指有协作关系的进程之间,要不断地调整它们之间的相对速度或执行过程,以保证临界资源的合理利用和进程的顺利执行。实现进程同步的机制称为进程同步机制。2同步机制应遵循的规则同步机制应遵循的规则所有同步机制都应遵循下列准则:(1)空闲让进。(2)忙则等待。(3)有限等待
22、。(4)让权等待。第第2 2章章 进程管理进程管理332.4.3 锁机制锁机制 实现互斥的一种软件是采用锁机制,即提供一对上锁(Lock)和开锁(UnLock)原语,以及一个锁变量w(或者是锁位个bit)。加锁及解锁原语可描述如下:加锁原语:Lock w:L:if w=1 goto L else w=1开锁原语:UnLock w:w=0;第第2 2章章 进程管理进程管理34改进的加锁和开锁原语改进的加锁和开锁原语加锁原语:Lock w()while(w=1)保护当前进程的CPU现场;将当前进程放入W的的等待队列,将该进程置为“等待”状态;转进程调度;开锁原语:UnLock()if(w等待队列不
23、空)移出等待队列首元素;将该进程置为就绪状态,并放入就绪队列;w=02利用锁机制实现进程的互斥 所有要进入临界区的进程,必须先执行上锁原语。如果该上锁原语顺利通过,则进程可进入该临界区;在完成对该临界资源的访问后,再执行开锁原语,用以释放该临界资源。2.4.4 信号量机制信号量机制 申请和释放临界资源的两个原语操作:wait操作和signal操作,有时也称为操作和操作。信号量(Semaphore),也叫做信号灯,它是在信号量同步机制中用于实现进程的同步和互斥的有效数据结构。我们可以为每类资源设置一个信号量。它有多种类型的数据结构,即:整型信号量、记录型信号量、型信号量及信号量集等。第第2 2章
24、章 进程管理进程管理371整型信号量整型信号量 整型信号量的数值表示当前系统中可用的该类临界资源的数量。如设置整型信号量s,则s的值意义为:s0,则s的值表示系统中空闲的该类临界资源的个数;s=0,则表示系统中该类临界资源刚好全部被占用,而且没有进程在等待该临界资源;s0,则s的绝对值表示系统中的进程等待该类临界资源的个数;第第2 2章章 进程管理进程管理382记录型信号量记录型信号量 记录型信号量的数据结构由两部分构成。例如:定义记录型信号量,则:s的值表示系统中可用的该类临界资源的数量,而为进程链表指针,指向等待该类资源的PCB队列。设变量为记录型信号量,则wait()操作和signal(
25、)操作的流程如下图所示:第第2 2章章 进程管理进程管理39Wati(S)是Wati(S)s=s-1申请到资源本进程继续本进程入阻塞队列s0否转进程调度图2-10Wait操作原语流是signal(S)s=s+1唤醒一阻塞态进程s0否图2-11signal操作原语流释放该类资源本进程继续第第2 2章章 进程管理进程管理40申请临界资源的原语wait操作可描述为:void wait(S)S.value=s.value-1;if S.value0 本进程继续;else 将本进程放入阻塞态队列;转进程调度;释放临界资源的原语signal操作可描述为:void signal(S)S.value=s.va
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 原理 ppt 课件 完整版
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内