64
1 嵌嵌嵌嵌嵌嵌Embedded Operating System 嵌嵌嵌 嵌嵌嵌 Linux 嵌嵌嵌

嵌入式操作系统 Embedded Operating System

  • Upload
    calix

  • View
    124

  • Download
    15

Embed Size (px)

DESCRIPTION

嵌入式操作系统 Embedded Operating System. 第三课 嵌入式 Linux 操作系统. 课程大纲 .  嵌入式 Linux 简介  典型的嵌入式 Linux  ARM-Linux 操作系统  ARM-Linux 操作系统的内存管理  ARM-Linux 操作系统的文件系统  嵌入式 Linux 的前景. 2. 开源开放的 Linux. Linux 的诞生 1991 年芬兰大学生 Linus Torvalds 写的类 minix 操作系统 第一个版本是 Linux 0.01 版本,代码量为一万行 - PowerPoint PPT Presentation

Citation preview

Page 1: 嵌入式操作系统 Embedded Operating System

1

嵌入式操作系统Embedded Operating

System

第三课 嵌入式 Linux操作系统

Page 2: 嵌入式操作系统 Embedded Operating System

2

课程大纲 

嵌入式 Linux简介典型的嵌入式 Linux

ARM-Linux操作系统ARM-Linux操作系统的内存管理ARM-Linux操作系统的文件系统嵌入式 Linux的前景

2

Page 3: 嵌入式操作系统 Embedded Operating System

3

开源开放的 Linux

Linux的诞生 1991年芬兰大学生 Linus Torvalds写的类minix操作系统 第一个版本是 Linux 0.01版本,代码量为一万行 1992年,用户为 1000人

1994年 3月, Linux1.0发布 代码量 17万行 随后正式采用 GPL协议

1996年 6月, Linux 2.0内核发布 2.0版本内核约有 40万行代码 可以支持多种处理器 全球大约有 350万人使用

1998年, Redhat Linux出现2000年及之后, Linux发展迅速

从桌面到服务器到嵌入式领域 市场占有率也有所提升

3

Page 4: 嵌入式操作系统 Embedded Operating System

4

Linux的版本内核

属于单内核 不属于微内核、混合内核、外内核、无核内核版本

最新的版本 2.6.39

发行版 基于 Debian,如 Ubuntu 基于 RPM,如 Fedora,红旗 Slackware 其它打包方式的套件 专用包: Android/Maemo/Moblin/MeeGo

2010年 2月,谷歌 Android被 Linux内核除名知识产权

任何版本的都需要遵守 GPL 没有独立的知识产权

4

Page 5: 嵌入式操作系统 Embedded Operating System

5

嵌入式 Linux的发展( 1 )嵌入式 Linux

以 Linux为基础的,面向嵌入式系统定制的嵌入式操作系统 一般需 2MB容量

Linux的优点 不需要支付操作系统许可证的费用 体系结构是公开,源代码开放 系列的免费开发工具和开发环境 ,大量的免费文档 ,广泛的技术支持

内核小、效率高,内核的更新速度很快 ,可定制,其系统内核最小只有约 134KB(夸克 QUARK是最小的嵌入式 Linux,内核 13KB)

用于嵌入式系统时, Linux的缺点 非微内核 Linux是非实时的操作系统,而嵌入式系统一般都要求实时 Linux本身需要的硬件资源较多,而嵌入式系统是资源有限的系统

5

Page 6: 嵌入式操作系统 Embedded Operating System

6

嵌入式 Linux的发展( 2 )早期的嵌入式 Linux

最早在 1999年左右,开始出现面向嵌入式 Linux的需求和相关的开发

2003年以后 嵌入式 Linux的发展开始快速发展

出发点是基于 Linux的优点 不同的应用行业和企业基于拥有自己平台的思想,对嵌入式 Linux进行了大量的投入

图形能力较差

6

Page 7: 嵌入式操作系统 Embedded Operating System

7

嵌入式 Linux的改进( 1 )嵌入式 Linux基于 Linux,不完全相同实时性

嵌入式系统有较高的实时性的要求 Linux是通用操作系统,不是实时操作系统 内核不支持抢占实时特性

嵌入式 Linux扩展了 Linux的实时性能 实时调度算法 功能上扩充 Linux的实时处理和控制系统 支持的范围更广,支持的设备更多

7

Page 8: 嵌入式操作系统 Embedded Operating System

8

嵌入式 Linux的改进( 2 )定制内核

嵌入式系统是软硬件可裁剪 适用于系统对功能、可靠性、成本、功耗严格要求的专用计算机系统有较高的实时性的要求

Linux是Monolithic内核,不能应用于嵌入式系统 嵌入式 Linux的定制内核

可以采用MicroKernel

内核体积小,占用的资源少

面向应用的系统定制 根据行业的特性对 Linux进行行业化系统定制

8

Page 9: 嵌入式操作系统 Embedded Operating System

9

嵌入式 Linux的特点继承了 Linux的优点

开源开放 有较为成熟的技术社区 体积小 无许可证费用 工具链越来越完整和丰富可以进行定制化的改造实时性得到了提高对嵌入式的硬件有较好的支持

目前正在开发的嵌入式系统中, 49%的项目选择 Linux作为嵌入式操作系统。 Linux现已成为嵌入式操作的理想选择。

9

Page 10: 嵌入式操作系统 Embedded Operating System

10

软件版权和许可证知识产权

软件版权与专利 软件版权与公共领域( public domain)

版权保护周期版权保护范围和形式

许可证 派生 净室技术 Cleanroom

常用开源软件许可证 GPL、 LGPL

10

Page 11: 嵌入式操作系统 Embedded Operating System

11

GPL:GNU Public License

权利:自由义务: copyleft

触发条件 派生

社区与法律可能有不同阐述 发行

要求:开源 有谁来开源? 怎样开源? 完整性要求?

11

Page 12: 嵌入式操作系统 Embedded Operating System

12

LGPL: Lesser GPL

GNU 宽通用公共许可证,与 GPL非常类似区别

触发条件(派生)

适用范围 运行库

12

Page 13: 嵌入式操作系统 Embedded Operating System

1313

Page 14: 嵌入式操作系统 Embedded Operating System

14

课程大纲

嵌入式 Linux简介典型的嵌入式 Linux

ARM-Linux操作系统ARM-Linux操作系统的内存管理ARM-Linux操作系统的文件系统嵌入式 Linux的前景

14

Page 15: 嵌入式操作系统 Embedded Operating System

15

嵌入式 Linux的应用领域嵌入式 Linux的应用领域广泛

大部分用于移动电话、数字娱乐等非实时嵌入式系统 工业控制 军事领域 ……

需要嵌入式操作系统的地方,就可以应用嵌入式 Linux

15

Page 16: 嵌入式操作系统 Embedded Operating System

16

典型的嵌入式 Linux

嵌入式 Linux有多个不同的版本 源于 Linux 应用于不同的领域 有各自的特点

典型的嵌入式 Linux 出现很多嵌入式 Linux: Embedix, ETLinux, LEM, RTLinux,

LinuxRouterProject, LOAF, uCLinux,muLinux, ThinLinux, FirePlug和 PizzaBoxLinux

平台化嵌入式 Linux Android

Moblin+Maemo→MeeGO

16

Page 17: 嵌入式操作系统 Embedded Operating System

17

智能手机操作系统类 Unix

基于 Linux

Access Linux、 Android、 bada、 LiMo、MeeGo (Moblin、Maemo、 Qt Extended)、 Openmoko Linux (Qt Extended Improved)、 OPhone、 SHR、 webOS

过去: DSLinux、 Familiar、 iPodLinux、MobiLinux、 Ubuntu Mobile

其他 BlackBerry Tablet OS、 iOS

其他 Windows CE (Windows Phone 7、Windows Mobile)、 BlackBerry

OS、 GEOS、 Nintendo DSi OS、 Nokia OS (S30、 S40)、 PSP OS、 Symbian (MOAP(S)、 UIQ、 S60、 S80、 S90)

过去: Palm OS、 SavaJe

相关平台 BREW、 Java ME (FX Mobile)

Page 18: 嵌入式操作系统 Embedded Operating System

18

嵌入式 Linux-RTLinux

RTLinux的历史 来源于 Linux 美国新墨西哥州大学计算机科学系

设计原则 实时模块中的工作量尽量少 一般任务均在 Linux 中完成

包括部分实时任务,前提是在 Linux 中完成不影响实时性能 RTLinux内核完成实时性要求高的任务

已在美国航天部门,印度军方得到了广泛应用

18

Page 19: 嵌入式操作系统 Embedded Operating System

19

嵌入式 Linux-RTLinux( 2 )技术特点

对 Linux内核做了改造 增加了 RTLinux内核的控制

采用动态加载实时进程的方式实现 Linux硬实时 两个内核

Linux内核(上层)和实时内核(底层) Linux本身作为这个实时内核的优先级最低的任务 所有实时任务的优先级都高于 Linux系统本身以及 Linux系统下的一般任务

上下文切换的最坏情况只有大约 10个微秒

19

Page 20: 嵌入式操作系统 Embedded Operating System

20

嵌入式 Linux-Montavista Linux

Montavista Linux的概述 由成立于 1999年的Montavista公司开发 MontaVista Linux的所有源代码对外开放 Montavista公司主要提供服务

Montavista Linux的版本 电信设备用的 Carrier Grade Edition 手机用的MobiLinux 消费电子产品及其他设备用的 Professional Edition

20

Page 21: 嵌入式操作系统 Embedded Operating System

21

嵌入式 Linux-Montavista Linux( 2)Montavista Linux技术特点

提供实时嵌入式 Linux操作系统和嵌入式开发工具

提供了很好的实时支持 支持广泛的嵌入式处理器 提供嵌入式设计的开放源码方

案包Montavista Linux最新版本

Montavista Linux 6

被网络芯片厂商 Cavium 收购

21注 : 图 来 自 http://www.mvista.com/product_detail_mvl6.php

Page 22: 嵌入式操作系统 Embedded Operating System

22

嵌入式 Linux-uCLinux

uCLinux 概述 Lineo公司的产品 针对微控制领域而设计的 Linux系统

该领域的嵌入式处理器往往没有MMU

uCLinux的技术特点 对 Linux的重新配置和裁剪 重写了应用程序库,进行了精简工作 采用 romfs文件系统 通过内存或者 Flash 启动 对用户程序采用静态连接的形式

22

Page 23: 嵌入式操作系统 Embedded Operating System

23

嵌入式 Linux-Qtopia

Trolltech 公司为采用嵌入式 Linux操作系统的消费电子设备而开发的综合应用平台三个版本

Qtopia 手机版 Qtopia PDA 版 Qtopia 消费电子产品平台

被诺基亚收购 诺基亚出 Symbian,一度市场份额超过 60% 收购 Symbian所有股份,开源 与 intel合作Meego

Page 24: 嵌入式操作系统 Embedded Operating System

24

嵌入式 Linux-Android

Android Google+开放手机联盟 2007年 11月 5 日发布 “Android 是第一个完整、开放、免费的手机平台” 2008年 9月 22 日,第一款基于 Android的手机发布

T-Mobile G1 基于 Android的手机 GPhone

Android的特点 包括了操作系统、中间件、用户界面和应用软件

这是一个平台 面向智能手机

24

Page 25: 嵌入式操作系统 Embedded Operating System

25

嵌入式 Linux-Android( 2 )Android的优势

开放开源 提供一整套的解决方案 免费!!!

Android的冲击 Symbian Windows Mobile IPhone

25

Page 26: 嵌入式操作系统 Embedded Operating System

26

嵌入式 Linux-Moblin

Intel为MID设计 启动于 2007年 7月,作为Moblin 项目组 目的是推动 MID 等类设备中 Linux的应用和新技术的发展 建立了Moblin 社区 目前的版本是Moblin 2.0

Moblin的特点 优化移动用户操作界面 高速的联网性能 占用资源小

26

Page 27: 嵌入式操作系统 Embedded Operating System

27

嵌入式 Linux-Moblin( 2 )Moblin 2.0

针对电源管理部分做了优化 更多的是面向 Intel自己的嵌入式处理器

Atom

可以通过软硬件结合来进行设计 比较完整的全套开发工具

Moblin更多的是为带数据互联功能的移动设备设计

27

Page 28: 嵌入式操作系统 Embedded Operating System

28

嵌入式 Linux-Maemo

基于 Linux Debian 的系统平台诺基亚公司

诺基亚 N770、 N800、 N810和 N900

面对智能手机及 Internet Tablet Internet Tablet:介于 个人数位助理( PDA) 跟 UMPC 之间,

略小于英特尔公司的移动互联网设备(MID)。

http://maemo.org

Page 29: 嵌入式操作系统 Embedded Operating System

29

嵌入式 Linux-OpenMoko

提供开源 Linux软件栈与硬件 硬件系统也是完全开放的 允许开发者对软件和硬件任意定制

三部分 基本的 OpenMoko软件环境建立在 GNOME 移动和嵌入技术基础上,包括 GTK+工具包

FreeRunner 部分,这是一个完全开放的部分,可以让开发者任意选择第三方平台,比如 Linux桌面环境,或者支持 Nokia 互联网平板设备的图形 Shell 等。

包括 FreeSmartphone.org的 APIs,快速提供复杂应用。 产品

第一款 OpenMoko硬件是 Neo1973 第二款 OpenMoko硬件是 Neo FreeRunner

http://wiki.openmoko.org/wiki/Main_Page

Page 30: 嵌入式操作系统 Embedded Operating System

30

嵌入式 Linux-WebOS

Palm公司 放弃了 PalmOS,改推以 Linux为基础的WebOS 由于 Palm被 HP 收购, webOS现收归 HP旗下 HP 已发布多款手机及一款平板电脑 webOS 将在线社交网络和Web 2.0一体化作为重点

最新版本 2.0 Beta / 2010年 8月 31 日类似于 chrome 浏览器“沙盒”架构卡片方式

Page 31: 嵌入式操作系统 Embedded Operating System

31

iPodLinux

内核为Modified µCLinux

运行在 iPod上功能

文字编辑、视频播放(在 iPod nano 2上)、模拟器游戏、编程等功能

与 iPod原 OS形成双系统

Page 32: 嵌入式操作系统 Embedded Operating System

32

嵌入式 Linux-LiMo

LiMo 基金会 2007 年 1 月创立 会员数超过 50

Linux Phone Standards (LiPS) 论坛 GPEPhone( GPE Palmtop Environment ) http://gpe.Linuxtogo.org 08年并入 LiMo

组成 用Wind River提供的 Linux版本、系统架构平台和集成工具集来开发各自的终端设备

支持 LIMO系统手机 三星 I8320 H1、三星 I8330 H2、三星 I6410 M1、三星 I8350

http://www.limofoundation.org/

Page 33: 嵌入式操作系统 Embedded Operating System

33

bada

韩国三星 人人能用的低智能手机的时代( Smartphone for Everyone)

特点 配置不灵活、用户交互性差、面向服务弱

非常不重视 SNS 集成和基于位置服务应用

版本 1.2.1 (SDK) / 2010年 12月 29

Page 34: 嵌入式操作系统 Embedded Operating System

34

课程大纲

嵌入式 Linux简介典型的嵌入式 Linux

ARM-Linux操作系统ARM-Linux操作系统的内存管理ARM-Linux操作系统的文件系统嵌入式 Linux的前景

34

Page 35: 嵌入式操作系统 Embedded Operating System

35

与桌面 Linux 共享的知识点

主流嵌入式 Linux 与桌面 Linux完全一样的内容 Shell 命令使用 Makefile 操作系统移植 设备驱动 GDB 内核调试 进程管理 系统调用 启动流程具备以上技能,属于 Linux开发人员请自行学习操作系统课程,以及自学本课程实验课件

35

Page 36: 嵌入式操作系统 Embedded Operating System

36

嵌入式 Linux知识点有别于桌面 Linux,嵌入式 Linux的特色

Bootloader:参见本课程 bootloader课件 编译调试:交叉编译,参见本课程开发环境课件 实时调度:一些嵌入式 Linux 未进行实时改造,参见本课程实时课件 内存管理:强实时要求,处理器有MMU硬件 中断响应和处理:强实时要求 文件系统: Flash作为存储介质,参见本课程嵌入式文件系统课件 快速启动:…

具备以上能力,才是嵌入式 Linux的开发人员

36

Page 37: 嵌入式操作系统 Embedded Operating System

37

课程大纲

嵌入式 Linux简介典型的嵌入式 Linux

ARM-Linux操作系统ARM-Linux操作系统的内存管理ARM-Linux操作系统的文件系统嵌入式 Linux的前景

37

Page 38: 嵌入式操作系统 Embedded Operating System

38

ARM-Linux内存管理 存储管理是一个很大的范畴 存储管理机制的实现和具体的 CPU以及MMU的结构关系非常紧密 操作系统内核的复杂性相当程度上来自内存管理,对整个系统的结构有着根本性的深远影响

38

Page 39: 嵌入式操作系统 Embedded Operating System

39

内存管理和MMU

MMU -“内存管理单元”,其主要作用是两个方面: 地址映射 对地址访问的保护和限制

MMU可以内置在芯片中,也可以作为协处理器 ARM 中的协处理器 CP15(系统控制协处理器)

39

Page 40: 嵌入式操作系统 Embedded Operating System

40

ARM存储管理机制 ARM系统结构中,内存地址映射支持两种:

单层的按“段( section)”映射,段大小为 1M 二层的按“页面( page)”映射

Tiny pages: 1K

Small pages: 4K

Large pages: 64K

40

Page 41: 嵌入式操作系统 Embedded Operating System

41

ARM存储管理机制 按“段”进行地址映射方式

41

Page 42: 嵌入式操作系统 Embedded Operating System

42

ARM存储管理机制 采用页面映射,“段映射表”就成了“首层页面映射表”,映射的过程如下 (以页面大小= 4KB为例 )

42

Page 43: 嵌入式操作系统 Embedded Operating System

43

ARM存储管理机制 凡是支持虚存的 CPU必须为有关的映射表提供高速缓存,使地址映射的过程在不访问内存的前提下完成,用于这个目的高速缓存称为地址转换表( TLB)高速缓存ARM系统结构中配备了两个地址映射 TLB和两个高速缓存

43

Page 44: 嵌入式操作系统 Embedded Operating System

44

ARM存储管理机制 ARM处理器中,MMU是作为协处理器 CP15的一部分实现的 MMU相关的最主要的寄存器有三个:

控制寄存器,控制MMU的开关、高速缓存的开关、写缓冲区的开关等( CP15: C1)

地址转换表基地址寄存器( CP15: C2) 域访问控制寄存器( CP15: C3)

44

Page 45: 嵌入式操作系统 Embedded Operating System

45

ARM-Linux存储机制的建立 ARM-Linux内核将 4GB虚拟地址空间分为两个部分

高端的 1G为系统空间 低端的 3G为用户空间

ARM将 I/O也放在内存地址空间中 系统空间的一部分虚拟地址不是映射到物理内存,而是映射到一些

I/O设备地址

45

Page 46: 嵌入式操作系统 Embedded Operating System

46

ARM-Linux进程的虚存空间 Linux虚拟内存的实现需要 6种机制的支持:

地址映射机制 内存分配回收机制 缓存和刷新机制 请求页机制 交换机制 内存共享机制

46

Page 47: 嵌入式操作系统 Embedded Operating System

47

ARM-Linux进程的虚存空间 系统中的每个进程都各有自己的首层映射表

这就是它的空间 没有独立的空间的就只是线程而不是进程

Linux内核需要管理所有的虚拟内存地址 每个进程虚拟内存中的内容在其 task_struct结构中指向的

vm_area_struct结构中描叙

47

Page 48: 嵌入式操作系统 Embedded Operating System

48

ARM-Linux进程的虚存空间 task_struct结构分析图

48

Page 49: 嵌入式操作系统 Embedded Operating System

49

ARM-Linux进程的虚存空间 由于那些虚拟内存区域来源各不相同, Linux使用vm_area_struct 中指向一组虚拟内存处理过程的指针来抽象此接口 为进程创建新的虚拟内存区域或处理页面不在物理内存中的情况下, Linux内核重复使用进程的 vm_area_struct 数据结构集合 当进程请求分配虚拟内存时, Linux 并不直接分配物理内存

49

Page 50: 嵌入式操作系统 Embedded Operating System

50

静态分配与动态分配很多 RTOS不支持动态分配内存

担心碎片

50

Page 51: 嵌入式操作系统 Embedded Operating System

51

虚拟内存机制的屏蔽由于虚拟内存在时间上的不可预期性,对于实时性要求很高的系统,必须屏蔽虚拟内存机制uCLinux 中就利用了这种技术来保证系统的实时性

工业控制中一些任务的实时性要求屏蔽方法

与虚存有关的主要的数据结构是 vm_area_struct,将进程的mm_struct结构中的 vm_area_struct 去掉, vm_area_struct 利用了 vm_ops 来抽象出对虚拟内存的处理方法,屏蔽与虚拟内存操作有关的函数。

内存映射主要由 do_mmap()实现,改写此函数的代码。 取消交换操作,屏蔽用于交换的结构和函数声明,以及实现交换的代码。

取消内核守护进程 kswapd 。

51

Page 52: 嵌入式操作系统 Embedded Operating System

52

课程大纲

嵌入式 Linux简介典型的嵌入式 Linux

ARM-Linux操作系统ARM-Linux操作系统的内存管理ARM-Linux操作系统的文件系统嵌入式 Linux的前景

52

Page 53: 嵌入式操作系统 Embedded Operating System

53

嵌入式 Linux文件系统简介嵌入式文件系统与桌面文件系统有较大区别

嵌入式文件系统要为嵌入式系统的设计目的服务 不同用途的嵌入式操作系统下的文件系统在许多方面各不相同

嵌入式 Linux 常用文件系统 第二版扩展文件系统( Ext2fs) JFFS YAFFS

53

Page 54: 嵌入式操作系统 Embedded Operating System

54

嵌入式文件系统的设计目标 使用简单方便 安全可靠 实时响应 接口标注的开放性和可移植性可伸缩性和可配置性 开放的体系结构资源有效性功能完整性热插拔支持多种文件类型

54

Page 55: 嵌入式操作系统 Embedded Operating System

55

嵌入式 Linux 常用文件系统 Flash Memory简介

Flash Memory上的两种技术 NAND:串行;顺序读取;适合大容量;通常需MTD

NOR :并行;随机读取;适合数据或程序存储; XIP;

Xsbase开发平台上所使用的闪存 Intel StrataFlash Memory 28F128J3A

Ext2fs 、 JFFS和 YAFFS ext、 ext2、 xia、 vfat、minix、msdos、 umsdos、

proc、 smb、 ncp、 iso9660、 sysv、 hpfs、 affs、 ufs、 vfs等

55

Page 56: 嵌入式操作系统 Embedded Operating System

56

Ext2文件系统Ext2fs支持达 4 TB的内存( Ext是 2G)Ext2fs文件名称最长可以到 1012个字符当创建文件系统时,管理员可以选择逻辑块的大小(通常大小可选择 1024、 2048和 4096 字节)Ext2fs实现快速符号链接:不需要为此目的而分配数据块,并且将目标名称直接存储在索引节点表中,这使性能有所提高,特别是在速度上

56

Page 57: 嵌入式操作系统 Embedded Operating System

57

JFFS和 YAFFS

JFFS文件系统主要针对 NOR FLASH设计,是一种基于Flash的日志文件系统JFFS2的底层驱动主要完成文件系统对 Flash 芯片的访问控制,如读、写、擦除操作YAFFS 主要针对 NAND FLASH设计,和 JFFS相比它减少了一些功能。自带 NAND 芯片驱动,并且为嵌入式系统提供了直接访问文件系统的 API

YAFFS2是 YAFFS的改进版本

57

Page 58: 嵌入式操作系统 Embedded Operating System

58

Linux文件系统框架和特性 现代操作系统都提供多种访问存储设备的方法 Linux文件系统有两条独立控制设备驱动的途径

通过设备驱动的接口 通过文件管理器接口

58

Page 59: 嵌入式操作系统 Embedded Operating System

59

Linux文件系统框架

设备驱动

磁盘

设备 API 文件 API

文件管理器

设备驱动

磁盘

POSIX 文件 API

POSIX 文件 API

VFS

磁盘独立转换器

(a)传统文件系统 (b)Linux文件系统

59

Page 60: 嵌入式操作系统 Embedded Operating System

60

课程大纲

嵌入式 Linux简介典型的嵌入式 Linux

ARM-Linux操作系统ARM-Linux操作系统的内存管理ARM-Linux操作系统的文件系统嵌入式 Linux的前景

60

Page 61: 嵌入式操作系统 Embedded Operating System

61

嵌入式 Linux开发最初设计时都没有考虑实时实时项目使 Linux具备了硬实时和软实时能力

硬实时: RT-Linux和 RTAI

Timsys和Montavista 等实时 Linux实现 软实时

2.6 加入了可抢占核心

嵌入式 Linux开发能力 体现在嵌入式 Linux 与桌面 Linux的技术差异性 首要问题是扩展 Linux的实时性能 BSP 与驱动程序程序员需求量大

61

Page 62: 嵌入式操作系统 Embedded Operating System

62

嵌入式 Linux vs 传统嵌入式操作系统  专用嵌入式实时操作系统 嵌入式 Linux操作系统

版权费 每生产一件产品需交纳一份版权费 免费

购买费用 数十万元( RMB) 免费

技术支持 由开发商独家提供有限的技术支持

全世界的自由软件开发者提供支持

网络特性 另加数十万元( RMB)购买 免费且性能优异

软件移值 难(因为是封闭系统) 易,代码开放(有许多应用软件支持)

应用产品开发周期 长,因为可参考的代码有限 短,新产品上市迅速,因为有许多公开的代码可以参考和移植

实时性能 好 须改进,可用 PT_Linux 等模块弥补

稳定性 较好 较好,但在高性能系统中须改进62

Page 63: 嵌入式操作系统 Embedded Operating System

63

嵌入式 Linux vs Windows Mobile嵌入式 Linux

开放开源 有开源社区的支持 由多个公司开发 支持嵌入式 Linux的厂商众多

应用领域广泛 免费

Windows Mobile 部分开放 由微软开发维护 有微软的技术支持 有相关开发社区 支持的厂商众多 应用领域比较广泛 版权 /许可证费用

63

嵌入式 Linux的主要优势在于它的免费、开放开源

Page 64: 嵌入式操作系统 Embedded Operating System

64

谢谢!