leehwi@nuc.edu.cn计算机科学与技术专业2007级操作系统第二章ProcessesandScheduling2010年春•操作系统•2007级•赵利辉ContentsFoundation:ProcessDescriptionandControlImplement:MutualExclusionandSynchronizationAvoidance:Deadlock(死锁)andHungry(饥饿)Solution:SeveralClassical(经典)ProblemsAbout:ProcessCommunicationsPolicy:Processscheduling2010年春•操作系统•2007级•赵利辉本章要点基础:进程控制与描述策略:进程调度策略即算法,主要掌握调度的算法,chap3实现:互斥与同步★★★★★如何解决由于资源互斥导致的互斥与同步问题,比如计算与打印避免:死锁与饥饿★★★★★资源竞争导致死锁,饥饿指的是进程长时间等待没有被调度解决:几个经典问题★★★★★关于通信:进程通信2010年春•操作系统•2007级•赵利辉本章主要内容相关内容介绍(补充)2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程的同步问题2.6进程通信2.7线程2010年春•操作系统•2007级•赵利辉补充内容1、处理器管理单处理器和多处理器计算机系统结构分类寄存器特权指令与非特权指令处理器状态PSW2、中断处理2010年春•操作系统•2007级•赵利辉1.1单处理器和多处理器计算机系统的核心是中央处理器单处理器系统一个计算机系统只包括一个运算处理器。多处理器系统一个计算机系统有多个运算处理器。2010年春•操作系统•2007级•赵利辉1.2计算机系统结构分类单指令流单数据流(SISD)一个处理器在一个存储器中的数据上执行单条指令流。单指令流多数据流(SIMD)单条指令流控制多个处理单元同时执行,每个处理单元包括处理器和相关的数据存储,一条指令控制了不同的处理器对不同的数据进行操作。向量机和阵列机是这类计算机系统的代表。2010年春•操作系统•2007级•赵利辉1.2计算机系统结构分类多指令流单数据流(MISD)一个数据流被传送给一组处理器,通过处理器上不同指令操作最终得到处理结果。多指令流多数据流(MIMD)多个处理器对各自不同的数据集同时执行不同的指令流。可以把MIMD系统划分为共享内存紧密耦合系统和内存分布松散耦合系统两大类。2010年春•操作系统•2007级•赵利辉1.3寄存器基本概念计算机系统的处理器包括一组寄存器,其个数根据机型的不同而不同,它们构成了一级存储,比主存容量小,但访问速度快。这组寄存器所存储的信息与程序的执行有很大关系,构成了处理器现场。类型通用寄存器数据寄存器基地址寄存器I/O地址寄存器I/O缓冲寄存器控制寄存器其他寄存器2010年春•操作系统•2007级•赵利辉1.4特权指令与非特权指令原理计算机的基本功能是执行程序,最终被执行的程序是存储在内存中的机器指令程序。处理器根据程序计数器(PC)从内存中取指令到指令寄存器并执行它,PC将自动增长或改变为转移地址指明下条执行的指令。2010年春•操作系统•2007级•赵利辉1.4特权指令与非特权指令指令机器指令的集合称指令系统,反映了一台机器的功能和处理能力。指令类型数据处理类指令转移类指令数据传送类指令移位与字符串指令I/O类指令2010年春•操作系统•2007级•赵利辉1.4特权指令与非特权指令特权指令指只能提供给操作系统的核心程序使用的指令,如启动I/O设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载PSW等。2010年春•操作系统•2007级•赵利辉1.5PSW处理器状态管理状态特权状态、系统模式、特态或管态该状态下,程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力用户状态目标状态、用户模式、常态或目态该状态下,程序只能执行非特权指令2010年春•操作系统•2007级•赵利辉1.5PSW程序状态字寄存器作用:用于区别不同的处理器工作状态PSW用来控制指令执行顺序并保留和指示与程序有关的系统状态,主要作用是实现程序状态的保护和恢复。每个程序都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。程序占有处理器执行,它的PSW将占有PSW寄存器。2010年春•操作系统•2007级•赵利辉1.5PSW内容程序基本状态程序计数器、条件码、处理器状态位中断码保存程序执行时当前发生的中断事件。中断屏蔽位指明程序执行中发生中断事件时,是否响应出现的中断事件。2010年春•操作系统•2007级•赵利辉补充内容1、处理器管理2、中断处理中断基本概念中断源中断装置中断处理程序中断的优先级和多重中断2010年春•操作系统•2007级•赵利辉2.1中断基本概念中断的产生需求请求系统服务实现并行工作处理突发事件满足实时要求需要打断处理器正常的工作,为此,提出了中断概念2010年春•操作系统•2007级•赵利辉2.1中断基本概念概念指程序执行过程中,当发生某个事件时,中止CPU上现行程序的运行,引出处理该事件的程序执行的过程。当中断事件发生后,它能改变处理器内操作执行的顺序。中断源中断装置2010年春•操作系统•2007级•赵利辉2.2中断源分类一强迫性中断自愿性中断分类二外中断内中断分类三硬中断软中断强迫性中断:不是正在运行的程序所期待的,而是由于某种事故或外部请求信息所引起的机器故障中断事件。细类程序性中断事件外部中断事件输入输出中断事件自愿性中断:是正在运行的程序所期待的事件正在运行的程序对操作系统有某种需求,一旦机器执行到一条访管指令时,便自愿停止现行程序的执行而转入访管中断处理程序处理外中断:又称中断,指来自处理器和主存之外的中断。不同的中断具有不同的中断优先级,处理高一级中断时,往往会屏蔽部分或全部低级中断。细类:电源故障中断、时钟中断、控制台中断、它机中断和I/O中断等。内中断:又称异常,指来自处理器和主存内部的中断。异常是不能被屏蔽的,一旦出现应立即响应并加以处理。细类:通路校验错、主存奇偶错、非法操作码、地址越界、页面失效、调试指令、访管中断、算术操作溢出等各种程序性中断。硬中断:中断和异常要通过硬件设施来产生中断请求。软中断:不必由硬件发信号而能引发的中断称软中断,软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。2010年春•操作系统•2007级•赵利辉2.3中断装置发现中断源并产生中断的硬件称中断装置。所有计算机系统都采用硬件和软件结合的方法实现中断处理。任务:发现中断源保护现场启动处理中断事件的程序2010年春•操作系统•2007级•赵利辉2.4中断处理程序概念:处理中断事件的程序称为中断处理程序。主要任务是处理中断事件和恢复正常操作。不同中断源对应不同中断处理程序,故快速找到中断处理程序的入口地址是一个关键问题。任务:保护未被硬件保护的一些必需的处理状态;识别各个中断源,分析产生中断的原因;处理发生的中断事件;恢复正常操作2010年春•操作系统•2007级•赵利辉2.5中断优先级与多重中断中断优先级计算机执行的每一瞬间,可能有几个中断事件同时发生,中断装置如何来响应同时发生的中断呢?它按照预定顺序来响应,这个预定顺序称中断的优先级,首先响应优先级高的中断事件。中断的屏蔽主机可允许或禁止某类中断的响应,如允许或禁止所有的I/O中断、外部中断、及某些程序性中断。有些中断是不能被禁止的,例如,计算机中的自愿性访管中断就不能被禁止。2010年春•操作系统•2007级•赵利辉2.5中断优先级与多重中断多级中断中断正在进行处理期间,这时CPU又响应了新的中断事件,于是暂时停止正在运行的中断处理程序,转去执行新的中断处理程序,这就叫多重中断(又称中断嵌套)。2010年春•操作系统•2007级•赵利辉本章主要内容相关内容介绍(补充)2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程的同步问题2.6进程通信2.7线程程序的顺序执行及其特征前趋图程序的并发执行及其特征进程的特征与状态进程控制块2010年春•操作系统•2007级•赵利辉进程基本概念(1)何谓进程(Process)–描述性定义:计算机中的所有程序(软件),按照某种顺序运行,这种运行的过程称之为进程。如何理解进程概念?进程与程序有何差别?2010年春•操作系统•2007级•赵利辉进程基本概念(2)主妇阅读菜谱准备原料烹制菜肴饭菜阅读洗衣机手册准备衣服、洗衣粉设定参数,洗衣服干净衣服程序输入运行输出程序输入运行输出分时切换洗衣进程做饭进程2010年春•操作系统•2007级•赵利辉进程基本概念(3)进程的核心思想–进程是某个程序在某个数据集合上的运行过程,它有程序、输入、输出和状态。–在分时操作系统中,单个CPU被若干进程共享,它使用某种调度算法决定何时停止一个进程的运行,转而为其他进程提供服务。2010年春•操作系统•2007级•赵利辉进程基本概念(4)操作系统实现分时,任意时刻只有一个进程运行进程A进程B进程C进程D时间2010年春•操作系统•2007级•赵利辉2.1.1程序的顺序执行及其特征处理机管理是操作系统的基本管理功能之一,它所关心的是处理机的分配问题。进程通常具有三种状态:运行状态(正在使用CPU)阻塞状态(等待输入/输出)就绪状态(等待分配CPU)。处理机管理就是:把CPU(中央处理机)的使用权分给某个程序,通常把这个正准备进入内存的程序称为作业,当这个作业进入内存后我们把它称为进程。处理机管理分为作业管理和进程管理两个阶段去实现处理机的分配,常常又把直接实行处理机时间分配的进程调度工作作为处理机管理的主要内容。2010年春•操作系统•2007级•赵利辉2.1.1程序的顺序执行及其特征顺序执行例1:输入I,计算C,打印P例2:S1,S2,S3S1:a:=x+yS2:b:=a-5S3:c:=b+1I1C1P1I2C2P2S1S2S32010年春•操作系统•2007级•赵利辉2.1.1程序的顺序执行及其特征顺序执行的特征顺序性封闭性(资源独占)可再现性(结果的无关性)I1C1P1I2C2P2S1S2S3(请解释这三个特征)2010年春•操作系统•2007级•赵利辉本章主要内容相关内容介绍(补充)2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程的同步问题2.6进程通信2.7线程程序的顺序执行及其特征前趋图程序的并发执行及其特征进程的特征与状态进程控制块2010年春•操作系统•2007级•赵利辉2.1.2前趋图作用描述进程之间执行的前后关系图论概念集合表示法有向无循环图结点:程序段、进程、语句有向边:偏序、前趋关系前趋、后继初始结点、终止结点重量(权值、权重)不存在循环→={(Pi,Pj)|PimustcompletebeforePjmaystart},如果(Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。2010年春•操作系统•2007级•赵利辉2.1.2前趋图S1→S2→S3I1C1P1I2C2P2S1S2S3Ii→Ci→Pi2010年春•操作系统•2007级•赵利辉2.1.2前趋图P1P3P8P9P4P2P5P6P7S1S2S3参考教材P27:图2-2(a)、(b)(请用集合的方式表示出(a)图对应的前趋关系)2010年春•操作系统•2007级•赵利辉本章主要内容相关内容介绍(补充)2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程的同步问题2.6进程通信2.7线程程序的顺序执行及其特征前趋图程序的并发执行及其特征进程的特征与状态进程控制块2010年春•操作系统•2007级•赵利辉2.1.3程序中的并发执行及其特征无论