计算机网络操作系统新.doc_第1页
计算机网络操作系统新.doc_第2页
计算机网络操作系统新.doc_第3页
计算机网络操作系统新.doc_第4页
计算机网络操作系统新.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

武汉科技学院备课纸计算机网络系统第一讲(吴新明)操作系统概述(一) 授课学时:4学时(二)主要知识点1操作系统的定义2操作系统历史回顾3操作系统的基本概念(三)教学要求1、掌握内容:操作系统的定义及基本概念2、熟悉内容:操作系统的发展阶段(四)讲义内容当今计算机应用日益普及,不仅广泛应用于科学计算、过程控制和数据处理,而且已渗透到办公、教育、家庭等许多领域。这是与计算机系统功能的不断完善与扩充密切相关的。1.1 操作系统的定义1、计算机系统:计算机系统是按人的要求接收和存储信息,自己进行数据处理和计算,并输出结果信息的机器系统。2、计算机系统由硬件(子)系统和软件(子)系统组成。硬件系统是借助电、磁、光、机械等原理构成的各种物理部件的有机结合,是系统赖以工作的实体。 软件系统是由各种程序和数据组成,用于指挥全系统按指定的要求进行工作。3、计算机系统的层次结构:最底层是硬件系统,主要由中央处理器、主存储器、输入输出控制系统和各种外围设备组成。中央处理器是对信息高速运算和处理的部件;主存储器用于存放程序和数据,它可被中央处理器直接访问;输入输出管理系统管理外围设备(如键盘、显示器、打印机、磁盘机等)与主存储器之间的信息传递。 最外层是使用计算机的人,人与硬件系统的接口界面是软件系统,软件系统为人们使用计算机提供方便。4、 软件系统包括系统软件和应用软件两部分。 系统软件又包括操作系统、编译系统等。(1)操作系统的功能是实现资源的管理和控制程序的执行;(2)编译系统的功能是把高级语言(如FORTRAN、PASCAL等)或汇编语言所编写的源程序翻译成可执行的机器语言(指令)表示的目标程序。(3)应用程序是按某种需要编写的应用程序。5、操作系统的最主要的目的:(1)操作系统应该将硬件的细节加以屏蔽,用户可以不必了解具体细节就能使用计算机执行所要求的工作,如典型的I/O工作。操作系统向用户提供的是一个高度抽象的而且是局部统一的接口,这也成为虚拟机。(2)操作系统应该负责系统资源的管理,这是操作系统在向用户提供方便的接口时必须要处理的事情。6、操作系统是有效的管理各种计算机资源、控制用户程序执行以及方便用户使用的程序集合。简单的说操作系统是由软件或固件实现的一组程序,它使用户能方便地使用硬件提供的计算机功能,也使硬件的功能发挥得更好。1.2 操作系统历史回顾1、手工操作阶段1946年,第一台以真空管作为主要运算器件的计算机ENIAC试制成功。没有操作系统没有任何程序语言只能使用机器语言来编制程序2、批处理系统阶段20世纪50年代发明的晶体管计算机是计算机硬件的第二阶段。将多个用户用户的程序从读卡机读入输送到磁带上,待任务累计到一定个数后将磁带安装到主计算机的磁带机上读入,此后主计算机可以连续地、成批地按序运行各个任务,将输入写入另外的输出磁带上,待所有任务结束后管理员再将输出磁带取出装入低速的计算机上,利用打印机输出。特点:作业处理由监督程序进行,作业的运行是串行方式;输入 / 输出采用脱机技术。3、多道批处理系统阶段20世纪60年代中期,集成电路技术被应用于计算机中,使计算机硬件有了很大的发展,原先简单的监督管理程序已发展成为重要的系统软件操作系统。4、分时操作系统与实时操作系统分时操作系统是指多个用户分别使用不同的联机终端设备与计算机之间交互,在终端上运行各自的作业,共享同一计算机系统的资源,而且互不干扰,对每个人来说就好像自己“独占”了整个计算机。计算机能够及时响应外部事件,并在可预料的时间内完成对事件的处理。这种那特性称为实时性,由此产生的系统称为实时操作系统。实时系统分为实时控制系统与实时信息处理系统。5、 网络操作系统为计算机网络配置的操作系统称“网络操作系统”网络操作系统把计算机网络中的各台计算机有机的联合起来,各个人计算机可请求中心计算机服务,也可以通过中心计算机实现相互间计算机之间的通信以及网络中各种资源的共享。6、 分布式操作系统分布式计算机系统是由多台计算机组成的一种特殊的计算机网络。网络中各台计算机没有主次之分;网络中的任意两台计算机可以通过通信来交换信息;网络中的资源为所有用户共享。为分布式计算机系统配置的操作系统称为分布式操作系统。1.3 操作系统的基本概念1.3.1、 系统的硬件结构1、计算机系统部件 计算机的系统部件:一台计算机一般由四个部件构成:处理器(控制器、运算器)、主存储器、输入/输出设备和系统总线。(1)、在四大部件中,处理器是最重要的,处理器通常使用两个两个内部寄存器与主存储器交换数据:存储器地址寄存器(MAR)和存储器缓冲寄存器(MBR)。处理器使用输入/输出地址寄存器(I/OAR)指定一个输入/输出设备,而输入/ 输出缓冲寄存器(I/OBR)则用于输入/输出设备与处理器之间交换数据。(2)寄存器分类可分为两类 a、用户可见的寄存器 用户可见的寄存器可以通过由处理器能够直接解释与执行的语言来引用,一般对所有的程序都是可用的,包括应用程序和系统程序。用户可见的寄存器可以分为数据、地址、和条件码寄存器。b、控制与状态寄存器(又称不可见的寄存器) 一部分可以在系统控制模式下被特权机器指令访问;还有一部分是指令执行过程必须的;在支持多类型中断的处理器上通常有一组中断寄存器;处理器的存储管理硬件设施也需要有专门的寄存器;为了支持程序调试,也会有一些专门的寄存器存储相关信息;I/O操作也有专用的寄存器。2、指令的执行处理器执行的程序是由一组保存在存储器中的指令组成的。按最简单的形式,指令处理包括两步:处理器每次从存储器中读取一条指令,然后解释执行每条指令。一个单一的指令需要的处理时间称为一个指令周期。一个指令周期由两个步骤组成,分别称为取周期和执行周期。 读取的指令被放置在处理器的一个寄存器中,这个寄存器称为指令寄存器(IR).处理器解释指令并执行相应的动作,可以将这些动作分为4类:(1)处理器与存储器之间的数据移动;(2)处理器与I/O设备之间的数据移动;(3)数据运算,包括关于数据的算术和逻辑运算;(4)控制程序的执行程序,在执行之后修改PC转到指定位置继续3、中断由于某些事件的出现,中止现行进程的运行,而转去处理出现的事件,待适当的时候让被中止的进程继续运行,这个过程称为中断。引起中断的事件称为中断源。对出现的事件进行处理的程序称中断处理程序。 从中断性质来说,一般可以分成一下五类: 硬件故障中断:由于机器故障造成 程序中断:由于程序执行某条机器指令时可能出现的各种问题而引起的中断 外部中断:各种外部事件引起的中断 输入/输出中断:外围设备在完成或执行输入/ 输出操作时通道或外围产生错误而引起的中断 访管中断:正在进行的进程为了请求调用操作系统的某个功能而执行一条“访管指令”所引起的中断中断响应与中断处理,通常在处理器执行完一条指令后,硬件的中断装置立即检查有无中断事件发生,若有中断事件发生则暂停现行进程的运行,而让操作系统中的中断处理程序占用处理器,这一过程称为“中断响应”。 中断处理程序对中断时间的处理可分为二段进行。第一段是保护好被中断进程的现场信息,即把被中断进程的通用寄存器和控制寄存器内容以及被中断进程的PSW保护起来,这些信息可以保存在被中断进程的模块控制中。地二段是根据旧PSW中指示的中断事件进行具体处理。一次中断的发生与处理过程将激发很多事件,其中包括处理器的硬件事件以及软件事件。 当I/O设备完成一次I/O操作时,会发生下列硬件事件:(1)设备给处理器发生一个中断信号(2)处理器在响应中断前结束当前指令的执行(3)处理器对中断进行检测,确定中断性质,并给提交中断的设备发送中断确认信号;确认信号允许该设备取消它的中断信号(4)处理器为从将被中断的程序中转移控制作准备(5)处理器把响应该中断的中断处理例程的入口地址装入程序计数器一旦完成对程序计数器的装入,处理器则继续到下一个指令周期,控制被转移到中断处理例程,由此产生以下的软件动作:a与被中断程序相关的程序计数器和程序状态字被保存到系统栈中,还有一些其它信息被保存,特别需要保存处理器的 所有寄存器的内容。b接着中断处理例程开始处理中断c中断处理结束后,被保存的寄存器值或其他状态值从栈中释放并恢复到寄存器中或其它位置d从系统栈中恢复程序状态字和程序计数器的值4、高速缓冲区(Cache)人们基于存储器的局部工作原理,在处理器与存储器之间提供一块容量较小但速度很快的存储器,这个高速缓冲区称为Cache。5、I/O技术I/O技术分为三种:程序控制I/O、中断驱动I/O、直击存储器存储(DMA)I/O、程序控制I/O 程序中可以使用I./O指令进行输入/输出,I/O设备执行指令所请求的动作并设置I/O状态寄存器中相应位作为正确完成的标志,使用执行技术,处理器从主存储器中读取数据输出到I/O设备,而将设备读入的数据保存在主存储器中。I/O指令集 I/O程序是由一系列直接控制I/O操作的指令组成的,包括控制与查询设备状态、发送读命令或写命令以及传送数据等指令。(1)控制指令:控制指令用于激活I/O设备,并指定其动作。(2)状态指令:用于测试与I/O设备及其外围设备相关饿得各种状态。(3)传送指令:用于在存储器、寄存器和外部设备之间的数据传输。中断驱动I/O中断I/O方式是指处理给设备发送I/O指令后,就可以继续执行其他的一些任务。当 I/O 设备处于就绪状态、可以与处理器交换数据时,将中断处理器的工作请求提供中断服务。处理器传输了数据之后立即恢复先前的工作。直接存储器存取(DMA) DMA功能可以由系统总线中的一个独立的模块执行,也可以将其融入一个I/O模块中,称为DMA控制器。当处理器想要读或写一块数据时,就给DMA控制器发送一条命令,包括下列信息:(1)指出本次操作的类型是一次读或写(2)操作涉及的I/O设备的地址(3)数据存储的存储器单元首地址(4)需要读或写的数据总字节数6、计算机体系结构的分类体系结构,表示从程序员的角度看的机器属性,也就是脱离开数据的流动、空转方法、逻辑设计、物质实现等方面,而从概念上论述其结构,从功能上说明其动作。计算机体系结构的发展过程:(1)冯.诺依曼是经典体系结构的奠基人。其结构的重要特点是计算机由单一的程序计数器控制,顺序执行单一的指令流,并处理单一的数据流,其工作方式是完全串行化的指令流,这种方式一直为今天所有的程序设计语言所遵循。 (2)现代计算机系统将冯.诺依曼经典结构的以处理器为中心的结构改为以存储器为中心,在系统中设置I/O通道,使I/O操作与处理器操作并行执行。 当前采用多处理机并行结构的超高性能的计算机已成为现代计算机技术发展的趋势。Flynn分类法:1966年,M.J.Flynn 提出按指令流和数据流的多倍性特性对计算机系统进行分析,指令流是指机器执行的指令序列;数据流是由指令流调用的数据序列,包括输入数据和中间结果;而多倍性是指在系统性能瓶颈部件上,处于同一阶段指令流或数据流的最大可能数量。 计算机系统分为四类: 单指令流单数据流、单指令流多数据流、 多指令流单数据流、多指令流多数据流。1.3.2、 操作系统的类型1、单用户操作系统面向单一用户,该用户可以独占使用系统,所有资源均提供给该用户使用,用户对系统有绝对的控制权。2、批处理操作系统批处理操作系统分为单道批处理系统和多道批处理系统。 单道批处理系统:用户作业均交由操作员通过输入设备送入计算机,由操作员在控制台启动并控制计算机、监视作业运行、得到运行结果并交付给用户。在整个执行过程中,不与用户发生交互,一旦作业出错,则停止该作业,同时启动下一作业的运算,在输入/输出过程中,处理器处于等待状态。 多道批处理系统:用户可以通过系统提供的作业控制语言将用户程序和数据提交给系统,并在外部存储设备上形成作业的等待队列,然后由系统按照一定的调度策略从队列中选取如干作业调入存储器。存储器中作业按照多道方式进行,作业交替进行。 批处理系统优点:系统吞吐量大,资源利用率高,操作系统的开销小 批处理系统缺点:作业处理的平均周转时间长,用户交互能力弱。3、分时操作系统分时系统属于多道程序设计系统,是一种基于主从式多终端的计算机体系结构的功能扩展。 分时操作系统的基本特征: 同时性:宏观上看所有用户程序是同时并行工作的 独立性:用户之间相互独立、互不干扰 及时性:保证每一对用户的输入请求作出及时的响应 交互性:用户与计算机系统的交互式会话是通过终端进行的,用户在终端上发出命令请求,系统也在终端上给出响应。4、实时操作系统实时系统是一种特速的多道程序设计系统,主要用于需要对外部事件进行及时响应和处理的领域。 实时系统分为实时控制系统和实时信息系统,两者的主要区别:服务对象不同、响应时间的要求不同。 实时系统的特点: 及时性:反映在对用户的响应时间的要求上 交互性:对交互操作的方便性和交互操作的权限有特殊的要求 安全可靠性:是实时系统的最要的设计目标之一。 多路性 5、网络操作系统计算机网络是指地域位置不同、具有相对独立功能的多台计算机系统,通过通信线路与相关设备彼此互连起来,在通信协议的支持下,实现广泛的软、硬件资源以及信息资源共享的系统。与此相关的是网络操作系统。6、分布式操作系统分布式操作系统是基于计算机网络的系统,具有以下几个特征:多主机系统、分散型分布、资源分布共享和统一协作。 分布式操作系统与网络操作系统的区别: (1)网络操作系统与单机操作系统的差异不大,具有网络接口控制和网络低层驱动软件,含有远程登陆和文件存取能力;分布式操作系统允许多个程序同时在多台计算机上运行。 (2)在计算机网络中每个计算机都有自己的操作系统,分布式操作系统中每个计算机只运行分布式操作系统的一部分。 (3)网络操作系统中的资源访问是不透明的;分布式操作系统中用户面前是一台虚拟单机,用户的使用是完全透明的。 (4)单机操作系统可随时保持和获得系统状态的完整信息;分布式操作系统的信息会由于网络通信的延迟而成为不完整的、过时的或不明确的。1.3.3、 操作系统的设计目标方便性:操作系统使计算机对用户更易于使用。有效性:允许以用户更有效的方式使用计算机系统资源。可扩展性:在构造操作系统时,应该允许在不妨碍服务的前提下有效地开发、测试和引进新的系统功能。1.3.4、 现代操作系统的结构1、整体式结构整体式结构模型中过程分为三个层次(1)一个主过程: 用于处理服务过程请求(2)一组服务过程: 每个服务过程执行一条对应的系统调用(3)一组公共实用过程: 提供了若干服务过程都要使用的功能支持2、层次结构层次设置原则 :(1) 把操作系统的各种功能模块,按照其调用的关系排列成有序层次。(2) 把与硬件控制直接相关的模块放在最靠近硬件的一层上,此外那些最小公共操作模块也被放在该层上。(3) 实现虚拟存储功能的模块应该放置在实际存储管理模块之上。(4) 为了增强操作系统的适应性,使之便于从一种类型扩从为其他类型,应该将作业管理模块放在最外层。3、微内核结构人们把操作系统的共性抽象出来形成一个底层核心,成为微内核。再次基础上建立的操作系统称为微内核操作系统。构造微内核的基本思想是尽量剔除操作系统核心的内容,将其搬迁到外层中,只留下极小的功能组成微内核。4、面向对象的操作系统面向对象的操作系统是面向对象程序设计(OOP)思想在操作系统上的应用。对象是对事物的抽象,它是操作与事物属性的集合,对象上的操作与属性因具体事物而异,但其抽象模型具有共性,即对象都是由操作与属性两方面构成的。对象间的通信通过发送消息以执行操作来完成,操作接口的描述称为类(CLASS)1.4 什么是网络操作系统网络操作系统可以为用户提供网络接口、管理共享资源以及提供各种网络服务,具有一个单机操作系统的所有功能。 网络工作的基础环境:在网络环境中网络操作系统、网络通信软件、网络协议软件是计算机网络工作的基础环境。 网络操作系统应具备的四个基本功能:网络通信、资源管理、提供多种网络服务、提供网络接口。(五)本章思考题:1.操作系统的发展阶段及每个阶段的特点2.网络操作系统的定义及基本功能3.计算机系统四大部件是什么4.操作系统的设计目标5.分布式操作系统与网络操作系统的区别计算机网络系统第二讲(吴新明)网络操作系统的基本功能(一)授课学时:4学时(二)主要知识点1进程管理2输入/输出设备管理3存储管理4.文件系统5.操作系统的服务(三)教学要求1、掌握内容:进程管理、输入/输出设备管理、存储管理、文件系统2、熟悉内容:操作系统的服务(四)讲义内容2.1 进程管理2.1.1 进程概述用计算机系统来解决某个问题时首先必须编制程序。可以把程序看作是具有独立功能的一组指令的集合,或者说是指出处理器执行操作的步骤。程序是静止的,程序的执行必须依赖于一个实体数据集。我们把一个程序在一个数据集上的执行称为一个进程。1、程序的顺序执行及并发执行的特性我们将一个独立的程序独占CPU运行并得到最终结果的过程称为程序的顺序执行。 程序顺序执行的特征: 程序性:一个程序的每个步骤的执行是严格按照事先确定侧次序进行的。 封闭性:程序运行独占系统的所有资源,资源的状态只能由该程序改变,因此其结果与外界因素无关 可再现性:只要程序的运行环境与初始条件相同,当程序被重复执行时,将得到相同的结果。程序并发执行产生一些新的特征: 不可再现性:由于程序的并发执行,打破了由单个程序独占系统全部资源的封闭性,此外程序运行的环境不仅由一个程序改变,从而也就破坏了不可再现性。 程序执行的间断性:一个程序不再是从头到尾的连续地运行。 资源的共享使用:系统内的有限资源不再是一个程序独占使用,而是由所有的并发程序共享,而且在使用过程中存在竞争。 程序与运行不再是一一对应的关系:一个程序可以被同时执行多次,也就是说,一个程序在系统中存在多个副本。 并发运行的程序间存在某种合作或制约的关系:两个程序为了解决一个问题可能会要求通信,或者为了获取资源而具有某种相互约束关系。2、进程的定义进程是程序的一次执行过程。 进程的特性: 动态性:进程是程序的一次执行,这种动态特性说明了进程从创建到消亡的过程。 并发性:进程是参加处理器调度的单位,没有为一个程序创建进程也就谈不上执行。 独立性:进程作为系统资源分配的独立单位,具有独立性。 异步性:多个进程运行中具有相互制约的关系,从而造成进程执行的间断性。3、进程的基本状态进程在运行过程中存在着多种不同的状态,至少有下列三种基本状态: 就绪状态:进程已经获得处理器之外的所有需要的资源并处于准备好执行的状态。 运行状态:一个就绪队列中的进程获得了处理器资源后便进入运行状态。 阻塞状态:处于运行状态的进程由于某个请求未得到满足而暂时无法继续执行时,系统将收回处理器资源,而进程将处于一种等待状态,这种等待状态称为阻塞状态。改进的进程模型,引入了两个基本操作:激活与挂起。激活是指将进程从交换区调入内存储器中,而挂起正好相反。4、进程的实现为了描述与控制进程的运行,操作系统为每个进程定义了一个数据结构,称为进程控制块(PCB)。 进程控制块包含四类信息:标识信息、说明信息、现场信息、管理信息。一般操作系统的PCB有许多控制字段,这些字段分别用于进程本身的管理、存储管理以及文件管理等。 PCB所具有的主要字段的内容: 进程标识号:操作系统内部使用的用于惟一标识一个进程的编号。 进程状态:说明进程的当前状态,这是系统处理器调度程序工作的依据。 现场保护区:用于保存进程有运行状态变为其他状态时的处理器的现场信息。 程序与数据地址:指出进程所对应的程序与数据所存放的位置,是在外存储器中还是在内存储器中。 资源清单:说明进程目前拥有的各种资源的记录表。 优先级:调度程序使用优先级作为依据实施进程的处理器调度,高优先级将优先获得处理器资源。各种队列链接指针:一个进程按照当时所处的状态被链接到不同的队列,指针字段将用于得到其后缀进程PCB块的首地址。 父子进程联系指针:用于查找该进程的其他家族成员间的关系。 用于其他进程同步的字段:如实现进程间同步所需要的信号量、消息队列的首指针等。进程上下文:也称为进程场景,包括相应的程序地址空间、处理器寄存器的内容以及该进程有关的核心数据结构。更具体的说。进程上下文包括系统中与该进程运行过程有关的各种寄存器,如程序计数器、程序状态字、通用数据寄存器等,用户程序相对应的代码段、数据段以及堆栈指针和PCB等。系统级上下文由下列信息组成: 进程表选项、进程的U(用户)区、进程的区表项、区表和页表、核心栈、进程的系统级上下文的动态部分。进程的控制原语 进程控制的主要目的是对进程状态的转换管理,控制进程的生命周期。实现进程控制是使用原语进行的。 创建原语:一个进程可以利用创建原语来创建一个新进程。 撤销原语:一个进程在完成所有任务后,系统应该将其撤销,释放其所占有的所有资源。 挂起原语:调用挂起原语用于将一个进程从活动变成挂起状态,挂起态有挂起就绪态和挂起阻塞态。 激活原语:使处于挂起状态的进程变为活动状态,也就是也就是将把挂起就绪变为活动就绪;将挂起阻塞态变为活动阻塞态。 阻塞原语:当一个进程的请求未能满足时,进程那将调用阻塞原语放弃处理器资源,即阻塞自己的就绪运行。 唤醒原语:当一个进程释放了自己所用有的资源时,将检查与该资源相关的阻塞队列,如果其中包含等待中的阻塞进程,则将其从队列中取下,设置其状态为就绪态,并送入就绪队列中,而调用唤醒原语的进程依然可以继续运行。 2.1.2 进程间通信1、进程的同步与互斥 进程的同步:并发进程之间存在一种制约的关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。 进程的互斥:当有若干个进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其它要使用该资源的进程必须等待,直到占有资源者释放了该资源。临界资源和临界区 临界资源:每次只能允许一个进程访问的资源。 临界区:每个进程中访问临界资源的那段代码。2、信号量机制 在计算机系统中,并发进程至之间经常要交换一些信息,把并发进程交换信息的工作称进程通信,并发进程间可以通过PV操作交换信息实现进程的互斥和同步。3、信号量的应用 信号量机制可以用于解决进程间的同步和互斥。 利用信号量实现进程同步:假设两个进程共享一个大小固定的缓冲区,着当中一个为生产者,将产生的信息送入缓冲区,另一个为消费者,从缓冲区取走消息。这两个进程之间存在着相互制约的关系:如果消费者不及时取走信息,则当缓冲区满了之后,生产者就会被阻塞;如果生产者不能以足够的速度生产出消息,则消费者在取走缓冲区所有的消息后也会被阻塞。两者关系如下图: 利用信号量实现进程的互斥:利用信号量能够解决多个进程互斥地进入临界区的问题。一般地,假设临界资源有 M 个,解决问题的模型可以是: 设置一个公用互斥信号量mutex,将其初值设为M。 当一个进程想要进入临界区前在mutex上执行wait操作。 当进程退出临界区后在mutex上执行signal操作。4、管程 在应用管程时必须考虑下列问题: 互斥:当有几个进程同时调用某个管程时,只允许其中一个进入管称,其它进程必须等待。 同步:在管程中必须设置两个同步操作原语wait和signal。 条件变量:为了区别进程等待的不同原因,一般要引入条件变量加以区分。管程的优点: 可以提高系统的可靠性。 使进程控制结构清晰、易懂。 具有很强的同步能力。 使操作系统结构化程度提高,减少重复与差错。管程的缺点: 造成各种系统资源独立调度,不能反映实际系统资源调度的相互制约关系。 不适合于构造分布式草组系统或网络系统。2.1.3 进程间通信(IPC)1、直接通信 直接通信方式下,每个发送或接收信件的进程必须指出信件的接收者或信件的发送者。发送和接收过程可以通过定义发送原语和接收原语来完成。发送原语和接收原语的函数原型分别为send和receive,其中R表示接收者进程标识符,S表示发送者进程标识符。进程 S和进程 R通过分别执行这两个原语建立了一种通信联系。 msg表示信件,信件格式可以是定长或变长。send原语主要步骤:首先向系统申请一个消息缓冲区,并把发送区msg中的信件复制到消息缓冲区;然后该消息缓冲区插入进程 receiver的mq消息链中,并通知其有信件到达。 receive原语主要步骤:首先查看消息链中的sm计数信号量,获知有无信件等待处理,如果没有,则进程应该在此阻塞;如果有信,则从消息链上把一个链首消息缓冲区摘下,将信件内容复制到消息接收区msg,然后释放消息缓冲区空间。2、间接通信 间接通信使用称为信箱的数据结构。发信进程只是负责把信件投入信箱;而收信进程只是从信箱中取信进行处理,两者都不关心对方是谁。每个信箱有一个惟一的标识符,两个进程之间利用一个共享的信箱进行通信。 信箱结构分为两部分:信箱头和信箱体。信箱头是对信箱的描述,包括信箱标识符、信箱的 所有者、信箱的 格子数等;信箱体则是信件的存储区。信箱格子数在 信箱创建时确定。3、管道通信 在 UNIX文件系统中,使用了一种称为管道的通信方式。管道是一个文件,在进程间按照先进现出的方式传送数据。一个进程的输出端通过管道接入到另一个进程的输入段,这使得进程之间能够进行通信。 管道分为命名管道和无名管道。 管道机制提供以下功能: 互斥操作:当一个进程正在对管道进行读写操作时,另一个进程必须等待。 同步操作:当写进程将一定数量的数据写入管道后就进入阻塞状态,直到读进程取走数据后再将其唤醒;反之亦然。2.1.4 进程调度处理器调度分为多个级别: 作业调度、进程对换和进程调度。1、调度时机 引起进程调度的原因: 执行中的进程运行完毕; 执行中的进程由于请求一个外部事件的发生而受到阻塞; 一个请求的外部事件发生时; 分时系统中进程所分配的时间片用完; 一个采用抢占式调度策略的系统的就绪队列中出现了一个比当运行中的进程优先级还要那高的进程。2、调度方式 主要有两种系统调度方式:抢占式和非抢占式调度。 抢占式调度:允许把正在执行的进程所占有的处理机强行剥夺并转给另一个优先级比它高一些的进程。 非抢占式调度:系统一旦将处理器资源分配一个进程后,无论系统中是否出现高优先级的进程,都不能从一个运行中的进程手中强行剥夺其处理机控制权,而只有当该进程结束或分配的时间片用完或进行I/O处理时才能让出处理器。3、进程调度算法 进程调度的功能是按照某种确定的算法,从系统的就绪队列中选择一个最合适的进程,把处理器控制权转给该进程。 时间片轮转法 分时系统中为了满足用户对系统响应时间的要求,常常采用时间片轮转法调度进程。 时间片轮转法:把所有就绪队列中的进程按先后顺序依次分配一个时间片运行其任务,当时间片用完时,如果进程仍然未结束,则再次将其加入到队尾,以等待下一轮的调度。时间片的确定与两个因素有关: q=T/NT是系统响应时间,N是就绪队列中的进程数。 可变时间片轮转法 可变时间片轮转法的基本思想是:q 值的计算仅与一轮具体的调度有关,不能用于下一轮调度。因此在计算出某一轮的 q 值之后如果还有新的就绪进程进来,则暂时不进入调度队列中,而必须等到下一轮调度时才能加入就绪队列。高优先级优先法 高优先级优先法的思想:总是将处理器分配给就绪队列中具有最高优先级的进程。系统的进程优先级方案有两种:静态优先级法、动态优先级法。多就绪队列调度法 多就绪队列调度法的思想:按照进程的优先级高低设置两级或多级就绪队列,进程调度程序总是优先考虑从高优先级就绪队列中挑选进程,只有高优先级队列为空时,才能从较低优先级就绪队列中选取进程。 4、分派程序 进程调度算法用于确定哪个进程将获得处理器资源,而具体负责分配操作的一个系统程序就是分派程序。2.1.5 线程及其管理1、线程的结构线程的组成: 线程运行的上下文; 运行栈,包括系统栈和用户栈; 局部变量存储区; 线程的状态信息。线程的优点: 创建一个线程所需的时间较新建一个线程少; 终止一个线程也比终止一个进程快; 线程间的切换比进程间的切换快; 线程间的通信效率比进程间的通信效率高。2、线程的功能特性 线程的状态变化有三种:运行态、就绪态、阻塞态。 线程的基本操作:创建操作、阻塞操作、唤醒操作、结束操作。 2.2 输入/输出设备管理 2.2.1 输入/输出设备及其软件设计原则设备管理的主要任务: 统一接口,统一命名,实现系统真正的设备无关性; 控制I/O设备动作,代替用户控制与管理设备的输入/输出; 充分提高设备与处理器的操作并行度。 设备管理软件的主要功能: 向进程提供I/O请求的接口; 进行设备分配; 实施实际的设备控制与驱动操作; 缓冲技术及其管理。2.2.2 系统输入/输出的控制过程直接控制:外部设备与内存之间的数据传送完全是通过处理器来进行的,这种I/O控制方式称为程序直接控制方式。处理器效率极低。 中断技术:通过在系统中引入中断机构,就可以在设备I/O操作期间让处理器继续执行用户任务,中断I/O方式大大减少了主机轮询设备所花费的时间,提高了处理器的效率。 通道技术:通道技术是计算机体系结构发展中采取的最重要的并行处理技术,是多道程序设计实现的基础。 为了充分发挥高性能计算机系统的效率,人们专门为系统设置了外围处理机。2.2.3 设备分配与设备分配有关的因素: I/O设备的特性、系统采用的设备分配策略、设备分配的安全性。 系统中设备有两类:排他式、共享式。 对于共享设备一般不进行设备分配,对于排他式使用的设备,为使其更好地发挥使用效率,我们常常采用一种虚拟设备技术改变其独占性。1、设备分配算法 设备分配通常有两种方式:静态分配、动态分配。 静态分配:在用户作业运行前将作业要求的设备一起集中地加以分配,设备一旦被分配出去后就一直被该作业独占使用,直到作业运行结束或不再使用时才能作业。 动态分配:在作业运行过程中,当提出设备I/O请求时系统才为其分配设备,并按照分配策略来进行分配。 动态分配算法: 先请求先服务、高优先级者优先。2、设备分配的实施 设备分配的设计结构种类: 系统设备表SDT、设备控制块UCB、控制器控制块CUCB、通道控制块CCB。 各种控制块的关系如下图:2、设备分配的实施 SDT表: SDT表中记录了系统中所有的外部设备,每类设备占据其中一个表项,每个表项包括了设备的名称和对应的设备控制块表UCB的起始地址。 UCB块: UCB有以下内容:设备标识、设备状态、与改设备连接的控制块CUCB的起始地址、等待该设备的阻塞进程队列首指针。 CUCB控制器控制块: 控制器标识、控制器状态、与该控制器连接的通道控制器块CCB的起始地址、等待该控制器的阻塞进程队列首指针。 CCB通道控制块: 通道标识、通道状态、与该通道连接的控制器块CUCB的起始地址、等待该通道的阻塞进程队列首指针。2.2.4 死锁死锁:指多个并发进程由于竞争资源造成的彼此无限期的互相等待,在没有外界干涉时涉及到的进程都不能继续运行,永远处于阻塞状态的现象。产生死锁应具备的条件: 互斥条件:资源是独占的、排他式使用的。 不可剥夺条件:一个进程已获得的资源只能由自己释放,不允许其他进程剥夺。 保持与再请求条件:已经获得了部分资源后在未释放前又产生新的请求。 环路等待条件:在发生死锁时必定存在一个进程资源的环路。 死锁的解决 预防死锁法:通过设置一些严格的限制条件破坏产生死锁的条件来防止死锁的发生。 回避死锁法:在资源的动态分配过程中,采取某种方法防止系统进入不安全状态。 检测与解除死锁法:该方法允许系统运行过程中发生死锁,通过系统中设置的检测机构及时检测出系统中的死锁现象,确定与死锁有关的进程与资源,然后采取措施清除发生死锁。2.2.5 磁盘调度磁盘定位信息包括三个值:柱面号、磁道(面)号和扇区号1、磁盘工作原理 首先移动磁头臂将磁头移到指定的柱面,这一过程称为寻道。 然后由对应于指定磁道的磁头等待盘面高速旋转到指定扇区位置时读写数据块,这个过程称为旋转定位。2、磁盘调度算法最短查找时间优先法扫描法电梯调度法2.3 存储管理2.3.1 存储管理概述存储管理:是对主存储器中供用户使用的区域进行管理,管理的方式有固定分区方式、可变分区方式、页式、段式、段页式和虚拟存储管理方式。 存储器分为两类:主存储器(内存)和辅助存储器(辅存)。 存储管理讨论的是内存的管理,内存是操作系统与用户进程的运行区域,但是操作系统所占用的区域一般是永久保留的,因此内存的管理主要针对用户内存区域。 有效的存储分配机制应该在用户进程提出请求时立即为其分配相应的存储空间,而在用户不再需求时及时回收,以便其他进程使用。2.3.2 覆盖与交换技术覆盖技术是在早期的操作系统中用于扩充内存的方法,使用覆盖技术可以把进程地址空间中的代码和数据的大部分存放在辅存上,而仅仅在内存中保留那些当前需要执行的代码,这就要求在内存与辅存之间进行信息交换。2.3.3 分页技术分页技术的基本思想:将内存的空间按某个固定大小的块进行划分,这些块称为物理块。然后按同样大小将用户作业的地址空间划分为一系列等长的页面。一个经过划分的作业由若干个页面组成,每个页面可以分散的存储在不同的物理块中。为了确定某个作业的各个页面与哪些物理块对应,为每个作业引入一个称为页表的数据结构。2.3.4 分段技术分段技术的思想:是利用二维地址空间描述一个程序结构,根据程序的逻辑结构将其分为若干独立的段,每个段占据一个连续的存储区域,但各段之间不必连续。为了管理作业存储空间,使用一张表段记录作业的各段在内存中的起始地址和长度。2.3.5 虚拟存储技术技术虚拟存储技术是将内存与辅存统一起来、以有限的内存和较大的辅存获得一个逻辑上相对较大的作业地址空间的技术,这样用户在编写程序时就不再受系统实际内存容量的限制。 实现方法:在运行一道程序时,只要把程序的必需部分装入内存,而其余部分仍驻留在辅存上。当程序执行过程中需要访问不在内存的数据或代码时,由操作系统将其调入。 实现虚拟存储器应提供以下的硬件支持:有一个容量足够大的辅存,可以容纳作业的全部地址空间。 有一个一定容量的物理内存空间。 有实现虚拟地址实地址映象的硬件转换机构。2.3.6 页面替换算法页面走向:一个程序在运行过程中所访问的页面号序列称为页面走向。页面失效率:将需要访问的页面不在内存的现象称为缺页故障或页面失效。页面替换算法分类最佳替换算法:从内存中淘汰那些永远不会再使用的页面。 先进先出算法:最早调入内存的页面不再被访问的可能性比新近进入内存的页面要大。 最近最久未用算法:过去某段时间内未被访问过的页面在近期也不会被访问。 近似LRU算法:为每个页面设置一个访问位。2.4 文件系统2.4.1 文件概述文件:是指一组相关的信息元素的集合。 文件系统:操作系统中为了管理文件而设立的管理程序。 文件组成:文件控制部分(也称为文件说明)和文件体。文件体是文件的内容或数据;文件的说明用于标识、定位和控制文件存取等有关信息组成的控制数据结构。每个文件都有一个文件控制块。 文件控制块一般包括:文件名(外部名)、文件内部名、文件主用户名、物理组织形式、存放的物理位置、存取控制、共享说明信息、创建与修改日期以及其他信息。2.4.2 文件的组织与存取文件有两种结构:文件的逻辑结构、文件的物理结构。 文件的逻辑结构有两种:字节流文件、记录流文件。 文件的物理结构有四种形式:顺序文件、串联文件、索引文件、Hash文件。2.4.3 目录结构1、单级目录 为文件存储器中的所有文件设立一张目录表,表中包含全部文件的说明。 2、二级目录 二级目录中第一级为主文件目录,用于管理所有用户文件,其中的目录项登记了系统中的用户名及该用户文件子目录的地址;第二级目录为用户文件目录,其中包含了属于该用户的每个文件的文件控制块。 3、多级目录 树型结构目录是二级目录的推广,多级目录结构使得文件系统的管理与控制更加灵活,也更有利于实现存取保护。2.4.4 文件的存取控制1、文件存储空间管理 空间管理的几种方法: 空白文件目录法:系统为所有的空白文件单独建立一个目录,并为每个文件在其中建立一个目录项,目录项的主要内容包括:第一个空白物理块的地址、空白物理块数目等。 位示图法:利用二进制位图反映磁盘空间分配情况的。 空闲块链接法:把所有的空闲块链接在一起,形成一个空闲块串联文件。系统保存一个指向首块的指针,每个空闲块内包含了指向下一个空闲块的指针。 2、文件存取控制 文件存取控制的目标:阻止未授权用户存取文件;防止一个用户冒充另一个用户来存取;防止授权用户的误操作。 合法性验证的步骤:审定用户权限;比较用户权限与本次存取要求是否一致;将存取要求和被访问文件的控制信息比较,检查其中是否存在冲突。 文件存取控制的实现方法:存取控制矩阵、存取控制表、用户权限表和口令等。2.4.5 文件系统的用户接口1、建立文件 当用户想把一批信息作为一个文件存放在磁盘上时,可以使用操作向系统提出建立文件的请求。 2、打开文件文件建立后不能立即进行读、写,在读、写文件之前首先要打开文件,建立用户与文件的联系,把涉及文件的有关的目录信息复制到主存中,以加速系统对文件的检索,为执行文件的读、写等操作做好准备。 3、读文件 读文件命令的功能是从文件中读取数据。 4、写文件 写命令用于向文件中添加新的记录。 5、关闭文件 对文件的读写操作完成后,应该调用关闭文件命令及时关闭文件,切断用户与该文件的联系。 6、删除文件 从文件系统中删除一个已经存在的文件。2.5 操作系统的服务2.5.1 用户命令处理操作系统通过用户接口提供服务,系统中的用户接口有两类:一类是操作系统为程序员提供的系统调用;另一类是操作系统提供给用户用于作业控制的命令接口。 用户命令接口种类:批处理方式的作业控制命令;交互方式作业控制的操作命令。2.5.2 编程接口操作系统除了提供命令接口之外,还为程序员用户提供不同的编程接口,系统功能调用是其中一部分。为了简化用户的编程过程,系统往往还提供一些更高层次的编程接口,以提高用户的编程效率。2.5.3 系统功能调用系统调用是操作系统为程序员提供的最基本的系统功能服务,常常以一个函数库的形式向用户提供。系统调用的类型:进程控制与管理、存储管理、文件管理、设备管理、服务类。(五)本章思考题:1. 进

温馨提示

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

评论

0/150

提交评论