资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,Ch1,嵌入式实时操作系统概论,1.1,操作系统概观,1.2,操作系统的形成和发展,1.3,操作系统提供的服务和用户接口,1.4,操作系统的结构,1.5,流行操作系统简介,1.6,嵌入式实时操作系统,1.1,操作系统概观,1.1.1,操作系统的定义和目标,1.1.2,操作系统的作用和功能,1.1.3,操作系统的主要特性,操作系统的定义和目标,操作系统,是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。,它可被看作是用户和计算机硬件之间的一种接口,是现代计算机系统不可分割的重要组成部分。,计算机系统的层次结构,(1),用户,1,用户,2,用户,3,用户,4,用户,n,财务系统,航空订票,上网浏览,电子商务,科学计算,(应用程序),编译程序,汇编程序,编辑程序,数据库,(系统程序),操作系统,计算机,硬件,计算机系统的层次结构,(2),硬件层,操作系统层,系统程序,层,应用层,硬件层,提供基本的可计算性资源,包括:具有一组指令的处理器、可被访问的寄存器和存储器,可被使用的各种,I/O,设施和设备。,这些是操作系统赖以工作的基础,也是操作系统设计者可以使用的功能和资源。,第四个特性-虚拟性(5),在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。,什么是嵌入式系统:国内的经典定义,如何把硬件复杂性与用户隔离开来?,操作系统的重要任务之一(2),3 操作系统的主要特性,多个活动共享文件数据时,如何保证数据的一致性?,内存中同时有多个用户程序,或内存中同时有操作系统程序和用户程序被启动交替、穿插地执行,都是并发性的例子。,并发性使系统变得复杂化(1),即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。,提供基本的可计算性资源,包括:具有一组指令的处理器、可被访问的寄存器和存储器,可被使用的各种I/O设施和设备。,Ch1 嵌入式实时操作系统概论,操作系统是紧靠硬件的第一层软件,计算机上覆盖操作系统后,可扩展基本功能,为用户提供一台功能显著增强,使用更加方便,安全可靠性好,效率明显提高的机器,称为虚拟计算机,或操作系统虚机器(Virtual Machine)。,Palm OS之所以在PDA领域占有70以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;,采用并发技术的系统称为多任务系统(Multitasking),,操作系统层,对硬件作扩充和改造,提供了操作系统接口,为编译程序、编辑程序、数据库系统等的设计者提供有力支撑。此外,操作系统还要做资源的调度和分配,信息的存取和保护,并发活动的协调和控制等许多工作。,系统程序层,建立在操作系统改造和扩充过的机器上,提供扩展指令集,实现各种语言处理程序、数据库管理系统和其他系统程序。,提供种类繁多的实用程序,如连接装配程序、库管理程序、诊断排错程序、分类,/,合并程序等供用户使用。,应用层,解决用户不同的应用问题,应用程序开发者借助程序设计语言来表达应用问题,开发各种应用程序,既快捷又方便。,操作系统和硬件组成了一个运行平台,其他软件都运行在这个平台上。,操作系统的主要目标,方便用户使用,扩大机器功能,管理系统资源,提高系统效率,构筑开放环境,操作系统的作用与功能,操作系统的作用,OS,作为用户与计算机硬件之间的接口,OS,作为虚拟计算机,OS,作为计算机系统的资源管理者,(2)OS,为用户提供虚拟计算机,(1),如何把硬件复杂性与用户隔离开来,?,基本方法是在计算机裸机上加上一层又一层软件来组成整个计算机系统,。,每当在计算机上复盖一层软件,提供了一种抽象,系统的功能便增加一点,使用就更加方便一点,用户可用的运行环境就更加好一点。,OS,为用户提供虚拟计算机,(2),1),裸机极难使用,,虽有,很强的指令系统,从功能上来说局限性很大。加上软件后,就可在硬件基础上,对其功能和性能进行扩充和完善。,OS,为用户提供虚拟计算机,(3),2),软件之间的关系,采用同样办法,一些软件的运行以另一些软件的存在并为其提供运行支撑作为基础,新添加的这些软件是在原来那些软件基础上的扩充和完善。,OS,为用户提供虚拟计算机,(4),3),例,1,,在裸机上加上虚拟存储管理软件,用户就可有硕大的编程空间,不必涉及物理存储空间的容量、地址转换、程序重定位等物理细节。虚拟存储器是现代操作系统对计算机系统中多级物理存储体系进行高度抽象的结果。,OS,为用户提供虚拟计算机,(5),4),例,2,,如果加上一层,I/O,设备管理软件,用户就可使用,I/O,命令来进行数据的,I/O,,不必涉及显示器、打印机、扫描仪、键盘和鼠标等的物理细节。,OS,为用户提供虚拟计算机,(6),5),如果加上一层文件管理软件,它将磁盘抽象成一组命名的文件,用户通过文件操作,按文件名来存取信息,不必涉及诸如数据物理地址、磁盘记录命令、移动磁头臂、搜索物理块及设备驱动等物理细节,便于使用、效率又高。,OS,为用户提供虚拟计算机,(7),6),例,3,,如果加上一层窗口管理软件,由该软件把一台物理屏幕改造成多窗口,每个应用可以在各自的窗口中操作,用户可以在窗口环境中方便地与计算机交互。,可以看出:嵌入式系统是软硬件的综合体,还可以涵盖机械等附属装置。,所以,介入嵌入式系统行业,必须有一个正确的定位。,并发性使系统变得复杂化(2),文件管理要完成以下任务:,一种解决方案:程序输出时,先把各自的结果存在磁盘上,等到某程序生成的输出全部存入后,才启动打印机输出,消除了杂乱无章的局面,这种做法只有操作系统才办得到。,提供基本的可计算性资源,包括:具有一组指令的处理器、可被访问的寄存器和存储器,可被使用的各种I/O设施和设备。,第一个特性-并发性(5),处理机管理(1),操作系统中异步性的其他例子:,多个活动共享文件数据时,如何保证数据的一致性?,实现文件的存储空间管理,OS为用户提供虚拟计算机(6),处理器管理的第二项工作是处理器调度。,操作系统作为计算机系统的资源管理者(8),第一个特性-并发性(1),OS,为用户提供虚拟计算机,(8),操作系统是紧靠硬件的第一层软件,计算机上覆盖操作系统后,可扩展基本功能,为用户提供一台功能显著增强,使用更加方便,安全可靠性好,效率明显提高的机器,称为虚拟计算机,或操作系统虚机器(,Virtual Machine,)。,(3),操作系统作为计算机系统的资源管理者,(1),在操作系统中,能分配给用户使用的硬件和软件设施总称为资源,,包括两大类:硬件资源和信息资源。,硬件资源又分:处理器、存储器、,I/O,设备等;,信息资源又分:程序和数据等。,操作系统作为计算机系统的资源管理者,(2),操作系统如何来管理系统资源,哪些情况下需要对资源,进行,管理,?,来看几个例子:,操作系统作为计算机系统的资源管理者,(3),例,1,,用户想把一批信息存储到某个设备上,必须先弄清楚该设备的存储格式、读写命令和各种情况下的中断处理步骤。而让用户了解设备的物理细节将会十分困难,甚至束手无策。这些工作只能让操作系统代劳。,操作系统作为计算机系统的资源管理者,(4),例,2,,若内存中能装入两道程序并同时启动运行,不但可充分利用内存资源,当一道程序等待,I/O,完成时,可让另一道程序占有,CPU,运行,使得,I/O,设备和,CPU,同时保持忙碌,这类高效的工作方式,需要解决许多技术问题,这只有靠操作系统来做。,操作系统作为计算机系统的资源管理者,(5),例,3,,三个需要打印输出信息的应用程序在同时运行,打印机上三个程序的输出结果会交错夹杂、混乱不堪。一种解决方案:程序输出时,先把各自的结果存在磁盘上,等到某程序生成的输出全部存入后,才启动打印机输出,消除了杂乱无章的局面,这种做法只有操作系统才办得到。,操作系统作为计算机系统的资源管理者,(6),也有人将操作系统定义为:是能使诸用户有效、方便地共享一套计算机系统资源的一种系统软件。,操作系统作为计算机系统的资源管理者,(7),操作系统的重要任务之一,(1),对资源进行抽象研究,找出各种资源共性和个性,有序地管理计算机中的硬件、软件资源,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲突;,操作系统作为计算机系统的资源管理者,(8),操作系统的重要任务之一,(2),研究使用资源的统一方法,让用户简单、有效的使用资源,最大限度地实现各类资源的共享,提高资源利用率,从而,使得计算机系统的效率有很大提高。,操作系统的功能,处理机管理,存储管理,设备管理,文件管理,网络与通信管理,用户接口,处理机管理,(1),处理器管理的第一项工作是处理中断事件,,处理器管理的第二项工作是处理器调度。,处理机管理,(2),处理器管理具体包括:,进程控制和管理,进程同步和互斥,进程通信和死锁,线程控制和管理,处理器调度,分作业调度,中 程调 度,低级调度等,存储管理,存储管理具有四大功能:,存储分配,存储共享,地址转换与存储保护,存储扩充,设备管理,设备管理具有以下功能:,设备分配,缓冲管理,设备驱动,设备独立性,实现虚拟设备,文件管理,文件管理要完成以下任务:,提供文件逻辑组织方法,提供文件物理组织方法,提供文件的存取方法,提供文件的使用方法,实现文件的目录管理,实现文件的存取控制,实现文件的存储空间管理,网络与通信管理,联网操作系统应具有以下管理功能:,网上资源管理功能,数据通信管理功能,网络管理功能,包括,:,故障管理、安全管理、性能管理、记帐管理和配置管理。,操作系统的主要特性,第一个特性,-,并发性,第二个特性,-,共享性,第三个特性,-,异步性,第四个特性,-,虚拟性,操作系统的主要特性,第一个特性,-,并发性,(1),并发性,(,Concurrence,)指两个或两个以上的事件或活动在同一时间间隔内发生,发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率,第一个特性,-,并发性,(2),内存中同时有多个用户程序,或内存中同时有操作系统程序和用户程序被启动交替、穿插地执行,都是并发性的例子。,第一个特性,-,并发性,(3),并发性使系统变得复杂化,(1),如何从一个活动切换到另一个活动?,怎样将各个活动隔离开来,使之互不干扰,免遭对方破坏?怎样让多个活动协作完成任务?,第一个特性,-,并发性,(4),并发性使系统变得复杂化,(2),怎样协调多个活动对资源的竞争?如何保证每个活动的资源不被其它进程侵犯,?,多个活动共享文件数据时,如何保证数据的一致性?,第一个特性,-,并发性,(5),操作系统中很早就引入重要概念,-,进程,进程能清,晰,刻划操作系统中的并发性,实现并发活动的执行,因而,它已成为现代操作系统的一个重要基础。,第一个特性,-,并发性,(6),采用并发技术的系统称为多任务系统,(Multitasking),,,并发的实质是一个物理,CPU(,也可以多个物理,CPU),在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。,第一个特性,-,并发性,(7),结论,:实现并发技术的关键之一是如何对系统内的多个活动,(,进程,),进行切换的技术。,第一个特性,-,并发性,(8),并行性(,parallelism,)指两个或两个以上事件或活动在同一时刻发生。,在多道程序环境下,并行性使多个程序同一时刻可在不同,CPU,上同时执行。,在分布式系统中,多台计算机并存使程序的并发性得到了更充分发挥,同一时刻每台计算机上都可以有程序在执行。,第,一,个特性,-,并发性,(9),并行的事件或活动一定是并发的,但反之并发的事件或活动未必是并行的。,并行性是并发性的特例,而并发性是并行性的扩展。,第二个特性,-,共享性,(1),共享指操作系统中的资源可被多个并发执行的进程所使用,可分成两种资源共享方式:,互斥,访问,:,系统中的某些资源同一时间内只允许一个进程访问,许多物理设备,以及某些数据和表格都是互斥共享的资源。,第二个特性,-,共享性,(2),同时访问,:,系统中还有许多资源,允许同一时间内多个进程对它进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是,磁盘,,,可重入程序,也可被同时访问。,与共享性有关的问题是资源分配、信息保护、存取控制等,必须要妥善解决好这些问题。,第三个特性,-,异步性,(1),操作系统中的,异步,性处处可见:,一个进程在,CPU,上运行一段时间后,由于等待资源满足或事件发生,被暂停执行,,CPU,转让给另一个进程执行。系统中的进程何时执行?何时暂停?,怎,样的速度向前推进?进程总共要多少时间执行才能完成?这些都是不可予知的,或者说该进程是以异步方式运行的。,第三个特性,-,异步性,(2),操作系统中异步性的,其他例子,:,(1),作业到达系统的类型和时间是随机的;,(2),操作员发出命令或按按钮的时刻是随机的;,(3),程序运行发生错误或异常的时刻是随机的;,(4),各种各样硬件和软件中断事件发生的时刻是随机的,。,第三个特性,-,异步性,(3),异步性给系统带来潜在危险,有可能导致与时间有关的错误。,操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果,。,第四个特性,-,虚拟性,(1),虚拟性,是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术,显然,前者是实际存在的而后者是虚构假想的。,操作系统的定义和目标,而让用户了解设备的物理细节将会十分困难,甚至束手无策。,一种解决方案:程序输出时,先把各自的结果存在磁盘上,等到某程序生成的输出全部存入后,才启动打印机输出,消除了杂乱无章的局面,这种做法只有操作系统才办得到。,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。,怎样协调多个活动对资源的竞争?如何保证每个活动的资源不被其它进程侵犯?,第一个特性-并发性(2),处理器管理的第一项工作是处理中断事件,,(4)各种各样硬件和软件中断事件发生的时刻是随机的。,而让用户了解设备的物理细节将会十分困难,甚至束手无策。,第一个特性-并发性(1),网络与通信管理,网络管理功能,包括:故障管理、安全管理、性能管理、记帐管理和配置管理。,第一个特性-并发性(1),操作系统中异步性的其他例子:,提供基本的可计算性资源,包括:具有一组指令的处理器、可被访问的寄存器和存储器,可被使用的各种I/O设施和设备。,第四个特性,-,虚拟性,(2),通过多道程序和分时使用,CPU,技术,物理上的一个,CPU,变成逻辑上的多个,CPU,。,第四个特性,-,虚拟性,(3),通过,Spooling,技术可把物理上的一台独占设备变成逻辑上的多台虚拟设备,,第四个特性,-,虚拟性,(4),通过窗口技术可把物理上的一个屏幕变成逻辑上的多个虚拟屏幕,,IBM,的,VM,技术把物理上的一台计算机变成逻辑上的多台计算机。,第四个特性,-,虚拟性,(5),虚拟存储器则是把物理上的多个存储器,(,主存和辅存,),变成逻辑上的一个,(,虚存,),的例子。,1.6,嵌入式实时操作系统,什么是嵌入式系统:来自,IEEE,的定义:,“Embedded system is devices used to control,monitor,or assist the operation of equipment,machinery or plants”.,IEEE,上述定义主要从应用上加以定义。可以看出:嵌入式系统是软硬件的综合体,还可以涵盖机械等附属装置。,什么是嵌入式系统:广义上,嵌入式系统是一种应用系统,它至少包含一个可编程的计算机(通常是某种形式的微控制器、微处理器或数字信号处理芯片(,DSP,)且使用该系统的人一般并未意识到该系统是基于计算机的。,什么是嵌入式系统:国内的经典定义,嵌入式系统是,“以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统”,一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等部分组成,用于实现对其他设备的控制、监视或管理等功能。,可以从以下几个方面来理解国内对嵌入式系统的定义:,嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。,嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合后的产物。这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如,Palm OS,之所以在,PDA,领域占有,70,以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;,而风河的,vxWorks,之所以在火星车上得以应用,则是因为其高实时性和高可靠性。,嵌入式系统必须根据应用需求可对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几,KB,到几十,KB,的微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利地进行。,
展开阅读全文