文档详情

嵌入式系统技术L6

野鹰
实名认证
店铺
PDF
1,004.93KB
约170页
文档ID:12513760
嵌入式系统技术L6_第1页
1/170

•16/7/7第七章 LINUX系统简介•16/7/7◆ 熟悉与了解 Linux的一些基础知识◆ 了解 Linux内核的基本概念和 Linux文件结构◆ 掌握和熟练运用 Linux常用命令以及Linux文本编辑16/7/7什么是 UNIX?ü Multics( Multiplexed Information and Computing SYSTEM)Multics是由麻省理工学院, AT&T贝尔实验室和通用电气合作进行的操作系统项目,最终以失败而告终ü1970年, 贝尔实验室 (朗讯公司, 11位诺贝尔奖 ) ,肯 .汤普逊 ( Kenneth Lane Thompson) ;丹尼斯 · 里奇( Dennis Ritchie ) ;“ UNiplexed Information and Computing System”,缩写为“ UNICS”, 后演变为“ UNIX” ü 1971年, 汤普逊和里奇对 B语言进行了改造,并于 1971年共同发明了 C语言 1973年汤普逊和里奇用 C语言 重写了Unix16/7/7什么是 UNIX?ü 1974年,汤普逊和里奇合作在 ACM通信上发表了一篇关于 UNIX的文章,这是 UNIX第一次出现在贝尔实验室以外。

此后 UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来ü加州大学柏克莱分校继续开发 BSD UNIX; BSD对 UNIX最重要的贡献之一是 TCP/IPüBSD的一名主要开发者,比尔 · 乔伊,在 BSD基础上开发了 SunOS,并最终创办了太阳计算机系统公司Thompson (left) Ritchie (center)1999年ü1993年以后,大多数商业 UNIX发行商都基于 SVR4开发自己的 UNIX变体了•16/7/77.1.1 GNU 与 POSIX标准Linux的发展离不开 GNU( GNU在英文中原意为非洲牛羚,这里是 GNU is Not Unix的递归缩写) ,GNU计划又称革奴计划,是由 Richard Stallman在 1983年 9月 27日公开发起的 ,它的目标是创建一套完全自由的操作系统7.1 Linux基础知识16/7/7•Richard Matthew Stallman1971年进入哈佛大学学习,同年受聘于麻省理工学院人工智能实验室( AI Laboratory),成为一名职业黑客•在 AI实验室工作期间,斯托曼开发了多种今后影响深远的软件,其中最著名的就是 Emacs。

斯托曼在AI是一名典型的黑客,是整个黑客文化的一份子什么是 GNU?16/7/7•然而进入八十年代后,黑客社群在软件工业商业化的强大压力下日渐土崩瓦解,甚至连 AI实验室的许多黑客也组成了Symbolic公司,试图以专利软件来取代实验室中黑客文化的产物 ——可自由流通的软件•斯托曼对此感到气愤与无奈在对 Symbolic进行了一段时间的抗争后,他于 1985年发表了著名的 GNU宣言 (GNU Manifesto),正式宣布要开始进行一项宏伟的计划:创造一套完全自由,兼容于 Unix的操作系统 GNU( GNU's Not Unix!)之后他又建立了自由软件基金会来协助该计划•他于 1989年与一群律师起草了广为使用的 GNU通用公共协议证书( GNU General Public License, GNU GPL),创造性地提出了“ CopyLEFT”的概念什么是 GNU?•16/7/7Copyleft为保证 GNU软件可以自由地“使用、复制、修改和发布”,所有 GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款, GNU通用公共许可证( GNU General Public License, GPL)。

这个就是被称为“反版权”(或称 Copyleft)的概念什么是 GNU?•16/7/7GNU 包含 3个协议条款,它们是:GPL: GNU通用公共许可证( GNU General Public License)LGPL: GNU较宽松公共许可证 (GNU Lesser General Public License),旧称 GNU Library General Public License (GNU 库通用公共许可证 );GFDL: GNU自由文档许可证 ( GNU Free Documentation License )的缩写形式什么是 GNU?•16/7/7GNU计划开发出了许多高质量的免费软件,如:GCC、 GDB、 GNUPlot、 Bash Shell等,这些软件为 Linux的开发创造了基本的环境,是 Linux发展的重要基础,因此,严格来讲, Linux应该被称为GNU/LinuxGNU网站:http://www.gnu.org/什么是 GNU?•16/7/7POSIX 表示可移植操作系统接口( Portable Operating System Interface , POSIX )。

电气和电子工程师协会( Institute of Electrical and Electronics Engineers, IEEE)最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性然而, POSIX 并不局限于UNIX什么是 POSIX?16/7/77.1.2 什么是 LinuxLinus Torvalds于 1991年在芬兰赫尔辛基大学基于 Unix开发Ø在自由软件之父理查德 ·斯托曼( Richard Stallman)精神的感召下,林纳斯很快以 Linux的名字把这款类 Unix的操作系统加入到了自由软件基金( FSF)的 GNU计划 中,并通过 GPL的通用性授权 (允许用户销售、拷贝并且改动程序,但你必须将同样的自由传递下去,而且必须免费公开你修改后的代码)Ø 林纳斯的这一举措带给了 Linux和他自己巨大的成功和极高的声誉短短几年间,在 Linux身边已经聚集了成千上万的狂热分子,大家不计得失的为 Linux增补、修改,并随之将开源运动的自由主义精神传扬下去,人们几乎像看待神明一样对林纳斯顶礼膜拜 Linux并不是被刻意创造的,它完全是日积月累的结果,是经验、创意和一小段一小段代码的集合体。

•16/7/7Linux继承了 Unix,他们相似和相同的东西好多,所以 Linux还是类 Unix的操作系统有一种说法是 Linux是 Unix的一个变种版本简单地说, Linux是一套免费使用和自由传播的类 Unix操作系统这个系统是由世界各地的成千上万的程序员设计和实现的目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的 Unix兼容产品什么是 LINUX?•16/7/7Linux是一个网络操作系统( Network Operating System, NOS)所谓网络操作系统则在一般操作系统的功能上增加了网络功能,具体包括:1)实现网络中各计算机之间的通信和资源共享;2)提供多种网络服务软件;3)提供网络用户的应用程序接口什么是 LINUX?•16/7/7Linux内核版本有两种:稳定版 和 开发版稳定版的内核具有工业级的强度,可以广泛地应用和部署开发版内核由于要试验各种解决方案,所以变化很快,这两种版本是相互关联,相互循环的•16/7/7Linux内核的命名机制:num.num.num其中 :第一个数字是 主版本号第二个数字是 次版本号第三个数字是 修订版本号如果次版本号是偶数,那么该内核就是稳定版的;若是奇数 ,则是开发版的。

头两个数字合在一齐可以描述内核系列如稳定版的 2.6.0,它是 2.6版内核系列•16/7/7一个典型的 Linux发行版包括:1) Linux内核2) 一些 GNU程序库和工具3) 命令行 shell4) 图形界面的 X Window系统5) 相应的桌面环境,如 KDE或 GNOME6) 并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件•16/7/7发行版有 :( 1) Debian;( 2)红帽( Redhat);( 3) Ubuntu;( 4) Suse;( 5) Fedora•16/7/77.1. 2 Linux应用开发当设计的嵌入式系统要完成较复杂功能后,简单控制逻辑就不够用了,这时就需要应用嵌入式操作系统了随着嵌入式系统的发展,从八十年代末开始相继出现了一些嵌入式操作系统如: Vxwork、 pSOS、Neculeus和 Windows CE嵌入式 Linux是对 Linux经过小型化裁剪,能够固化在容量相对较小(数百 K到数百 M)的存储器芯片中,应用于特定的嵌入式场合 Linux•16/7/7由于其低廉的成本和高度的可定制性, Linux被广泛应用于嵌入式系统。

例如机顶盒、移动及行动装置等在移动上, Linux已经成为与 Symbian OS、Windows Mobile系统并列的三大智能操作系统之一Android是一种以 Linux为基础的开放源代码操作系统在移动装置上,则成为 Windows CE之外另一个选择有不少硬件式的网络防火墙及路由器,其内部都是使用 Linux,并采用了操作系统提供的防火墙及路由功能•16/7/7在 Linux应用上, Linux确实跟它的竞争对手Windows相比还有一定的差距不过在高端的应用上,Linux的市场是越来越大,如:1、 Linux内核开发1) PDA个人掌上电脑;2)专用的网络设备;防火墙设备, VPN(虚拟专用网络)设备等是用 Linux编写的,3) 硬件驱动程序•16/7/72、 Linux网络编程1) php编程,建立动态站点;2) jsp编程;3) perl, cgi编程•16/7/73、 Linux系统下数据库的开发1) my sql中小型数据库系统;2) oracle数据库;3) DB2数据库, IBM数据库系统•16/7/77.1.3 Linux特点Linux特点如下:1)自由软件,开放源代码;2)真正的多用户、多任务操作系统3)可灵活裁剪配置;4)支持多种硬件平台;5)提供强大的管理功能6)完全符合 POSIX标准7)具有丰富的图形用户界面8)具有强大的网络功能•16/7/77.2.1 Linux介绍Linux一般由 内核、 Shell、文件结构 和 实用工具 等四个主要部分组成,下面分别介绍:1. Linux内核内核是 Linux系统的灵魂,负责整个系统的 内存管理,进程调度和文件管理。

Linux内核的容量并不大,并且大小可以裁减 一般一个功能比较全面的内核也不会超过 1M合理的配置 Linux内核是嵌入式开发中很重要的一步,对内核的充分了解是嵌入式 Linux开发的基本功7.2 LINUX 入门•16/7/7Linux内核的功能大致分成如下几个部分:1)进程管理进程管理功能负责创建和撤销进程以及处理他们和外部世界的连接不同进程之间的通信是整个系统的基本功能,因此也由内核处理除此之外,控制进程如何共享 CPU资源的调度程序也是进程管理的一部分概括的说,内核的进程管理活动就是在单个或多个 CPU上实现多进程的抽象•16/7/72)内存管理内存是计算机的主要资源之一,用来管理内存的策略是决定系统性能的一个关键因素内核在有限的可用资源上为每个进程都创建了一个虚拟寻址空间内核的不同部分在和内存管理子系统交互时使用一套相同的系统调用,包括从简单的 malloc/free到其他一些不常用的系统调用•16/7/73)文件系统Linux在很大程度上依赖于文件。

下载提示
相似文档
正为您匹配相似的精品文档