分享
嵌入式Linux01.ppt
下载文档

ID:3453287

大小:2.97MB

页数:81页

格式:PPT

时间:2024-05-08

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
嵌入式 Linux01
嵌入式操作系统,陈静办公地点:A楼 10层1014Email:,1,课堂纪律,上课不要迟到、早退,有事请假非讨论时间,课堂不得大声说话影响教学上课时间不得吃东西严禁上课时间开手机,3,嵌入式操作系统课程简介及要求,1.课程性质及教学目的 嵌入式操作系统是计算机及其相关专业的一门专业技术课。本课程帮助学生了解嵌入式操作系统(嵌入式Linux)的基本概念、嵌入式系统开发的基流程;掌握Linux的常用命令和嵌入式Linux的开发环境建立及工具软件的使用;掌握嵌入式Linux的构建;学会Linux下的Shell编程;理解嵌入式Linux的内存管理机制和嵌入式Linux下的文件操作;理解嵌入式Linux 的进程管理;学会嵌入式Linux操作系统的多线程开发技术;了解嵌入式Linux操作系统的网络编程技术及图形界面编程技术等;初步掌握基于Linux的系统设计和开发;为后继的课程学习做好铺垫。,课程简介及要求,2.课程教学安排教学参考学时:64学时其中实验学时:16学时成绩评定:平时、作业+实验期末测验(闭卷考试)3.教材内容体系结构嵌入式Linux操作系统简介Linux的特征及组成Linux的内核分析常见的嵌入式操作系统嵌入式系统的开发流程,课程简介及要求,Linux常用命令集系统管理命令;文件管理命令;文件传输、编辑命令;目录操作命令;文件压缩、磁盘挂载命令;网络操作命令嵌入式Linux的开发环境及工具软件开发环境建立;开发工具使用;GNU make和Makefile文件;Makefile文件的自动生成;Vi编辑器的使用Emacs编辑器的使用,嵌入式Linux的构建嵌入式BootLoader技术;嵌入式Linux根文件系统;Linux内核构建;嵌入式Linux系统及应用程序的烧写嵌入式Linux的Shell编程Shell简介-使用者和linux操作系统核心程序之间接口;Shell编程;Bash的内部命令;嵌入式Linux内存管理嵌入式Linux内存管理的基本概念;Linux内存管理;虚存空间管理;共享内存;动态内存分配;Linux内存使用,课程简介及要求,嵌入式Linux的文件操作文件I/O系统概述文件I/O操作;应用举例嵌入式Linux进程与进程调度Linux进程管理;Linux的进程控制API;Linux进程通信API;Linux守护进程嵌入式Linux多线程开发Linux多线程相关API;信号灯;互斥量;条件变量嵌入式Linux网络编程GTK图形界面编程,课程简介及要求,什么是嵌入式系统?,嵌入式系统(Embedded system)是“以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统”,是一种“完全嵌入受控器件内部,为特定应用而设计的系统“。按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。对象系统则是指嵌入式系统所嵌入的宿主系统.,1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要靠外部桥路来扩展实现,象串口之类的都是靠外部的的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部;PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但某种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器,网络处理器引擎等。,如何理解“嵌入”,2、从软件上,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,而PC上的windows操作系统,多半的东西都需要我们重新安装。3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。,如何理解“嵌入”,嵌入式系统主要应用领域消费电子工业控制通信设备、家庭设备汽车电子医疗电子军事国防航空航天嵌入式系统无处不在,在移动电话、数码照相机、MP4、数字电视的机顶盒、微波炉、汽车内部的喷油控制系统、ABS(防抱死制动系统)等装置或设备都使用了嵌入式系统。,嵌入式技术正在改变生活,为什么要学习嵌入式系统,市场需求中国具有世界最大嵌入式技术市场,手持仪器设备、信息家电、城市建设、工业控制、军事应用,嵌入式技术无处不在。企业人才需求软硬件设计人才,应用开发人才,综合性人才,技术发展趋势要求8位、16位、32位,实时操作系统,目前国内没有专门的嵌入式系统专业或课程体系计算机专业:偏软电子专业:偏硬,为什么选择嵌入式行业?,嵌入式开发是目前高薪IT职业。嵌入式开发不会像桌面开发那样容易贬值。嵌入式开发可作为长期职业发展。嵌入式产品无处不在。就业起薪较高。,硬件是其基础、软件是其核心与灵魂。硬件主要由嵌入式微处理器、外围硬件设备组成;软件主要包括底层系统软件和用户应用软件组成,嵌入式系统的组成,1.嵌入式系统硬件组成嵌入式处理器(CPU)是嵌入式系统的核心部分ARM、PowerPC、MC 68000、MIPS等外围设备存储设备(如RAM、SRAM、Flash等)通信设备(如RS-232接口、以太网接口等)显示设备(如显示屏等),嵌入式系统的组成,2.嵌入式系统软件组成对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含4个层面:实时操作系统RTOS、应用程序接口API层、设备驱动层、实际应用程序层。嵌入式系统软件组成图,嵌入式系统的组成,第1章 嵌入式Linux操作系统简介,本章教学目的及要求了解Linux的特征及组成;了解Linux的内核结构及相关源代码;了解常见的嵌入式操作系统;了解嵌入式系统的开发流程。,1.1 Linux的特征及组成,1.1.1 Linux操作系统发展历史 Linux最初是专门为基于Intel处理器的个人计算机而设计的。Linux的前身指的是由Linus Torvalds维护开发的开放源代码的类Unix操作系统的内核。目前大多数人用它来表示以Linux内核为基础的整个操作系统。从这种意义讲,Linux指的是源码开放,包含内核和系统工具、完整的开发环境和应用的类Unix操作系统。同时,Linux遵循GNU(GNUs Not Unix)的通用公共许可证GPL(General Public License),是自由软件家族中的一员。,自由软件最早由美国麻省理工学院MIT的Richard Stallman提出。自1984年起,在MIT的支持下,Richard创建了自由软件基金会FSF(Free Software Foundation)。FSF的主要项目是GNU计划(革奴计划),它的目标是建立可自由发布和可移植的类Unix操作系统。同时,Richard创作了通用公共许可证GPL作为GNU的版权声明。GPL也叫Copyleft,这与我们平常所说的Copyright截然相反。任何人只要遵循GPL,就可以对Linux内核加以修改并发布给他人使用。Copyleft标志,什么是自由软件?,1.1.1 Linux操作系统发展历史,2011年11月,Linux 内核发布最新版 3.1.2,Linux之所以受到广大计算机爱好者的喜爱主要原因:一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改和无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。,Linux 之父:李纳斯托沃兹,Linus Torvalds,From:torvaldsklaava.Helsinki.FI(Linus Benedict Torvalds)Newsgroups:comp.os.minixSubject:What would you like to see most in minix?Summary:small poll for my new operating systemMessage-ID:Date:25 Aug 91 20:57:08 GMT Organization:University of HelsinkiHello everybody out there using minix-I doing a(free)operating system(just a hobby,wont be big and professional like gnu)for 386(486)AT clones.(你好,所有使用 minix 的人-我正在为 386(486)AT 做一个免费的操作系统(只是为了爱好),不会像 GNU 那样很大很专业)This has been brewing since April,and is starting to get ready.I like any feedback on things people like/dislike in minix,as my OS resembles practical reasons among other things.I have currently ported bash(1.08)and gcc(1.40),and things seem to work.This implies that Ill get something practical within a few months,and I like to know what feathers most people would want.Any suggestions are welcome,but I wont promise IIl implement them:-)Linus(torvaldskruuna.helsinki.fi)Ps.Yes-its free of any minix code,and it has a multi-threaded fs.It is NOT portable(uses 386 task switching etc),and it probably never will support anything other than AT-hard-disks,as thats all I have:-(,Linux的起源,linux for工作,linux系统管理员linux系统的维护、配置等linux程序员需c/c+、java,php、jsplinux软件工程师(PC)linux嵌入式开发(单片机、芯片),1.Linux系统的特点开放性:指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。多用户:是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。多任务:它是指计算机同时执行多个程序,而且各个程序的运行互相独立。良好的用户界面:Linux向用户提供了3种界面:用户界面、系统调用、图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面,1.1.2 Linux系统的特点及组成,设备独立性:是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。Linux是具有设备独立性的操作系统,它的内核具有高度适应能力 提供了丰富的网络功能:完善的内置网络是Linux一大特点。可靠的安全系统:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。良好的可移植性:是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。,1.1.2 Linux系统的特点及组成,2.Linux系统的组成Linux一般由以下4部分组成:Linux的内核:内核是系统的核心,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。Linux Shell:Shell是系统的用户界面,它是一个命令解释器,它解释用户输入的命令,并且把它们送到内核。提供了用户与内核进行交互操作的一种接口。Linux应用系统:标准的Linux系统都有一整套称为应用程序的程序集,包括文本编辑器、编程语言、X Window、办公套件、Internet工具、数据库等。Linux文件系统:Linux文件系统是文件存放在磁盘等存储设备上的组织方法。Linux能支持多种目前许多的文件系统,如EXT2、EXT3、FAT、VFAT、ISO9660、NFS、SMB等。,1.Linux的内核版本Linux内核采用双树结构。一棵树是稳定树,主要用于发行;另一棵树是非稳定树或开发树,用于产品开发、改进。源代码版本序号的形式为r.x.y,其中r为主版本号,代表较大改动;x为次版本号,表示功能性的改动;y为末版本号,表示BUG的改动(错误修补的次数)。其中r介于0到9之间,x和y则介于0到99之间。对于稳定树来说,x是偶数;对于开发树来说,x是比相应稳定树大1的奇数。例2.4.20为稳定内核版本。可以从http:/www.kernel.org/获得最新的内核信息,1.1.3 Linux的内核版本与发行版本,2.Linux的发行版本Linux的发布版本就是将Linux核心与应用软件打包。虽然Linux只有一个标准化的版本,但有好多个不同的发布版本。如今的Linux已经有超过250种发行版本,且可以支持所有体系结构的处理器,如X86、PowerPC、ARM、XSCALE等,也可以支持带MMU或不带MMU的处理器。到目前为止,它的内核版本也已从原先的0.0.1发展到现在的3.x。红旗Linux冲浪Linux 中软Linux Red Hat LinuxUbuntu Linux TurboLinux Debian LinuxMandriva Linux 其中Red Hat Linux和Ubuntu Linux(适合初学者)比较普遍,1.1.3 Linux的内核版本与发行版本,Red Hat Linux的优势,Red Hat Linux是最成熟也是目前最流行的一种Linux发布版本,无论在销售还是装机容量上都居榜首。Red Hat Linux可运行在多种硬件平台上。市场上有大量的文章是针对Red Hat Linux来介绍的,同时其http:/站点包含有大量文档,如Users Guide、FAQ等。,在Red Hat的300名工程师中,有6名来自于全世界最顶尖的Linux核心开发者,7名来自全球最出色Linux开发工具工程师。全世界,也许只有Red Hat能够把Linux和开源技术以及企业级的培训、技术支持和咨询融合得如此美妙。Red Hat的培训及认证被认为是Linux认证的标准。Certification杂志的最新调查显示,RHCE(Red Hat认证工程师)认证被公认为总体质量最高的国际IT认证。Red Hat的发展战略是每三年发布一个新版本的企业级Linux操作系统,并且每六个月发布一次更新。,第一阶段:linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql.和linux基本操作第二阶段:加厚c语言功底c专家编程或是java语言第三阶段:学习unix环境高级编程unix环境高级编程第四阶段:linux应用系统开发/linux嵌入式开发 推荐书籍鸟哥的Linux的私房菜 基础学习篇 鸟哥、许伟、林彩娥等编著Linux编程从入门到精通 宫虎波编著Linux内核完全剖析 赵炯编著实践合理利用网络资源:论坛、视频等,如何学习Linux,1.2.1 Linux内核结构,1.2 Linux的内核分析,内核负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络上 接收和发送数据包等等。内核实际是抽象的资源操作到具体硬件操作细节之间的接口。,从程序员来看,Linux内核抽象了许多硬件细节,使程序员可以以统一的方式进行数据处理。从用户来看,Linux是一个资源管理者,帮助用户方便的管理自己的数据,完成自己的工作。Linux是多用户、多任务的操作系统。Linux内核保证每个用户都象自己独占内存和其他硬件资源一样运行其进程,并使各进程公平合理地使用各种资源。,1.2.2 Linux内核的作用,1.2.3 Linux内核的抽象结构 5个子系统,提供对各种网络协议和网络硬件的支持。分为网络协议和网络设备驱动两部分。,保证多个进程安全地共享内存区域。,负责控制进程对CPU的访问。支持进程间各种通信机制,为所有设备提供统一的接口,支持数十种不同的文件系统。包括逻辑文件系统和设备驱动程序。,

此文档下载收益归作者所有

下载文档
收起
展开