




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1ch操作系统的概观上课内容2/144本章学习目标掌握什么是操作系统掌握操作系统的目标和作用了解操作系统的发展过程,掌握不同种类操作系统的优缺点理解操作系统的基本特性掌握操作系统的主要功能了解常用的操作系统结构设计方法第2页/共144页第1页/共144页3/1441.1操作系统概观1.1.1操作系统的定义和目标1.1.2操作系统的作用和功能1.1.3操作系统的主要特性第3页/共144页第2页/共144页4/144操作系统的定义目标在计算机系统中的位置作用功能特性
主要内容第4页/共144页第3页/共144页5/144操作系统名称的演变核心程序(Kernel)5监控(督)程序(系统)(Monitor)1执行系统(程序)(ExecutiveSystem(program))2控制系统(程序)(ControlSystemprogram))3管理程序(Supervisor,SupervisorSystem)4操作系统(OperatingSystem)6第5页/共144页第4页/共144页6/1441.1.1操作系统的定义和目标操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。其他观点:操作系统:是一组控制和管理计算机硬件和软件资源,合理对各类作业进行调度,以及方便用户使用的程序集合它可被看作是用户和计算机硬件之间的一种接口,是现代计算机系统不可分割的重要组成部分。第6页/共144页第5页/共144页7/144操作系统在计算机中的位置
计算机系统硬件:包括中央处理器、存储器、输入设备、输出设备等基本部分软件:包括系统软件和应用软件,操作系统是最重要的系统软件第7页/共144页第6页/共144页8/144用户应用程序序程其他系统软件
与硬件的关系:
控制CPU的工作
访问存储器
设备驱动、中断处理。作系操统
裸机与用户及应用程序的关系:
提供方便的用户界面、
提供优质的服务。1.OS与各层的关系
操作系统在计算机中的位置第8页/共144页第7页/共144页9/144下层硬件环境:
提供OS运行基础;
限制了OS的功能实现2.各层对操作系统的制约上层软件:
对OS提出要求良好的用户界面
裸机作系操统其他系统软件用户应用程序序程操作系统在计算机中的位置第9页/共144页第8页/共144页10/144计算机硬件操作系统其他系统软件应用程序与开发者的关系操作系统在计算机中的位置其他用户操作系统设计者系统软件设计者应用程序设计者计算机硬件操作系统其他系统软件应用程序计算机硬件操作系统其他系统软件其他用户应用程序计算机硬件操作系统其他系统软件第10页/共144页第9页/共144页11/144操作系统的主要目标方便用户使用扩大机器功能管理系统资源提高系统效率构筑开放环境第11页/共144页第10页/共144页12/144
1.1.2操作系统的作用与功能
操作系统的作用
OS作为用户与计算机硬件之间的接口
OS作为虚拟计算机
OS作为计算机系统的资源管理者第12页/共144页第11页/共144页13/144操作系统的作用OS作为用户与计算机硬件之间的接口OS处于用户和计算机硬件系统之间,用户通过OS来使用计算机系统用户可以通过命令方式、系统调用方式和图形、窗口方式使用计算机用户应用程序系统调用命令图标、窗口操作系统计算机硬件
1.1.2操作系统的作用与功能第13页/共144页第12页/共144页14/144操作系统的作用OS作为计算机系统的资源管理者硬件资源:处理器、存储器、I/O设备信息资源:程序和数据
1.1.2操作系统的作用与功能第14页/共144页第13页/共144页15/144操作系统的作用OS实现了对计算机资源的抽象(虚拟机)
当计算机上覆盖了操作系统后,便为用户提供了一台功能显著增强,使用更加方便,效率明显提高的虚拟计算机用户物理接口硬件用户I/O软件物理接口硬件I/O操作命令(Read,Write)虚机器用户需了解物理接口的实现细节;利用机器指令进行编程用户无需了解物理接口的实现细节;在窗口环境下使用计算机第15页/共144页第14页/共144页16/144操作系统的作用(续)例1,多任务操作系统的进程管理功能模块通过多道程序设计技术将一台物理处理机虚拟成了若干台逻辑处理机,从而可以在单处理机系统中同时运行多道程序例2,操作系统的虚拟存储管理功能模块通过进程在内外存之间的对换、部分装入即可运行等操作,虚构了一个比实际内存空间大的多的编程空间,从而能够运行比内存空间大的程序,能够并发运行更多道的程序例3,操作系统的I/O设备管理功能模块通过虚拟操作屏蔽了显示器、打印机、扫描仪、键盘和鼠标等设备的物理细节,使得用户可以使用统一的I/O命令、统一的界面来对不同的外部设备进行数据的输入输出操作第16页/共144页第15页/共144页17/144例4,操作系统的文件管理功能模块将磁盘抽象成一组命名的文件,用户通过文件操作,按文件名来存取信息,不必涉及诸如数据物理地址、磁盘记录命令、移动磁头臂、搜索物理块及设备驱动等物理细节,便于使用、效率又高例5,操作系统的窗口管理软件把一台物理屏幕改造(虚拟)成多窗口,每个应用可以在各自的窗口中操作,用户可以在窗口环境中方便地与计算机交互操作系统的作用(续)第17页/共144页第16页/共144页18/144操作系统的功能处理机管理存储管理设备管理文件管理网络与通信管理用户接口第18页/共144页第17页/共144页19/144处理机管理
处理器管理具体包括:
进程控制和管理进程同步和互斥进程通信和死锁线程控制和管理处理器调度,分作业调度,中程调度,低级调度等第19页/共144页第18页/共144页20/144
存储管理
存储管理具有四大功能:
存储分配
存储共享
地址转换(逻辑地址物理地址)与存储保护
存储扩充第20页/共144页第19页/共144页21/144设备管理
设备管理具有以下功能:
设备分配
缓冲管理
设备驱动
设备独立性
实现虚拟设备第21页/共144页第20页/共144页22/144文件管理
文件管理要完成以下任务:
提供文件逻辑组织方法
提供文件物理组织方法
提供文件的存取方法
提供文件的使用方法
实现文件的目录管理
实现文件的存取控制
实现文件的存储空间管理第22页/共144页第21页/共144页23/144
网络与通信管理网络操作系统应具有以下功能:网上资源管理功能数据通信管理功能网络管理功能,包括:故障管理、安全管理、性能管理、记帐管理和配置管理。第23页/共144页第22页/共144页24/144#include<stdio.h>intmain(){inta,b;scanf(“%d%d”,&a,&b);printf(“a+b=%d\n”,a+b);return0;}示例第24页/共144页第23页/共144页25/144用户告诉操作系统执行该程序该程序在运行前一般在外存上存放,操作系统通过文件目录表从外存找到该程序该程序由管理信息和代码数据组成,系统根据管理信息找出代码和数据的地址内存管理模块根据程序的大小为代码和变量分配内存,文件系统定位并读写磁盘块将该程序读入内存系统创建进程以执行该程序,进程由进程控制块和代码数据组成,进程控制块是系统用于管理进程的管理信息进程开始执行,scanf(“%d%d”,&a,&b);涉及到硬件输入设备(如键盘)的操作,设备处理模块投入工作,使用户输入数据,用户无须关心设备端口状态以及机械操作细节示例(续)第25页/共144页第24页/共144页26/144操作系统以系统功能调用的形式在内部提供了完成从输入设备输入数据的程序模块,该模块负责所有涉及硬件机械电子特性的处理printf(“a+b=%d\n”,a+b);涉及到CPU的计算处理功能和输出设备(如显示器)的操作对于输出设备,系统同样提供了相关的系统调用处理模块来控制输出设备底层机械电子方面的操作细节来完成数据的输出,用户同样不必关心底层细节在多任务系统中,需要有专门的处理机调度模块负责分配处理机和保护处理机现场,在进程间完成进程切换的工作对于用户来说,处理机的调度及切换可能只是通过鼠标的点击操作或者在程序中简单地安排几条系统功能调用即可完成示例(续)第26页/共144页第25页/共144页27/144return0;结束用户进程的运行,将控制权返回给操作系统,操作系统回收用户进程所占用的内存等软硬件资源,进行结束处理,用户同样无须关心这些善后事宜综上所述,操作系统在执行程序的过程中向用户提供了文件存取服务、内存分配服务、处理机调度服务、设备分配和处理服务等功能示例(续)第27页/共144页第26页/共144页28/1441.1.3操作系统的主要特性操作系统主要有四个基本特征:
并发性共享性异步性虚拟性第28页/共144页第27页/共144页29/144并发性(Concurrence)指两个或两个以上的事件或活动在同一时间间隔内发生并行性(parallelism)指两个或两个以上事件或活动在同一时刻发生并发性第29页/共144页第28页/共144页30/144并发性(续)操作系统的并发性指计算机系统中同时存在若干个运行着的程序(包括操作系统程序和用户程序),这些程序交替、穿插地执行并发的实质是一个物理CPU(也可以多个物理CPU)在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率第30页/共144页第29页/共144页31/144在多处理器系统中,程序的并发性不仅体现在宏观上,而且体现在微观上,这称为并行在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行并行的事件或活动一定是并发的,并发的事件或活动未必是并行的,并行性是并发性的特例,并发性是并行性的扩展并发技术的关键在于如何对系统中多个运行程序(进程)进行切换并发性(续)第31页/共144页第30页/共144页32/144共享指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程共同使用,而不是被其中某一个程序所独占共享的原因有时来源于经济,有时来源于逻辑上的必须共享性第32页/共144页第31页/共144页33/144资源共享可分成两种方式:互斥访问:系统中的某些资源同一时间内只允许一个进程访问临界资源:同一时间内只允许一个程序访问的资源称为临界资源许多物理设备,如打印机、磁带机、卡片机等某些数据和表格都是互斥共享的资源同时访问:允许同一时间内多个进程对某些资源进行访问典型的可供多个进程同时访问的资源是磁盘可重入程序也可被同时访问共享性(续)第33页/共144页第32页/共144页34/144并发和共享性的关系并发性和共享性是操作系统两个最基本的特性资源的共享是因为程序的并发引起的,不允许并发就不存在资源共享问题若系统不能对资源共享实施有效管理,必然会影响到程序的并发执行,甚至程序无法并发执行第34页/共144页第33页/共144页35/144异步性异步性即不确定性、随机性操作系统中的异步性处处可见:一个进程在CPU上运行一段时间后,由于等待资源满足或事件发生,被暂停执行,CPU转让给另一个进程执行系统中的进程何时执行?何时暂停?怎样的速度向前推进?进程总共要多少时间执行才能完成?这些都是不可预知的,或者说该进程是以异步方式运行的第35页/共144页第34页/共144页36/144虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。
虚拟性第36页/共144页第35页/共144页37/144例1.通过多道程序和分时使用CPU技术,物理上的一个CPU变成逻辑上的多个CPU例2.通过Spooling技术可把物理上的一台独占设备变成逻辑上的多台虚拟设备例3.通过窗口技术可把物理上的一个屏幕变成逻辑上的多个虚拟屏幕例4.IBM的VM技术把物理上的一台计算机变成逻辑上的多台计算机例5.虚拟存储器把物理上的多个存储器(主存和辅存)变成逻辑上的一个(虚存)虚拟性(续)第37页/共144页第36页/共144页38/1441.1操作系统的目标和作用1.2操作系统的形成和发展1.3操作系统提供的服务和用户接口1.4操作系统的结构第一章操作系统概论第38页/共144页第37页/共144页39/144操作系统的发展过程无操作系统的计算机系统单道批处理系统多道批处理系统分时系统实时系统操作系统的发展随着计算机硬件、应用软件的发展而发展。发展的宗旨并未改变,依然是充分利用硬件,提供更好的服务。第39页/共144页第38页/共144页40/144操作系统的发展过程操作系统形成实时系统多道程序系统多道分时批处系统理系统手工操作阶段
单道批处理
联机批处理
脱机批处理PC机OS网络OS分布式OS多处理OS嵌入式OS联机批处理脱机批处理单道批处理多道程序系统多道分时批处系统理系统实时系统操作系统形成第40页/共144页第39页/共144页41/144第一台计算机ENIAC的运算速度为每秒5000次,操作者必须用线路连接的方法手工编排程序然后连接电路。无操作系统的计算机系统第41页/共144页第40页/共144页42/144程序通过插板或卡片装入无操作系统的计算机系统第42页/共144页第41页/共144页43/144人工控制和使用计算机的过程大致如下:(1)人工把源程序用穿孔机穿制在卡片或纸带上;(与现在对比)(2)将准备好的汇编解释程序或编译系统装入计算机;(3)汇编程序或编译系统读入人工装在输入机上的穿孔卡片或穿孔带上的源程序;(4)执行汇编过程或编译过程,产生目标程序,并输出到目标卡片或纸带;(5)通过引导程序把装在输入机上的目标程序读入计算机;(6)启动目标程序执行,从输入机上读入人工装好的数据卡片或数据带上的数据;(7)产生计算结果,执行结果从打印机上或卡片机上输出。无操作系统的计算机系统第43页/共144页第42页/共144页44/1441.缺点:有人工干预用户独占全机CPU等待人工操作2.问题:人—
机矛盾CPU—I/O速度不匹配的矛盾
机器作业在机器上人工操操作时间与机器速度计算所需时间作时间有效运行时间之比
1万次/秒1小时3分钟1:20
60万次/秒1分钟3分钟3:1人工操作阶段的缺点第44页/共144页第43页/共144页45/144手工操作阶段主机速度人—机矛盾管理程序阶段---单道批处理系统
单道批处理
联机批处理
脱机批处理联机批处理脱机批处理单道批处理第45页/共144页第44页/共144页46/144
20世纪50年代末出现了脱机输入/输出(Off-LineI/O)技术。该技术是事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机(辅机)的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存。
脱机输入/输出方式磁带输出设备外围机主机磁带磁带磁带外围机输入设备第46页/共144页第45页/共144页47/144
当CPU需要输出时,可由CPU直接高速地把数据从内存送到磁带上,然后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。脱机输入/输出方式无操作系统的计算机系统输出设备主机磁带磁带外围机第47页/共144页第46页/共144页48/144优点:(1)减少了CPU的空闲时间。装带(卡)、卸带(卡)以及将数据从低速I/O设备送到高速磁带(或盘)上,都是在脱机情况下进行的,并不占用主机时间,从而有效地减少了CPU的空闲时间,缓和了人机矛盾。(2)提高了I/O速度。当CPU在运行中需要数据时,是直接从高速的磁带或磁盘上将数据调入内存的,不再是从低速I/O设备上输入,极大地提高了I/O速度,从而缓和了CPU和I/O设备速度不匹配的矛盾,进一步减少了CPU的空闲时间。脱机输入/输出方式第48页/共144页第47页/共144页49/144工作方式:把一批作业以脱机方式输入到磁带上,并在系统中配上管理程序(Monitor),在它的控制下使这批作业能一个接一个连续处理。工作过程:由管理程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完成时,又把控制权交还给管理程序,再由管理程序把磁带(盘)上的第二个作业调入内存。计算机系统这样一个作业一个作业地进行处理,直至磁带(盘)上的所有作业全部完成。联机输入/输出方式第49页/共144页第48页/共144页50/144还有下一个作业?把下一个作业的源程序转换为目标程序源程序有错吗?装配目标程序运行目标程序开始是是否否停止联机输入/输出方式第50页/共144页第49页/共144页51/144自动性作业能够自动地逐个依次运行,无须人工干预顺序性各道作业的完成顺序与进入内存的顺序相同单道性内存中仅有一道程序运行联机输入/输出方式第51页/共144页第50页/共144页52/144第52页/共144页第51页/共144页53/144单道程序运行情况用户程序监督程序I/O操作I/O中断请求t1结束中断I/O完成启动I/OI/O中断请求结束中断I/O完成启动I/Ot2t3t4t5t6t7t8从红色的实线来看CPU是断续性运作t2~t3、t6~t7时间间隔内CPU空闲第53页/共144页第52页/共144页54/144多道批处理系统20世纪60年代中期,引入了多道程序设计技术,由此形成了多道批处理系统(MultiprogrammedBatchProcessingSystem)。用户所提交的作业都先存放在外存上并排成一个队列,作业调度程序按一定算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。引入多道程序设计技术可以带来如下好处:(1)提高CPU利用率。(2)可提高内存和I/O设备的利用率(3)增加系统吞吐量。第54页/共144页第53页/共144页55/144多道程序运行情况程序A程序C程序B程序D调度程序AI/O请求AI/O完成A再次被调度BI/O请求CI/O请求DI/O请求程序BI/O完成CI/O完成C再次被调度A完成从红色的实线来看CPU是持续性运作第55页/共144页第54页/共144页56/144多道程序设计原理【多道程序设计原理】:在计算机内存中同时存放几道相互独立的程序,它们在管理程序的控制下相互穿插地运行,共享CPU和外设等资源。采用多道程序设计技术的批处理系统称为多道批处理系统。第56页/共144页第55页/共144页57/144多道批处理系统的优缺点资源利用率高内存中的多道程序可以共享资源,使得资源充分利用系统吞吐量大
CPU及其它资源保持忙碌,切换较少,系统开销小,使得系统在单位时间内所完成的总工作量较大平均周转时间长
由于作业需要排队,依次处理,周转时间较长无交互能力
用户一旦将作业提交给系统,将不能与自己的作业交互,修改和调试程序不方便(一旦提交,作业必须执行结束)第57页/共144页第56页/共144页58/144多道批处理系统的特征多道性在内存中可驻留多道程序无序性多个作业完成的先后顺序与它们进入内存的顺序之间并无严格的对应关系调度性作业从提交给系统开始直至完成需要经历作业调度和进程调度第58页/共144页第57页/共144页59/144多道批处理系统需要解决的问题处理机管理问题在多道程序之间如何共享处理机,使CPU既能满足各程序运行的需要,又能提高处理机的利用率。内存管理问题多个作业完成的先后顺序与它们进入内存的顺序之间并无严格的对应关系I/O设备管理问题有多种类型的I/O设备供多道程序共享,如何分配设备?如何既方便用户使用又能提高设备利用率?文件管理问题如何组织这些以文件形式存在的数据和程序?作业管理问题有的作业是I/O型,有些是计算型,有的要求系统能及时响应。如何组织这些作业?第59页/共144页第58页/共144页60/144单道和多道批处理的比较
多道程序系统和多处理系统(Multi-ProcessingSystem)的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。
单道多道内存使用每次一个作业每次多个作业(充分利用内存)作业次序顺序,先进先出无确定次序第60页/共144页第59页/共144页61/144多道批处理系统的资源利用多道批处理系统的资源利用效率特征是基于各作业对系统资源的需求差异得到的。例如:有3个作业A、B、C,A是计算作业、B是检索磁带上数据的作业,C是打印作业。3个作业单道运行时间分别为5分钟、15分钟和10分钟。假设可在15分钟内并行完成这3个作业。则各资源的利用率分别为:
CPU打印机磁带单道17%33%50%多道33%66%100%单道和多道批处理的比较5/(5+15+10)5/15第61页/共144页第60页/共144页62/144练习题在有一台CPU和两台输入/输出设备(磁盘机和磁带机)的多道程序系统中,同时投入运行2个程序A和B。这2个程序对CPU和磁盘和磁带的使用顺序和使用时间为:程序A:磁带(30S)、CPU(10S)、磁盘(30S)、
CPU(10S)、磁带(20S)程序B:磁盘(20S)、CPU(30S)、磁带(40S)假定:CPU、磁盘和磁带都能并行工作试问:在单道和多道两种方式下,
1、程序A和B从投入运行到运行完成所用的时间分别是多少?
2、CPU、磁盘和磁带的利用率是多少?第62页/共144页第61页/共144页63/144A、B同时运行的情况程序A程序BCPU磁带磁盘20s30s50sB60sA90sA100s120s程序A:磁带(30S)、CPU(10S)、磁盘(30S)、CPU(10S)、磁带(20S)程序B:磁盘(20S)、CPU(30S)、磁带(40S)第63页/共144页第62页/共144页64/144资源利用情况单道程序两道程序CPU50/190=26%50/120=42%磁带90/190=47%90/120=75%磁盘50/190=26%50/120=42%第64页/共144页第63页/共144页65/144多道程序设计的道数问题多道程序设计的道数多少不是任意的并不是道数越多,效率就越高内存储器的容量和用户的响应时间等因素也影响多道程序道数的多少第65页/共144页第64页/共144页66/144所有程序等待IO的时间即为CPU的空闲时间多道程序设计的道数问题(续)假如一道程序等待I/O操作的时间占其运行时间的比例为p,当内存中有n道程序时,所有程序都等待I/O的概率是pn,那么,
CPU利用率=1-pnn称多道程序的道数或度数,可见CPU的利用率是n的函数第66页/共144页第65页/共144页67/144多道程序设计的道数问题(续)
若计算机有1MB内存,操作系统占200KB,其余空间允许4道用户程序共享,每个占用200KB,如果进程平均花费80%的时间等待I/O操作。则(忽略操作系统开销时):
CPU利用率=1-(0.8)4=59%
当增加1MB内存后,多道程序可从4道增加到9道,因而,CPU的利用率=1-(0.8)9=87%,第二个1MB内存提高了28%的系统吞吐量增加第三个1MB内存后,多道程序可从9道增加到14道,只将CPU的利用率从87%提高到96%,吞吐量仅提高了10%第67页/共144页第66页/共144页68/144操作系统的形成(续)
随着磁盘的问世,相继出现了多道批处理操作系统、分时操作系统和实时操作系统,这标志着操作系统正式形成。操作系统资源管理水平和操作自动化程度进一步提高,表现在:实现了计算机操作过程自动化资源管理水平有了提高
提供虚存管理功能支持分时操作文件管理功能有改进多道程序设计趋于完善第68页/共144页第67页/共144页69/1441.2.4操作系统的发展与分类操作系统的发展动力操作系统的分类第69页/共144页第68页/共144页70/144操作系统的发展动力操作系统的发展动力主要有以下五个方面:器件快速更新换代计算机体系结构不断发展内存管理支撑硬件由分页、分段机制代替了界寄存器图形终端代替字符终端中断、通道设施的引入单处理机改进为多处理机系统计算机网络的出现和发展信息家电的发展等都是计算机体系结构的发展提高计算机系统资源利用率的需要
让用户使用计算机越来越方便的需要批处理系统发展为分时系统字符用户界面发展为图形用户界面满足用户新要求,提供给用户新服务第70页/共144页第69页/共144页71/144操作系统的分类批处理系统分时操作系统实时操作系统微机操作系统并行操作系统网络操作系统分布式操作系统嵌入式操作系统第71页/共144页第70页/共144页72/144按照功能、特点和使用方式可以将操作系统分为三种基本类型:批处理操作系统分时操作系统实时操作系统
基本类型操作系统第72页/共144页第71页/共144页73/144批处理操作系统批处理系统的定义批处理操作系统(BatchOperatingSystem):用户把要计算的应用问题编成程序,连同数据和作业说明书一起交给操作员,操作员集中一批作业,输入到计算机中。然后,由操作系统来调度和控制作业的执行。这种批量化处理作业方式的操作系统称为批处理操作系统批处理系统的主要特征(优缺点)用户脱机工作成批处理作业单/多个程序运行第73页/共144页第72页/共144页74/144分时操作系统
第74页/共144页第73页/共144页75/144主要特性同时性:若干个终端用户同时联机使用计算机独立性:每个用户感到自己好象独占一台计算机及时性:用户发出的命令能够很快被主机响应交互性:人机交互,联机工作,方便调试、修改程序分时操作系统(续)第75页/共144页第74页/共144页76/144时间片长度的选取应根据机器速度用户的多少响应的要求系统的开销时间片设得太短会导致过多的进程切换,减少实际运行用户程序的时间比,从而降低CPU的利用率时间片设得太长会使小的交互型请求的响应时间变长分时操作系统(续)第76页/共144页第75页/共144页77/144定义
实时操作系统(RealTimeOperatingSystem)指当外界事件或数据产生时,能接收并以足够快的速度予以处理,处理的结果又能在规定时间内来控制监控的生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统实时操作系统第77页/共144页第76页/共144页78/144实时操作系统(续)三种典型的实时系统
过程控制系统如生产过程控制系统、导弹制导系统、飞机自动驾驶系统、火炮自动控制系统信息查询系统计算机同时从成百上千的终端接受服务请求和提问,并在短时间内作出回答和响应。如情报检索系统事务处理系统计算机不仅要对终端用户及时作出响应,还要频繁更新系统中的文件或数据库。如银行业务系统第78页/共144页第77页/共144页79/144单用户单任务操作系统类CP/MCDOS(Cromemco磁盘操作系统)MDOS(Motorola磁盘操作系统)早期的MS-DOS(Microsoft磁盘操作系统)单用户多任务和分时操作系统类:MP/M、XENIX、后期MS-DOS新一代微机操作系统具有以下功能:GUI、多用户和多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用编程支持API如WindowsOS2MACOSLinux微机操作系统第79页/共144页第78页/共144页80/144并行操作系统改进计算机系统结构,增加同一时间间隔内的操作数量,进一步提高计算机的处理能力已经开发出的并行计算机有阵列处理机流水线处理机多处理机发挥并行计算机需要有并行算法、并行语言等软件的配合,更需要并行操作系统作为基础和保证第80页/共144页第79页/共144页81/144网络操作系统定义:为了使网络中的计算机能方便地传送信息和共享网络资源而加到网络中的计算机上的操作系统称网络操作系统(NetworkOperatingSystem)第81页/共144页第80页/共144页82/144网络操作系统(续)三大主流网络操作系统UNIX:UNIX是唯一能跨多种平台的操作系统Netware:Netware主要面向微机WindowsNT:WindowsNT工作在微机和工作站上支持客户机/服务器(C/S)结构的微机网络操作系统:NetwareUNIXwareWindowsNTLANManagerLANServer第82页/共144页第81页/共144页83/144第83页/共144页第82页/共144页84/144分布式计算机系统由多台分散的计算机经互连网络连接而成,满足条件:系统中任意两台计算机可以通过系统的安全通信机制来交换信息;系统中的资源为所有用户共享,用户只要考虑系统中是否有所需资源,而无需考虑资源在哪台计算机上在分布式计算机系统中,管理和控制计算机的任务分散到多台计算机上,由多台计算机协同完成用于管理分布式计算机系统的操作系统称为分布式操作系统分布式操作系统第84页/共144页第83页/共144页85/144网络操作系统与分布式操作系统在概念上的主要区别:构架:网络操作系统可以构架于不同的操作系统之上,也就是说它可以在不同的本机操作系统上,通过网络协议实现网络资源的统一配置,在大范围内构成网络操作系统分布式比较强调单一性,它是由一种操作系统构架的对用户透明性:在网络操作系统中并不要求对网络资源进行透明的访问,即需要指明资源位置与类型,对本地资源和异地资源访问区别对待在分布式操作系统中,网络的概念在应用层被淡化了。所有资源(本地的资源和异地的资源)都用同一方式管理与访问,用户不必关心资源在哪里,或者资源是怎样存储的分布式操作系统(续)第85页/共144页第84页/共144页86/144嵌入式操作系统嵌入式(计算机)系统硬件不是以物理上独立的装置或设备形式出现,而是大部分甚至全部都隐藏和嵌入到各种应用系统中嵌入式(计算机)系统硬件中需要相应的软件支持,这类软件称为嵌入式软件嵌入式操作系统指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件嵌入式操作系统是嵌入式软件的基本支撑,是现代操作系统的一个类别第86页/共144页第85页/共144页87/144嵌入式操作系统可分为:通用型嵌入式操作系统:适用于各种领域WindowsCE、VxWorks(美国火星探测计划使用)嵌入式Linux专用型嵌入式操作系统:专用型嵌入式操作系统面向特定的应用场合适用于掌上电脑的palmOS适用于移动电话的Symbian等
嵌入式操作系统(续)第87页/共144页第86页/共144页88/144主要内容:1.3.1操作系统提供的基本服务1.3.2操作系统提供的用户接口1.3.3程序接口与系统调用1.3 操作系统提供的服务和用户接口第88页/共144页第87页/共144页89/144大致服务:创建程序:提供程序的编辑、调试、编译等生成工具执行程序
:装入内存、执行、异常报告、终止程序数据I/O:以简单方式提供给用户进行I/O信息存取:文件操作通信服务:进程通信错误检测和处理
还具有另外一些功能:资源分配统计保护
操作系统提供的基本服务第89页/共144页第88页/共144页90/144操作系统为用户提供两种调用其服务和功能的接口:程序接口:又称应用编程接口API(ApplicationProgrammingInterface),允许运行程序调用操作系统的服务和功能操作接口:又称作业级接口,操作系统为用户提供的操作控制计算机工作和提供服务手段的集合操作系统提供的用户接口第90页/共144页第89页/共144页91/144用户和操作系统间的两种接口
操作系统提供的用户接口(续)系统调用操作命令或JCL操作系统裸机(操作接口)(程序接口)第91页/共144页第90页/共144页92/144操作接口操作系统为用户操作控制计算机工作和提供服务的手段的集合,通常有操作控制命令图形操作界面批处理系统提供的作业控制语言(命令)等实现手段第92页/共144页第91页/共144页93/144作业控制语言//HAROLDJOB,WILSON,MSGLEVEL=(2,0),PRTY=6,CLASS=b•//COMPEXECPGM=IEYFORT•//SYSPRINTDDSYSOUT=A•//SYSINDD*•.•<SourceProgramCard>•.•/*•//GOEXECPGM=FORTLINK•//SYSPRINTDDSYSOUT=A•//FTOTF001DDUNIT=SYSCP•//GOSYSINDD*•.•<DataCard>•.•/*•//第93页/共144页第92页/共144页94/144程序接口许多操作系统的程序接口由一组系统调用(SystemCall))组成,用户程序使用“系统调用”就可获得操作系统的底层服务,使用或访问系统的各种软硬件资源系统调用的主要功能是使用户可以使用操作系统提供的有关设备管理、文件系统、进程控制、进程通讯以及存储管理方面的功能,而不必要了解操作系统的内部结构和有关硬件的细节问题,从而减轻用户负担和保护系统以及提高资源利用率第94页/共144页第93页/共144页95/144概念系统调用是为了扩充机器功能、增强系统能力、方便用户使用而在内核中建立的过程(函数),它是用户程序或其它系统程序获得操作系统服务的唯一途径,系统调用也称为广义指令系统调用与机器指令的区别:机器指令由硬件实现广义指令(系统调用)是由操作系统在机器指令基础上实现的过程或子程序系统调用第95页/共144页第94页/共144页96/144系统调用(续)实现形式早期操作系统的系统调用使用汇编语言编写最新推出的一些操作系统,如UNIX新版本、Linux、Windows、OS2等,其系统调用用C语言编写,并以库函数形式提供。(有些库函数与系统调用无关,一般地说,库函数属于用户程序而非系统程序)MOVAH,1INT21H第96页/共144页第95页/共144页97/144系统调用(续)操作系统(进程管理、存储管理、文件管理、设备管理等)标准库函数(打开、关闭、读、写、创建、撤销等)标准系统程序(实用程序)(汇编、编译、编辑、Shell等)用户用户接口库函数接口系统调用接口硬件(处理器、存储器、磁盘、打印机、终端等)用户态核心态UNIX/Linux系统程序、库函数、系统调用的分层关系
第97页/共144页第96页/共144页98/144intelx86架构:Ring0级别最高,Ring3最低核心态与用户态intelx86架构的CPU运行模式第98页/共144页第97页/共144页99/144进程和作业管理:进程的创建、装入、执行、撤销、终止,进程属性的获取和设置文件操作:文件的建立、打开、读写、关闭、删除,文件属性的获取和设置设备管理:设备的申请、输入输出、释放、重定向,设备属性的获取和设置内存管理:内存的申请和释放信息维护:日期、时间及系统数据的获取和设置通信:通信连接的建立、连接和断开、信息的发送和接受
系统调用的分类第99页/共144页第98页/共144页100/144实例,Windows支持API(应用编程接口)的三个组件:Kernel包含了多数操作系统函数,如内存管理、进程管理User集中了窗口管理函数,如窗口创建、撤销、移动、对话等相关函数GDI提供画图函数、打印函数Windows将三个组件置于动态链接库DLL中
系统调用的分类(续)CompareFileTime:比较两个文件的时间SetScrollInfo:滚动条设置函数PatBlt:绘制给定的矩形区域第100页/共144页第99页/共144页101/144Windows和UNIX/Linux的部分系统调用:
系统调用的分类(续)UNIX/LinuxWin32说明forkCreatProcess创建进程waitpidWaitForSingleObject等待进程终止open/closeCreatFile/CloseHandle创建或打开/关闭文件read/writeReadFile/WriteFile读/写文件lseekSetFilePointer移动文件指针mkdir/rmdirCreat/RemoveDirectory建立/删除目录statGetFileAttributesEx获得文件属性第101页/共144页第100页/共144页102/1451.有关概念
陷入或异常处理机制------在操作系统中,实现系统调用功能的机制称为陷入或异常处理机制
访管指令(陷入指令或异常中断指令)----由于系统调用而引起处理器中断的机器指令称为访管指令(陷入指令或异常中断指令)系统调用的实现要点第102页/共144页第101页/共144页103/144系统调用的实现要点(续)2.系统调用的实现要点:编写系统调用处理程序设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场第103页/共144页第102页/共144页104/1443.系统调用的处理过程
系统调用的实现要点(续)SystemCallAi用户程序A0SUB0SUB1SUBiSUBnA1AiAn……系统调用处理子程序取系统功能号找入口地址表相应入口地址结束处理恢复现场A0A1…Ai…An保护CPU现场陷入指令系统调用陷入机构入口地址表第104页/共144页第103页/共144页105/144系统调用的参数传递不同的系统调用需传递给系统调用处理程序不同的参数系统调用执行的结果也要以参数形式返回给用户程序系统调用的实现要点(续)第105页/共144页第104页/共144页106/144系统调用的实现要点(续)实现用户程序和系统调用之间的参数传递可用以下方法:一是由访管指令或陷入指令自带参数可以规定指令之后的若干个单元存放的是参数,这称为直接参数或者在指令之后紧靠的单元中存放参数的地址,这称为间接参数二是通过CPU的通用寄存器传递参数,或在内存的一个块或表中存放参数,其首地址送入寄存器,实现参数传递三是在内存中开辟专用堆栈区域传递参数
第106页/共144页第105页/共144页107/144系统调用的实现要点(续)系统调用8的处理子程序操作系统X:参数LOADAddRXSystemCall8X从寄存器取X参数寄存器传递参数的一种方法第107页/共144页第106页/共144页108/144调用形式不同过程(函数)使用一般调用指令,其转向地址包含在跳转语句中系统调用不包含处理程序入口,仅仅提供功能号,按功能号调用被调用代码的位置不同在过程(函数)调用中,调用程序和被调用代码在同一程序内,经过连接编译后作为目标代码的一部分。当过程(函数)升级或修改时,必须重新编译连接系统调用的处理代码在调用程序之外(在操作系统中),系统调用处理代码升级或修改时,与调用程序无关系统调用与过程(函数)调用的区别第108页/共144页第107页/共144页109/144提供方式不同过程(函数)往往由编译系统提供,不同编译系统提供的过程(函数)可以不同系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量就固定不变了调用的实现不同程序使用一般机器指令(跳转指令)来调用过程(函数),是在用户态运行的程序执行系统调用,是通过中断机构来实现的,需要从用户态转变到核心态,在管理态执行
系统调用与过程(函数)调用的区别(续)第109页/共144页第108页/共144页110/1441.4.1操作系统的构件1.4.2整体式结构的操作系统1.4.3层次式结构的操作系统1.4.4虚拟机结构的操作系统1.4.5客户/服务器与微内核结构的操作系统1.4.6操作系统的运行模型1.4.7Windows2000/XP的客户/服务器结构1.4 操作系统的结构设计第110页/共144页第109页/共144页111/144操作系统的结构设计概述1.操作系统结构设计概况操作系统设计呈现出以下特征:一是复杂程度高二是生成周期长三是正确性难保证
第111页/共144页第110页/共144页112/144操作系统的结构设计概述(续)2.操作系统结构设计有两层含义一是研究操作系统的整体结构,由程序的构成成分组成操作系统程序的构造过程和方法二是研究操作系统程序的局部结构,包括数据结构和控制结构第112页/共144页第111页/共144页113/144操作系统的构件操作系统的构件-----通常把组成操作系统程序的基本单位称作操作系统的构件操作系统的构件主要有:内核进程线程类程管程第113页/共144页第112页/共144页114/144内核(1)概念内核不是进程,而是提供支持系统运行的基本功能的一组程序模块,内核对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好的运行环境(2)分类微内核内核很小,仅具有极少的必须功能,其它功能都在核外实现。通过微内核提供的消息传递机制完成其余功能模块间的联系。内核和核外服务程序的开发是分离的单内核内核具有较多的功能,运行时是一个大的二进制映像,模块间的联系通过函数或过程调用实现第114页/共144页第113页/共144页115/144内核(续)(3)内核必须提供的功能中断处理当中断事件产生,先由内核截获并转向中断处理例行程序进行原则处理,它分析中断事件的类型和性质,进行必要的状态修改,然后交给内核之外的进程去处理短程调度主要职能是分配处理器原语管理原语是内核中实现某一功能的不可中断过程第115页/共144页第114页/共144页116/144内核(续)(4)内核执行时具有的属性1)内核是由中断驱动的只有当发生中断事件后由硬件交换程序状态字才引出操作系统的内核进行中断处理,且在处理完中断事件后内核自行退2)内核的执行是连续的在内核执行期间不能插入内核以外的程序执行3)内核在屏蔽中断状态下执行在处理某个中断时,为避免中断的嵌套可能引起的错误,必须屏蔽该级中断4)内核可以使用特权指令现代计算机都提供常态和特态等多种机器工作状态,有一类指令称为特权指令,只允许在特态下使用,规定这类指令只允许内核使用,可防止系统出现混乱第116页/共144页第115页/共144页117/144内核(续)(5)内核和裸机组成的虚拟机的特性内核和裸机组成的虚拟机没有中断,进程设计者不再需要有硬件中断的概念,用户进程执行中无需处理中断虚拟机为每个进程提供了一台虚拟处理器,每个进程就好象在各自的私有处理器上顺序的推进,实现了多个进程的并发执行虚拟机为进程提供了功能较强的指令系统,它们能够使用机器的非特权指令,系统调用和原语组成的新的指令系统第117页/共144页第116页/共144页118/144运行进程发现中断源装配中断码交换PSW自愿中断事件保护现场分析和传递参数原语?原语处理创建系统进程系统调用处理强迫中断事件机器故障中断处理I/O中断处理程序中断处理队列调整低级调度运行进程是否核心态用户态用户态硬件完成操作系统内核完成外中断处理创建系统进程内核被触发和内核处理流程第118页/共144页第117页/共144页119/144进程进程是一个具有独立功能的程序在一个数据集合的一次运行过程。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
进程的特征:动态性并发性独立性异步性结构特征:由程序段、数据段、进程控制块组成第119页/共144页第118页/共144页120/144线程进程是操作系统中资源分配以及系统调度的基本单位每个进程拥有自己独立的存储空间和运行环境,进程与进程之间的通信和切换开销相当大,限制了系统中并发执行的进程数目于是,多线程(结构)进程(也叫多线程)开始流行多线程环境中,进程是系统进行保护和资源分配的单位线程则是进程中一条执行路径,每个进程中允许有多个线程,线程才是系统进行调度的独立单位第120页/共144页第119页/共144页121/144管程管程是管理共享资源的程序(一种同步机制)对管程的调用表示对共享资源的请求与释放管程可以被多个进程或管程嵌套调用,但它们只能互斥地访问管程管程应包含条件变量,当条件不满足时,可以通过对条件变量做延迟操作使调用进程等待,直到另一个进程调用管程过程并执行一个释放操作为止由于管程的引入,使得原来分散在进程中的临界区集中了起来统一控制和管理
第121页/共144页第120页/共144页122/144类程类程用于管理私有资源,对类程的调用表示对私有资源的操作仅能被进程及起源于同一进程的其它类程或管程嵌套调用链所调用。其本身也可以调用其它类程或管程类程可以看作子程序概念的扩充第122页/共144页第121页/共144页123/144操作系统的体系结构操作系统的体系结构可分成整体式结构层次式结构虚拟机结构客户/服务器微内核结构第123页/共144页第122页/共144页124/144整体式结构的操作系统1.主要设计思想和步骤
把模块作为操作系统的基本单位按照功能需要而不是根据程序和数据的特性把整个系统分解为若干模块(还可再分成子模块)每个模块具有一定独立功能,若干个关联模块协作完成某个功能明确各个模块之间的接口关系,各个模块间可以不加控制,自由调用然后,分别设计、编码、调试各个模块最后,把所有模块连结成一个完整的系统第124页/共144页第123页/共144页125/144整体式结构的操作系统(续)2.主要优点结构紧密、组合方便,对不同环境和用户的不同需求,可以组合不同模块来满足,灵活性大针对某个功能可用最有效的算法和任意调用其他模块中的过程来实现,系统效率较高设计及编码可齐头并进,加快操作系统研制过程3.主要缺点
模块独立性差系统功能的增、删、改十分困难
第125页/共144页第124页/共144页126/144层次式结构的操作系统1.层次式结构基本思想层次式结构是把操作系统划分为内核和若干模块(或进程),这些模块(或进程)按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,即低层为高层服务,高层可以调用低层的功能,反之则不能。这样不但系统结构清晰,而且不构成循环调用层次结构有半序和全序之分第126页/共144页第125页/共144页127/144层次式结构的操作系统(续)2.层次结构的优缺点分析层次结构的优点整体问题局部化,系统的正确性可通过各层正确性来保证增加、修改或替换层次不影响其他层次有利于系统的维护和扩充层次结构的缺点层次结构是分层单向依赖的,必须要建立模块(进程)间的通信机制,系统花费在通信上的开销较大,系统的效率也就会降低
第127页/共144页第126页/共144页128/144虚拟机结构的操作系统程序设计接口进程内核虚拟机硬件进程内核进程内核CMSCMSCMS370虚拟机系统调用陷入陷入I/O指令运行CMS的VM370虚拟机器虚拟机概念结构370裸机VM370第128页/共144页第127页/共144页129/144虚拟机结构的操作系统(续)在CMS(ConversationalMonitorSystem,会话监控系统)上的应用程序执行一条系统调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 凿井勘查合同范例
- 劳务损伤赔偿合同范本
- 化工生产合同范本
- 2024年中国动漫博物馆(杭州)招聘考试真题
- 2024年重庆永川区五间镇招聘公益性岗位人员笔试真题
- 乡下房屋转卖合同范本
- gf分包合同范本
- 修路合同范本简版
- 出售小区公共用地合同范本
- 北京三室一厅租房合同范本
- 2022年全国新高考Ⅰ卷:冯至《江上》
- 体能训练概论(NSCA)
- 青岛版三年级数学下册《美丽的街景》教学课件7
- 铜陵油库重油罐区工艺设计
- 液压传动全套ppt课件(完整版)
- 质量手册CCC认证完整
- DB51∕T 2767-2021 安全生产风险分级管控体系通则
- 反兴奋剂考试试题与解析
- 低压电气安全知识培训课件(35张PPT)
- 电子支气管镜检查、清洗消毒保养及注意事项解读
- 建筑工程材料取样及收费标准
评论
0/150
提交评论