嵌入式Linux操作系统简介

《嵌入式Linux操作系统简介》由会员分享,可在线阅读,更多相关《嵌入式Linux操作系统简介(36页珍藏版)》请在文档大全上搜索。
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:/www.linuxfans.org http:/ http:/ http:/远见品质远见品质24v1.4.1 基础概念1文件系统、分区和挂载远见品质远见品质25v1.4.1 基础概念2主分区、扩展分区和逻辑分区远见品质远见品质www.embedu.org26v1.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权