操作系统原理PPT

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

操作系统原理武汉大学计算机多媒体课程1、《操作系统原理》教材2、《操作系统原理实验大纲》指导教材3、《操作系统课件》多媒体教案课程使用的媒体一、操作系统的有关概念二、进程管理三、存储器管理计算机发展简史操作系统的发展过程计算机发展简史按硬件发展划分为四代。对计算规律的模拟存储程序式计算机存储程序式计算机模型存储程序式计算机模型的基本方案是,如要使计算机能够自动地计算,必须有一个存储器用来存储程序和数据;同时要有一个运算器,用以执行指定的操作;有一个控制器,以便实现自动操作;另外,辅以输入/输出部件,以便输入原始数据和输出计算结果。于是形成了现代计算机的基本组成形式。如图1.1所示。图1.1存储程序计算机的组成操作系统的发展过程按技术发展与分支划分类别操作系统的类型早期批处理执行系统多道成批系统分时、实时系统、个人机系统多处理机、分布式系统无操作系统的计算机从第一代计算机诞生到20世纪50年代中期还未出现操作系统,这时的计算机采用人工操作方式。其过程是:图1.2手工操作计算机单道批处理系统与多道批处理系统及执行系统所谓批处理系统是指加载在计算机上的一个系统软件,在它的控制下,计算机能够自动地成批地处理一个或多个用户的作业。首先出现的是联机批处理系统。如下图所示。脱离主机控制的输入/输出批处理系统在外设处理数据时,主机处理“忙等”状态,这样高速的主机与慢速的外设矛盾就显现出来。为了克服与缓解主机与外设的矛盾。我们引入脱机批处理系统,即脱离主机控制的输入/输出批处理系统。如图1.4所示。图1.4脱机批处理系统在单道批处理系统中,内存中仅有一道作业,中断和通道技术出现以后,虽然可以实现输入/输出设备与中央处理机并行操作,但由于属于同一道作业的可并发执行的进程不多,大多数进程是有同步关系的,这使系统中仍有较多的空闲资源,致使系统的性能较差。为了进一步提高资源的利用率和系统对作业的吞吐量,在60年代中期,引入了多道程序设计技术,由此而形成了多道批处理系统。单道程序与多道程序的执行过程如图1.5和图1.6所示。在操作系统中引入多道程序设计技术以后,会使系统具有以下特征。(1)多道性(2)无序性(3)宏观上并行、微观上串行(4)调度性分时系统分时技术是把处理机的时间分成很短的时间片,这些时间片轮流地分配给各个联机的各作业使用。如果某作业在分配给它的时间片用完时仍未完成,则该作业就暂时中断,等待下一轮运行,并把处理机的控制权让给另一个作业使用。这样在一个相对较短的时间间隔内,每个用户作业都能得到快速响应,以实现人机交互。分时系统与多道批处理系统相比,具有完全不同的特征,由上所述可以归纳成以下几点:(1)多路性(2)独立性(3)及时性(4)交互性什么是操作系统操作系统的性质操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。以下软件哪些是操作系统?UNIXWordDOSVBOfficeFoxProWindows98WindowsNTLinuxPowerPoint以下软件是操作系统:UNIXDOSLinuxWindows98WindowsNT设置OS的目的扩充机器功能,方便用户使用。提高系统效率。操作系统的共同性质1、从功能上看具有五大功能----存储器管理、处理机管理、设备管理、文件管理、用户接口2、从层次上看是裸机之上的第一层软件,为其他软件的建立和运行提供基础。裸机操作系统其他软件...用户1。4节3、从服务上看提供众多基础服务,方便用户使用,构成软件平台。4、从内部特征上看---支持并发性---实现资源共享---完成进程的异步前进以多道成批系统为例并发共享不确定性1.3OS的服务功能程序执行I/O操作文件系统管理出错检测资源分配统计保护一系统调用是应用程序与OS的接口进程或作业控制:实现进程或作业的所有活动文件管理和设备管理信息维护:用户与系统交互信息二系统程序文件管理状态信息文件修改程序设计语言支持程序装入与执行工具性软件命令解释程序的实现方法1.5操作系统逻辑结构设计分层实现的软件设计方法1.5操作系统逻辑结构设计单块结构层次结构:分层实现的软件设计方法.虚拟机客户/服务器模型:再用户进程方式下实现系统的多数功能;核心只负责客户与服务器的通信;适用于分布式系统;注意对关键基础服务的处理.1。8UNIX系统的特点和结构UNIX的主要特点UNIX系统结构UNIX系统核心结构一、操作系统的有关概念二、进程管理三、存储器管理进程概念程序的顺序执行与并发执行程序的顺序执行概念一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就称为程序的顺序执行。例如:程序顺序执行的特点1顺序性处理机严格按照程序所规定的顺序执行,即每个操作必须在下一个操作开始之前结束。2封闭性程序一旦开始执行,其计算结果不受外界的影响,当程序的初始条件给定之后,其后的状态只能由程序本身确定,即只有本程序才能改变它。程序顺序执行的特点(续)3可再现性程序执行的结果与初始条件有关,而与执行时间无关。即只要程序的初始条件相同,它的执行结果是相同的,不论它在什么时间执行,也不管计算机的运行速度。O=f(I),f是与时间无关的函数程序的并发执行例:在系统中有n个作业,每个作业都有三个处理步骤,输入数据、处理、输出,即Ii,Ci,Pi(i=1,2,3,...,n)。这些作业系统中执行时是对时间的偏序,有些操作必须在其它操作之前执行,这是有序的,但有些操作是可以同时执行的。程序的并发执行例如:P1与I2,C1与I2,I3与P1是可以同时执行的。I1、C1、P1的执行必须严格按照I1,C1,P1的顺序。I1、I2、I3、I4轮流使用同一输入设备。时间资源程序的并发执行定义若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。PQR并发执行区程序的并发执行分析优点:程序的并发执行提高了资源的利用率。注意有限制规则:同一作业的处理步骤的执行必须严格按照规定的顺序;同一独占资源上的不同作业的处理步骤不能同时执行。程序的顺序执行与并发执行假设有一个程序由S0~Sn+1个语句,先顺序执行S0,然后并发执行S1~Sn语句,最后顺序执行Sn+1。程序并发执行的特点一、失去了程序的封闭性程序A程序Bn:=0;……………打印nn:=n+1;K1K2S如果程序执行的结果是一个与时间无关的函数,即具有封闭性。程序B打印0程序B打印1程序并发执行的特点二、程序与计算不再一一对应在程序顺序执行时,一个程序总是对应一个具体的计算,但在程序的并发执行时,可能有多用户共享使用同一个程序,但处理(计算)的对象却是不同的,例如,在多用户环境下,可能同时有多个用户调用C语言的编译程序,这就是典型的一个程序对应多个用户源程序的情况。程序并发执行的特点程序与计算不再一一对应示例程序A程序B……CallC……CallC程序C…程序A和B在执行过程中都调用了程序C程序并发执行的特点三、程序并发执行可以相互制约在多道程序设计的环境下,程序是并发执行的。即系统中有多道程序在“同时”执行,这些程序之间要共享系统的资源,程序之间有合作(通信)的关系。合作与竞争产生一系列的矛盾,这些矛盾实际上是一种相互制约,有直接的,也有间接。注意区别不能同时与有先后次序两种制约。程序并发执行的特点程序并发执行的相互制约示例并发活动——进程的引人操作系统的特性之一是并发与共享,即在系统中(内存)同时存在几个相互独立的程序,这些程序在系统中既交叉地运行,又要共享系统中的资源,这就会引起一系列的问题,包括:对资源的竞争、运行程序之间的通信、程序之间的合作与协同等符。要解决这些问题,用程序的概念已经不能描述程序在内存中运行的状态,必须引人新的概念--进程。进程的定义行为的一个规则叫做程序,程序在处理机上执行时所发生的活动称为进程(Dijkstra)。进程是这样的计算部分,它是可以和其它计算并行的一个计算。(Donovan)进程(有时称为任务)是一个程序与其数据一道通过处理机的执行所发生的活动。(Alan.C.Shaw)进程是执行中的程序。(KenThompsonandDennisRitchie)进程,即是程序在并发环境中的执行过程。进程与程序的区别(1)进程是动态概念;程序是静态概念进程具有并发性,宏观上同时运行;程序本身具有顺序性,程序的并发执行是通过进程实现的进程具有独立性,是一个能独立运行的单位,是系统资源分配的基本单位,是运行调度的基本单位;程序本身没有此特性进程与程序的区别(2)进程和程序无一一对应关系,一个进程可顺序执行多个程序;一个程序可由多个进程共用进程异步前进,会相互制约;程序不具备此特性进程实体具有一定结构,组成进程映象;程序没有这种结构进程与程序的区别示例例子:光盘(CD、VCD、DVD)光盘(程序)-放光盘的活动(进程)理解进程概念进程的运行状态及其变迁进程的组成进程映像进程环境进程的运行状态及其变迁进程在系统中的活动规律是:执行-暂停-执行进程的运行状态反映进程的动态性。进程的三种基本状态:运行状态就绪状态封锁状态(又称不可运行、挂起)进程的三种基本状态运行状态:进程得到CPU控制权,它的程序正在运行。(在系统中,总只有一个进程处于此状态)就绪状态:已经准备就绪,一旦得到CPU,就立即可以运行。(有多个进程处于此状态)封锁状态:正在等待某个事件的发生(如等待I/O的完成),而暂停执行,这时,即使给它CPU时间,它也无法执行。进程的状态变化就绪运行挂起??PCB程序数据集合进程的组成基本内容的确定?进程与PCB的关系每个进程有唯一的PCB系统中所有进程都有自己的PCB操作系统依据PCB管理进程进程与PCB的关系操作系统利用PCB实现进程的动态和并发PCB是进程存在的唯一标志Pcb表组织a…b…-1…pcb1N个pcb2…………pcbiPcb-addr?空间大小??UNIX的进程映像进程状态变迁关系进程映像:PCB的实现、核心栈与用户栈(图2-10UNIX进程映像结构)进程环境用户级环境寄存器环境系统级环境1、进程与程序的区别2、进程的组成3、进程的同步与互斥进程控制原语Fork()Wait(stat_addr)Exitexec进程在活动中会相互制约所有进程都是相互独立的进程以异步方式并发执行同步同步是进程间共同完成一项任务时直接发生相互作用的关系——同步进程间具有合作关系——在执行时间上必须按一定的顺序协调进行互斥互斥是并发执行的多个进程由于竞争同一资源而产生的相互排斥的关系——互斥进程彼此在逻辑上是完全无关的——它们的运行不具有时间次序的特征——临界资源和临界区——信号量——P、V操作临界资源一次仅允许一个进程使用的共享资源如:打印机、内存单元、表格临界区在每个进程中访问临界资源的那段程序有限进入原则唯一原则有限离开原则进程间的通信——临界资源和临界区——信号量——P、V操作信号量信号量是一种数据结构一般由两个成员组成:数值指针?信号量一般说来,信号量的值与相应资源的使用情况有关信号量的值仅由P、V操作改变进程间的通信——临界资源和临界区——信号量——P、V操作P、V操作都是原语P:申请一个单位资源(P47)V:释放一个单位资源(P47)P操作P(s):若S0,入等待队列若S=0,继续取s值减1V操作V(s):若S=0,唤醒一等待队列进程若S0,继续取s值加1用P、V原语实现互斥例:打印机分配互斥信号量mutex(初值为1)Pa为分配进程Pb为释放进程Pa:...P(mutex)分配打印机(读写分配表)V(mutex)...Pb:...P(mutex)释放打印机(读写分配表)V(mutex)...用P、V原语实现简单同步

1 / 232
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功