收藏 分销(赏)

操作系统-.ppt

上传人:人****来 文档编号:5458205 上传时间:2024-11-06 格式:PPT 页数:138 大小:1.44MB
下载 相关 举报
操作系统-.ppt_第1页
第1页 / 共138页
操作系统-.ppt_第2页
第2页 / 共138页
操作系统-.ppt_第3页
第3页 / 共138页
操作系统-.ppt_第4页
第4页 / 共138页
操作系统-.ppt_第5页
第5页 / 共138页
点击查看更多>>
资源描述

1、操作系统第一章 操作系统引论介绍操作系统的基础知识及其形成和发展,以及操作系统的分类和几种比较熟悉的操作系统.一、计算机系统组成计计算算机机系系统统硬件软件中央处理器(处理机,CPU)存储器(内存、辅存)I/O设备(输入/输出设备)系统软件(如操作系统)支撑软件(工具软件)应用软件(如图形处理系统)1、用户命令执行流程CPU内存键盘显示器用户的键盘操用户的键盘操作在作在CPUCPU的控的控制下调入内存制下调入内存然后然后CPUCPU从内从内存中取出用户存中取出用户的命令,执行的命令,执行后返回结果后返回结果执行结果在执行结果在CPUCPU的控制下又反馈的控制下又反馈到显示器到显示器2、操作系统

2、的概念操作系统是控制和管理计算机系统内操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用序运行的系统软件(或程序集合),是用户与计算机之间的接口。户与计算机之间的接口。三要点:三要点:是软件,且是系统软件是软件,且是系统软件基本职能是控制和管理系统资源基本职能是控制和管理系统资源提供服务,方便用户使用提供服务,方便用户使用3、操作系统的功能用户接口处理机管理设备管理存储器管理文件管理(3)设备管理)设备管理计算机外设种类众多,而且各种设备的传输速度差异很大,很难开发一种通用的、一致的解决方案。缓冲区管理

3、设备分配 设备驱动 设备无关性 前进各种设备速度比较表(b/s)设备设备传输速度传输速度 设备设备传输速度传输速度键盘键盘9090光盘光盘90000009000000鼠标鼠标200200以太网以太网1000000010000000ModemModem8000080000硬盘硬盘9000000090000000软盘软盘900000900000图形显示设备图形显示设备700000000700000000激光打印机激光打印机20000002000000 千兆位以太网千兆位以太网10000000001000000000扫描仪扫描仪50000005000000返回(4)文件管理)文件管理在大多数应用中,

4、文件是一个核心成分,除了实时应用和一些特殊应用外,应用程序的输入都是通过文件来实现的。文件存储空间的管理 文件操作的一般管理 目录管理 文件的读写管理和存取控制 (5)用户接口)用户接口操作系统为用户操作提供良好的硬件接口。命令界面(DOS,Unix,windows命令行)程序界面(系统调用界面)图形界面(windows窗口,Linux的X-window)4、操作系统的地位计算机硬件操作系统实用程序应用程序终端用户程序员操作系统设计者二、操作系统的发展历程1、手工操作阶段(串行处理)2、早期批处理阶段3、多道批处理系统4、操作系统的发展早期批处理阶段简单批处理方案的中心思想是使用一个称作监控程

5、序的软件。通过使用监控程序,用户不再直接访问机器,相反,用户把卡片或磁带中的作业提交给计算机操作员,由他把这些作业按顺序组织一批,并将整个批作业放在输入设备上,供监控程序使用。每个程序完成处理后返回到监控程序,同时,监控程序自动加载下一个程序。早期联机批处理、早期脱机批处理多道程序设计基本思想:在内存中同时存放多道程序,在管理程序的控制下交替地执行。单道程序设计单道程序设计单道程序设计单道程序设计程序程序A运行运行等待等待运行运行运行运行运行运行运行运行程序程序B程序程序A组合组合等待等待等待等待等待等待等待多道程序设计多道程序设计多道程序设计多道程序设计三、操作系统的特征和体系结构1、特征并

6、发并发共享共享异步性异步性指两个或多个活动在同一给定的时间间隔中进行指两个或多个活动在同一给定的时间间隔中进行指两个或多个活动在同一给定的时间间隔中进行指两个或多个活动在同一给定的时间间隔中进行指计算机系统中的资源被多个任务所共用指计算机系统中的资源被多个任务所共用指计算机系统中的资源被多个任务所共用指计算机系统中的资源被多个任务所共用2、体系结构单块式结构单块式结构层次结构层次结构微内核结构微内核结构难于修改难于修改难于修改难于修改,可靠性低可靠性低可靠性低可靠性低按照操作系统各模块的功能和相互储存关系按照操作系统各模块的功能和相互储存关系按照操作系统各模块的功能和相互储存关系按照操作系统各

7、模块的功能和相互储存关系,把系把系把系把系统中的模块分为若干层统中的模块分为若干层统中的模块分为若干层统中的模块分为若干层,其中任一层模块其中任一层模块其中任一层模块其中任一层模块(除底层除底层除底层除底层外外外外)都建立在它下面一层的基础上都建立在它下面一层的基础上都建立在它下面一层的基础上都建立在它下面一层的基础上四、操作系统的类型1、多道批处理系统2、分时系统3、实时系统4、个人机系统5、网络操作系统6、分布式操作系统多道批处理系统特点:多道、成批优点:资源利用率高、系统吞吐量大缺点:等待时间长、没有交互能力分时系统特点:同时性、交互性、独立性、及时性优点:响应快界面友好、多用户便于普及

8、、便于资源共享多道批处理和分时比较分时主要指若干并发程序对CPU时间的共享主要目标系统指令源多道批处理分时最有效地使用处理器减小响应时间作业控制语言作业提供的命令终端键入的命令实时系统特点:响应时间很快、可以在毫秒甚至微秒应用:过程控制系统、信息查询系统、事务处理系统与分时系统区别:交互能力较弱,系统专用响应时间更严格、及时可靠性要求更高个人机系统单用户操作系统:MS-DOS,OS/2,Windows9598NT多用户操作系统:Solaris,SVR4,AIX,SCOOpenServer,SCOUnixWare7,XENIX,Linux,Windows2000XP网络操作系统计算机网络=计算机

9、技术+通信技术特征:分布性、自治性、互连性、可见性网络操作系统一般建立在各个主机的本地操作系统基础之上,其功能是:网络通信、资源共享和保护、网络服务、网络接口分布式操作系统特征:分布式处理、模块化结构、利用信息通信、实施整体控制特点:透明性、灵活性、可靠性、高性能、可扩充性五、主要产品1、DOS2、Windows3、OS/24、UNIX/Linux5、Macintosh(苹果机)6、NetWare(Novell)六、用户界面1、命令界面2、图形界面3、系统调用复习1 1、操作系统的概念、操作系统的概念 操作系统是管理和控制计算机硬件和软件资源的系统软件,操作系统是管理和控制计算机硬件和软件资源

10、的系统软件,是用户与计算机之间的接口。是用户与计算机之间的接口。2 2、操作系统的功能、操作系统的功能 操作系统的五项功能:操作系统的五项功能:处理机管理、存储管理、文件管理、设备管理、用户接口处理机管理、存储管理、文件管理、设备管理、用户接口3 3、多道程序设计、多道程序设计 多道程序设计是指多道程序在内存中并发执行。多道程序设计是指多道程序在内存中并发执行。第二章 管理重点关注典型的操作系统中用于进程管理的数据结构和技术。进程 一、进程的基本概念1、什么是进程?2、为什么要引入“进程”这一概念?3、我们知道计算机运行的是程序,跟进程这一概念有联系或区别吗?问题:1、为什么要引入进程这一概念

11、 通过上节课的学习,我们知道,早先的通过上节课的学习,我们知道,早先的单道程序设计中单道程序设计中计算机程计算机程序的执行是严格按照程序编写顺序执行(序的执行是严格按照程序编写顺序执行(顺序性顺序性)。也就是说,程序)。也就是说,程序是怎么编的,计算机就按什么顺序执行。那么只有等待此程序运行完是怎么编的,计算机就按什么顺序执行。那么只有等待此程序运行完毕后,才能运行其他程序(毕后,才能运行其他程序(封闭性封闭性)。显然,程序不管何时运行都能)。显然,程序不管何时运行都能得出一样的结果(得出一样的结果(可再现性可再现性)。)。然而,为了提高整个系统的效率,现代的操作系统都采用了然而,为了提高整个

12、系统的效率,现代的操作系统都采用了多道多道程序设计程序设计。也就是多道程序同时放在内存中让。也就是多道程序同时放在内存中让CPUCPU选取加以执行。那选取加以执行。那么,程序的运行会发生如何的变化呢?么,程序的运行会发生如何的变化呢?指令轨迹:1 1500050002 2500150013 3500250024 4500350035 5500450046 6500550057 7-超时超时7 71001008 81011019 91021021010103103111110410412121051051313800080001414800180011515-I/O-I/O请请求求1515100

13、100161610110117171021021818103103191910410420201051052121120001200022221200112001232312002120022424120031200325251200412004262612005120052727-超时超时2727100100282810110129291021023030103103313110410432321051053333500650063434800080003535800180013636800280023737-I/O-I/O请请求求373710010038381011013939102102

14、40401031034141104104424210510543431、为什么要引入进程这一概念 在早先的在早先的单道程序设计中单道程序设计中,如果甲、乙两个商量好甲先运行,然,如果甲、乙两个商量好甲先运行,然后乙再运行。那么输出的结果就是:甲得到的是后乙再运行。那么输出的结果就是:甲得到的是1 1,乙得到的是,乙得到的是2 2。如。如果乙先运行甲后运行,那么甲得到的是果乙先运行甲后运行,那么甲得到的是1 1,乙得到的也是,乙得到的也是1 1。这个运行。这个运行结果完全可以由人为因素和程序的编写过程控制。结果完全可以由人为因素和程序的编写过程控制。然而,在然而,在多道程序设计中多道程序设计中。

15、多道程序同时放在内存中让。多道程序同时放在内存中让CPUCPU选取加选取加以执行。也就是说,这三道程序以执行。也就是说,这三道程序A A、B B、C C同时放在内存中让操作系统同时放在内存中让操作系统决定决定CPUCPU先执行哪一个。那么这三个程序的地位是平等的,到底是哪先执行哪一个。那么这三个程序的地位是平等的,到底是哪个程序先运行?显然整个程序的运行结果不再完全由自身决定,它跟个程序先运行?显然整个程序的运行结果不再完全由自身决定,它跟程序的运行环境和程序间的相对速度有关。程序的运行环境和程序间的相对速度有关。现有甲、乙两个人,甲运行程序现有甲、乙两个人,甲运行程序A A,乙运行程序,乙运

16、行程序C C:这样一来,程序本身的这样一来,程序本身的封闭性也就不再具有封闭性也就不再具有。1、为什么要引入进程这一概念 在多道程序设计中,程序在多道程序设计中,程序A A调用调用B B,程序,程序C C也调用也调用B B。这样在程序执。这样在程序执行过程中,程序行过程中,程序B B是程序是程序A A和和C C的共享资源。在程序的共享资源。在程序A A调用调用B B时,时,B B属于程属于程序序A A执行过程执行过程的一部分;当程序的一部分;当程序C C调用调用B B时,时,B B属于程序属于程序C C执行过程执行过程的一的一部分。部分。这样一来,这样一来,一个程序就不再对应一个执行(计算)过

17、程一个程序就不再对应一个执行(计算)过程。一个程。一个程序可以对应多个执行过程,一个执行过程也可以对应多个程序。序可以对应多个执行过程,一个执行过程也可以对应多个程序。在早期的在早期的单道程序设计中单道程序设计中,程序是一个一个依次执行的。,程序是一个一个依次执行的。一个程一个程序就对应唯一的一个执行过程。序就对应唯一的一个执行过程。1、为什么要引入进程这一概念 在在多道程序设计中多道程序设计中,程序,程序A A调用打印机,程序调用打印机,程序C C也调用打印机,我也调用打印机,我们知道它们可以同时运行,那么打印机应该给谁使用呢?一种方案是们知道它们可以同时运行,那么打印机应该给谁使用呢?一种

18、方案是都给,既给都给,既给A A用又给用又给B B用,那结果可能是打印用,那结果可能是打印A A一部分,再打印一部分,再打印C C一部分,一部分,再打印再打印A A一部分。这种结果显然不是我们想要的。另一种方案是每次一部分。这种结果显然不是我们想要的。另一种方案是每次只让一个程序调用。程序只让一个程序调用。程序A A打印完才程序打印完才程序C C调用。调用。也就是说,也就是说,一个程序的执行不再仅仅由自身代码决定,要受到其一个程序的执行不再仅仅由自身代码决定,要受到其它并发程序的制约它并发程序的制约。在早期的在早期的单道程序设计中单道程序设计中,程序是一个一个依次执行的。一个程,程序是一个一个

19、依次执行的。一个程序的执行跟别的程序的执行是没有什么关系的。序的执行跟别的程序的执行是没有什么关系的。1、为什么要引入进程这一概念 也就是说,用程序这个也就是说,用程序这个静态静态的概念已不能如实反映程序在并发执的概念已不能如实反映程序在并发执行过程的这些行过程的这些动态动态特征。于是,人们引入特征。于是,人们引入“进程(进程(Process)Process)“这一概这一概念来描述程序动态执行过程的性质。念来描述程序动态执行过程的性质。综上所述,由于多道程序并发执行时共享资源,共同决定这些资综上所述,由于多道程序并发执行时共享资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相

20、互制约的新关源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现系,程序的执行出现“走走停停走走停停”的新状态。这些都是在程序的动态的新状态。这些都是在程序的动态执行过程中发生的。执行过程中发生的。而程序(而程序(Program)Program)本身只是机器能够翻译或执行的一组动作或指本身只是机器能够翻译或执行的一组动作或指令,它或者写在纸上,或者存放在磁盘等介质上,是静止的。令,它或者写在纸上,或者存放在磁盘等介质上,是静止的。显然,直接从显然,直接从“程序程序”的字面上无法看出它什么时候运行、什么的字面上无法看出它什么时候运行、什么时候停顿,也看不出它是否影响其它

21、程序或者一定受其它程序的影响。时候停顿,也看不出它是否影响其它程序或者一定受其它程序的影响。2、什么叫进程 综上所述,进程最根本的属性是综上所述,进程最根本的属性是动态性动态性和和并发性并发性。我们把进程定。我们把进程定义为:义为:进程是程序在并发环境中的执行过程进程是程序在并发环境中的执行过程。进程的几种定义:进程的几种定义:(1 1)进程(或任务)是可以和别的计算)进程(或任务)是可以和别的计算并发并发执行的计算执行的计算 (2 2)进程是程序的一次执行,是在给定内存区域中的一组指令序)进程是程序的一次执行,是在给定内存区域中的一组指令序列的列的执行过程执行过程 (3 3)所谓进程,简单来

22、说就是一个程序在给定活动空间和初始条)所谓进程,简单来说就是一个程序在给定活动空间和初始条件下,在一个处理机上的件下,在一个处理机上的执行过程执行过程 (4 4)进程可定义为一个数据结构和能在其上进行操作的一个程序)进程可定义为一个数据结构和能在其上进行操作的一个程序 (5 5)进程是程序在一个数据集合上)进程是程序在一个数据集合上运行运行的过程,它是系统进行资的过程,它是系统进行资源分配和调度的一个独立单位源分配和调度的一个独立单位4、进程的特征 (1 1)动态性)动态性 (2 2)并发性)并发性 (3 3)调度性)调度性 (4 4)异步性)异步性 (5 5)结构性)结构性3 3、进程的组成

23、、进程的组成 进程的活动是通过在进程的活动是通过在CPUCPU上执行的一系列程序和对相应数据进行上执行的一系列程序和对相应数据进行操作来实现的,因此,操作来实现的,因此,程序程序和它操作的和它操作的数据数据是进程存在的实体。是进程存在的实体。但这二者仅是静态的文本,没有反映出其动态性。还需要有一个但这二者仅是静态的文本,没有反映出其动态性。还需要有一个数据结构用来描述进程当前的状态、本身的特性等。这种数据结构被数据结构用来描述进程当前的状态、本身的特性等。这种数据结构被称为称为进程控制块(进程控制块(Process Control BlockProcess Control Block,PCBP

24、CB)。进程实体通常由进程实体通常由程序程序、数据集合数据集合和和PCBPCB这三部分组成。这三部分组成。PCB程序数据集合4 4、进程控制块、进程控制块PCBPCB的组成的组成 进程控制块是进程组成中最关键的部分,其中含有进程的描述信进程控制块是进程组成中最关键的部分,其中含有进程的描述信息和控制信息,是进程动态特性的集中反映,它是系统对进程识别和息和控制信息,是进程动态特性的集中反映,它是系统对进程识别和控制的依据,在不同的系统中,控制的依据,在不同的系统中,PCBPCB的具体组成是不同的。的具体组成是不同的。PCB程序数据集合进程名特征信息现场保护区进程状态信息调度优先权其它信息族系关系

25、进程实体信息通信信息资源需求分配信息5 5、进程控制块、进程控制块PCBPCB的作用的作用 进程控制块与进程关系:进程控制块与进程关系:每个进程有唯一的每个进程有唯一的PCBPCB 操作系统(操作系统(OSOS)根据)根据PCBPCB管理进程管理进程 利用利用PCBPCB实现进程的动态、并发实现进程的动态、并发 PCB PCB是进程存在的唯一标志是进程存在的唯一标志6 6、进程队列、进程队列 系统中有许多进程,处于就绪状态和处于阻塞状态的进程可分别系统中有许多进程,处于就绪状态和处于阻塞状态的进程可分别有多个,而阻塞的原因可以各不相同。这么的进程如何管理操作系统有多个,而阻塞的原因可以各不相同

26、。这么的进程如何管理操作系统才能找到呢?操作系统采用队列来对它们进行管理,也就是说,把他才能找到呢?操作系统采用队列来对它们进行管理,也就是说,把他们进行排队。们进行排队。排队的方式有三种排队的方式有三种:线性方式线性方式:操作系统预先确定整个系统中同时存在的进程的最大数目,静态操作系统预先确定整个系统中同时存在的进程的最大数目,静态分配空间,把所有进程的分配空间,把所有进程的PCBPCB都放在这个表中。都放在这个表中。链接方式:链接方式:索引方式:索引方式:进程排队方式运行队列指针运行队列指针阻塞队列阻塞队列2 2指针指针阻塞队列阻塞队列1 1指针指针就绪队列指针就绪队列指针PCBPCB0

27、0PCBPCBPCBPCBPCBPCB0 0PCBPCBPCBPCBPCBPCB0 0PCBPCBPCBPCB0 0复习1 1、一个重要概念、一个重要概念进程进程 进程是程序在并发计算中的执行过程。进程是程序在并发计算中的执行过程。2 2、程序与进程的区别、程序与进程的区别 (1 1)程序是静态概念,进程是动态概念)程序是静态概念,进程是动态概念 (2 2)进程是一个能独立运行的单位,而程序是以进程为单位执行的)进程是一个能独立运行的单位,而程序是以进程为单位执行的 (3 3)程序和进程无一一对应关系)程序和进程无一一对应关系 (4 4)进程之间会产生相互制约关系,而程序没有)进程之间会产生相

28、互制约关系,而程序没有3 3、进程的状态、进程的状态 三种基本状态:运行态、就绪态、阻塞态三种基本状态:运行态、就绪态、阻塞态复习4 4、三种状态之间的转换、三种状态之间的转换5 5、进程的组成、进程的组成运行态就绪态阻塞态PCB程序部分数据集合三、进程的管理和有关命令1 1、进程的族系关系、进程的族系关系(I)进程管理 系统中众多的进程存在族系关系;由父进程创建子进程,子系统中众多的进程存在族系关系;由父进程创建子进程,子进程再创建子进程,进程再创建子进程,从而构成一棵树型的进程族系图。,从而构成一棵树型的进程族系图。0 0P21P21P2P2P12P12P1P1P11P111 12 2、原

29、语操作、原语操作(I)进程管理 操作系统中在完成某些基本操作时,往往利用原语操作来实操作系统中在完成某些基本操作时,往往利用原语操作来实现。现。所谓原语(所谓原语(primitive)primitive)是机器指令的延伸,是为完成某些特是机器指令的延伸,是为完成某些特定功能而编制的一段系统程序定功能而编制的一段系统程序。为保证操作的正确性,在许多机。为保证操作的正确性,在许多机器中规定,执行原语操作时,要屏蔽中断,以保证其操作的不可器中规定,执行原语操作时,要屏蔽中断,以保证其操作的不可分割性。分割性。内核中往往有很多原语,如创建进程、终止进程、阻塞进程内核中往往有很多原语,如创建进程、终止进

30、程、阻塞进程等。等。3 3、进程创建原语、进程创建原语 主要操作过程:主要操作过程:(1 1)申请一个空闲的)申请一个空闲的PCBPCB (2 2)为新进程分配资源)为新进程分配资源 (3 3)将新进程的)将新进程的PCBPCB初始化初始化 (4 4)将新进程加到就绪队列中)将新进程加到就绪队列中4 4、进程终止原语、进程终止原语 主要操作过程:主要操作过程:(1 1)从系统的)从系统的PCBPCB表中找到指定进程的表中找到指定进程的PCBPCB。若它正处于运行态,。若它正处于运行态,则立即终止该进程的运行则立即终止该进程的运行 (2 2)回收该进程所占用的全部资源)回收该进程所占用的全部资源

31、 (3 3)终止所有子孙进程,并回收所战用资源)终止所有子孙进程,并回收所战用资源 (4 4)释放被终止进程的)释放被终止进程的PCBPCB5 5、进程阻塞原语、进程阻塞原语 主要操作过程:主要操作过程:(1 1)立即停止当前进程的执行)立即停止当前进程的执行 (2 2)保存进程)保存进程CPUCPU现场现场 (3 3)把进程)把进程PCBPCB中的现行状态由中的现行状态由“运行运行”改为阻塞,插入队列改为阻塞,插入队列 (4 4)转到进程调度程序,重新从就绪队列中挑选一个运行)转到进程调度程序,重新从就绪队列中挑选一个运行6 6、进程唤醒原语、进程唤醒原语 主要操作过程:主要操作过程:(1

32、1)首先把被阻塞进程从相应的阻塞队列中摘下)首先把被阻塞进程从相应的阻塞队列中摘下 (2 2)将现行状态改为就绪态,插入到就绪队列中)将现行状态改为就绪态,插入到就绪队列中 (3 3)检查进程优先级)检查进程优先级 7 7、进程映象更换原语、进程映象更换原语 (1 1)释放子进程原来的程序和数据所占用的内存空间)释放子进程原来的程序和数据所占用的内存空间 (2 2)从磁盘中找出子进程所要执行的程序和数据)从磁盘中找出子进程所要执行的程序和数据 (3 3)分配内存空间,装入新的程序和数据)分配内存空间,装入新的程序和数据 (4 4)为子进程建立初始的运行环境)为子进程建立初始的运行环境 1 1、

33、UNIXUNIX系统中的进程状态系统中的进程状态(II)进程管理命令 在在UNIX S_5UNIX S_5系统中,进程状态可分为系统中,进程状态可分为1010种:种:(1 1)用户态运行)用户态运行 (2 2)核心态运行)核心态运行 (3 3)在内存就绪)在内存就绪 (4 4)在内存睡眠)在内存睡眠 (5 5)在外存就绪)在外存就绪 (6 6)在外存睡眠)在外存睡眠 (7 7)在内存暂停)在内存暂停 (8 8)在外存暂停)在外存暂停 (9 9)创建态)创建态 (1010)终止态)终止态2 2、UNIXUNIX系统中的进程映象系统中的进程映象(II)进程管理命令 (1 1)指向本进程的指针)指向

34、本进程的指针 (2 2)实际的和有效的用户标志号)实际的和有效的用户标志号 (3 3)与时间有关的项)与时间有关的项 (4 4)对各种信号的处理方式表)对各种信号的处理方式表 (5 5)控制终端信息项)控制终端信息项 (6 6)错误信息项)错误信息项 (7 7)系统调用结束的返回值)系统调用结束的返回值 (8 8)I/OI/O参数参数 (9 9)当前目录和当前根)当前目录和当前根 (1010)用户打开文件表)用户打开文件表 (1111)进程大小和可写文件大小的)进程大小和可写文件大小的限制信息限制信息 (1212)对本进程所创建文件设置的)对本进程所创建文件设置的存取权限的屏蔽项存取权限的屏蔽

35、项PCB程序部分数据集合Proc结构User结构 (1 1)进程状态)进程状态 (2 2)进程和)进程和USERUSER结结构的位置构的位置 (3 3)用户标志号)用户标志号UIDUID (4 4)进程)进程PIDPID (5 5)进程睡眠原因)进程睡眠原因 (6 6)进程调度参数)进程调度参数 (7 7)信号区未处理)信号区未处理信号信号 (8 8)执行时间和资)执行时间和资源利用情况源利用情况 2 2、UNIXUNIX系统中的管理进程的指令系统中的管理进程的指令(II)进程管理命令 (1 1)psps 命令命令显示进程状态显示进程状态功能:检查系统中当前存在的进程状态。功能:检查系统中当前

36、存在的进程状态。(2 2)sleepsleep 命令命令使进程睡眠使进程睡眠功能:使进程暂停执行一段时间,其参数单位是秒功能:使进程暂停执行一段时间,其参数单位是秒。(3 3)&后台命令符后台命令符功能:命令行末尾加上功能:命令行末尾加上&字符,此命令进程将在后台执行字符,此命令进程将在后台执行。(4 4)waitwait命令命令等待后台进程结束等待后台进程结束功能:功能:等待后台进程结束等待后台进程结束。(5 5)killkill命令命令终止进程终止进程功能:功能:终止一个进程的执行终止一个进程的执行。(6 6)nicenice命令命令设置优先级设置优先级功能:功能:以不同的优先级执行一条命

37、令以不同的优先级执行一条命令。四、进程的相互作用和通信1 1、进程的同步与互斥、进程的同步与互斥 进程的同步是指进程的同步是指进程间完成一项任务时直接发生相互作用的关系。进程间完成一项任务时直接发生相互作用的关系。进程的互斥是进程的互斥是指排它性访问即竞争同一个物理资源而相互制约指排它性访问即竞争同一个物理资源而相互制约2 2、临界资源和临界区、临界资源和临界区 临界资源:临界资源:一次仅允许一个进程使用的资源一次仅允许一个进程使用的资源 临界区:临界区:在每个进程中访问临界资源的那段程序在每个进程中访问临界资源的那段程序 互斥进入临界区的准则:互斥进入临界区的准则:进程同步的典型特征是使用一

38、个类似进程同步的典型特征是使用一个类似缓冲区缓冲区的东西。而互斥的特征的东西。而互斥的特征是使用是使用临界资源临界资源。信号量的定义:信号量的定义:信号量(信号灯)信号量(信号灯)=信号量的物理意义信号量的物理意义信号的值信号的值:大于:大于0 0,表示当前资源可用数量;小于,表示当前资源可用数量;小于0 0,其绝对值表示等,其绝对值表示等待使用该资源的进程个数待使用该资源的进程个数信号量初值信号量初值为非负的整数变量,代表资源数为非负的整数变量,代表资源数信号量值可变信号量值可变,但仅能由,但仅能由P P、V V操作来改变操作来改变3 3、信号量的概念、信号量的概念 P P操作原语操作原语P

39、 P(S S):):1 1)P P操作一次,操作一次,S S值减值减1 1,即,即S=S-1S=S-1(请求分配一资源)(请求分配一资源)2 2)如果)如果S S00,则该进程继续执行;,则该进程继续执行;如果如果S0SS0 0,表示有资源,则该进程继续执行;,表示有资源,则该进程继续执行;如果如果S S00,则释放信号量队列上的第一个,则释放信号量队列上的第一个PCBPCB所对应的进程(阻所对应的进程(阻塞态改为就绪态),执行塞态改为就绪态),执行V V操作的进程继续执行。操作的进程继续执行。4 4、P P、V V操作原语操作原语 设互斥信号量设互斥信号量mutexmutex初值为初值为1

40、1进程进程P1 P1 P(mutex);P(mutex);临界区;临界区;V(mutex);V(mutex);进程进程P2 P2 P(mutex);P(mutex);临界区;临界区;V(mutex);V(mutex);进程进程Pn Pn P(mutex);P(mutex);临界区;临界区;V(mutex);V(mutex);5 5、用、用P P、V V操作原语实现互斥的一般模型操作原语实现互斥的一般模型 供者和用者对缓冲区的使用关系供者和用者对缓冲区的使用关系6 6、用、用P P、V V操作原语实现同步的简单例子操作原语实现同步的简单例子缓冲区供者(供者(bufbuf空)空)用者(用者(buf

41、buf满)满)S1 S1缓冲区是否空(缓冲区是否空(0 0表示不空,表示不空,1 1表示空),初值表示空),初值S1=1S1=1;S2 S2缓冲区是否满(缓冲区是否满(0 0表示不满,表示不满,1 1表示满),初值表示满),初值S2=0S2=0;供者进程供者进程L1L1:启动读卡机:启动读卡机收到输入结束中断收到输入结束中断V V(S2S2););P(S1);P(S1);Goto L1;Goto L1;用者进程用者进程L2L2:P(S2);P(S2);从缓冲区取出信息从缓冲区取出信息V V(S1S1););加式并存盘加式并存盘Goto L2;Goto L2;mutex mutex互斥信号量,初

42、值为互斥信号量,初值为1 1:fullfull满缓冲区数,初值为满缓冲区数,初值为0 0;emptyempty空空缓冲区数,初值为缓冲区数,初值为N N:7 7、生产者、生产者消费者问题(消费者问题(OSOS典型例子)典型例子)生产者进程生产者进程While(TRUE)While(TRUE)P(empty);P(empty);P(mutex);P(mutex);产品送往产品送往buffer(in);buffer(in);In=(in+1)mod NIn=(in+1)mod N;V(mutex);V(mutex);V(full);V(full);消费者进程消费者进程While(TURE)Whil

43、e(TURE)P(full);P(full);P(mutex);P(mutex);消费产品消费产品(out);(out);Out=(out+1)mod Out=(out+1)mod N;N;V(mutex);V(mutex);V(empty);V(empty);例例11 设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出结果。设每个用户程序对应一个进程。问:这三个进程间有打印机输出结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?使用什么样的制约关系?使用P P、V V操作写出这些进程使用打印机

44、的算法。操作写出这些进程使用打印机的算法。应用举例 解解 由于打印机是一种临界资源,故三个进程只能互斥使用这台打印机。由于打印机是一种临界资源,故三个进程只能互斥使用这台打印机。设三个进程分别为设三个进程分别为A A、B B、C C,互斥信号量,互斥信号量mutexmutex初值为初值为1 1,执行如下:,执行如下:进程进程A A P(mutex);P(mutex);使用打印机;使用打印机;V(mutex);V(mutex);进程进程B B P(mutex);P(mutex);使用打印机;使用打印机;V(mutex);V(mutex);进程进程C C P(mutex);P(mutex);使用打

45、印机;使用打印机;V(mutex);V(mutex);1 1)设)设A A、B B两进程共用一个缓冲区两进程共用一个缓冲区Q Q,A A向向Q Q写入信息,写入信息,B B则从则从Q Q读出信息,读出信息,算法框图如图所示。信号量算法框图如图所示。信号量S S的初值为的初值为0 0。解解 该算法不正确,因为该算法不正确,因为A A、B B两个进程共用一个缓冲区两个进程共用一个缓冲区Q Q,如果,如果A A先运行,先运行,且信息数量足够多,则缓冲区且信息数量足够多,则缓冲区Q Q中的信息就会发生后面的冲掉前面的,造中的信息就会发生后面的冲掉前面的,造成信息丢失,成信息丢失,B B就不能从就不能从

46、Q Q中读出完整的信息。改正如下:中读出完整的信息。改正如下:A A、B B两进程同步使用缓冲区两进程同步使用缓冲区Q Q,应设定两个信号量:,应设定两个信号量:empty empty表示缓冲区表示缓冲区Q Q为空,初值为为空,初值为1 1;fullfull表示缓冲区表示缓冲区Q Q已满,初值为已满,初值为0 0进程进程A A进程进程B B向向Q Q写入信息写入信息V V(S S)P P(S S)从从Q Q读出信息读出信息进程进程A A进程进程B BP P(empty)empty)向向Q Q写入信息写入信息V V(fullfull)P P(fullfull)从从Q Q读出信息读出信息V(emp

47、ty)V(empty)例例22 判断下面的同步总是的算法是否正确?若有错,请指出错误原因判断下面的同步总是的算法是否正确?若有错,请指出错误原因并予以改正。并予以改正。2 2)设)设A A、B B两为两并发进程,它们共享一临界资源。其运行临界区的算法两为两并发进程,它们共享一临界资源。其运行临界区的算法框图如图所示。框图如图所示。解解 该算法不正确,因为该算法不正确,因为A A、B B两个进程并发执行,且共享一临界资源,故两个进程并发执行,且共享一临界资源,故、应互斥地使用该临界资源,即在某一时刻只允许一个进程进入该、应互斥地使用该临界资源,即在某一时刻只允许一个进程进入该临界资源,无时序关系

48、。改正如下:临界资源,无时序关系。改正如下:、B B二进程应互斥进入临界区,设定一信号量二进程应互斥进入临界区,设定一信号量mutex,mutex,初值为初值为1.1.进程进程A A进程进程B B临界区代码临界区代码CSaCSaV V(S1S1)P(S2)P(S2)P P(S1S1)J J临界区代码临界区代码CSaCSaV(S2)V(S2)进程进程A A进程进程B BP P(mutex)mutex)临界区代码临界区代码CSaCSaV V(mutexmutex)P P(mutexmutex)临界区代码临界区代码CSaCSaV(mutex)V(mutex)例例22 判断下面的同步总是的算法是否正确

49、?若有错,请指出错误原因判断下面的同步总是的算法是否正确?若有错,请指出错误原因并予以改正。并予以改正。1 1)系统要设几个进程来完成这个任务?各自的工作是什么?)系统要设几个进程来完成这个任务?各自的工作是什么?解解 例例33 设有一台计算机,有两个设有一台计算机,有两个I/OI/O通道,分别接一台卡片输入机和一台通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区打印机。卡片机把一叠卡片逐一输入到缓冲区B1B1中,加工处理后再搬到中,加工处理后再搬到缓冲区缓冲区B2B2中,并在打印机印出。问:中,并在打印机印出。问:2 2)这些进程间有什么样的相互制约关系?)这些进程间

50、有什么样的相互制约关系?3 3)用)用P P、V V操作写出这些进程的同步算法。操作写出这些进程的同步算法。1 1)系统可设三个进程来完成该任务:)系统可设三个进程来完成该任务:ReadRead进程负责从卡片输入机上读进程负责从卡片输入机上读入卡片信息,输入到缓冲区入卡片信息,输入到缓冲区B1B1中;中;GetGet进程负责从缓冲区进程负责从缓冲区B1B1中取出信息,中取出信息,进行加工处理,之后将结果送到缓冲区进行加工处理,之后将结果送到缓冲区B2B2中;中;PrintPrint进程负责从缓冲区进程负责从缓冲区B2B2中取出信息,并在打印机上打印输出。中取出信息,并在打印机上打印输出。2 2

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服