1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,操作系统概论,计算机系统的层次结构,财务系统,航空订票,上网浏览,电子商务,科学计算,(,应用软件,),用户,n,用户,
2、4,用户,3,用户,2,用户,1,编译程序,汇编程序,数据库,(,支撑软件,),实用程序,操作系统,(,系统软件,),计算机硬件,ch1,(概念和原理、,接口和服务,),系统实现,的观点,进程交互,的观点,管理资源,的观点,OS,是资源管理者,ch2(,处理器管理,),、,ch4(,存储管理,),、,ch5(,设备管理,),、,ch6(,文件管理,),OS,是虚拟机,ch1(,虚拟机、,os,结构、,os,运行模型,),、,ch7(,安全与保护,),ch2(,进程、线程、调度,),、,ch3(,同步、通信、死锁,),系统角度,动态观察,方法,静态观察,方法,OS,是程序执行的控制者,用户角度,
3、OS,是服务提供者,服务用户,的观点,研究和观察操作系统,研究和观察操作系统途径,操作系统与支撑软件及应用软件的区别,程序意图不同;,操作系统是软件系统的核心,是各种软件的基础运行平台;,通用操作系统提供共性功能支持,与硬件相关但和应用领域无关;,支撑软件及应用软件不能直接而只能通过操作系统来使用计算机系统的物理资源。,操作系统的资源管理技术,资源复用,(,解决物理资源数量不足,),资源虚化,(,解决物理资源数量不足,提高服务的能力和水平,),资源抽象,(,处理系统的复杂性,,解决资源的易用性,),1,资源管理技术,空分复用,时分复用,时分独占式,时分共享式,1),资源复用,(1),空分复用共
4、享,-,该资源可进一步分割成更多和更小的单位供进程使用。,(2),时分复用共享,-,并不把资源进一步分割成更小的单位,进程可在一个时间段内独占使用整个物理资源。,时分复用共享分类,时分独占式,-,进程获得时分独占式资源后,对资源执行多个操作,通常使用一个完整的周期后才会释放,(如磁带,),。,时分共享式,-,时分共享式资源指进程占用该类资源使用后,很可能随时被剥夺,被另一个进程抡占使用,(如处理器、磁盘机),。,2),资源虚化,是对资源进行转化、模拟或整合,把物理上的一个资源变成逻辑上的多个对应物的一类技术。,空分复用分割实际存在的物理资源,虚化实现虚构假想的虚拟同类资源。,虚化的例子,虚拟设
5、备、虚拟存储器、虚拟屏幕,(,终端,),、虚拟信道 。,3),资源抽象,资源抽象用于处理系统的复杂性,重点解决资源的易用性。,资源抽象指通过创建软件来屏蔽硬件资源物理特性和接口细节,简化对硬件资源的操作、控制和使用的一类技术。,单级资源抽象与多级资源抽象。,单级资源抽象,一个简单的抽象,可用系统调用,write(),打包:,void write(char*block,int len,int device,int track,int sector),load(block,length,device);,seek(device,track);,out(device,sector);,多级资源抽象,
6、int fprintf(fileID,”,%s,”,datum),write();,4),组合使用抽象和虚化技术,对于一类资源,操作系统往往同时实施抽象和虚化技术。,例,1,,为打印机既配置,“,打印函数,”,(,设备驱动程序,),,又实施虚拟设备,通过打印函数抽象隐蔽打印机动作细节,实施,SPOOLing,虚化,“,扩充,”,物理打印机数量。,例,2,,窗口软件是对物理终端的虚化和抽象,能为用户提供虚拟终端和方便的,I/O,服务。,2,操作系统中最基础的抽象,进程抽象,-,是对已进入主存正在运行的程序在处理器上操作的状态集的抽象。内核的主要任务之一是将处理器“虚化”,造成每个运行进程都独自拥
7、有一个处理器的假象,虚存抽象,-,是对物理主存的抽象,进程可获得硕大的连续地址空间来存放程序和数据,可使用虚拟地址来引用物理主存单元。把虚拟主存内容存在磁盘上,用主存作为磁盘的高速缓存,以此为用户提供远比物理主存大得多的虚拟主存空间。,文件抽象,-,是对设备,(,磁盘,),的抽象。通过将文件中的字节映射到存储设备的物理块中来实现文件抽象。,文件抽象是操作系统对磁盘设备的多层次抽象,第一层抽象,从磁盘到分区。,第二层抽象,从分区到扇区。,第三层抽象,从扇区到簇。,第四层抽象,从簇到文件系统分区。,操作系统最基础抽象小结,文件抽象,虚存抽象,进程抽象,处理器,主存,设备,3,虚拟计算机,(1),什
8、么是虚拟计算机,?,什么是操作系统虚拟机,?,操作系统虚拟机的组成:,1),虚处理器,2),虚拟主存,3),虚拟辅存,4),虚拟设备,虚拟计算机,(2),操作系统,资源管理,(,复用、虚化、抽象,),虚 虚 虚 虚,处 主 辅 设,理 存 存 备,器,虚拟机,n,时分复用共享,空分复用共享,处,I I,主,辅,理,/,器,O O,设 设 存 存,备 备,虚 虚 虚 虚,处 主 辅 设,理 存 存 备,器,虚拟机,1,进程,Pn,进程,P1,处 输 输 主 辅,入 入,输 输,理 出 出,设 设 存 存,器 备 备,物理计算机,虚处理器特点,(3),(1),虚处理器没有中断,进程的设计者不再需要
9、有硬件中断的概念,通常进程执行中无需处理中断;,(2),每个进程都有自己的虚处理器,用以实现多进程的并发执行;,(3),虚处理器为进程提供功能强大的指令系统,即由机器非特权指令和系统调用所组成的新指令系统集。,虚拟主存特点,(4),虚拟主存是从,0,开始的连续数字命名的单元序列,由操作系统分割物理主存,分配给虚拟机使用,各虚拟机分得的主存空间相互隔离且互不干扰。,虚拟存储器避免在主存和磁盘之间来回拷贝整个进程地址空间,当运行进程需要信息或信息被更新时,系统在主存与磁盘之间自动地传输当前计算涉及到的一小部分数据。,虚拟辅存特点,(5),辅存,(,磁盘,),为信息提供持久性存储,通过空分复用把辅存
10、空间分配给进程使用,,部分空间用作主存的扩充,部分空间存放文件,信息以文件为单位被物理地存储在磁盘上。,文件中的字节流被映射到设备的物理块中,进程可通过文件系统调用或映射文件,I/O,对文件信息进行存储、检索和处理。,操作系统也可提供多个虚拟盘,按需分割物理磁盘的若干磁道,除了容量外,其它各个方面与物理磁盘相同。,虚拟设备特点,(6),SPOOLing,和文件系统为每台虚拟机提供虚拟读入机和虚拟打印机,分时用户的终端提供虚拟机操作员控制台。,虚拟机的,I/O,操作与物理计算机的,I/O,操作完全不同,故为每类物理设备编写实现信息,I/O,的设备驱动程序供应用程序调用,以此来抽象物理设备,屏蔽相
11、关细节,执行低层操作。,进程执行,I/O,实质上是调用相应设备的设备驱动程序,既简单又方便。,虚拟机的实现,(7),虚拟机是由操作系统通过共享硬件资源的方式来实现的,它定义进程运行的逻辑计算环境,从概念上来说,一个进程运行在一台虚拟机上,可认为一个进程就是一台虚拟机。,实现方法:物理处理器在各进程之间来回切换,每台虚拟机在一个时间段中只是占用全部物理资源的一部分,故可创建出许许多多台虚拟机,系统中也就允许有许许多多进程并发或并行执行。,操作系统的作用与功能,操作系统的作用,OS,作为用户接口和服务提供者,OS,作为扩展机或虚拟机,OS,作为资源管理者和控制者,OS,作为程序执行的控制者和协调者
12、操作系统既是,“,管理员,”,,又是,“,服务员,”,对内作为“管理员”,做好计算机系统软硬件资源的管理和调度、程序执行控制与协调、提高系统效率和资源利用率;,对外作为“服务员”,是用户与硬件的接口和人机界面,为用户提供最友善的运行环境和最佳的服务;,操作系统在管理好资源的基础上,向外提供强有力的服务,所以,资源管理是操作系统的一项主要任务。,OS,作为用户接口和服务提供者,用户对计算机系统的需求与期望和现有硬件性能之间的巨大差距,靠操作系统来填补;,操作系统提供友善的人机接口,使得用户能够方便、可靠、安全、高效地使用硬件和运行应用程序;,操作系统对计算机硬件进行改造和扩充,为用户提供强有力
13、的各种服务;,OS,作为扩展机或虚拟机,操作系统把硬件的复杂性与用户隔离开来,,在计算机裸机上加上操作系统来组成整个计算机系统,,操作系统与硬件组成一台功能显著增强,使用更加方便,安全可靠性更好的扩展机器或虚拟机。,OS,作为程序执行的控制者和协调者,进程是支持程序执行的系统机制,系统以进程方式组织用户使用计算机。,OS,需要提供机制,解决并发进程执行时产生的互斥、同步、通信和死锁问题。,操作系统作为计算机系统的资源管理者,(1),操作系统中的资源,包括两类:硬件资源和信息资源。,硬件资源又分:处理器、存储器、,I/O,设备等;,信息资源又分:程序和数据等。,操作系统作为计算机系统的资源管理者
14、2),也可把操作系统定义为:是能使诸用户有效、方便地共享一套计算机系统资源的一种系统软件。,操作系统作为计算机系统的资源管理者,(3),操作系统的重要任务之一,(1),对资源进行抽象研究,找出各种资源共性和个性,有序地进行管理,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲突;,操作系统作为计算机系统的资源管理者,(4),操作系统的重要任务之一,(2),研究使用资源的统一方法,让用户简单、有效的使用资源,最大限度地实现各类资源的共享,提高资源利用率,从而,使得计算机系统的效率有很大提高。,操作系统的功能(一,),从两个不同的角度讨论操作系统的功能:,1.,
15、资源管理,协调、管理计算机的软、硬件资源,提高其利用率。,2.,用户角度,为用户提供使用计算机的环境和服务。,计算机四大类资源,C P U,内 存 外 设 信息文件,处理机管理,存储器管理,设备管理,文件管理,用户接口,操作系统的功能(二,),一,.,处理机管理,处理机管理的,基本任务,是:按照一定策略,对处理机进行分配及进行资源回收。,由于在多道程序系统中,处理机的分配和运行都是以进程为单位的,故处理机管理又归结为进程管理。,进程调度,按照某种调度策略,实现对,CPU,的分配。,进程控制,进程的创建、撤消、状态转换等控制。,进程同步,协调、控制系统中进程的并发执行。,互斥方式,同步方式,进程
16、通信,进程之间交换信息,高级通信方式。,操作系统的功能(三),二、存储器管理,主要涉及内存管理,任务是为多道程序的执行提供必要、良好的环境。为用户提供足够大的存储空间。,内存分配与回收,存储保护,地址映射,内存扩充,操作系统的功能(四),二,.,存储器管理,2,、存储保护,保证各道程序在各自的内存空间运行,互不干扰,保护程序和数据的安全。,1,、内存分配与回收,为多道程序分配内存空间。内存分配方式分为:,静态分配,程序一次装入,执行过程中不能动态,申请。,动态分配,程序执行过程中,位置可移动,可动,态申请内存。,操作系统的功能(五),二,.,存储器管理,3.,地址映射,在多道程序系统中,必须将
17、程序的逻辑地址转换为内存中的物理地址程序才能够运行。,4.,内存扩充,引入虚拟存储技术,对内存进行逻辑扩充,为用户提供比实际内存大得多的虚拟内存。,操作系统的功能(六),三、设备管理,基本任务是为用户提供统一的与设备无关的接口。对各种外设进行调度、分配、实现设备的中断处理及错误处理等。,缓冲技术,虚拟设备技术,操作系统的功能(七),四、文件管理,即对计算机软件资源的管理。基本任务是:,1,、负责文件的物理存储空间的组织分配与回收。,2,、实现文件的按名存取。,3,、实现文件与目录的创建、读、写、及修改、,删除等基 本操作。,4,、文件的保护与保密。,操作系统的功能(八),五、用户接口,从用户的
18、角度考虑操作系统的功能。用户与操作系统的接口,通常有三种形式:,1,、命令接口,(联机、脱机),2,、程序接口,(系统调用)是为用户程序在执行,过程中访问系统资源而设置的一组广义指令,,,以函数的形式提供。,3,、图形接口,是一种全新的人机界面,提供图形,用户界面(,GUI,)和符号操作。,操作系统的主要特性,第一个特性,-,并发性,第二个特性,-,共享性,第三个特性,-,异步性,操作系统中的并发性,(1),并发性,-,指两个或两个以上的事件或活动在同一时间间隔内发生,发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率,并发性使系统变得
19、复杂化,如何从一个活动切换到另一个活动?,怎样将各个活动隔离开来,使之互不干扰,免遭对方破坏?怎样让多个活动协作完成任务?,怎样协调多个活动对资源的竞争?,如何保证每个活动的资源不被其它进程侵犯,?,多个活动共享文件数据时,如何保证数据的一致性?,操作系统中的并发性,(2),操作系统中的并发性,(3),采用并发技术的系统称多任务系统,并发的实质是一个物理,CPU(,也可以多个物理,CPU),在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。,结论:实现并发技术的关键之一是如何对系统内的多个活动,(,进程,),进行切换的技术,操作系统中的并发性,(4),并行性,-,指
20、两个或两个以上的事件或活动在同一时刻发生,并行的事件或活动一定是并发的,但反之并发的事件或活动未必是并行的。,并行性是并发性的特例,而并发性是并行性的扩展。,操作系统中的共享性,共享指操作系统中的资源可被多个并发执行的进程所使用:,透明资源共享:,资源隔离与授权访问,显式资源共享:临界资源与独占访问,与共享性有关的问题,:,资源分配、信息保护、存取控制等,必须要妥善解决好,。,操作系统中的异步性,(1),操作系统中的异步性处处可见:,(1),进程何时执行?何时暂停?怎样的速度向前推进?都是异步,(,随机,),的。,(2),作业到达系统的类型和时间是随机的;,(3),操作员发出命令或按按钮的时刻
21、是随机的;,(4),程序运行发生错误或异常的时刻是随机的;,(5),各种各样硬件和软件中断事件发生的时刻是随机的,操作系统中的异步性,(2),异步性给系统带来潜在危险,有可能导致与时间有关的错误。,操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果,。,操作系统的形成与发展(一),50,年代至今,操作系统经历了从简单到复杂,从低级到高级的发展过程。,人工操作方式,早期批处理方式,管理程序阶段,多道程序系统,管理程序是操作系统的雏形,在出现多道程序系统以后,现代操作系统才真正形成和发展。,操作系统的形成与发展(二
22、50,年代至今,操作系统经历了从简单到复杂,从低级到高级的发展过程。,一、人工操作方式(,45,年,50,年代中),1.,无操作系统,人工直接使用计算机硬件系统,.,独占计算机资源,CPU,等待人工操作(,90%,空闲),2.,脱机,I/O,方式,(Off-Line I/O,),I/O,操作由外围机完成,通过中间介质(磁盘、带)将,输入数据调入内存,,CPU,将输出数据从内存送到磁盘。,操作系统的形成与发展(三),二、早期批处理方式(,Batch Processing,),早期批处理系统是操作系统的雏形,是将作业按照一定顺序组织起来,由监督程序,(,Monitor,),自动、连续执行。提高
23、CPU,利用率,减少用户作业的转接时间。,由于内存中仅有一道作业,故又称为单道批处理系统。,1.,联机批处理方式,I/O,设备与主机相联接,由监督程序控制作业的装入、运行与转接。,2.,脱机批处理方式,在外围机上作慢,I/O,,,I/O,数据存放于中间媒体。,操作系统的形成与发展(四),脱机批处理方式,批处理方式实现了作业的自动过渡,改善了,CPU,与,I/O,设备速度不匹配的矛盾。,监督程序,操作系统的雏型。,为了减少人工操作的时间,利用常驻内存的监督程序管理控制作业的装入、运行和转接。,读卡机,打印机,卫星机,输入,磁带,输出,磁带,输入,带,输出,带,主机,操作系统的形成与发展(五),
24、三、管理程序阶段,60,年代初,计算机硬件由于通道,(,Channel,),技术的,引入和中断(,Interrupt,)技术的发展而取得突破新性的进,展。操作系统在该管理程序阶段也逐渐形成。,通道,硬件机制,专用于,I/O,的小型处理机,又称,I/O,处理机,通道一旦启动,能与,CPU,并行操作。,中断,当主机接到外部信号时(如,I/O,完成信号)即停止原来的工作,转去处理这一事件,处理完后,主机又回到原来的断点继续工作。,操作系统的形成与发展(六),单道程序系统的工作情况,用户程序,监督程序,I/O,操作,I/O,中断请求,启动,I/O,I/O,完成,结束中断,I/O,中断请求,启动,I/O
25、I/O,完成,结束中断,t,1,t,2,t,3,t,4,t,5,t,6,t,7,t,8,显然,单,道程序系统,CPU,的利用率低,,四、多道程序系统,虽然管程方式下,借助通道、中断技术,主机和通道、,I/O,设备都可以并行工作,进一步提高了,CPU,的利用率,但是由于内存中仅存放一道程序,当程序在运行过程发出,I/O,请求后,,CPU,空闲,直到,I/O,完成后才继续运行。,单道与多道程序系统对比,单道程序系统,用户程序,监督程序,I/O,操作,I/O,中断请求,启动,I/O,I/O,完成,结束中断,I/O,中断请求,启动,I/O,I/O,完成,结束中断,t,1,t,2,t,3,t,4,t,
26、5,t,6,t,7,t,8,程序,A,程序,B,程序,C,程序,D,调度程序,程序,AI/O,请求,程序,B I/O,请求,程序,C I/O,请求,程序,D I/O,请求,程序,A I/O,完成,程序,B I/O,完成,程序,A,再次被调度,程序,C I/O,完成,t,多道程序系统,1.6,操作系统构件,和结构,操作系统设计呈现出以下特征:,复杂程度高,,生成周期长,,正确性难保证。,操作系统结构设计有三层含义:,一、是研究操作系统整体结构,如功能如何分块,相互如何交互,及考虑构造它的过程和方法;,二、是研究操作系统程序局部结构,包括数据结构和控制结构;,三、是操作系统运行时的组织,如系统是否
27、组织成进程或线程,?,在系统空间还是在用户空间运行,?,操作系统的构件,内核,进程,线程,类程,管程,操作系统的内核,(1),1),什么是内核,?,2),内核分类:微内核和单内核。,3)Linux,是单内核操作系统,,Mach,是微内核操作系统,,Windows2003,是,C/S,结构操作系统。,什么是内核,?(2),内核,(kernel),是作为可信软件来提供支持进程并发执行的基本功能和基本操作的一组程序模块,,内核通常驻留在内核空间,运行于核心态,具有访问硬设备和所有主存空间的权限,是仅有的能执行特权指令的那部分程序。,在内核的支撑下,机器功能得到扩展、进程运行环境得到改善,安全性得到保
28、证,系统效率得到提高。,操作系统的内核,(3),Linux,单内核结构,用户态,系统库,(,函数库,),应用程序,系统调用接口,模块,内核,(,进程管理、存储管理、文件管理、设备管理、网络管理,),设备,驱动,计算机硬件,核心态,单内核,单内核操作系统两种基本设计方法,(4),整体式结构,(1),设计思想和步骤,(2),缺点 和优点,(3),早期,(IBM),操作系统使用,层次式结构,(1),设计思路,(2),缺点 和优点,(3)THE,多道程序设计系统中第一次提出操作系统层次结构设计方法,操作系统的内核,(5),微内核结构,操作系统服务进程,客户,进程,1,客户,进程,2,文件服务器,进程服
29、务器,主存服务器,微内核,(,消息传递,),计算机硬件,用户,进程,用,户,态,核,心,态,客户通过微内核发送消息给文件服务器,微内核结构的特点和优点,一对进程的请求提供一致性接口,不必区别内核级服务或用户级服务,所有服务均借助消息传递机制提供;,二可扩充性和易修改性好,增加新服务和替换老功能,只需增加或替换服务器;,三可移植性好,与特定,CPU,有关代码均在微内核中,把系统移植到新平台上所作修改较小;,四提供对分布式系统的有力支撑,当消息从客户机发送给服务器进程时,不必知道它驻留在哪台机器上,处理都是发送请求和接收回答。,缺点是运行效率低,因为进程间必须通过内核的通信机制才能进行通信。,内核
30、的基本功能,基本功能,:,资源抽象,-,资源分配,-,资源共享,-,内核的基本属性,基本属性,:,内核是由中断驱动的,内核是不可抢占的,内核部分程序在屏蔽中断状态下执行,内核可以使用特权指令,内核和裸机组成的虚拟机具有以下特性:,1,)虚拟机没有中断,,2,)虚拟机为每个进程提供了一台虚拟处理器,,3,)虚拟机为进程或模块提供了功能较强的指令系统。,虚拟机具有的特性,机制与策略分离,(1),在策略与机制分离的操作系统中,解决应用问题均可分成两部分:,“,提供及实现确定的功能,(,机制,),,将机制作为系统的可信软件来实现,”,和,“,如何使用这些功能,(,策略,),,可在不可信的环境中定义策略
31、机制与策略分离,(2),例子,1,:调度机制与调度策略的分离,例子,2,:,buffer cache,实现机制与,buffer cache,替换策略,机制与策略分离的原则:,(1),机制由,OS,实现,策略留给用户完成;,(2),机制放在底层,策略放在高层;,(3),机制集中在少数模块,策略拟散布在多处。,操作系统的运行模型,操作系统本身是一组程序,也在处理器上运行,那么,操作系统程序是否组织成进程,?,它是如何控制的、怎样执行的呢,?,它在什么模式下运行呢,?,从操作系统的运行方式来看,可分成:,1),非进程内核模型、,2)OS,功能,(,函数,),在用户进程内执行的模型、,3)O
32、S,功能,(,函数,),作为进程执行的模型。,操作系统的运行模型,(1),1,)非进程内核模型,应用进程,应用进程,内核,应用进程,核心态,用户态,操作系统运行模型,(2),2,),OS,功能在用户进程内执行的模型,核心态,用户态,内核,函数,内核,函数,内核,函数,应用进程,应用进程,进程切换,函数,应用进程,操作系统的运行模型,(3),3,),OS,功能作为独立进程执行的模型,微内核(进程切换函数),应用,进程,OS,函数,用户态,核心态,应用,进程,OS,函数,应用,进程,OS,函数,Windows2003,客户,/,服务器结构,(1),结构简框,系统,进程,服务,进程,应用,程序,环境
33、子系统,子系统动态链接库,用户态,核心态,执行体,核心 设备驱动程序,硬件抽象层,图形,引擎,Windows2003,客户,/,服务器结构,(2),系统线程,NTDLL.DLL,Service.exe,RPC,Spooler,事件日志,服务进程,任务管理器,IE,浏览器,用户程序,子系统,DLL,应用程序,POSIX,OS2,WIN32,环境子系统,服务管理器,安全验证,Win,登录,会话管理器,系统进程,核,心,态,用,户,态,Win32 User,GDI,图形驱动器,硬件抽象层,(HAL),设备驱动程序,内核,对象管理器,核心态可调用接口,(,执行程序,API),系统服务调度进程,I/O,
34、管理器,文件缓存管理,进程线 程管理,安全访问监视,虚存,管理,局部过,程调用,注册表配,置管理器,电源,管理器,即插即用管理,硬件接口(总线、,I/O,、时钟、计时器、中断、,DMA,、,CACHE,控制器),操作系统概要东北大学嵌入式实操作系统,操作系统概观,1.1.1,操作系统的定义和目标,1.1.2,操作系统的作用和功能,1.1.3,操作系统的主要特性,操作系统的定义和目标,操作系统,是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。,它可被看作是用户和计算机硬件之间的一种接口,是现代计算机系统不可分割
35、的重要组成部分。,计算机系统的层次结构,(1),用户,1,用户,2,用户,3,用户,4,用户,n,财务系统,航空订票,上网浏览,电子商务,科学计算,(应用程序),编译程序,汇编程序,编辑程序,数据库,(系统程序),操作系统,计算机,硬件,计算机系统的层次结构,(2),硬件层,操作系统层,系统程序,层,应用层,硬件层,提供基本的可计算性资源,包括:具有一组指令的处理器、可被访问的寄存器和存储器,可被使用的各种,I/O,设施和设备。,这些是操作系统赖以工作的基础,也是操作系统设计者可以使用的功能和资源。,操作系统层,对硬件作扩充和改造,提供了操作系统接口,为编译程序、编辑程序、数据库系统等的设计者
36、提供有力支撑。此外,操作系统还要做资源的调度和分配,信息的存取和保护,并发活动的协调和控制等许多工作。,系统程序层,建立在操作系统改造和扩充过的机器上,提供扩展指令集,实现各种语言处理程序、数据库管理系统和其他系统程序。,提供种类繁多的实用程序,如连接装配程序、库管理程序、诊断排错程序、分类,/,合并程序等供用户使用。,应用层,解决用户不同的应用问题,应用程序开发者借助程序设计语言来表达应用问题,开发各种应用程序,既快捷又方便。,操作系统和硬件组成了一个运行平台,其他软件都运行在这个平台上。,操作系统的主要目标,方便用户使用,扩大机器功能,管理系统资源,提高系统效率,构筑开放环境,操作系统的作
37、用与功能,操作系统的作用,OS,作为用户与计算机硬件之间的接口,OS,作为虚拟计算机,OS,作为计算机系统的资源管理者,(2)OS,为用户提供虚拟计算机,(1),如何把硬件复杂性与用户隔离开来,?,基本方法是在计算机裸机上加上一层又一层软件来组成整个计算机系统,。,每当在计算机上复盖一层软件,提供了一种抽象,系统的功能便增加一点,使用就更加方便一点,用户可用的运行环境就更加好一点。,OS,为用户提供虚拟计算机,(2),1),裸机极难使用,,虽有,很强的指令系统,从功能上来说局限性很大。加上软件后,就可在硬件基础上,对其功能和性能进行扩充和完善。,OS,为用户提供虚拟计算机,(3),2),软件之
38、间的关系,采用同样办法,一些软件的运行以另一些软件的存在并为其提供运行支撑作为基础,新添加的这些软件是在原来那些软件基础上的扩充和完善。,OS,为用户提供虚拟计算机,(4),3),例,1,,在裸机上加上虚拟存储管理软件,用户就可有硕大的编程空间,不必涉及物理存储空间的容量、地址转换、程序重定位等物理细节。虚拟存储器是现代操作系统对计算机系统中多级物理存储体系进行高度抽象的结果。,OS,为用户提供虚拟计算机,(5),4),例,2,,如果加上一层,I/O,设备管理软件,用户就可使用,I/O,命令来进行数据的,I/O,,不必涉及显示器、打印机、扫描仪、键盘和鼠标等的物理细节。,OS,为用户提供虚拟计
39、算机,(6),5),如果加上一层文件管理软件,它将磁盘抽象成一组命名的文件,用户通过文件操作,按文件名来存取信息,不必涉及诸如数据物理地址、磁盘记录命令、移动磁头臂、搜索物理块及设备驱动等物理细节,便于使用、效率又高。,OS,为用户提供虚拟计算机,(7),6),例,3,,如果加上一层窗口管理软件,由该软件把一台物理屏幕改造成多窗口,每个应用可以在各自的窗口中操作,用户可以在窗口环境中方便地与计算机交互。,OS,为用户提供虚拟计算机,(8),操作系统是紧靠硬件的第一层软件,计算机上覆盖操作系统后,可扩展基本功能,为用户提供一台功能显著增强,使用更加方便,安全可靠性好,效率明显提高的机器,称为虚拟
40、计算机,或操作系统虚机器(,Virtual Machine,)。,(3),操作系统作为计算机系统的资源管理者,(1),在操作系统中,能分配给用户使用的硬件和软件设施总称为资源,,包括两大类:硬件资源和信息资源。,硬件资源又分:处理器、存储器、,I/O,设备等;,信息资源又分:程序和数据等。,操作系统作为计算机系统的资源管理者,(2),操作系统如何来管理系统资源,哪些情况下需要对资源,进行,管理,?,来看几个例子:,操作系统作为计算机系统的资源管理者,(3),例,1,,用户想把一批信息存储到某个设备上,必须先弄清楚该设备的存储格式、读写命令和各种情况下的中断处理步骤。而让用户了解设备的物理细节将
41、会十分困难,甚至束手无策。这些工作只能让操作系统代劳。,操作系统作为计算机系统的资源管理者,(4),例,2,,若内存中能装入两道程序并同时启动运行,不但可充分利用内存资源,当一道程序等待,I/O,完成时,可让另一道程序占有,CPU,运行,使得,I/O,设备和,CPU,同时保持忙碌,这类高效的工作方式,需要解决许多技术问题,这只有靠操作系统来做。,操作系统作为计算机系统的资源管理者,(5),例,3,,三个需要打印输出信息的应用程序在同时运行,打印机上三个程序的输出结果会交错夹杂、混乱不堪。一种解决方案:程序输出时,先把各自的结果存在磁盘上,等到某程序生成的输出全部存入后,才启动打印机输出,消除了
42、杂乱无章的局面,这种做法只有操作系统才办得到。,操作系统作为计算机系统的资源管理者,(6),也有人将操作系统定义为:是能使诸用户有效、方便地共享一套计算机系统资源的一种系统软件。,操作系统作为计算机系统的资源管理者,(7),操作系统的重要任务之一,(1),对资源进行抽象研究,找出各种资源共性和个性,有序地管理计算机中的硬件、软件资源,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲突;,操作系统作为计算机系统的资源管理者,(8),操作系统的重要任务之一,(2),研究使用资源的统一方法,让用户简单、有效的使用资源,最大限度地实现各类资源的共享,提高资源利用率,从而
43、使得计算机系统的效率有很大提高。,操作系统的功能,处理机管理,存储管理,设备管理,文件管理,网络与通信管理,用户接口,处理机管理,(1),处理器管理的第一项工作是处理中断事件,,处理器管理的第二项工作是处理器调度。,处理机管理,(2),处理器管理具体包括:,进程控制和管理,进程同步和互斥,进程通信和死锁,线程控制和管理,处理器调度,分作业调度,中 程调 度,低级调度等,存储管理,存储管理具有四大功能:,存储分配,存储共享,地址转换与存储保护,存储扩充,设备管理,设备管理具有以下功能:,设备分配,缓冲管理,设备驱动,设备独立性,实现虚拟设备,文件管理,文件管理要完成以下任务:,提供文件逻辑组织
44、方法,提供文件物理组织方法,提供文件的存取方法,提供文件的使用方法,实现文件的目录管理,实现文件的存取控制,实现文件的存储空间管理,网络与通信管理,联网操作系统应具有以下管理功能:,网上资源管理功能,数据通信管理功能,网络管理功能,包括,:,故障管理、安全管理、性能管理、记帐管理和配置管理。,操作系统的主要特性,第一个特性,-,并发性,第二个特性,-,共享性,第三个特性,-,异步性,第四个特性,-,虚拟性,操作系统的主要特性,第一个特性,-,并发性,(1),并发性,(,Concurrence,)指两个或两个以上的事件或活动在同一时间间隔内发生,发挥并发性能够消除系统中部件和部件之间的相互等待,
45、有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率,第一个特性,-,并发性,(2),内存中同时有多个用户程序,或内存中同时有操作系统程序和用户程序被启动交替、穿插地执行,都是并发性的例子。,第一个特性,-,并发性,(3),并发性使系统变得复杂化,(1),如何从一个活动切换到另一个活动?,怎样将各个活动隔离开来,使之互不干扰,免遭对方破坏?怎样让多个活动协作完成任务?,第一个特性,-,并发性,(4),并发性使系统变得复杂化,(2),怎样协调多个活动对资源的竞争?如何保证每个活动的资源不被其它进程侵犯,?,多个活动共享文件数据时,如何保证数据的一致性?,第一个特性,-,并发性,(5),操作
46、系统中很早就引入重要概念,-,进程,进程能清,晰,刻划操作系统中的并发性,实现并发活动的执行,因而,它已成为现代操作系统的一个重要基础。,第一个特性,-,并发性,(6),采用并发技术的系统称为多任务系统,(Multitasking),,,并发的实质是一个物理,CPU(,也可以多个物理,CPU),在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。,第一个特性,-,并发性,(7),结论,:实现并发技术的关键之一是如何对系统内的多个活动,(,进程,),进行切换的技术。,第一个特性,-,并发性,(8),并行性(,parallelism,)指两个或两个以上事件或活动在同一时刻
47、发生。,在多道程序环境下,并行性使多个程序同一时刻可在不同,CPU,上同时执行。,在分布式系统中,多台计算机并存使程序的并发性得到了更充分发挥,同一时刻每台计算机上都可以有程序在执行。,第,一,个特性,-,并发性,(9),并行的事件或活动一定是并发的,但反之并发的事件或活动未必是并行的。,并行性是并发性的特例,而并发性是并行性的扩展。,第二个特性,-,共享性,(1),共享指操作系统中的资源可被多个并发执行的进程所使用,可分成两种资源共享方式:,互斥,访问,:,系统中的某些资源同一时间内只允许一个进程访问,许多物理设备,以及某些数据和表格都是互斥共享的资源。,第二个特性,-,共享性,(2),同时
48、访问,:,系统中还有许多资源,允许同一时间内多个进程对它进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是,磁盘,,,可重入程序,也可被同时访问。,与共享性有关的问题是资源分配、信息保护、存取控制等,必须要妥善解决好这些问题。,第三个特性,-,异步性,(1),操作系统中的,异步,性处处可见:,一个进程在,CPU,上运行一段时间后,由于等待资源满足或事件发生,被暂停执行,,CPU,转让给另一个进程执行。系统中的进程何时执行?何时暂停?,怎,样的速度向前推进?进程总共要多少时间执行才能完成?这些都是不可予知的,或者说该进程是以异步方式运行的。,第三个特性,-,异步性,(2),操
49、作系统中异步性的,其他例子,:,(1),作业到达系统的类型和时间是随机的;,(2),操作员发出命令或按按钮的时刻是随机的;,(3),程序运行发生错误或异常的时刻是随机的;,(4),各种各样硬件和软件中断事件发生的时刻是随机的,。,第三个特性,-,异步性,(3),异步性给系统带来潜在危险,有可能导致与时间有关的错误,。,操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果,。,第四个特性,-,虚拟性,(1),虚拟性,是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成
50、逻辑上的一个对应物的技术,显然,前者是实际存在的而后者是虚构假想的。,第四个特性,-,虚拟性,(2),通过多道程序和分时使用,CPU,技术,物理上的一个,CPU,变成逻辑上的多个,CPU,。,第四个特性,-,虚拟性,(3),通过,Spooling,技术可把物理上的一台独占设备变成逻辑上的多台虚拟设备,,第四个特性,-,虚拟性,(4),通过窗口技术可把物理上的一个屏幕变成逻辑上的多个虚拟屏幕,,IBM,的,VM,技术把物理上的一台计算机变成逻辑上的多台计算机。,第四个特性,-,虚拟性,(5),虚拟存储器则是把物理上的多个存储器,(,主存和辅存,),变成逻辑上的一个,(,虚存,),的例子。,1.6






