操作系统实用教程第4章-处理器管理课件_第1页
操作系统实用教程第4章-处理器管理课件_第2页
操作系统实用教程第4章-处理器管理课件_第3页
操作系统实用教程第4章-处理器管理课件_第4页
操作系统实用教程第4章-处理器管理课件_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章处理器管理第4章处理器管理第4章处理器管理内容框架

第4章处理器管理内容框架学习目标与学习内容如何使用Windows2003任务管理器?什么是进程与线程

?Windows2003进程与线程是怎么样的?什么是进程通信与同步?有哪些算法?如何实现?什么是进程调度与死锁

?有哪些算法?如何实现?什么是多线程?如何实现?第4章处理器管理学习目标与学习内容第4章处理器管理学习目标:理解引入进程机制能有效解决多道程序设计中的程序并行执行问题,提高计算机资源的利用率。其中要求:掌握Windows2003的任务管理器使用;进程的定义、状态;理解进程控制;理解并发进程之间的互斥与同步;理解进程的调度;理解进程的死锁以及产生死锁的必要条件、排除死锁的策略以及实现;了解线程的概念以及多线程的实现。学习内容:Windows2003任务管理、进程与线程、进程通信、进程调度、多线程。第4章处理器管理学习目标:理解引入进程机制能有效解决多道程序设计中的程序并行第4章处理器管理概述:任务管理器是Windows系统中自带的软件,用于对计算机运行状况进行检测监控。程序名为taskmgr.exe

.启动任务管理器方法认识任务管理器:应用程序、进程性能、联网、用户查看和操作任务管理器应用技巧:同时最小化多个窗口

降低BT软件的资源占用率

禁用任务管理器

打开处理器的超线程

4.1Windows2003任务管理第4章处理器管理概述:任务管理器是Windows系统中自带讨论题:1、如何结束进程?2、任务管理有何用处?如何打开任务管理器?3、如果你不希望他人私自操作你的电脑任务管理器,你该如何处理?4、什么是超线程技术?

4.1Windows2003任务管理第4章处理器管理讨论题:4.1Windows2003任务管理第4章处第4章处理器管理进程的定义和描述进程(process):是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。

进程和程序区别和联系:-进程是动态的,程序是静态的。程序是代码的集合;进程是程序的执行。

-进程是暂时的,程序是永久的。进程是状态变化的过程;程序可长久保存。

-进程与程序的组成不同:进程的组成包括程序、数据和进程控制块-进程与程序是密切相关的。一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进程可创建其他进程,而程序并不能形成新的程序。进程是程序代码的执行过程,但并不是所有代码执行过程都从属于某个进程。

4.2进程与线程的概念

第4章处理器管理进程的定义和描述4.2进程与线程的概念第4章处理器管理进程控制块(PCB):是由操作系统维护的用来记录进程相关信息的数据结构。-进程描述信息:进程标识符(processID)、进程名、用户标识符(userID)和进程组(processgroup)等-进程控制信息:当前状态、优先级、代码执行入口地址、程序的外存地址、运行统计信息(执行时间、页面调度)、进程阻塞原因等-资源占用信息:进程占用的系统资源列表-处理器现场保护结构:保存寄存器值

进程上下文:对进程执行活动全过程的静态描述,包括进程的用户地址空间内容、处理器中寄存器内容及与该进程相关的核心数据结构等-分成用户级上下文-寄存器级上下文-系统级上下文。

4.2进程与线程的概念

第4章处理器管理进程控制块(PCB):是由操作系统维护的用第4章处理器管理线程的概念

线程(Thread):是一个动态的对象,它是处理器调度的基本单位,表示进程中的一个控制点,执行一系列的指令。线程的优点:-线程的创建时间比进程短;-线程的终止时间比进程短;-同进程内的线程切换时间比进程短;-线程可直接进行不通过内核进行通信。内核线程(kernel-levelthread):是指由操作系统内核完成创建和撤销,用来执行一个指定的函数线程。用户线程(user-levelthread):是指不依赖于操作系统核心,由应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制的线程。4.2进程与线程的概念

第4章处理器管理线程的概念4.2进程与线程的概念第4章处理器管理进程与线程的比较

地址空间资源通信关系调度切换进程的状态转换

五状态进程模型

4.2进程与线程的概念

运行状态(Running)、就绪状态(Ready)、阻塞状态(Blocked)、创建状态(New)、退出状态(Exit)

第4章处理器管理进程与线程的比较4.2进程与线程的概念第4章处理器管理五状态进程模型的状态转换

(1)创建新进程(2)收容(Admit,也称为提交)(3)调度运行(Dispatch)(4)释放(Release)(5)超时(Timeout)(6)事件等待(EventWait)(7)事件出现(EventOccurs)4.2进程与线程的概念

第4章处理器管理五状态进程模型的状态转换4.2进程与线第4章处理器管理挂起进程模型-单挂起进程模型4.2进程与线程的概念

第4章处理器管理挂起进程模型4.2进程与线程的概念第4章处理器管理-双挂起进程模型

4.2进程与线程的概念

第4章处理器管理-双挂起进程模型4.2进程与线程的概念第4章处理器管理4.2进程与线程的概念

挂起(suspend):把一个进程从内存转到外存

-阻塞到阻塞挂起-就绪到就绪挂起-运行到就绪挂起激活(activate):把一个进程从外存转到内存-就绪挂起到就绪

-阻塞挂起到阻塞

事件出现(eventoccur):进程等待的事件出现,如操作完成、申请成功等;-阻塞到就绪

-阻塞挂起到就绪挂起

收容(admit):收容一个新进程,进入就绪状态或就绪挂起状态。第4章处理器管理4.2进程与线程的概念挂起(suspe第4章处理器管理4.2进程与线程的概念

Windows进程进程的创建和退出:-子进程与父进程:一个进程可利用系统调用功能来创建新的进程,创建者称为父进程,而被创建的新进程称为子进程。-进程的退出:通过相应的系统调用进行的,也称为“进程终止”。在进程的退出过程中,操作系统要删除系统维护的相关数据结构并回收进程占用的系统资源

进程的阻塞和唤醒:进程在执行过程中会因为等待I/O操作完成或等待某个事件出现而进入阻塞状态。当处于阻塞状态的进程所等待的操作完成或事件出现时,进程将会从阻塞状态唤醒而进入就绪状态。用户可通过相应系统调用来等待某个事件或唤醒某个阻塞进程。

第4章处理器管理4.2进程与线程的概念Windows第4章处理器管理4.2进程与线程的概念

Windows2003进程管理

:Windows中的进程是系统资源分配的基本单位。Windows进程是作为对象来管理,进程对象的属性包括:进程标识(PID)、资源访问令牌(AccessToken)、进程的基本优先级(BasePriority)和默认亲合处理器集合(ProcessorAffinity)等-Win32进程执行体进程块(EPROCESS)

:线程块列表、虚拟地址空间描述表、对象句柄列表-Win32子系统的进程控制系统调用:CreateProcess(创建新进程及其主线程)、ExitProcess(终止一个进程和它的所有线程)、TerminateProcess(终止指定的进程和它的所有线程)。-Windows2003程序调试机制第4章处理器管理4.2进程与线程的概念Windows第4章处理器管理4.2进程与线程的概念

Windows线程

第4章处理器管理4.2进程与线程的概念Windows讨论题:

1、什么是进程?什么是线程?进程和线程的区别是什么?2、进程调度有哪几种算法?

3、Windows2003如何进行进程管理的?4、Windows2003中的每个Win32进程都由一个执行体进程块表示,该执行体进程块中的主要内容包括哪些?

5、请说明进程模型中等待状态和阻塞状态的区别。

第4章处理器管理4.2进程与线程的概念

讨论题:第4章处理器管理4.2进程与线程的概念进程间通信

按通信量的大小分:低级通信、高级通信

按是否有第三方作为中转分:直接通信、间接通信

进程间通信考虑特征:通信链路特征、数据格式、收发双方的同步方式等互斥算法进程互斥的解决方法:由竞争各方平等协商、引入进程管理者资源共享的程度三个层次:互斥(mutualexclusion)、死锁(deadlock)和饥饿(starvation)。

4.3进程通信与同步第4章处理器管理进程间通信4.3进程通信与同步第4章处理器管理多进程系统中,进程间的相互制约关系三种类型

4.3进程通信与同步第4章处理器管理多进程系统中,进程间的相互制约关系三种类型4.3进程第4章处理器管理4.3进程通信与同步临界资源的访问过程

进程互斥的软件方法

-单标志算法

第4章处理器管理4.3进程通信与同步临界资源的访问过程

第4章处理器管理4.3进程通信与同步-双标志、先检查算法

-双标志、先修改后检查算法第4章处理器管理4.3进程通信与同步-双标第4章处理器管理4.3进程通信与同步-先修改、后检查、后修改者等待算法

第4章处理器管理4.3进程通信与同步-先修改、后检查、第4章处理器管理4.3进程通信与同步进程互斥的硬件方法

-TS(Test-and-Set)指令

-Swap指令(或Exchange指令)

第4章处理器管理4.3进程通信与同步进程互斥的硬件方法信号量:信号量是荷兰学者Dijkstra提出的一种进程同步机制

信号量和P、V原语

-P原语:

第4章处理器管理4.3进程通信与同步-V原语:信号量:信号量是荷兰学者Dijkstra提出的一种进程同步机信号量集:AND型信号量集、一般“信号量集”

第4章处理器管理4.3进程通信与同步管程

概述:管程是为了解决信号量机制面临的困难而提出的一种新的进程间同步机制,它把对信号量的控制集中在管程内部,保证进程互斥地访问共享变量,并方便地阻塞和唤醒进程。管程优点:-管程的封装良好,可增强模块的独立性。-引入管程可提高代码的可读性,便于修改和维护,正确性易于保证。

管程与进程的区别:进程是为了描述程序的动态执行过程,而设置管程是为了进行进程的同步,协调进程的相互关系和对共享资源进行访问。操作系统维护的进程数据结构是进程控制块,而与管程相关的数据结构是等待队列。管程可被进程调用。管程与操作系统中的共享资源相关,没有创建和撤消;而进程有创建和撤消。信号量集:AND型信号量集、一般“信号量集”第4章处讨论题:1、进程间通信要考虑到通信过程中哪些特征?

2、什么是进程互斥?互斥算法有哪些?

3、什么信号量和信号量集?

4、请简述你对P、V原语理解。

5、什么是管程?有何好处?

第4章处理器管理4.3进程通信与同步讨论题:第4章处理器管理4.3进程通信与同步调度的类型和模型

调度类型

-高级调度(HighLevelScheduling)-低级调度(LowLevelScheduling)

-中级调度(Intermediate-LevelScheduling)调度队列模型

-仅有进程调度的调度队列模型-具有高级和低级调度的调度队列模型-同时具有三级调度的调度队列模型选择调度方式和算法的若干准则-面向用户的原则-面向系统的准则

4.4进程调度与死锁第4章处理器管理调度的类型和模型4.4进程调度与死锁第4章处理器管理调度算法

调度:实质是一种资源分配

调度算法:根据系统的资源分配策略所规定的资源分配算法先来先服务算法(FCFS

):按进程的到达先后顺序进行调度

最短作业优先算法(SJF

)时间片时钟算法多级队列算法

(Multiple-levelQueue)

优先级算法

(PriorityScheduling)

多级反馈队列算法

(RoundRobinwithMultipleFeedback)

多级反馈队列算法

第4章处理器管理4.4进程调度与死锁调度算法第4章处理器管理4.4进程调度与死锁死锁

死锁的定义:假若在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的事件,那么这种状态被看成为死锁。死锁的条件:

-互斥条件,每个资源要么被分配给了一个进程,要么是空闲的。-部分分配(占有以及等待条件),已经得到了资源的进程可以再申请新的资源。-非剥夺条件,已经分配给一个进程的资源不能被剥夺掉,它只能被占有着它的进程显式地释放出来。-循环等待的条件,系统一定有由两个或两个以上的进程组成的—条环路,该环路中的每个进程都在等待着相邻进程正占用着的资源。

第4章处理器管理4.4进程调度与死锁死锁第4章处理器管理4.4进程调度与死锁第4章处理器管理4.4进程调度与死锁引起死锁情况-申请独占性的设备

-进程A对记录R1加了锁,进程B对记录R2加了锁,接着两进程又试图各自把对方的记录也加锁也会产生死锁

资源(resource)

:把需要排它性使用的这类对象称作为资源;可以是硬件或是一组信息;分可剥夺的和不可剥夺的两类.死锁和资源:可剥夺资源的潜在的死锁通常可以通过在进程间重新分配资源化解,所以死锁主要和不可剥夺资源有关。

第4章处理器管理4.4进程调度与死锁引起死锁情况第4章处理器管理4.4进程调度与死锁讨论题:1、什么是进程调度?有哪些调度类型?

2、选择调度方式和算法要遵循哪些准则?

3、有哪些调度算法?各有哪些优缺点?

4、什么是死锁?出现死锁需要哪些条件?

第4章处理器管理4.4进程调度与死锁讨论题:Win32API下的多线程编程线程:是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等。

Win32API:是Windows操作系统内核与应用程序之间的接口,它将内核提供的功能进行函数包装,应用程序通过调用相关函数而获得相应的系统功能。

用Win32函数创建和终止线程:-创建新的线程的函数

4.5多线程实现第4章处理器管理Win32API下的多线程编程4.5多线程实现第-设置线程的优先权函数:BOOLSetThreadPriority(HANDLEhThread,intnPriority);-线程的执行过程中终止函数:VOIDExitThread(DWORDdwExitCode);

-在线程的外面终止线程函数:BOOLTerminateThread(HANDLEhThread,DWORDdwExitCode);线程的同步

-互斥体对象(Mutex)-信号对象(Semaphore)-事件对象(Event)-排斥区对象(criticalsection)

4.5多线程实现第4章处理器管理-设置线程的优先权函数:4.5多线程实现第4章处理器管基于MFC的多线程编程MFC:是微软的VisualC++开发集成环境中提供给程序员的基础函数库,它用类库的方式将Win32API进行封装,以类的方式提供给开发者。MFC中线程类别:工作线程和用户接口线程。

工作线程:一个基本函数代表了一个线程,创建并启动线程后,线程进入运行状态;如果线程用到共享资源,则需要进行资源同步处理。

4.5多线程实现第4章处理器管理基于MFC的多线程编程4.5多线程实现第4章处理器管理用户接口线程

:-MFC提供了两个版本的AfxBeginThread函数,其中一个用于创建用户接口线程。-调用线程类的构造函数创建一个线程对象;再调用CWinThread::CreateThread函数来创建接口线程线程同步

4.5多线程实现第4章处理器管理用户接口线程:4.5多线程实现第4章处理器管理讨论题:1、什么是多线程?

2、如何利用Win32函数创建和终止线程?

3、什么线程的同步?如何实现?

4、什么是MFC?在MFC中如何处理线程?

4.5多线程实现第4章处理器管理讨论题:4.5多线程实现第4章处理器管理实训目的:1.熟悉任务管理器常规操作。2.熟悉通过任务管理器实现进程管理和性能监视。3.了解任务管理的扩展应用4.了解禁用任务管理器。5.了解WindowsServer2003体系结构。实训过程参见教材126页实训报告参考教材126页,按报告要求内容填写

4.6实训4Windows2003的进程管理

第4章处理器管理实训目的:4.6实训4Windows2003的进程管

小结多道程序设计技术提高了计算机资源的利用率,但程序并发执行环境带来了不可再现性的问题,为此,引入进程概念用以描述程序并发执行,解决程序并发执行带来的问题,使多道程序有效执行。本章主要介绍了进程、线程、进程状态、进程通信、进程同步、进程调度、死锁、任务管理器等内容。习题参见教材127-128页

小结与习题第4章处理器管理小结小结与习题第4章处理器管理第4章处理器管理第4章处理器管理第4章处理器管理内容框架

第4章处理器管理内容框架学习目标与学习内容如何使用Windows2003任务管理器?什么是进程与线程

?Windows2003进程与线程是怎么样的?什么是进程通信与同步?有哪些算法?如何实现?什么是进程调度与死锁

?有哪些算法?如何实现?什么是多线程?如何实现?第4章处理器管理学习目标与学习内容第4章处理器管理学习目标:理解引入进程机制能有效解决多道程序设计中的程序并行执行问题,提高计算机资源的利用率。其中要求:掌握Windows2003的任务管理器使用;进程的定义、状态;理解进程控制;理解并发进程之间的互斥与同步;理解进程的调度;理解进程的死锁以及产生死锁的必要条件、排除死锁的策略以及实现;了解线程的概念以及多线程的实现。学习内容:Windows2003任务管理、进程与线程、进程通信、进程调度、多线程。第4章处理器管理学习目标:理解引入进程机制能有效解决多道程序设计中的程序并行第4章处理器管理概述:任务管理器是Windows系统中自带的软件,用于对计算机运行状况进行检测监控。程序名为taskmgr.exe

.启动任务管理器方法认识任务管理器:应用程序、进程性能、联网、用户查看和操作任务管理器应用技巧:同时最小化多个窗口

降低BT软件的资源占用率

禁用任务管理器

打开处理器的超线程

4.1Windows2003任务管理第4章处理器管理概述:任务管理器是Windows系统中自带讨论题:1、如何结束进程?2、任务管理有何用处?如何打开任务管理器?3、如果你不希望他人私自操作你的电脑任务管理器,你该如何处理?4、什么是超线程技术?

4.1Windows2003任务管理第4章处理器管理讨论题:4.1Windows2003任务管理第4章处第4章处理器管理进程的定义和描述进程(process):是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。

进程和程序区别和联系:-进程是动态的,程序是静态的。程序是代码的集合;进程是程序的执行。

-进程是暂时的,程序是永久的。进程是状态变化的过程;程序可长久保存。

-进程与程序的组成不同:进程的组成包括程序、数据和进程控制块-进程与程序是密切相关的。一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进程可创建其他进程,而程序并不能形成新的程序。进程是程序代码的执行过程,但并不是所有代码执行过程都从属于某个进程。

4.2进程与线程的概念

第4章处理器管理进程的定义和描述4.2进程与线程的概念第4章处理器管理进程控制块(PCB):是由操作系统维护的用来记录进程相关信息的数据结构。-进程描述信息:进程标识符(processID)、进程名、用户标识符(userID)和进程组(processgroup)等-进程控制信息:当前状态、优先级、代码执行入口地址、程序的外存地址、运行统计信息(执行时间、页面调度)、进程阻塞原因等-资源占用信息:进程占用的系统资源列表-处理器现场保护结构:保存寄存器值

进程上下文:对进程执行活动全过程的静态描述,包括进程的用户地址空间内容、处理器中寄存器内容及与该进程相关的核心数据结构等-分成用户级上下文-寄存器级上下文-系统级上下文。

4.2进程与线程的概念

第4章处理器管理进程控制块(PCB):是由操作系统维护的用第4章处理器管理线程的概念

线程(Thread):是一个动态的对象,它是处理器调度的基本单位,表示进程中的一个控制点,执行一系列的指令。线程的优点:-线程的创建时间比进程短;-线程的终止时间比进程短;-同进程内的线程切换时间比进程短;-线程可直接进行不通过内核进行通信。内核线程(kernel-levelthread):是指由操作系统内核完成创建和撤销,用来执行一个指定的函数线程。用户线程(user-levelthread):是指不依赖于操作系统核心,由应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制的线程。4.2进程与线程的概念

第4章处理器管理线程的概念4.2进程与线程的概念第4章处理器管理进程与线程的比较

地址空间资源通信关系调度切换进程的状态转换

五状态进程模型

4.2进程与线程的概念

运行状态(Running)、就绪状态(Ready)、阻塞状态(Blocked)、创建状态(New)、退出状态(Exit)

第4章处理器管理进程与线程的比较4.2进程与线程的概念第4章处理器管理五状态进程模型的状态转换

(1)创建新进程(2)收容(Admit,也称为提交)(3)调度运行(Dispatch)(4)释放(Release)(5)超时(Timeout)(6)事件等待(EventWait)(7)事件出现(EventOccurs)4.2进程与线程的概念

第4章处理器管理五状态进程模型的状态转换4.2进程与线第4章处理器管理挂起进程模型-单挂起进程模型4.2进程与线程的概念

第4章处理器管理挂起进程模型4.2进程与线程的概念第4章处理器管理-双挂起进程模型

4.2进程与线程的概念

第4章处理器管理-双挂起进程模型4.2进程与线程的概念第4章处理器管理4.2进程与线程的概念

挂起(suspend):把一个进程从内存转到外存

-阻塞到阻塞挂起-就绪到就绪挂起-运行到就绪挂起激活(activate):把一个进程从外存转到内存-就绪挂起到就绪

-阻塞挂起到阻塞

事件出现(eventoccur):进程等待的事件出现,如操作完成、申请成功等;-阻塞到就绪

-阻塞挂起到就绪挂起

收容(admit):收容一个新进程,进入就绪状态或就绪挂起状态。第4章处理器管理4.2进程与线程的概念挂起(suspe第4章处理器管理4.2进程与线程的概念

Windows进程进程的创建和退出:-子进程与父进程:一个进程可利用系统调用功能来创建新的进程,创建者称为父进程,而被创建的新进程称为子进程。-进程的退出:通过相应的系统调用进行的,也称为“进程终止”。在进程的退出过程中,操作系统要删除系统维护的相关数据结构并回收进程占用的系统资源

进程的阻塞和唤醒:进程在执行过程中会因为等待I/O操作完成或等待某个事件出现而进入阻塞状态。当处于阻塞状态的进程所等待的操作完成或事件出现时,进程将会从阻塞状态唤醒而进入就绪状态。用户可通过相应系统调用来等待某个事件或唤醒某个阻塞进程。

第4章处理器管理4.2进程与线程的概念Windows第4章处理器管理4.2进程与线程的概念

Windows2003进程管理

:Windows中的进程是系统资源分配的基本单位。Windows进程是作为对象来管理,进程对象的属性包括:进程标识(PID)、资源访问令牌(AccessToken)、进程的基本优先级(BasePriority)和默认亲合处理器集合(ProcessorAffinity)等-Win32进程执行体进程块(EPROCESS)

:线程块列表、虚拟地址空间描述表、对象句柄列表-Win32子系统的进程控制系统调用:CreateProcess(创建新进程及其主线程)、ExitProcess(终止一个进程和它的所有线程)、TerminateProcess(终止指定的进程和它的所有线程)。-Windows2003程序调试机制第4章处理器管理4.2进程与线程的概念Windows第4章处理器管理4.2进程与线程的概念

Windows线程

第4章处理器管理4.2进程与线程的概念Windows讨论题:

1、什么是进程?什么是线程?进程和线程的区别是什么?2、进程调度有哪几种算法?

3、Windows2003如何进行进程管理的?4、Windows2003中的每个Win32进程都由一个执行体进程块表示,该执行体进程块中的主要内容包括哪些?

5、请说明进程模型中等待状态和阻塞状态的区别。

第4章处理器管理4.2进程与线程的概念

讨论题:第4章处理器管理4.2进程与线程的概念进程间通信

按通信量的大小分:低级通信、高级通信

按是否有第三方作为中转分:直接通信、间接通信

进程间通信考虑特征:通信链路特征、数据格式、收发双方的同步方式等互斥算法进程互斥的解决方法:由竞争各方平等协商、引入进程管理者资源共享的程度三个层次:互斥(mutualexclusion)、死锁(deadlock)和饥饿(starvation)。

4.3进程通信与同步第4章处理器管理进程间通信4.3进程通信与同步第4章处理器管理多进程系统中,进程间的相互制约关系三种类型

4.3进程通信与同步第4章处理器管理多进程系统中,进程间的相互制约关系三种类型4.3进程第4章处理器管理4.3进程通信与同步临界资源的访问过程

进程互斥的软件方法

-单标志算法

第4章处理器管理4.3进程通信与同步临界资源的访问过程

第4章处理器管理4.3进程通信与同步-双标志、先检查算法

-双标志、先修改后检查算法第4章处理器管理4.3进程通信与同步-双标第4章处理器管理4.3进程通信与同步-先修改、后检查、后修改者等待算法

第4章处理器管理4.3进程通信与同步-先修改、后检查、第4章处理器管理4.3进程通信与同步进程互斥的硬件方法

-TS(Test-and-Set)指令

-Swap指令(或Exchange指令)

第4章处理器管理4.3进程通信与同步进程互斥的硬件方法信号量:信号量是荷兰学者Dijkstra提出的一种进程同步机制

信号量和P、V原语

-P原语:

第4章处理器管理4.3进程通信与同步-V原语:信号量:信号量是荷兰学者Dijkstra提出的一种进程同步机信号量集:AND型信号量集、一般“信号量集”

第4章处理器管理4.3进程通信与同步管程

概述:管程是为了解决信号量机制面临的困难而提出的一种新的进程间同步机制,它把对信号量的控制集中在管程内部,保证进程互斥地访问共享变量,并方便地阻塞和唤醒进程。管程优点:-管程的封装良好,可增强模块的独立性。-引入管程可提高代码的可读性,便于修改和维护,正确性易于保证。

管程与进程的区别:进程是为了描述程序的动态执行过程,而设置管程是为了进行进程的同步,协调进程的相互关系和对共享资源进行访问。操作系统维护的进程数据结构是进程控制块,而与管程相关的数据结构是等待队列。管程可被进程调用。管程与操作系统中的共享资源相关,没有创建和撤消;而进程有创建和撤消。信号量集:AND型信号量集、一般“信号量集”第4章处讨论题:1、进程间通信要考虑到通信过程中哪些特征?

2、什么是进程互斥?互斥算法有哪些?

3、什么信号量和信号量集?

4、请简述你对P、V原语理解。

5、什么是管程?有何好处?

第4章处理器管理4.3进程通信与同步讨论题:第4章处理器管理4.3进程通信与同步调度的类型和模型

调度类型

-高级调度(HighLevelScheduling)-低级调度(LowLevelScheduling)

-中级调度(Intermediate-LevelScheduling)调度队列模型

-仅有进程调度的调度队列模型-具有高级和低级调度的调度队列模型-同时具有三级调度的调度队列模型选择调度方式和算法的若干准则-面向用户的原则-面向系统的准则

4.4进程调度与死锁第4章处理器管理调度的类型和模型4.4进程调度与死锁第4章处理器管理调度算法

调度:实质是一种资源分配

调度算法:根据系统的资源分配策略所规定的资源分配算法先来先服务算法(FCFS

):按进程的到达先后顺序进行调度

最短作业优先算法(SJF

)时间片时钟算法多级队列算法

(Multiple-levelQueue)

优先级算法

(PriorityScheduling)

多级反馈队列算法

(RoundRobinwithMultipleFeedback)

多级反馈队列算法

第4章处理器管理4.4进程调度与死锁调度算法第4章处理器管理4.4进程调度与死锁死锁

死锁的定义:假若在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的事件,那么这种状态被看成为死锁。死锁的条件:

-互斥条件,每个资源要么被分配给了一个进程,要么是空闲的。-部分分配(占有以及等待条件),已经得到了资源的进程可以再申请新的资源。-非剥夺条件,已经分配给一个进程的资源不能被剥夺掉,它只能被占有着它的进程显式地释放出来。-循环等待的条件,系统一定有由两个或两个以上的进程组成的—条环路,该环路中的每个进程都在等待着相邻进程正占用着的资源。

第4章处理器管理4.4进程调度与死锁死锁第4章处理器管理4.4进程调度与死锁第4章处理器管理4.4进程调度与死锁引起死锁情况-申请独占性的设备

-进程A对记录R1加了锁,进程B对记录R2加了锁,接着两进程又试图各自把对方的记录也加锁也会产生死锁

资源(resource)

:把需要排它性使用的这类对象称作为资源;可以是硬件或是一组信息;分可剥夺的和不可剥夺的两类.死锁和资源:可剥夺资源的潜在的死锁通常可以通过在进程间重新分配资源化解,所以死锁主要和不可剥夺资源有关。

第4章处理器管理4.4进程调度与死锁引起死锁情况第4章处理器管理4.4进程调度与死锁讨论题:1、什么是进程调度?有哪些调度类型?

2、选择调度方式和算法要遵循哪些准则?

3、有哪些调度算法?各有哪些优缺点?

4、什么是死锁?出现死锁需要哪些条件?

第4章处理器管理4.4进程调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论