嵌入式操作系统PPT讲稿.ppt
《嵌入式操作系统PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《嵌入式操作系统PPT讲稿.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式操作系统第1页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 22.1 Linux及其应用Linux操作系统是UNIX操作系统的一种克隆系统。它诞生于1991年的10月5日(这是第一次正式向外公布的时间)。此后借助于因特网,经过全世界各地计算机爱好者的共同努力,现已成为当今世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长。2.1.1 Linux与UNIX和GNU2.1.2 Linux的特点2.1.3 Linux的发展及应用第2页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 3Linux与UNIX和GNU UNIX操作系统是
2、美国贝尔实验室的Ken.Thompson和Dennis Ritchie于1969年夏在DEC PDP-7小型计算机上开发的一个分时操作系统。Ken Thompson在1969年夏天利用一个月的时间开发了UNIX操作系统的原型。后经Dennis Ritchie于1972年用移植性很强的C语言进行了改写,使得UNIX系统在大专院校得到了推广。MINIX系统是由Andrew S.Tanenbaum(AST)于1987年开发的,主要用于学生学习操作系统原理。AST工作在荷兰Amsterdam的Vrije大学,并从事数学与计算机科学系统研究,是ACM和IEEE的资深会员(全世界也只有很少人是两会的资深会
3、员)。GNU计划和自由软件基金会FSF(the Free Software Foundation)是由Richard M.Stallman于1984年一手创办的,旨在开发一个类似UNIX,并且是自由软件的完整操作系统:GNU系统(GNU是“GNUs Not UNIX”的递归缩写,它的发音为“gun-NEW”)。各种使用Linux作为核心的GNU操作系统正在被广泛地使用。虽然这些系统通常被称为“Linux”,但是Stallman认为,以严格意义上讲,它们应该被称为GNU/Linux系统。到20世纪90年代初,GNU项目已经开发出许多高质量的免费软件,其中包括有名的emacs编辑系统、bash s
4、hell程序、gcc系列编译程序、gdb调试程序,等等。这些软件为Linux操作系统的开发创造了一个合适的环境,这也是Linux能够诞生的基础之一,以至于目前许多人都将Linux操作系统称为“GNU/Linux”操作系统。第3页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 4POSIX(Portable Operating System Interface for Computing Systems)是由IEEE和ISO/IEC开发的一组标准。该标准是基于现有UNIX的实践经验,描述了操作系统的调用服务接口。用于保证编制的应用程序可以在源代码一级上、在多种操作系统上移
5、植和运行。它是在1980年一个UNIX用户组(usr/group)的早期工作基础上完成的。20世纪90年代初,POSIX标准的制定处于最后投票敲定的时候,此时也正是Linux刚刚起步的时候,这个UNIX标准为Linux提供了极为重要的信息,使得Linux能够在标准的指导下进行开发,并能够与绝大多数UNIX操作系统兼容。通过上述说明,我们可以对上述Linux的5大支柱归纳如下:UNIX操作系统Linux就是UNIX的一种克隆系统。UNIX的重要性就不用多说了。MINIX操作系统MINIX操作系统也是UNIX的一种克隆系统,它于1987年由著名计算机教授Andrew S.Tanenbaum开发完成
6、。由于MINIX系统的出现并且提供源代码(只能免费用于大学内),在全世界的大学中刮起了学习UNIX系统旋风。Linux刚开始就是参照MINIX系统于1991年才开始开发。GNU计划开发Linux操作系统,以及Linux上所用大多数软件基本上都出自GNU计划。Linux只是操作系统的一个内核,没有GNU软件环境(如bash shell),则Linux将寸步难行。POSIX标准该标准在推动Linux操作系统以后朝着正规路上发展起着重要的作用,是Linux前进的灯塔。Internet如果没有Internet网,没有遍布全世界的无数计算机黑客的无私奉献,那么Linux最多只能发展到0.13(0.95)
7、版的水平第4页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 5Linux的特点 1开放性是指系统遵循世界标准规范,特别是遵循开放系统互联(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互联。Linux采用GPL授权,除了把源代码公开以外,任何人都可以自由使用、修改、散布;而Linux核心本身采用模块化设计,让人很容易增减功能,由于Linux具有这样高的可伸缩性,所以可以调出最适合我们硬件平台的核心出来。2多用户是指系统资源可以被不同用户各自拥有并使用,即每个用户对自己的资源有特定的权限,互不影响。Linux和UNIX都具有多用户的特性。
8、3多任务是现代计算机最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。4稳定性强,Linux不属于任何一家公司,但它却拥有全世界愿意投入自由软件的开发人员。在全球各处都有无数的人参与Linux核心的改进、调试与测试,也正因此造就了稳定度高的Linux。所以,Linux虽不是商业的产物,但它的质量却不逊于商业产品。5设备独立性,是指操作系统把所有外部设备统一当做文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不
9、必知道它们的具体存在形式。另外,由于用户可以免费得到Linux的内核源代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。第5页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 66提供了丰富的网络功能完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。Linux为用户提供了完善的、强大的网络功能,包括支持Internet、文件传输和远程访问。7可靠的系统安全在Linux操作系统中采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这些措施为网络多用户环境中的用户提供了必要的安全保障。8良好的
10、可移植性可移植性是指将操作系统从一个平台转移到另一个平台,并使它仍然能按其自身的方式运行的能力。Linux一开始是基于Intel 386机器设计的,但是随着网络的散布,加上有许多工程师致力于各式平台的移植,使得Linux可以在x86、MIPS、ARM/StrongARM、PowerPC、Motorola 68k、Hitachi SH3/SH4、Transmeta等平台上运行。这些平台几乎覆盖了所有嵌入式系统的CPU种类,这样,在硬件平台设计时,使得可以考虑的CPU种类增加了不少。9应用软件多自由软件世界里有个很大的特点就是软件多,授权几乎都是采用GPL方式,大家都可以自由参考与使用,但是因为这
11、些软件多半是由设计者利用空余时间开发的,不以赢利为目的,所以并不能担保这些软件完全没有问题。尽管如此,仍有许多优秀软件出现,例如,大家熟知的KDE与GNOME便是很好的证明。第6页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 7Linux的发展及应用 1991年10月5日,Linus Torvalds在新闻组comp.os.minix发布了大约有1万行代码的Linux v0.01版本。1992年,大约有1000人在使用Linux,基本上都属于真正意义上的黑客。1993年,大约有100余名程序员参与Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux
12、0.99的代码大约有十万行,用户大约有10万个左右。1994年3月,Linux 1.0发布,代码量为17万行,正式采用GPL协议。Linux的代码中充实了对不同硬件系统的支持,大大提高了跨平台移植性。1995年,Linux可在Intel、Digital,以及Sun SPARC处理器上运行了,用户量也超过了50万,相关介绍Linux的Linux Journal杂志的发行也超过10万册。1996年6月,Linux 2.0内核发布,此内核大约有40万行代码,并可以支持多个处理器。此时的Linux已经进入了实用阶段,全球大约有350万人使用。1997年夏,好莱坞影片泰坦尼克号在制作特效中使用的160台
13、Alpha图形工作站中,有105台采用了Linux操作系统。1998年是Linux迅猛发展的一年。RedHat 5.0获得了InfoWorld的操作系统奖项。4月,Mozilla代码发布,成为Linux图形界面上的王牌浏览器。王牌搜索引擎“Google”现身,采用的也是Linux服务器。Mysql数据库充分得到发展。12月,IBM发布了适用于Linux的文件系统AFS 3.5,以及Jikes Java编辑器和Secure Mailer及DB2测试版,IBM的此番行为,可以看做是与Linux的第一次亲密接触。迫于Windows和Linux的压力,Sun逐渐开放了Java协议,并且在UltraSp
14、arc上支持Linux操作系统。由此可见,1998年可以说是Linux与商业接触的一年。第7页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 81999年,IBM宣布与Redhat公司建立伙伴关系,以确保Redhat在IBM机器上正确运行。3月,第一届LinuxWorld大会的召开,象征Linux时代的来临。IBM、Compaq和Novell宣布投资Redhat公司,以前一直对Linux持否定态度的Oracle公司也宣布投资。5月,SGI公司宣布向Linux移植其先进的XFS文件系统。7月,IBM启动对Linux的支持服务,并发布了Linux DB2。2000年初始,S
15、un公司在Linux的压力下宣布Solaris8降低售价。事实上,Linux对Sun造成的冲击远比对Windows来得更大。2月,Red Hat发布了嵌入式Linux的开发环境,Linux在嵌入式行业的潜力逐渐被发掘出来。2001年Oracle宣布在OTN上的所有会员都可免费索取Oracle 9i的Linux版本。IBM则决定投入10亿美元扩大Linux系统的应用。到了5月,微软公开反对“GPL”,此举引起了一场大规模的论战。8月,红色代码爆发,引得许多站点纷纷从Windows操作系统转向Linux操作系统。12月,Red Hat为IBM s/390大型计算机提供了Linux解决方案。2002
16、年是Linux企业化的一年。2月,微软公司迫于各州政府的压力,宣布扩大公开代码行动,这是Linux开源带来的深刻影响的结果。3月,内核开发者宣布新的Linux系统支持64位的计算机。2003年1月,NEC宣布将在其手机中使用Linux操作系统,代表着Linux成功进军手机领域。2004年6月的统计报告显示在世界500强超级计算机系统中,使用Linux操作系统的已经占到了280席,抢占了原本属于各种UNIX的份额。9月HP开始网罗Linux内核代码人员,以影响新版本的内核朝对HP有利的方式发展,而IBM则准备推出OpenPower服务器,仅运行Linux系统。第8页,共61页,编辑于2022年,
17、星期六 第2章 嵌入式LINUX操作系统 9Linux的应用和优势(以银行为例)银行业是中国各行业中开展信息化建设最早的行业之一,其信息化建设投入力度大,信息化水平高,在各行业的IT应用和系统建设中走在前列。(1)银行业的数据量大且集中决定了其对主机、存储设备、网络设备等硬件设备需求很大;同时对存储管理、数据仓库、网络管理、网络安全、CRM等方面的软件需求也不小。正由于银行业的数据量大且集中,因此金融安全问题也越发突出。Linux的高可靠性和安全性是它在这一行业中应用的有力保障。(2)对银行业而言,成本因素在整体经济环境欠佳的今天显得尤其重要。选择Linux的动力很大程度上来自于各个企业公司预
18、算的减少。(3)Linux系统所具有的优良集群特性也是吸引更多客户的原因。Linux集群系统能够让客户相对落后的P或P计算机变成可以处理复杂任务的超级计算机系统。这对客户来说是非常有吸引力的。(4)北京市商业银行综合业务系统建设采用了基于IBM Server i系列服务器的Linux解决方案。该解决方案从整体上减少了总拥有成本,并且减少了系统管理的复杂性,实现了对人员、财政及信息技术的有效管理,同时还提高了服务器管理能力。(5)再以印度工业开发银行(IDBI)为例。他们自1995年开始使用Linux系统从事关键的电话银行、资产追踪及人力资源管理等业务,IDBI因此节省的IT预算达到70%。(6
19、)如今有越来越多的商业公司采用Linux作为操作系统,例如,科学工作者使用Linux来进行分布式计算,ISP使用Linux配置Intranet服务器、电话拨号服务器等网络服务器,CERN(西欧核子中心)采用Linux做物理数据处理。第9页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 102.2 Linux内核由于的源代码是完全公开的,任何人只要遵循GPL,就可以对内核加以修改并发布给他人使用。因此,在广大编程人员的支持下,Linux的内核版本不断更新,新的内核修改了旧内核的缺陷,并增加了许多新的特性。用户如果想在自己的系统中使用这些新的特性,或想根据自己的系统量身定制
20、更高效、更稳定可靠的内核,只需要重新编译内核。当内核的编译工作完成之后,会生成一个可执行的二进制文件,该二进制文件放入嵌入式系统的ROM中,可以完成系统的上电、复位自动运行。2.2.1 Linux的内核特征2.2.2 进程管理2.2.3 内存管理2.2.4 文件系统管理2.2.5 设备管理2.2.6 进程间通信机制第10页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 11Linux的内核特征 内核是操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用。操作系统的代码分为以下两部分,内核所在的地址空间称为内核空间,外部管理程序与用户进程所占据的地址空间称为外
21、部空间(用户空间)。通常,一个程序会跨越两个空间。当执行到内核空间的一段代码时,称程序处于核心态;而当程序执行到外部空间代码时,称程序处于用户态。单一内核(Monolithic Kernel)曾经是操作系统的主流,它是指操作系统中所有的系统相关功能都被封装在内核中。它们与外部程序处在不同的内存地址空间中,并通过各种方式防止外部程序直接访问内核中的数据结构。程序只有通过一套称作系统调用(System Call)的界面访问内核结构。近些年来,微内核(Micro Kernel)结构逐渐流行起来,成为操作系统的主要潮流。在微内核结构中,操作系统的内核只需要提供最基本、最核心的一部分操作(例如,创建和删
22、除任务、内存管理、中断管理等)即可,而其他管理程序(如文件系统、网络协议栈等)则尽可能放在内核以外。这些外部程序可以独立运行,并对外部用户程序提供操作系统服务,服务之间使用进程间通信机制(IPC)进行交互。如同面向对象程序设计带来的好处一样,微内核使操作系统内部结构变得简单清晰。在内核以外的外部程序分别独立运行,其间并不互相关联。这样,可以对这些程序分别进行维护和拆装,只要遵循已经规定好的界面,就不会对其他程序有任何干扰。这使得程序代码在维护上十分方便,体现了面向对象式软件的结构特征。第11页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 12微内核的结构也存在着不足之
23、处。首先,程序代码之间的相互隔离,使得整个系统丧失了许多优化的机会。其次,部分资源浪费在外部进程之间的通信上,这样,微内核结构在效率上必然低于传统的单一内核结构,这些效率损失将作为结构精简的代价。总体上说,在当前的硬件条件下,微内核在效率上的损失小于其在结构上获得的收益,故而选取微内核成为操作系统的一大潮流。然而,Linux系统恰恰使用了单一内核结构。这是由于Linux是一个实用主义的操作系统。Linus Torvalds将代码执行效率作为自己操作系统的第一要务。在这样的发展过程中,参与Linux系统开发的程序员大多数为世界各地的黑客们。比起结构的清晰,他们更加注重功能的强大和高效率的代码。于
24、是,他们将大量的精力花在优化代码上,而这样的全局性优化必然以损失结构精练作为代价,导致Linux中的每个部件都不能被轻易拆出,否则,必然破坏整体效率。虽然Linux是一个单一内核操作系统,但它与传统的单一内核UNIX操作系统不同。在普通的单一内核系统中,所有内核代码都是被静态编译连入的。而在Linux中,可以动态装入和卸载内核中的部分代码。Linux中将这样的代码段称为模块(Module),并对模块给予了强有力的支持。在Linux中,可以在需要时自动装入和卸载模块。Linux的内核为非抢占式的(Non-preemptive)。这就是说,Linux并不能通过改变优先权来影响内核当前的执行流程。L
25、inux并不是一个“硬”实时操作系统。Linux操作系统的内核稳定而高效,以独占的方式执行最底层任务,来保证其他程序的正常运行。它是整个操作系统的核心,具有独特的性质。第12页,共61页,编辑于2022年,星期六 第2章 嵌入式LINUX操作系统 13进程管理进程是运行于自己的虚拟地址空间的一个程序。可以说,任何在Linux系统下运行的都是进程。Linux系统中包括下面几种类型的进程。交互进程:该进程是由shell控制和运行的。它既可以在前台运行,也可以在后台运行。批处理进程:该进程不属于某个终端,被提交到一个队列中以便顺序执行。守护进程:该进程只有在需要时才被唤起在后台运行。它一般在Linu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 操作系统 PPT 讲稿
限制150内