嵌入式Linux操作系统简介_第1页
嵌入式Linux操作系统简介_第2页
嵌入式Linux操作系统简介_第3页
嵌入式Linux操作系统简介_第4页
嵌入式Linux操作系统简介_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、阜阳师范学院阜阳师范学院 物理与电子科学学院物理与电子科学学院朱勇朱勇远见品质远见品质2v第1章 嵌入式Linux操作系统简介v第2章 Linux操作系统使用与系统配置v第3章 嵌入式Linux开发环境v第4章 嵌入式文件I/O编程v第5章 嵌入式Linux多任务编程v第6章 嵌入式Linux进程间通行v第7章 嵌入式Linux多线程编程v第8章 嵌入式Linux网络编程v第9章 Qt图形编程v第10章 嵌入式Linux设备驱动编程远见品质远见品质3 第一章 嵌入式Linux操作系统简介远见品质远见品质4v嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可

2、靠性、成本、体积、功耗有严格要求的专用计算机系统。 远见品质远见品质5处理器处理器存储器存储器输入输出软件(操作系统/驱动程序/应用程序)远见品质远见品质6设备名称嵌入式系统PC机CPU嵌入式处理器(ARM,MIPS)CPU(Intel的Pentium、AMD的Athlon等)内存SDRAM芯片SDRAM,DDR内存条存储设备Flash芯片硬盘输入设备 按键、触摸屏鼠标、键盘 输出设备LCD显示器声音设备音频芯片声卡接口MAX232等芯片主板集成其他设备USB芯片、网卡芯片主板集成或外接卡远见品质远见品质7通用处理器通用处理器X86嵌入式嵌入式32位处理器位处理器 CISCRISC高主频高主频

3、主频较低主频较低追求高性能追求高性能兼顾性能和功耗兼顾性能和功耗需要南北桥芯片需要南北桥芯片SOC远见品质远见品质8嵌入式系统PC机引导代码Bootloader引导,针对不同电路板进行移植主板的BIOS引导,无须改动操作系统WinCE、VxWorks、Linux等,需要移植Windows、Linux等,不需要移植驱动程序每个设备驱动都必须针对电路板进行重新开发或移植,一般不能直接下载使用操作系统含有大多数驱动程序,或从网上下载直接使用协议栈需要移植操作系统包括,或第三方提供开发环境借助服务器进行交叉编译在本机就可开发调试仿真器需要不需要远见品质远见品质9v嵌入式系统低功耗、体积小,专用性强。嵌

4、入式系统与PC机的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,能够把PC机中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化。 v为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。v嵌入式系统的硬件和软件都必须高效率地设计,系统要精简。操作系统一般和应用软件集成在一起。v对软件代码质量要求很高。应该尽最大可能避免死机的情况发生。v嵌入式系统开发需要专门的开发工具和开发环境。远见品质远见品质10vARMvPowerPCvMIPSvXscalevDSPvX86v远见品质远见品质11vLinuxvuC

5、/OS vWindows CE vVxWorks vPalm OS vSymbian远见品质远见品质12远见品质远见品质应用程序应用程序操作系统操作系统13硬件硬件远见品质远见品质14CPU 高级别模式高级别模式 低级别模式低级别模式执行所有指令执行所有指令 执行部分指令执行部分指令 操作系统操作系统 应用程序应用程序远见品质远见品质15远见品质远见品质16 系统调用系统调用 API由操作系统实现由操作系统实现 由程序库实现由程序库实现提供最基本的功能提供最基本的功能 良好的接口、复杂的功能良好的接口、复杂的功能依赖操作系统依赖操作系统 提高程序的可移植性提高程序的可移植性远见品质远见品质17

6、 WINDOWS LINUX printfwindows C库库 libc.sowindows系统调用系统调用 write远见品质远见品质181.3.1 Linux的发展vUNIX 1971年第一个版本vGNU(GNU is Not UNIX)vFSF(Free Software Foundation)vGPL = General Public LicensevGNU/Linux远见品质远见品质19远见品质远见品质20远见品质远见品质21v1低成本开发系统v2可应用于多种硬件平台v3可定制的内核v4性能优异v5良好的网络支持 远见品质远见品质221.3.3 一些发行版vRedHatvFedor

7、a CorevSusevDebianvUbuntuvCent OSvAisanux远见品质远见品质23v1.3.4 如何学习Linux 正如人们常说的“实践出真知”,学习Linux的过程也一样。只有通过大量的动手实践才能真正地领会Linux的精髓,才能迅速掌握在Linux上的应用开发,相信有编程语言经验的读者一定会认同这一点。因此,本课程安排了大量的实验环节和课后实践环节,希望同学们尽可能多参与。 另外要指出的是,互联网也是一个很好的学习工具,一定要充分地加以利用。正如编程语言一样,实践的过程中总会出现多种多样的问题,希望同学们能充分利用互联网这一共享的天空,在其中寻找答案。以下列出了国内的一

8、些Linux论坛: http:/ http:/ http:/远见品质远见品质24v1.4.1 基础概念1文件系统、分区和挂载远见品质远见品质25v1.4.1 基础概念2主分区、扩展分区和逻辑分区远见品质远见品质26v1.4.1 基础概念3SWAP交换分区 在硬件条件有限的情况下,为了运行大型的程序,Linux在硬盘上划出一个区域来当作临时的内存,而Windows操作系统把这个区域叫做虚拟内存,Linux把它叫做交换分区swap。在安装Linux建立交换分区时,一般将其设为内存大小的2倍,当然也可以设为更大。远见品质远见

9、品质27v1.4.1 基础概念v4分区格式 不同的操作系统选择了不同的格式,同一种操作系统也可能支持多种格式。Linux是一个开放的操作系统,它最初使用EXT2格式,后来使用EXT3格式,但是它同时支持非常多的分区格式,包括很多大型机上UNIX使用的XFS格式,也包括微软公司的FAT以及NTFS格式。v5GRUB GRUB是一种引导装入器(类似在嵌入式中非常重要的bootloader)它负责装入内核并引导Linux系统,位于硬盘的起始部分。由于GRUB多方面的优越性,如今的Linux一般都默认采用GRUB来引导Linux操作系统。但事实上它还可以引导Windows等多种操作系统。v6root权

10、限 Linux也是一个多用户的系统(在这一点上类似Windows XP),不同的用户和用户组会有不同的权限,其中把具有超级权限的用户称为root用户。root的默认主目录在“/root”下,而其他普通用户的目录则在“/home”下。root的权限极高,它甚至可以修改Linux的内核,因此建议初学者要慎用root权限,不然一个小小参数的设置错误很有可能导致系统的严重问题。远见品质远见品质28v1.5.2 硬件需求 Linux对硬件的需求非常低。 现在软件和硬件行业的趋势是让用户购买更快的计算机,不断扩充内存和硬盘,而Linux却不受这个趋势的影响。随着Linux的发展

11、,由于在其上运行的软件越来越多,因此它所需要的配置越来越高,但是用户可以有选择地安装软件,从而节省资源远见品质远见品质29v1.4.3 安装准备v在开始安装之前,首先需要了解一下机器的硬件配置,包括以下几个问题。 (1)有几个硬盘,每个硬盘的大小,如果有两个以上的硬盘哪个是主盘。 (2)内存有多大。 (3)显卡的厂家和型号,有多大的显存。 (4)显示器的厂家和型号。 (5)鼠标的类型。v如果用户的计算机需要联网,那么还需要注意以下问题。 (1)计算机的IP地址,子网掩码,网关,DNS的地址,主机名。 (2)或许有的时候还需要搞清楚网卡的型号和厂商。v如果不确定系统对硬件的兼容性,或者想了解Li

12、nux是否支持一些比较新或不常见的硬件,用户可以到http:/和进行查询。v其次,用户可以选择从网络安装(如果带宽够大,笔者推荐从商家手中购买Linux的安装盘,一般会获得相应的产品手册、售后服务和众多附赠的商业软件),也可以从他人那里复制,放心,这是合法的,因为Linux是免费的。如果用户需要获得最新的,或需要一个不易于购买到的版本,那么用户可以从http:/www.L下载一个需要的Linux版本。v最后,应在安装前确认磁盘上是否有足够的空间,一般的发行版本全部安装需要3GB左右,最小安装可以到数十兆字节,当然还需要给未来的使用留下足够

13、的空间。如果用户拥有的是一个已经分区的空闲空间,那么可以选择在安装前在Windows下删除相应分区,也可以选择在安装时删除。远见品质远见品质30v1.4.4 安装过程 Ubuntu8.10于2008年10月发布的,是基于2.6.27版本的Linux内核。它可以选择的安装模式有光盘安装、硬盘安装和网络安装。安装模式有图形安装模式和Linux text安装模式两种,对于初学者,推荐图形安装模式。 1语言选择 2国家/地区选择 3键盘布局 4硬盘分区 5迁移文档及设置 6用户帐号和主机命名 7正式安装 8初次登陆远见品质远见品质31v1.6.1 文件类型及文件属性v1文件类型 Linux中的文件类型

14、与Windows有显著的区别,其中最显著的区别在于Linux对目录和设备都当作文件来进行处理,这样就简化了对各种不同类型设备的处理,提高了效率。 Linux中主要的文件类型分为4种:普通文件、目录文件、链接文件和设备文件。 (1)普通文件普通文件如同Windows中的文件一样,是用户日常使用最多的文件。它包括文本文件、shell脚本、二进制的可执行程序和各种类型的数据。 (2)目录文件在Linux中,目录也是文件,它们包含文件名和子目录名以及指向那些文件和子目录的指针。目录文件是Linux中存储文件名的惟一地方,当把文件和目录相对应起来时,也就是用指针将其链接起来之后,就构成了目录文件。因此,

15、在对目录文件进行操作时,一般不涉及对文件内容的操作,而只是对目录名和文件名的对应关系进行了操作。远见品质远见品质32v1.5.1 文件类型及文件属性(3)链接文件 链接文件有些类似于Windows中的“快捷方式”,但是它的功能更为强大。它可以实现对不同的目录、文件系统甚至是不同的机器上的文件直接访问,并且不必重新占用磁盘空间。(4)设备文件 Linux把设备都当作文件一样来进行操作,这样就大大方便了用户的使用(在后面的Linux编程中可以更为明显地看出)。在Linux下与设备相关的文件一般都在/dev目录下,它包括两种,一种是块设备文件,另一种是字符设备文件。 块设备文件是指数据的读写,它们是

16、以块(如由柱面和扇区编址的块)为单位的设备,最简单的如硬盘(/dev/hda1)等。 字符设备主要是指串行端口的接口设备。远见品质远见品质33v1.5.1 文件类型及文件属性2文件属性 Linux中的文件属性表示方法: Linux中文件的拥有者可以把文件的访问属性设成3种不同的访问权限:可读(r)、可写(w)和可执行(x)。文件又有3个不同的用户级别:文件拥有者(u)、所属的用户组(g)和系统里的其他用户(o)。 第一个字符显示文件的类型: “-”表示普通文件; “d”表示目录文件; “l”表示链接文件; “c”表示字符设备; “b”表示块设备; “p”表示命名管道 比如FIFO文件(Firs

17、t In First Out,先进先出); “f”表示堆栈文件 比如LIFO文件(Last In First Out,后进先出)。 第一个字符之后有3个三位字符组: 第一个三位字符组表示对于文件拥有者(u)对该文件的权限; 第二个三位字符组表示文件用户组(g)对该文件的权限; 第三个三位字符组表示系统其他用户(o)对该文件的权限; 若该用户组对此没有权限,一般显示“-”字符。远见品质远见品质34v1.5.2 文件系统类型介绍v1ext2和ext3 ext3是现在Linux(包括Red Hat,Mandrake下)常见的默认的文件系统,它是ext2的升级版本。正如Red Hat公司的首席核心的开

18、发人员Michael K.Johnson所说,从ext2转换到ext3主要有以下4个理由:可用性、数据完整性、速度以及易于转化。ext3中采用了日志式的管理机制,它使文件系统具有很强的快速恢复能力,并且由于从ext2转换到ext3无须进行格式化,因此,更加推进了ext3文件系统的大大推广。v2swap文件系统 该文件系统是Linux中作为交换分区使用的。在安装Linux的时候,交换分区是必须建立的,并且它所采用的文件系统类型必须是swap而没有其他选择。v3vfat文件系统 Linux中把DOS中采用的FAT文件系统(包括FAT12,FAT16和FAT32)都称为vfat文件系统。v4NFS文件系统 NFS文件系统是指网络文件系统,这种文件系统也是Linux的独到之处。它可以很方便地在局域网内实现文件共享,并且使多台主机共享同一主机上的文件系统。而且NFS文件系统访问速度快、稳定性高,已经得到了广泛的应用,尤其在嵌入式领域,使用NFS文件系统可以很方便地实现文件本地修改,而免去了一次次读写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论