第三章 Linux编程环境.ppt
文本预览下载声明
Linux的定义 Linux一般是指Linux内核、Linux系统、Li nux发行版。严格意义上说Linux是指由Linus Torvalds维护的并发布的内核。它的代码基只包括内核而不包括其它方面的应用。内核提供系统核心服务,如进程管理、进程的调度、虚拟文件系统、内存的管理等等。 嵌入式Linux,一般是指把Linux内核移植到一个专用嵌入式设备的CPU和主板上。现在有很多公司提供嵌入式Linux解决方案。通常包括一个移植的内核、嵌入式Linux的开发工具以及根据应用需要裁减的应用程序等,有时还提供实时扩展的内核。就大部分而言,嵌入式Linux和桌面Linux提供的API函数和内核源代码都是相同的。 开发工具主要包括源码浏览器(如source insight)、交叉编译器、调试器等项目管理软件等等。这些工具一般都是装在主机上。 嵌入式系统种类划分 嵌入式系统的划分一般是根据使用对象进行划分,消费类电子、工控设备等。为了更好的理解所设计的系统,可以按照尺寸,时间约束,网络,用户交互程度等因素划分。 尺寸:小系统,中等系统,大系统 小系统-CPU的性能比较低,ROM2MB RAM4MB 中系统-CPU的性能中等,ROM32MB RAM64MB左右 大系统-CPU性能高,存储量大。 时间约束:实时,非实时 网络连接性 用户交互性能 嵌入式Linux种类 是否支持MMU 不支持MMU:ucLinux,主要应用在ARM7系列微处理系统中,如三星公司的S3C44B0,S3C4510等,无MMU,不支持虚拟地址,直接访问内存,所有程序中访问的地址都是物理地址。 支持MMU:嵌入式Linux,主要应用在ARM9系列微处理器系统中,如三星公司的S3C2410,Intel公司的PXA255等。 MMU 实现虚拟存储空间 即将虚拟存储空间影射到实际物理存储空间。使编程人员不用考虑具体程序所放在物理存储空间的具体位置和程序的大小。 存储器访问权限的控制 任务间通讯时对自己的内存、堆栈等进行保护。通过管道、信号量、共享内存等方式进行通讯。 控制Cache 。 Linux的主要特点 开放性 开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。 多用户 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。 多任务 多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。 Linux系统调度每一个进程平等地访问微处理器。 良好的用户界面 Linux向用户提供了两种界面:用户界面和系统调用。 用户界面可分为基于文本的命令行界面和图形界面,作为人机交互界面。 系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。 设备独立性 指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。 丰富的网络功能 完善的内置网络是Linux的一大特点。 可靠的系统安全 Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、核心授权等。 良好的可移植性 可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。 嵌入式Linux优势 Linux的费用低; Linux的所有部分可以充分地定制 ; Linux可以运行在低档,便宜的硬件平台; Linux功能强大; Linux对源代码质量要求高; Linux内核非常小,而且紧凑; Linux对硬件有很好的支持; Linux有很多合适的开发工具; Linux的版本 内核版本与发型版本 操作系统的内核版本指的是在Linus本人领导下的开发小组开发出的系统内核的版本号,如2.4.x, 2.6.x。 有一些组织或商业厂家, 将Linux系统的内核与外围应用软件和文档包装起来, 并提供一些系统安装界面和系统设定与管理工具, 这样就构成了一个发行版本,如 RedHat、Debian 。 如何选择Linux的版本 DIY-自己动手做一个满足需要的Linux版本 选择商用Linux版本 授权和涉及到的授权 是否满足你的需要,是否有合适的开发工具 是否能够提供足够的支持 信誉 文档 嵌入式Linux发展现状 RT-Linux RT-Linux是利用Linux进行实时系统开发比较早的尝试,是一种硬实时操作系统。目前RT-Linux已成功应用于航天飞机的空间数据采集、科学仪器测控,以及电影特技图像处理等众多领域。 RT-Linu
显示全部