




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BedEmbeddedOperatingSystemEnEmded嵌入式操作系统》教学共139页,您现在浏览的是第1页!嵌入式操作系统EmbeddedOperatingSystem嵌入式操作系统》教学共139页,您现在浏览的是第2页!两个问题全球最大的软件公司Microsoft(微软)最重要的软件产品(立家之本)操作系统(Windows)全球第二大的软件公司Oracle(甲骨文)最重要的软件产品(立家之本)数据库(Oracle)嵌入式操作系统》教学共139页,您现在浏览的是第3页!
课程形式课堂教学、习题课课后作业上机实验嵌入式操作系统》教学共139页,您现在浏览的是第4页!关于操作系统
加深对使用的操作系统的理解,有利于深入编程;用户为了开发应用程序必须与操作系统打交道编程时借鉴操作系统的设计思想和算法(比如插件开发、微内核)操作系统中所用的许多概念和技巧可以推广应用到其他领域存在人们意识不到的大量“操作系统”(如:嵌入式系统-家电、手机)设计操作系统或者修改现有的系统选择购买操作系统:因为我们并不总使用Windows2000/XP嵌入式操作系统》教学共139页,您现在浏览的是第5页!
抽象操作系统具有一种魔力(magic)提供了无限的CPUs
无限的内存单一全球计算能力等等
思维方式的学习嵌入式操作系统》教学共139页,您现在浏览的是第6页!如何学好本课程1、理论学习2、实验、实习3、源代码分析、参与(Linux)4、培养分析问题、解决问题的基本能力嵌入式操作系统》教学共139页,您现在浏览的是第7页!
3、参考书操作系统基础屠立德屠祁清华大学出版社现代操作系统陈向群等译机械工业出版社操作系统吴企渊梁燕清华大学出版社计算机操作系统徐甲同等西安电科大出版社操作系统教程孟庆昌西安电科大出版社计算机操作系统教程张尧学史美林清华大学出版社计算机操作系统教程周长林左万历高等教育出版社Windows操作系统原理尤晋元、史美林机械工业出版社OperatingSystemsPrinciplesLubomirBic清华大学出版社嵌入式操作系统》教学共139页,您现在浏览的是第8页!操作系统在计算机系统的地位计算机硬件操作系统实用程序应用程序操作系统设计者程序员终端用户
操作系统是一个系统软件,它管理计算机系统中的软件和硬件资源,在计算机硬件和用户之间起到一个接口作用。嵌入式操作系统》教学共139页,您现在浏览的是第9页!两个简单有趣的定义1、购买“操作系统”时,零售商所装的所有东西。2、一直运行在计算机上的程序嵌入式操作系统》教学共139页,您现在浏览的是第10页!二、操作系统的特征1、并发性并发性是指在计算机系统中同时存在有多个程序,从宏观上看,这些程序是同时向前推进的。单CPU环境下,并发程序是在CPU上交替运行的。用户程序与用户程序;用户程序和操作系统程序之间并发执行。在多处理器环境下,多个程序的并发特征,就不仅在宏观上是并发的,而且在微观(即在处理机一级)上也是并发的。但是,不论是什么计算环境,我们所指的并发都是在一个操作系统的统一指挥下的并发。嵌入式操作系统》教学共139页,您现在浏览的是第11页!并发和共享是操作系统两个最基本的特性,它们互为依存。1、资源的共享是由于程序的并发执行而引起的,若系统不允许程序并发执行,自然就不存在资源共享问题。2、若系统不能对资源共享实施有效管理,必然会影响到程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率地下。嵌入式操作系统》教学共139页,您现在浏览的是第12页!它是把物理上的一个实体变成逻辑上的多个对应物,或者把物理上的多个实体变成逻辑上的一个对应物的技术。多道程序设计中的CPUSpooling技术窗口技术时分/频分多路-物理信道虚拟存储器4、虚拟性嵌入式操作系统》教学共139页,您现在浏览的是第13页!操作系统的功能和目标处理机管理(进程管理)存储器管理(内存管理)设备管理文件管理作业管理嵌入式操作系统》教学共139页,您现在浏览的是第14页!二、内存管理内存内存是现代计算机系统操作的中心,内存是可以被CPU和I/O设备所共同访问的数据的仓库。一个程序要执行的话,它必须先映射成绝对地址并装入内存。嵌入式操作系统》教学共139页,您现在浏览的是第15页!
三、设备管理嵌入式操作系统》教学共139页,您现在浏览的是第16页!五、作业管理/用户接口
1)程序级:提供一组广义指令供用户程序调用。
2)作业级:提供一组控制操作指令供用户去组织、控制自己的作业执行。
基本任务:使用户合理调度运行用户作业
嵌入式操作系统》教学共139页,您现在浏览的是第17页!打开计算机,首先跳入眼帘的是什么?要拷贝一个文件,具体的拷贝操作是谁完成的?你需要知道文件存放在何处吗?柱面、磁道、扇区描述什么?数据的搬动过程怎样进行繁琐留给自己,简单留给用户
操作系统穿上华丽的外衣-图形界面操作系统穿上朴素的外衣-字符界面<>认识操作系统-从使用者的角度看嵌入式操作系统》教学共139页,您现在浏览的是第18页!<>浏览器信息管理文件管理系统游戏
编译程序编辑程序命令解释程序
操作系统
CPU、内存、I/O接口硬件内核认识操作系统-从所处位置看嵌入式操作系统》教学共139页,您现在浏览的是第19页!从操作系统设计者的角度看操作系统的设计目标是什么?尽可能地方便用户使用计算机让各种软件资源和硬件资源高效而协调地运转起来。计算机的硬件资源和软件资源各指什么?假设在一台计算机上有三道程序同时运行,并试图在一台打印机上输出运算结果,必须考虑哪些问题?从操作系统设计者的角度考虑,一个操作系统必须包含以下几部分操作系统接口CPU管理内存管理设备管理文件管理<>认识操作系统-从设计者角度看嵌入式操作系统》教学共139页,您现在浏览的是第20页!操作系统的演变单道批处理系统
串行执行预先组织好的一组任务提高了系统效率。多道批处理系统可以交错运行多个程序再次提高系统效率。分时系统将处理器的运行时间分成数片,均分或依照一定权重派发给系统中的用户使用快速响应<>操作系统的发展嵌入式操作系统》教学共139页,您现在浏览的是第21页!分析在硬件的性价比较低的时候,操作系统设计追求什么?
在硬件性价比越来越高后,操作系统的设计开始追求的目标是什么?计算机开始普及后,操作系统的设计开始追求?从第三代到第四代计算机,操作系统的发展逐渐摆脱追随硬件发展的状况,形成自己的理论体系进入第四代系统后,分布式系统和多处理器系统虽然极大的扩充了操作系统理论,但系统结构并没有变化,只是各功能模块得以进一步完善。<>操作系统的发展硬件角度下操作系统发展的分析嵌入式操作系统》教学共139页,您现在浏览的是第22页!分析程序设计理论约束着操作系统设计。操作系统的发展滞后于计算机语言的发展,从结构化设计到对象化设计,操作系统总是最后应用新编程理论的软件之一。至今操作系统对于是否需要彻底对象化(即微内核化),还处于徘徊时期,仍在探索单内核与微内核的最佳结合方式。人机交互技术主要是为用户考虑,这是对操作系统设计进行的变革。以Linux为代表的开源软件的出现,打破了带有神秘色彩的传统的封闭式开发模式。
<>软件角度下的操作系统发展轨迹分析
嵌入式操作系统》教学共139页,您现在浏览的是第23页!<>讲究效率的单模块操作系统模块之间直接调用函数,除了函数调用的开销外,没有额外开销。庞大的操作系统有数以千计的函数复杂的调用关系势必导致操作系统维护的困难嵌入式操作系统》教学共139页,您现在浏览的是第24页!<>追求简洁的微内核操作系统内核与各个服务器之间通过通信机制进行交互,这使得微内核结构的效率大打折扣。内核发出请求,服务器做出应答为各个服务器模块的相对独立性,使得其维护相对容易嵌入式操作系统》教学共139页,您现在浏览的是第25页!<>历史悠久的UnixUNIX的两大体系:System
Ⅴ:具有BellLab的血统
BSD4.3:伯克利版的,TCP/IP协议诞生于此Unix的商业化是一把双刃剑嵌入式操作系统》教学共139页,您现在浏览的是第26页!<>Linux之父-LinusTorvalds芬兰、赫尔辛基大学、1990起始于写两个进程然后写驱动程序、文件系统、任务切换程序,从而形成一个操作系统邹形嵌入式操作系统》教学共139页,您现在浏览的是第27页!<>Linux的肥沃土壤-GNUGNU是GNUIsNotUnix的递归缩写,是自由软件基金会的一个项目。
GNU项目产品包括emacs编辑器、著名的GNUC和Gcc编译器等,这些软件叫做GNU软件。GNU软件和派生工作均适用GNU通用公共许可证,即GPL(GeneralPublicLicense)Linux的开发使用了众多的GUN工具嵌入式操作系统》教学共139页,您现在浏览的是第28页!<>Linux系统或发布版符合POSIX标准的操作系统内核、Shell和外围工具。
C语言编译器和其他开发工具及函数库XWindow窗口系统各种应用软件,包括字处理软件、图象处理软件等。嵌入式操作系统》教学共139页,您现在浏览的是第29页!几个流行的版本SlackwarelinuxRedHatlinuxDebianlinuxFreeBSDMadarkelinuxTurbolinux红旗linux嵌入式操作系统》教学共139页,您现在浏览的是第30页!<>整个系统的核心-内核
硬件系统调用接口应用程序进程1应用程序进程2应用程序进程3Linux内核用户进程
内核子系统系统调用嵌入式操作系统》教学共139页,您现在浏览的是第31页!<>内核子系统嵌入式操作系统》教学共139页,您现在浏览的是第32页!Linux内核版本树
0.01
Linux(版)
0.13版
|
产品化版本
实验版本
1.0.0
1.1.0(1.0.0的拷贝)
1.0.X(修改)
1.1.X(增加新功能,进行测试)
…
1.1.95(成为1.2.0)嵌入式操作系统》教学共139页,您现在浏览的是第33页!第三节操作系统的分类根据操作系统在用户界面的使用环境和功能特征的不同,操作系统一般可分为三种基本类型,即批处理系统、分时系统和实时系统。随着计算机体系结构的发展,又出现了嵌入式操作系统、个人操作系统、网络操作系统和分布式操作系统。单用户操作系统多用户操作系统批处理系统分时操作系统实时操作系统嵌入式操作系统》教学共139页,您现在浏览的是第34页!分时操作系统的工作方式是:一台主机连接了若干终端,每个终端有一个用户在使用。用户交互地向系统提出命令请求,系统采用时间片轮转法方式处理服务请求,并通过交互方式在终端上向用户显示结果。分时系统具有多路性、交互性、“独占”性和及时性的特征:
多路性:宏观上看多人同时使用一个CPU;
交互性:用户根据系统响应结果进一步提出新请求;
“独占”性:用户感觉不到计算机为其他用户服务;
及时性:系统对用户提出的请求及时响应。
2、分时操作系统嵌入式操作系统》教学共139页,您现在浏览的是第35页!1)计算机用于生产过程控制时,要求系统能现场实时采集数据,并对采集的数据进行及时处理,进而能自动地发出控制信号控制相应执行机构,使某些参数(压力、温度、距离、湿度)能按预定规律变化,以保证产品质量,导弹制导系统,飞机自动驾驶系统,火炮自动控制系统都是实时过程控制系统。嵌入式操作系统》教学共139页,您现在浏览的是第36页!3)事务处理系统不仅对终端用户及时作出响应,而且要对系统中的文件或数据库频繁更新。例如,银行业务处理系统,每次银行客户发生业务往来,均需修改文件或数据库。要求这样的系统响应快捷、安全保密,可靠性高。嵌入式操作系统》教学共139页,您现在浏览的是第37页!
个人计算机系统是一种单用户多任务的操作系统。它主要供个人使用,功能强、价格便宜。4、个人计算机操作系统从七十年代中期到八十年代早期,微型计算机上运行的一般是单用户单任务操作系统,如:CP/M、CDOS(Cromemco磁盘操作系统)、MDOS(Motorola磁盘操作系统)和早期的MS-DOS(Microsoft磁盘操作系统)。八十年代以后到九十年代初,微机操作系统开始支持单用户多任务和分时操作。以MP/M、XENIX和后期MS-DOS为代表。嵌入式操作系统》教学共139页,您现在浏览的是第38页!5、网络操作系统网络操作系统是基于计算机网络的一种操作系统,是在各种计算机操作系统之上按网络体系结构协议标准开发的软件,包括网络管理、通讯、安全、资源共享和各种网络应用。其主要目标是计算机之间的相互通讯和资源共享。因为现代操作系统的主要特征之一就是网络功能,因此,除了20世纪90年代初期时,Novell公司的Netware系统被称为网络操作系统之外,人们一般不再特指某个操作系统为网络操作系统。嵌入式操作系统》教学共139页,您现在浏览的是第39页!7、嵌入式操作系统电子消费产品-家用电器、手机、武器、控制设备嵌入式(计算机)系统硬件不再以物理上独立的装置或设备形式出现,而是大部分甚至全部都隐藏和嵌入到各种应用系统中。特点:微型化-可用内存小(1MB以内、没有外存、微处理器字长短且运算速度有限、能提供的能源较少、外部设备和被控设备千变万化)可定制-专业化实时性-语音、视频、军事武器、航空航天、交通运输可靠性嵌入式操作系统》教学共139页,您现在浏览的是第40页!1.4.1操作系统结构设计概况(1)操作系统设计呈现出以下特征:一是复杂程度高,二是生成周期长,三是正确性难保证。例如,IBMOS/360、Windows2000嵌入式操作系统》教学共139页,您现在浏览的是第41页!操作系统的内核现代操作系统中大都采用了进程的概念,为了解决系统的并发性、共享性和随机性,并使进程能协调地工作,单靠计算机硬件提供的功能是十分不够的。例如,进程调度工作目前就不能用硬件来实现;而进程自己调度自己也是困难的。所以,系统必须有一个软件部分能对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好运行环境,这个部分就是操作系统的内核。嵌入式操作系统》教学共139页,您现在浏览的是第42页!内核的执行有以下属性操作系统的状态:核心态(管态)、用户态(目态)。内核和裸机组成了一台虚拟机。嵌入式操作系统》教学共139页,您现在浏览的是第43页!二、操作系统的结构
1、模块组合结构
2、层次结构
3、虚拟机结构
4、客户/服务器和微核法嵌入式操作系统》教学共139页,您现在浏览的是第44页!功能1功能3功能2功能4功能7功能8功能5功能6功能9功能10功能12功能11嵌入式操作系统》教学共139页,您现在浏览的是第45页!为了克服模块接口法的缺点,人们又进一步提出了有序分层法。嵌入式操作系统》教学共139页,您现在浏览的是第46页!
这种层次结构是单向依赖的,上一层模块所提供的功能是建立在下一层的基础上的,或着说上一层功能是下一层功能的扩充和延续,逐步为用户提供一个功能强大的计算机系统。处理器分配和多道程序内存和磁盘管理进程通讯输入/输出管理用户程序操作员
功能嵌入式操作系统》教学共139页,您现在浏览的是第47页!优缺点1、整体问题局部化:分解为单一功能的模块,组织成层次结构,具有单向依赖性,使层次间的依赖和调用关系清晰规范。2、增加、修改和替换一个层次不影响其他层次,有利于系统的维护和扩充。3、层次结构是分层单向依赖的,必须要建立模块间的通信机制,系统花费在通信上的开销较大。嵌入式操作系统》教学共139页,您现在浏览的是第48页!物理计算机资源通过多重化和共享技术可改变成多个虚拟机。这种技术的基本做法是:通过用一类物理设备来模拟另一类物理设备,或通过分时地使用一类物理设备,把一个物理实体改变成若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是虚幻的、感觉上的。嵌入式操作系统》教学共139页,您现在浏览的是第49页!4客户/服务器与微内核结构
客户/服务器结构的思想:将操作系统分成两大部分:一是运行在用户态并以客户/服务器方式活动的进程;
二是运行在核心态的内核。
嵌入式操作系统》教学共139页,您现在浏览的是第50页!
客户/服务器结构的思想
运行在核心态的内核把该消息传给服务器;
服务器执行相应操作,再通过内核用消息把结果返回给用户。微内核应用进程页面管理程序缺页中断恢复地址空间函数调用示例:内核外的页面管理程序做缺页处理嵌入式操作系统》教学共139页,您现在浏览的是第51页!微内核结构的优点有:1)一致性接口
2)可扩充性
3)可移植性
4)可靠性
5)支持分布式系统
6)支持面向对象的操作系统缺点:性能问题:发送消息和接收消息需要花费一定的时间代价,所有进程只能通过微内核相互通信,所以它就成为系统的瓶颈。(如:GUI图形引擎、微内核大小-代300KB代码和140个系统调用,第二代12KB和7个系统调用)嵌入式操作系统》教学共139页,您现在浏览的是第52页!Linux是单内核操作系统,Mach是微内核操作系统,Windows2000/XP是改进的C/S结构(微内核+分层结构)。嵌入式操作系统》教学共139页,您现在浏览的是第53页!DOS操作系统:DiskOperatingSystem1980年11月,IBM公司和Microsoft公司正式签约委托Microsoft为其即将推出的IBM-PC机开发一个操作系统,这就是PC-DOS,又称IBM-DOS。1981年,Microsoft推出了MS-DOS1.0版,两者的功能基本一致,统称DOS。到1994年推出了最后的版本DOS6.22DOS操作系统微软的发家之宝。嵌入式操作系统》教学共139页,您现在浏览的是第54页!Windows操作系统Microsoft公司成立于1975年,到现在已经成为世界上最大的软件公司。从1983年11月Microsoft公司宣布Windows诞生到今天的WindowsXP,Windows已经走过了20个年头,并且成为风靡全球的微机操作系统。目前个人计算机上采用Windows操作系统的占90%,微软公司几乎垄断了PC行业。嵌入式操作系统》教学共139页,您现在浏览的是第55页!嵌入式操作系统》教学共139页,您现在浏览的是第56页!嵌入式操作系统》教学共139页,您现在浏览的是第57页!嵌入式操作系统》教学共139页,您现在浏览的是第58页!Unix系统和C语言的设计者Ritcchie和Thompson共同获得了1983年度的ACM图灵奖(ACMTuringAward)和软件系统奖(SoftwareSystemAward)。嵌入式操作系统》教学共139页,您现在浏览的是第59页!实例研究:Windows2000/XPWindows2000/XP的设计者们认为:(1)采用整体式或层次式操作系统体系结构是不恰当的,它们在可扩充性和可移植性方面效果不好。(2)采用类似于Mach的微内核结构也是不恰当的,纯的微内核设计只涉及最小内核,其他服务都运行在用户态,它的运算成本太高,在商业上不适用。Windows2000/XP把许多系统服务代码放在核心态运行,包括:文件服务、设备管理、图形引擎等。在一个实际操作系统的设计过程中,要综合考虑来自用户、系统、兼容性等方方面面的因素。嵌入式操作系统》教学共139页,您现在浏览的是第60页!Windows2000/XP客户/服务器结构结构简框
系统进程服务进程应用程序环境子系统
子系统动态链接库用户态核心态
执行体内核设备驱动程序
硬件抽象层图形引擎嵌入式操作系统》教学共139页,您现在浏览的是第61页!1)硬件抽象层HALHAL是实现可移植性的关键部分,位于硬件最上面和系统的最低层,把系统的内核、设备驱动程序及执行体从与平台相关的硬件差异中分隔开来。HAL隐藏各种与硬件有关的细节,如系统总线、计时器、I/O接口、DMA、中断控制器、多处理器通信机制等,对内核来说是运行在计算机硬件平台上的低级接口。嵌入式操作系统》教学共139页,您现在浏览的是第62页!3)内核内核执行操作系统最基本的操作,决定操作系统如何使用处理器并确保慎重使用它们。内核提供如下函数:
(1)线程管理和调度;
(2)进程切换;(3)陷阱处理和异常调度;嵌入式操作系统》教学共139页,您现在浏览的是第63页!执行体包含下列重要组件进程和线程管理器虚拟内存管理器安全访问监视器I/O管理器高速缓存管理器
嵌入式操作系统》教学共139页,您现在浏览的是第64页!6)系统进程
Idle进程:System进程和System:会话管理器SMSS.EXE:WIN32子系统CSRSS.EXE:登录进程WinLogon.EXE:本地安全身份身份鉴别服务器进程LSASS.EXE:服务管理器SERVICES.EXE及其相关服务器进程:
嵌入式操作系统》教学共139页,您现在浏览的是第65页!8)环境子系统Win32子系统是将基本的执行体系统服务的某些子集提供给应用程序,向用户应用程序展示本地操作系统服务,提供操作系统“环境”或个性。Windows2000/XP带有三个环境子系统:WIN32、POSIX和OS/21.2。嵌入式操作系统》教学共139页,您现在浏览的是第66页!六、常见的嵌入式操作系统简介WindowsCEPlamOSSymbianVxWorksNucleusuC/OSIIThreadXECOSLINUX嵌入式操作系统》教学共139页,您现在浏览的是第67页!常见的嵌入式操作系统PalmOS一款优秀的PDA的操作系统特点:有较好的图形界面较高的系统效率,可在低端处理器上运行OS6以前的版本不支持多任务嵌入式操作系统》教学共139页,您现在浏览的是第68页!常见的嵌入式操作系统VxWorks(美国风河公司)广泛用于通信、军事、航空等领域,特点:高安全性与可靠性内核可裁剪支持多种CPU较完善的开发工具许可证价格昂贵一般无法得到源码嵌入式操作系统》教学共139页,您现在浏览的是第69页!常见的嵌入式操作系统uC/OSII特点:开放源码通过美国联邦航空管理局(FAA)认证,稳定性安全性较高缺点:过于简单,对于复杂系统开发工作量较大商用需要许可证嵌入式操作系统》教学共139页,您现在浏览的是第70页!常见的嵌入式操作系统ECOSREDHAT公司开发的嵌入式操作系统特点:具有良好的可配置能力,提供了图形化的配置工具开放源代码,完全免费支持多种CPU比LINUX更高的实时性良好的开放性,兼容性和可扩展性简单易学,易于操作嵌入式操作系统》教学共139页,您现在浏览的是第71页!章操作系统基础嵌入式操作系统》教学共139页,您现在浏览的是第72页!操作系统涉及到计算机科学很多领域计算机体系结构/硬件软件设计程序设计语言数据结构算法网络学习核心技术并能在其他地方应用操作系统是目前最复杂的软件系统之一嵌入式操作系统》教学共139页,您现在浏览的是第73页!
课程的地位及特点课程的特点实践性强(从实践总结出原理)涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程等等)错综复杂:纵横交错嵌入式操作系统》教学共139页,您现在浏览的是第74页!重点参考书1、任哲等,《嵌入式操作系统基础》,北京航空航天大学出版社2、本课程课件嵌入式操作系统》教学共139页,您现在浏览的是第75页!节操作系统的概念计算机系统嵌入式操作系统》教学共139页,您现在浏览的是第76页!操作系统的定义定义:用以控制和管理计算机硬件和软件资源、合理地组织计算机的工作流程以及方便用户使用计算机的程序的集合。这个定义具有以下三个方面的含义:1、操作系统统一控制和管理计算机系统所拥有的硬件和软件资源,使之可以得到更加有效合理的利用。2、操作系统能合理地组织计算机系统的工作流程,增强系统的处理能力。3、操作系统提供了用户与裸机之间的接口,使用户更方便地使用计算机。嵌入式操作系统》教学共139页,您现在浏览的是第77页!二、操作系统的特征1、并发性2、共享性3、异步性/随机性4、虚拟性嵌入式操作系统》教学共139页,您现在浏览的是第78页!2、共享性是指操作系统程序与多个用户程序共享系统中的各种资源。嵌入式操作系统》教学共139页,您现在浏览的是第79页!3、随机性/异步性
操作系统的运行是在一个随机的环境中运行的,即用户不能对所运行的程序的行为以及硬件设备的情况做任何的假定。我们无法知道一个运行着的程序会在什么时候做什么事情,也无法知道一个设备什么时候向处理器发出中断请求,因此我们也无法知道操作系统正处于什么样的状态之中。嵌入式操作系统》教学共139页,您现在浏览的是第80页!计算机的逻辑结构中央处理器外存储器内存储器输出设备系统总线输入设备适配器适配器适配器I/O端口I/O端口外存储器接口控制器运算器存储器三、操作系统的功能从功能即资源管理的观点看,操作系统的主要任务就是管理计算机系统的资源。嵌入式操作系统》教学共139页,您现在浏览的是第81页!操作系统的功能和目标一、处理机管理(进程管理)
进程管理主要是对处理机进行管理。CPU是计算机中最宝贵的硬件资源。为了提高CPU的利用率,操作系统采用了多道程序技术。当一个程序因等待某一条件而不能运行下去时,就把处理机占用权转交给另外一个可运行程序。或者,当出现了一个比当前运行的程序更重要的可运行程序时,后者应能抢占CPU。为了描述多道程序的并发执行,就引入了进程的概念。通过进程管理协调多道程序之间的关系,解决处理机实施分配策略,使CPU资源得到最充分的利用。正是由于操作系统对处理机管理策略的不同,从而呈现在用户面前的就是具有不同性质的操作系统,例如批处理方式、分时处理方式和实时处理方式等。
嵌入式操作系统》教学共139页,您现在浏览的是第82页!存储器管理主要管理内存资源。它包括以下几点:1)内存分配:在内存中除了操作系统、其他系统软件外,还有一个或多个用户程序,操作系统要解决分配问题,使其互不冲突。2)存储保护:由于系统中有多个程序,要保证他们之间互部干扰,保证用户程序不破坏系统程序。3)内存扩充:当用户作业所需要的内存量超过计算机系统所提供的实际内存容量时,就要把内存和外存结合起来,为用户提供一个比实际内存大的多的虚拟存储器。类似于仓库管理嵌入式操作系统》教学共139页,您现在浏览的是第83页!四、文件管理系统中的信息资源(程序和数据)是以文件的形式存放在外存储器上的,需要时再将其装入。文件管理的任务就是有效支持文件存储、检索修改,解决文件共享、保密和保护,以方便用户安全、方便地访问文件。嵌入式操作系统》教学共139页,您现在浏览的是第84页!不同角度看到的操作系统操作系统整体看操作系统设计者使用者普通开发者第二节操作系统视角嵌入式操作系统》教学共139页,您现在浏览的是第85页!拷贝命令的C语言实现片断<>inf=open(“/floppy/TEST”,O_RDONLY,0);out=open(“/mydir/test”,O_WRONLY,0600);do{l=read(inf,buf,4096);write(outf,buf,l);}while(l);close(outf);close(inf);认识操作系统-从程序开发者的角度看
嵌入式操作系统》教学共139页,您现在浏览的是第86页!操作系统是其它所有用户程序运行的基础。
<>#include<stdio.h>main(){printf(“Helloworld\n”)}用户告诉操作系统执行test程序操作系统通过文件名找到该程序检查其类型,检查程序首部,找出代码和数据存放的地址文件系统找到个磁盘块操作系统建立程序的执行环境操作系统把程序从磁盘装入内存,并跳到程序开始处执行该程序的执行过程简述如下:操作系统检查字符串的位置是否正确操作系统找到字符串被送往的设备操作系统将字符串送往输出设备窗口系统确定这是一个合法的操作,然后将字符串转换成像素窗口系统将像素写入存储映像区视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)显示器发射电子束。你在屏幕上看到Helloworld。从中看到什么认识操作系统-从程序执行看嵌入式操作系统》教学共139页,您现在浏览的是第87页!
操作系统是计算机系统中的一个系统软件,是一些程序模块的集合——它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效、顺畅地运行。<>嵌入式操作系统》教学共139页,您现在浏览的是第88页!硬件角度下的操作系发展轨迹年代硬件特点操作系统特点背景机械计算机时代17世纪~20世纪初1)纯机械结构,低速
2)只能进行简单的数学运算纯手工操作从计算尺至差分机到分析机发展了数百年代计算机
1946年~50年代末电子管计算机1)体积大、能耗高、故障多、价格贵
2)难以普及应用无操作系统
(程序按机器码编写,载体从插件板到卡片与纸带)1906年发明电子管
1946ENIAC研制成功
(台电子管计算机)年代硬件特点操作系统特点背景第二代计算机
50年代末~60年代中期
晶体管计算机1)采用印刷电路
2)稳定性与可靠性大大提高
3)批量生产成为可能
4)进入实际应用领域但数量有限1)单道批处理系统
2)操作系统以监督软件形式出现
3)任务按顺序方式处理1947年发明晶体管第三代计算机
60年代中期~70年代初
集成电路计算机1)体积减小,性价比迅速提高
2)小型计算机发展迅速
3)进入商业应用
4)尚不适合家庭应用的需求1)涌现大批操作系统
多道批处理系统、分时系统和实时系统
2)奠定了现代操作系统的基本框架1958年发明集成电路
1971年INTEL发明微处理器硬件角度下的操作系统发展轨迹嵌入式操作系统》教学共139页,您现在浏览的是第89页!<>主流操作系统系统特点计算机语言背景无手工操作无编程语言直接使用机器代码1936年图灵提出图灵机单道批处理系统作业运行的监督程序编程语言雏形期1957年FORTRAN语言开发成功多道批处理
分时系统
实时系统
多处理系统操作系统结构确立,分为处理机管理、内存管理、设备管理、文件管理等模块1)编程语言大量涌现
2)结构化程序设计
3)C语言逐渐60年代的软件危机导致软件工程的发展
1969年Unix诞生
1972年C语言推出主流操作系统系统特点计算机语言背景类Unix系列
WINDOWS系列人机交互成为主题
1)可视化界面
2)多媒体技面向对象语言成为主流80年代中期开始面向对象技术逐步发展网络操作系统
分布式操作系统微内核技术兴起1)JAVA语言
2)脚本语言兴起1995年JAVA推出嵌入式系统单内核与微内核竞争激烈编程工具向跨平台方向发1991年免费的操作系统Linux发布软件角度下的操作系统发展轨迹
嵌入式操作系统》教学共139页,您现在浏览的是第90页!<>讲究效率的单模块操作系统进程管理内存管理设备管理文件管理模块之间可以互相调用的单模块结构嵌入式操作系统》教学共139页,您现在浏览的是第91页!<>追求简洁的微内核操作系统客户进程进程服务器内存服务器文件服务器…微内核嵌入式操作系统》教学共139页,您现在浏览的是第92页!<>历史悠久的Unix在MULTICS(1969)的肩上(MIT,BellLab,GE)研制者KenThompson和DennisM.Ritchie(BellLab)
在Unix的诞生还伴有C语言呱呱落地Unix是现代操作系统的代表:安全、可靠、强大的计算能力嵌入式操作系统》教学共139页,您现在浏览的是第93页!<>自由而奔放的黑马-Linux诞生于学生之手成长于Internet壮大于自由而开放的文化嵌入式操作系统》教学共139页,您现在浏览的是第94页!<>Linux得以流行的原因之一-遵循POSIX标准POSIX表示可移植操作系统接口(PortableOperatingSystemInterface)POSIX是在Unix标准化过程中出现的产物。POSIX1003.1标准定义了一个最小的Unix操作系统接口任何操作系统只有符合这一标准,才有可能运行Unix程序嵌入式操作系统》教学共139页,您现在浏览的是第95页!<>GPL-开源软件的法律GPL允许软件作者拥有软件版权但GPL规定授予其他任何人以合法复制、发行和修改软件的权利。嵌入式操作系统》教学共139页,您现在浏览的是第96页!<>开放与协作的开发模式世界各地软件爱好者集体智慧的结晶提供源代码,遵守GPL。经历了各种各样的测试与考验,软件的稳定性好。开发人员凭兴趣去开发,热情高,具有创造性。嵌入式操作系统》教学共139页,您现在浏览的是第97页!<>Linux内核
Linus领导下的开发小组开发出的系统内核是所有Linux发布版本的核心内核开发人员一般在百人以上,任何自由程序员都可以提交自己的修改工作。采用邮件列表来进行项目管理、交流、错误报告有大量的用户进行测试,正式发布的代码质量高嵌入式操作系统》教学共139页,您现在浏览的是第98页!<>整个系统的核心-内核
用户进程—运行在Linux内核之上的一个庞大软件集合。系统调用—内核的出口,用户程序通过它使用内核提供的功能。Linux内核—操作系统的灵魂,负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络上接收和发送数据包等等。硬件—包括了Linux安装时需要的所有可能的物理设备。例如,CPU、内存、硬盘、网络硬件等等。嵌入式操作系统》教学共139页,您现在浏览的是第99页!<>内核子系统进程调度-控制着进程对CPU的访问。内存管理-允许多个进程安全地共享主内存区域虚拟文件系统-隐藏各种不同硬件的具体细节,为所有设备提供统一的接口。网络-提供了对各种网络标准协议的存取和各种网络硬件的支持。进程间通信(IPC)-支持进程间各种通信机制,包括共享内存、消息队列及管道等。嵌入式操作系统》教学共139页,您现在浏览的是第100页!内核源代码结构嵌入式操作系统》教学共139页,您现在浏览的是第101页!1、批处理操作系统(BatchProcessing)批处理操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户作业组成一批作业,输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。优点:作业流自动化;效率高;吞吐率高。缺点:无交互手段;调试程序困难。嵌入式操作系统》教学共139页,您现在浏览的是第102页!3、实时操作系统实时操作系统是指计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。目前有三种典型的实时系统:过程控制系统、信息查询系统和事务处理系统。嵌入式操作系统》教学共139页,您现在浏览的是第103页!2)计算机还可用于控制进行实时信息处理,情报检索系统是典型的实时信息处理系统,计算机接收成千上百从各处终端发来的服务请求和提问,系统应在极快的时间内做出回答和响应。嵌入式操作系统》教学共139页,您现在浏览的是第104页!操作系统的进一步发展微机(个人计算机)操作系统网络操作系统的发展分布式操作系统的发展嵌入式操作系统的发展嵌入式操作系统》教学共139页,您现在浏览的是第105页!近年来,微机操作系统得到了进一步发展,以Windows、OS/2、MACOS和Linux为代表的新一代微机操作系统具有GUI、多用户和多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用编程支持API等功能。嵌入式操作系统》教学共139页,您现在浏览的是第106页!6、分布式操作系统大量的计算机通过网络被连接在一起,可以获得极高的运算能力和广泛的数据共享。这种系统被称为分布式操作系统。
分布式操作系统具有:统一性、共享性、“透明性和自治性的特征:
统一性:它是一个统一的操作系统;
共享性:所有的分布式系统中的资源是共享的;
透明性:用户并不知道某一操作具体运行在哪一台计算机。
自治性:分布式系统中的多个主机都处于平等地位。嵌入式操作系统》教学共139页,您现在浏览的是第107页!第四节操作系统的体系结构一、操作系统的结构设计概况和其构件二、操作系统的结构模块接口法(模块组合法、整体式结构)层次式结构虚拟机结构客户/服务器结构和微核结构嵌入式操作系统》教学共139页,您现在浏览的是第108页!操作系统的结构设计概况(2)
操作系统结构设计有两层含义
一.是研究操作系统程序的数据结构和控制结构;二.是组成操作系统程序的构造过程和方法。采用不同的构件和构造方法可组成不同结构的操作系统。嵌入式操作系统》教学共139页,您现在浏览的是第109页!操作系统的内核内核不是进程,是提供支持系统运行的基本功能的一组程序模块,有了内核的支撑,运行环境得到改善,安全性得到保证,系统效率就能提高。分类:微内核和单内核。嵌入式操作系统》教学共139页,您现在浏览的是第110页!内核被触发和内核处理流程
运行进程发现中断源发现中断源装配中断码交换PSW自愿中断事件保护现场分析和传递参数原语?原语处理创建系统进程系统调用处理强迫中断事件机器故障中断处理I/O中断处理程序中断处理队列调整低级调度运行进程是否管态目态目态硬件完成操作系统内核完成外中断处理创建系统进程嵌入式操作系统》教学共139页,您现在浏览的是第111页!1模块组合(接口)法这是早期使用的一种结构设计方法。“模块接口”,一是“模块化”,二是“接口”。将一个大型软件系统按功能划分成若干相对独立的模块,并规定好模块之间的接口,使模块之间的联系尽可能少。然后对模块分别进行设计、调试,最后将模块按规定的接口连接起来,形成完整的、模块化的操作系统。嵌入式操作系统》教学共139页,您现在浏览的是第112页!模块接口法优点:①结构紧密、组合方便,对不同环境和用户的不同需求,可以组合不同模块来满足,灵活性大;②针对某个功能可用最有效的算法和任意调用其他模块中的过程来实现,因此,效率较高;③由于划分成模块和子模块,设计和编码可齐头并进,能加快操作系统研制过程。缺点:模块独立性差,模块之间牵连甚多,形成复杂的调用关系,甚至可能有很多循环调用,造成系统结构不清晰,正确性难保证,可靠性降低,系统功能的增、删、改十分困难。嵌入式操作系统》教学共139页,您现在浏览的是第113页!2、层次结构操作系统的层次结构就是把所有模块按功能的调用次序分别排列成若干层,各层之间的模块只能是单向依赖或单向调用。层次结构的优点:把复杂的整体问题分解成若干个比较简单的相对独立的部分,使的一个复杂的操作系统分解成许多功能单一的模块。嵌入式操作系统》教学共139页,您现在浏览的是第114页!嵌入式操作系统》教学共139页,您现在浏览的是第115页!3、虚拟机结构虚拟机系统的最早尝试是IBM公司的CP/CMS,后来改名为VM/370(SeawrightandMacKinnon,1979),这一系统的后继产品今天仍然在IBMS/390等大型主机上广泛使用。它基于如下思想,一个分时系统应该提供以下特性:(1)多道程序;(2)一个具有比裸机更方便、界面扩展的计算机。VM/370的主旨在于将此二者彻底地隔离开来。嵌入式操作系统》教学共139页,您现在浏览的是第116页!虚机器嵌入式操作系统》教学共139页,您现在浏览的是第117页!
客户/服务器结构的思想每个进程实现一类服务,称服务器进程(如文件服务、进程管理服务、存储管理服务、网络通信服务等)。它的任务是检查是否有客户提出服务请求,如果有请求则在满足客户的要求后返回结果,于是,用户进程与服务器进程形成了客户/服务器(C/S)关系。嵌入式操作系统》教学共139页,您现在浏览的是第118页!
内核只实现极少任务,主要起信息验证、交换的作用,因而,称微内核(Microkernel),这种结构也就称为客户/服务器与微内核结构。嵌入式操作系统》教学共139页,您现在浏览的是第119页!嵌入式操作系统》教学共139页,您现在浏览的是第120页!五、流行操作系统简介DOS操作系统Windows操作系统Unix操作系统Linux操作系统IBM操作系统其他流行操作系统嵌入式操作系统》教学共139页,您现在浏览的是第121页!DOS采用汇编语言书写,系统开销小,运行效率高。另外,DOS针对PC机环境来设计,实用性好,较好地满足了低档微机工作的需要。但是,随着PC机性能的突飞猛进,DOS的缺点不断显露出来,已经无法发挥硬件的能力,又缺乏对数据库、网络通信、多媒体等的支持,没有通用的应用程序接口,加上用户界面不友善,操作使用不方便,从而,逐步让位于Windows等其他操作系统。嵌入式操作系统》教学共139页,您现在浏览的是第122页!嵌入式操作系统》教学共139页,您现在浏览的是第123页!嵌入式操作系统》教学共139页,您现在浏览的是第124页!UNIX操作系统它最早由美国电报电话公司贝尔实验室的Thompson和Ritchie于1969年在DEC公司的小型系列机PDP-7上开发成功,1971年被移植到PDP-11上。1973年Ritchie在BCPL(BasicCombinedProgrammingLanguage)语言基础上开发出C语言,这对UNIX的发展产生了重要作用,用C语言改写后的第3版UNIX具有高度易读性、可移植性,为迅速推广和普及走出了决定性的一步嵌入式操作系统》教学共139页,您现在浏览的是第125页!UNIX取得成功的最重要原因是系统的开放性,公开源代码,用户可以方便地向UNIX系统中逐步添加新功能和工具,这样可使UINX越来越完善,能提供更多服务,成为有效的程序开发支撑平台。它是目前唯一可以安装和运行在从微型机、工作站直到大型机和巨型机上的操作系统。嵌入式操作系统》教学共139页,您现在浏览的是第126页!Linux和自由软件Linux是由
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年食品杀菌设备合作协议书
- 心理健康课件存档方法
- 空乘说课课件视频大全
- 空中飞屋儿童课件视频
- 2025年消防装备生产与销售承包合同
- 二零二五年度二手电力设备买卖与检修合同
- 二零二五年度商业地产物业管理租赁合同
- 2025版银行定期存款提前支取合同模板
- 二零二五年度冷链食品运输质量保障合同
- 2025版旅游景区夜间守护更夫工作聘用合同样本
- 病原生物学-教程-第十六章-衣原体
- 中医内科学方剂歌诀
- 智能实时音视频传输网络的应用场景与需求
- 模块10 焊接接头的强度计算《焊接科学与工程》教学课件
- 高级半导体分立器件和集成电路装调工技能鉴定考试题库(含答案)
- 2024年工会专业知识考试题库及答案
- 2026年全年日历表带农历(A4可编辑可直接打印)预留备注位置
- 宁夏回族自治区吴忠市五年级数学期末评估试卷详细答案和解析
- 数据资产运营方案
- 衡真教育25届主系统阶段测试题(本科)附有答案
- 施工现场视频监控系统施工方案
评论
0/150
提交评论