第三章-3-1操作系统_第1页
第三章-3-1操作系统_第2页
第三章-3-1操作系统_第3页
第三章-3-1操作系统_第4页
第三章-3-1操作系统_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

DOSWindows9XWindowsNTLinuxUNIXWindowsCE第三章 操作系统3.1操作系统导论3.1.1什么是操作系统所谓操作系统就是能有效地管理计算机系统中的各种软、硬件资源,合理地组织计算机的工作流程,为用户创造良好工作环境的系统软件。设置操作系统的目的是:1.有效地管理计算机的所有软、硬件资源,使计算机能够高效率地工作;2.方便用户使用。操作系统是运行在硬件上的最基本的系统软件。操作系统的形成这工作方式有两个主要缺点:

(1)计算机的全部资源(CPU、内存、外部设备等)由一个用户独占。(2)人工操作、CPU和输入输出设备的工作串行进行。整个操作过程非常繁琐,计算机工作效率很低。(一)手工操作方式凿有高级语言编写的纸带3.1.2操作系统的分类

1、批处理操作系统2、分时系统3、实时系统单道批处理系统多道批处理系统批处理操作系统

把作业控制命令穿插在用户的源程序中,通过它们把上机操作步骤和过程信息传递给系统。用户的作业成批输入到计算机系统中,由监督程序(实际就是操作系统的前身)逐个调入内存处理。工作特点:用户一次可以提交多个作业,但系统一次只处理一个作业。处理完一个作业后,自动调入下一个作业进行处理。减少人工干预,使计算机自动进行输入、编译和运行程序。比如,Fortran源程序的编译连接过程可用批处理来进行。单道批处理系统

标识一个作业开始调用装配程序调FORTORAN编译程序运行某个作业标识某个作业的结束功能

JOBLOADFORTORANRUNEND命令一些典型的作业控制命令外设工作(CPU等待)CPU工作外设工作(CPU等待)1ms2ms输入一个数据处理数据输出数据数据完结束YN2ms5ms输入CPU输出串行工作方式运行中的作业进行输入输出操作时,处理机处于空闲等待状态,而输入输出操作速度很慢。处理机利用率很低。中断机构和通道技术的出现,使得CPU与外设并行工作成为可能。控制信号数据设备1设备2设备3设备4设备8设备7设备5设备6通道1通道4通道2通道3CPU主存通道:用来控制外部设备与主存储器之间进行信息交换的部件CPU向通道发起动通道的命令。通道通知设备与主存传递数据,此时CPU也在进行其它计算工作(并行工作)。当设备与主存传递数据结束后,通道向CPU发信号(中断),CPU停下计算工作,执行中断程序(中断处理程序比较简单)。

中断:中断是外界(如输入、输出设备,通道等)向主机报告信息的一种通信方式,是CPU对系统中随机事件的响应。1ms2ms2ms输入CPU输出使用中断和通道技术后,实现外设与CPU并行工作示意图data1data2数据存储区data1data2data3data1data2data3data4data2data3data4data5data1data3处理上一个数据data1data4继续处理上一个数据data1data5data2当CPU处理完上一个数据后,一方面启动输出设备输出结果,同时又启动输入设备进行操作,输入下一次要处理的数据,并且CPU也同时处理已输入并存储在计算机缓冲区中的数据。可以看出,外设与CPU的并行工作只需2ms。

上述系统由于一次只执行一个作业,所以系统内包含的各种资源不能被充分利用起来,解决的办法是让多道程序同时进入内存中—多道批处理系统。多道批处理系统示意图打印机………作业2作业1OS………作业3作业2作业1………结果3结果2结果1用户作业CPU用户提交图-21后备作业磁盘输入井磁盘输出井处理结果成批3.多道批处理系统和分时系统(如图-21,图-22)

多道批处理:

把内存分成若干部分,把属于同一批的若干个作业调入内存,存放在内存的不同部分。当一个作业由于等待输入输出操作而使处理机出现空闲时,系统自动进行切换,处理下一个作业。如果内存空间允许,可大大提高CPU的利用率。……作业2作业1OS……作业3作业2作业1……结果3结果2结果1用户作业CPU打印机用户多道批处理系统示意图提交系统后备作业磁盘输入磁盘输出处理结果成批批处理系统的作业以批量方式进行,用户不能进行任何干预。输入计算•••••••计算计算打印••••••计算打印A(优先级高)CA1A2B1B2B3C1C2多道程序并行运行示意图B1

C1打印OSB2OSB3打印

A2CPU

OSCPUC2CPUCPUCPUCPUCPUBA1输入程序A的优先级最高,C是最低,采用剥夺式的优先调度算法。A程序B程序C程序操作系统A输入请求B打印请求A输入结束B打印结束A结束B结束T0T1T2T3T4T5T6本图主要说明多道程序平行运行如何进行CPU管理,因为A、B、C、OS都想抢占CPU。通过分析多道程序设计工作原理来引出操作系统的功能:多道程序设计的主要思想是允许多个程序进入内存中,共享处理机和其他外部资源,同时处于运行状态。脱机技术脱机技术的实质:卫星机与主机并行工作,使主机摆脱了慢速的输入、输出操作,即用快速的输入、输出设备(磁带)代替低速设备,减少了输入、输出操作对系统的影响,缓解了外设与主机运行速度不匹配的矛盾。

输入设备输出设备卫星机主机输入带输出带在多道批处理系统,用户无法干预自己程序的运行,缺乏参与感,于是分时系统应运而生。CPU终端1终端2终端3终端4分时系统工作示意图终端1分时系统的特点同时性:

多个用户终端通过多路卡连接到一台主机。独立性:

每个用户通过一台终端使用系统,彼此独立操作。及时性:终端用户的请求很快可获得响应。交互性:用户可通过键盘输入命令。实时系统1、实时过程控制系统2、实时信息处理系统多道程序设计提高了计算机资源的利用率。但是,随之也带来一些问题:例如:多道程序同时运行,处理机如何调度?多道程序同时放在内存中,内存如何分配管理?多道程序争夺I/O设备,I/O设备如何分配?多道程序共享系统资源,如何有效地管理这些资源,使得计算机能够高效率的工作,这种重要的管理任务就是由操作系统来担当,那么操作系统的功能是什么?3.1.3操作系统的功能1、处理机管理2、存储管理3、设备管理4、文件管理1.处理机管理对处理机的分配、调度实施最有效的管理,以最大限度地提高处理机的处理能力。2.存储器管理为每个进程分配内存。当进程被撤销时回收分配出去的内存。3.设备管理计算机系统的输入、输出设备繁多。设备管理的主要任务是:根据一定的的分配原则对设备进行分配、调度为用户使用I/O设备提供方便、易用、高效的操作界面。4.文件管理计算机中的所有信息(可执行程序、文档、数据等)都是以文件的形式保存在外部存储介质上。操作系统提供一套高效、方便、易用的信息管理机制,称之为文件系统。其主要任务是:数据存储空间的分配、回收,文件的读写、查找为用户提供方便、易用、高效的服务接口,如文件的打开、关闭、读写以及文件的删除等。。3.1.4操作系统的特征1、并发性2、共享性(1)互斥共享(2)同时访问3、虚拟2、共享性计算机系统中的硬件资源和软件资源为各用户所共同使用。(1)互斥共享(2)同时访问1、并发性再多任务操作系统中,“并发”是指宏观上在一段时间内多个进程“同时”运行。3、虚拟性把一个物理实体,通过适当方法,变成为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑实体是“虚拟”的,是人的一种看法和感觉。3.2典型操作系统简介DOSWindows3.x,Windows95,Windows98,Windows2000,WindowsxpUNIX:IBM----AIXSUN---SunOP

HP-----HP-UXCOMPAQ---digetalunix

SCO----UNIXWARE\OpenServerLINUX:免费的类UNIX的操作系统,公开源代码,内核小,硬件要求低,稳定可靠。程序A计算

输出

输入

输出

······程序B单道作业环境中程序顺序执行示意图1、进程概念的引入输入计算

3.3进程与处理机管理3.3.1进程的概念及定义输入计算•••••••计算计算打印••••••计算打印A(优先级高)CA1A2B1B2B3C1C2多道程序并行运行示意图A1输入B1

C1打印OSB2OSB3打印

A2CPU

OSCPUC2CPUCPUCPUCPUCPUB

进程是一种活动,它由一个动作系列组成,每个动作是在某个数据集上执行一段程序,整个活动的结果是提供一种系统或用户功能。调C调CBAC3、进程与程序的区别(1)进程是动态概念,程序是静止概念。(2)进程的存在是暂时的,程序的存在是永久的。(3)一个程序对应多个进程,而一个进程仅对应一个程序。2、进程的定义(4)进程在结构上是由程序、数据集、进程控制块(PCB)三部分组成的。PCB程序数据(4)异步性4、进程的特征(1)动态性程序运行时,始终处于停停走走的状态。(2)并发性时间上重叠;内存中的程序交替占用CPU(3)独立性进程一个一个占用CPU进程按各自独立的、不可预知的速度向前推进。

1、进程的状态及其变化就绪阻塞运行等待事件事件发生时间片完进程调度3.3.2进程状态及进程控制块

2、进程控制块PCB程序数据进程名进程起始地址现行状态CPU状态保护区进程专用资源信息………

3、进程控制块(PCB)的组织形式就绪队列首地址阻塞队列首地址PCB1PCB2PCB3PCB4PCB5PCB6

1、进程控制(管理)任务(1)

进程的建立(2)

进程的撤消(3)

进程的阻塞(4)

进程的唤醒3.3.3进程控制2、进程控制原语(1)创建原语(2)挂起(阻塞)原语(3)唤醒原语(4)撤消原语3.3.4进程调度

1、进程调度任务2、进程调度方式(1)

剥夺方式(2)非剥夺方式

3、调度算法

(1)优先级调度策略

A、静态优先数法B、动态优先数法

(2)

时间片轮转法(3)多重时间片轮转法

如图解所示一级轮转队列时间片0.02秒二级轮转队列时间片0.2秒三级轮转队列时间片2秒进程1进程2进程3进程2进程3进程4进程5进程2进程3进程5结束结束程序XIO260msCPU20msIO130msCPU10msIO140msCPU20msIO120ms程序YIO130msCPU40msIO270msCPU30msIO230ms程序ZCPU40msIO160msCPU30msIO270ms时间(ms)CPUIO5010015020025030016017018019011012013030608090220210230240CPUIO1IO250100150200250160170180110120130220210230240ZYXYZXYZXZXXZXYXYYZIO270msCPU30msIO160msCPU40ms程序ZIO230msCPU30msIO270msCPU40msIO130ms程序YIO120msCPU20msIO140msCPU10msIO130msCPU20msIO260ms程序X时间(ms)CPUIO5010015020025030016017018019011012013030608090220210230240CPUIO1IO250100150200250160170180110120130220210230240YXZIO270msCPU30msIO160msCPU40ms程序ZIO230msCPU30msIO270msCPU40msIO130ms程序YIO120msCPU20msIO140msCPU10msIO130msCPU20msIO260ms程序X时间(ms)CPUIO5010015020025030016017018019011012013030608090220210230240CPUIO1IO250100150200250160170180110120130220210230240ZYXZ剩10msYIO270msCPU30msIO160msCPU40ms程序ZIO230msCPU30msIO270msCPU40msIO130ms程序YIO120msCPU20msIO140msCPU10msIO130msCPU20msIO260ms程序X时间(ms)CPUIO5010015020025030016017018019011012013030608090220210230240CPUIO1IO250100150200250160170180110120130220210230240ZYXYXZ剩10ms,Y剩10msIO270msCPU30msIO160msCPU40ms程序ZIO230msCPU30msIO270msCPU40msIO130ms程序YIO120msCPU20msIO140msCPU10msIO130msCPU20msIO260ms程序X时间(ms)CPUIO5010015020025030016017018019011012013030608090220210230240CPUIO1IO250100150200250160170180110120130220210230240ZYXYXYXZ剩10msIO270msCPU30msIO160msCPU40ms程序ZIO230msCPU30msIO270msCPU40msIO130ms程序YIO120msCPU20msIO140msCPU10msIO130msCPU20msIO260ms程序X时间(ms)CPUIO5010015020025030016017018019011012013030608090220210230240CPUIO1IO250100150200250160170180110120130220210230240ZYXYZXYZZXYXYYX被IO1堵塞IO270msCPU30msIO160msCPU40ms程序ZIO230msCPU30msIO270msCPU40msIO130ms程序YIO120msCPU20msIO140msCPU10msIO130msCPU20msIO260ms程序X时间(ms)CPUIO5010015020025030016017018019011012013030608090220210230240CPUIO1IO250100150200250160170180110120130220210230240ZYXYZXYXZXYXYYZIO270msCPU30msIO160msCPU40ms程序ZIO230msCPU30msIO270msCPU40msIO130ms程序YIO120msCPU20msIO140msCPU10msIO130msCPU20msIO260ms程序X时间(ms)CPUIO5010015020025030016017018019011012013030608090220210230240CPUIO1IO250100150200250160170180110120130220210230240ZYXYZXYZXXZXYXYYz剩10msIO270msCPU30msIO160msCPU40ms程序ZIO230msCPU30msIO270msCPU40msIO130ms程序YIO120msCPU20msIO140msCPU10msIO130msCPU20msIO260ms程序X时间(ms)CPUIO5010015020025030016017018019011012013030608090220210230240CPUIO1IO250100150200250160170180110120130220210230240ZYXYZXYZXZXXZXYXYYZ上例分析计算结果

最早结束是Y,最后结束是Z;X,Y,Z三程序到结束所用时间分别为250ms、220ms、310ms;CPU的利用率为:

单道处理时CPU的利用率:多道处理时CPU的利用率:多道程序设计的优点:提高了系统的吞吐量;提高了CPU的利用率;提高了设备的利用率。上例分析计算结果

最早结束是Y,最后结束是Z;X,Y,Z三程序到结束所用时间分别为250ms、220ms、310ms;CPU的利用率为:

1、同步与互斥的概念

3.3.5进程的同步与互斥同步:请看两个例子互斥:请看两个例子临界资源:一次仅允许一个进程使用的资源。临界区:进程中使用临界资源的那段程序。例1电子邮件信箱发送进程A接收进程B当信箱满时,发送进程只有等待接收进程取走信件,当信箱空时,接收进程必须等待发送进程发送信件。12n……例2:X=fun1(y)*fun2(Z)计算fun1(y)进程p2算完fun2(Z)?取用P2计算结果计算fun2(Z)设置计算完成标志终止YN进程P1进程P2••••两个协同工作进程的同步例1:公共地段交通十字路口的控制:公共地段互斥例2X=COUNTX=X+1COUNT=XY=COUNTY=Y+1COUNT=Y临界区临界区进程A进程B••••••••••••••••进程A与B对公共变量COUNT进行互斥操作,最终实现COUNT增加2。若A与B接下面顺序推进,结果COUNT只实现增加1。A:X=COUNT;A:X=X+1;COUNT=X;B:Y=COUNT;B:Y=Y+1;COUNT=Y;1、进程的同步与互斥的实现方法利用P原语和V原语对信号量进行操作可实现进程的同步与互斥。根据信号量的用途不同,信号量分为公用信号量和私用信号量两类:1.公用信号量:每个进程均可对他施加P操作和V操作的信号量。初值为1。通常作为互斥信号量。2.私用信号量:允许一个进程对他施加P操作,其它进程只能对他进行V操作的信号量。初值为0或某个正整数n。通常作为同步信号量。P原语操作过程:

P操作记为P(S),其中S为一信号量,其执行顺序完成以下两个动作:(1)

S=S1,表示申请使用一个资源;(2)

若S0,表示系统中有资源可用,现进程可继续执行。(3)

若S0,表示系统中没有可用资源,则置该进程阻塞状态,到S信号量的队列中去等待,直到其他进程在S上执行V操作释放它为止。

在信号量数据结构之上定义了两个原语,他们是P原语和V原语。

V操作记为V(S),其中S为一信号量,其执行顺序完成以下两个动作:(1)

S=S+1,表示释放一个资源;(2)

若S0,表示系统中没有等待该资源的进程,现进程可继续执行。(3)若S0,表示系统中有等待该资源的进程,则唤醒S信号量队列中的第一个进程,使其插入到就绪队列,继续执行现进程。

V原语操作过程:同步条件••••••进程A进程BS=0C:P(S)V(S)同步点(1)实现进程同步3、P-V操作的应用查询进程S把查询结果写到缓冲区V(S1)P(S2)打印进程PP(S1)把缓冲区内容打印输出V(S2)S1:表示缓冲区中是否已有可供打印的查询结果,初值为S1=0S2:表示缓冲区中的查询结果是否已被打印进程取走,初值为S1=0••••••••••••进程A的临界区进程B的临界区P(S)P(S)进程A进程B初值S=1V(S)V(S)(2)实现进程互斥Y=COUNTY=Y+1COUNT=Y临界区V(S)P(S)进程BX=COUNTX=X+1COUNT=X临界区V(S)P(S)进程AS=1(3)实现进程同步与互斥——生产者与消费者问题

生产者与消费者问题是最著名的进程同步与互斥问题。他描述了一组生产者向一组消费者提供消息,他们共享一个有界缓冲池,生产者向其中投放消息,消费者从中取得消息。生产者与消费者问题是许多相互合作进程的一种抽象。例如,在输入时,输入进程是生产者,计算进程是消费者。在输出时,计算进程是生产者,打印进程是消费者。123………NP1P2P3PmC1C2C3Cn有界缓冲池……生产者消费者同步问题:1.只要缓冲池未满,生产者便可将消息送入缓冲池,否则等待。2.只要缓冲池未空,消费者便可从缓冲池中取走一个消息,否则等待。互斥问题:1.生产者与生产者之间、消费者与消费者之间互斥访问缓冲池。2.生产者和消费者之间互斥访问缓冲池。生产者与消费者之间的同步与互斥问题

公用信号量S:初值为1,表示没有进程进入临界区。私用信号量S0:初值为0,表示产品数目。私用信号量Sn:初值为n,表示缓冲区中空位置个数。

为实现生产者与消费者的同步与互斥,设两个私用信号量和一个公用信号量:同步互斥算法:生产者进程P1P(Sn)P(S)缓冲区产品V(S0)V(S)消费者进程C1P(S0)P(S)取产品V(Sn)V(S)公用信号量S=1,互斥信号量。私用信号量S0=0,表示产品数目。私用信号量Sn=n,表示缓冲区中空位置个数采用时间片轮转法:Sn=nt=0S0=0S=1同步互斥算法:生产者进程P1P(Sn)P(S)缓冲区产品V(S0)V(S)消费者进程C1P(S0)P(S)取产品V(Sn)V(S)公用信号量S=1,互斥信号量。私用信号量S0=0,表示产品数目。私用信号量Sn=n,表示缓冲区中空位置个数采用时间片轮转法:Sn=n-1t=1S0=0S=1同步互斥算法:生产者进程P1P(Sn)P(S)缓冲区产品V(S0)V(S)消费者进程C1P(S0)P(S)取产品V(Sn)V(S)公用信号量S=1,互斥信号量。私用信号量S0=0,表示产品数目。私用信号量Sn=n,表示缓冲区中空位置个数采用时间片轮转法:Sn=n-1t=2S0=-1S=1阻塞同步互斥算法:生产者进程P1P(Sn)P(S)缓冲区产品V(S0)V(S)消费者进程C1P(S0)P(S)取产品V(Sn)V(S)公用信号量S=1,互斥信号量。私用信号量S0=0,表示产品数目。私用信号量Sn=n,表示缓冲区中空位置个数采用时间片轮转法:Sn=n-1t=3S0=-1S=0阻塞同步互斥算法:生产者进程P1P(Sn)P(S)缓冲区产品V(S0)V(S)消费者进程C1P(S0)P(S)取产品V(Sn)V(S)公用信号量S=1,互斥信号量。私用信号量S0=0,表示产品数目。私用信号量Sn=n,表示缓冲区中空位置个数采用时间片轮转法:Sn=n-1t=4S0=0S=0阻塞同步互斥算法:生产者进程P1P(Sn)P(S)缓冲区产品V(S0)V(S)消费者进程C1P(S0)P(S)取产品V(Sn)V(S)公用信号量S=1,互斥信号量。私用信号量S0=0,表示产品数目。私用信号量Sn=n,表示缓冲区中空位置个数采用时间片轮转法:Sn=n-1t=5S0=0S=-1阻塞同步互斥算法:生产者进程P1P(Sn)P(S)缓冲区产品V(S0)V(S)消费者进程C1P(S0)

温馨提示

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

评论

0/150

提交评论