




已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章 嵌入式Linux操作系统,导论,在大型嵌入式应用系统中,为了使嵌入式开发更加方便、快捷,需要具备一种稳定、安全的软件模块集合,用以管理存储器分配、中断处理、任务间通信和定时器响应,以及提供多任务处理等,这就是嵌入式操作系统。 Linux本身所具备的源码开放、内核可裁减等种种特性使其成为嵌入式开发的首选。在进入市场的前两年中,嵌入式Linux的设计通过广泛应用而获得了巨大成功。随着嵌入式Linux技术的成熟,定制需要的尺寸更加方便,同时支持更多的平台。 嵌入式论坛/forum.asp,主要内容,Linux概述 Linux文件系统 嵌入式Linux操作系统概述 嵌入式Linux开发流程 嵌入式Linux应用程序开发流程,6.1 Linux概述,6.1.1 什么是Linux?,Linux最初是专门为基于Intel处理器的个人计算机而设计的。Linux的前身指的是由Linus Torvald维护开发的开放源代码的类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内核加以修改并发布给他人使用。,什么是自由软件?,Linux之所以受到广大计算机爱好者的喜爱主要原因: 一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改和无约束地继续传播。 另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。,什么是Linux?,开放性:指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。 多用户:是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。 多任务:它是指计算机同时执行多个程序,而且各个程序的运行互相独立。 良好的用户界面 :Linux向用户提供了两种界面:用户界面和系统调用。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。,6.1.2 Linux的主要特点,设备独立性:是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。 Linux是具有设备独立性的操作系统,它的内核具有高度适应能力 提供了丰富的网络功能:完善的内置网络是Linux一大特点。 可靠的安全系统:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。 良好的可移植性:是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。,Linux的主要特点,6.1.3 LINUX的组成,LINUX的内核:内核是系统的核心,是运行程序和管理 像磁盘和打印机等硬件设备的核心程序。 LINUX SHELL: Shell是系统的用户界面,它是一个命令解释器,它解释用户输入的命令,并且把它们送到内核。提供了用户与内核进行交互操作的一种接口。 LINUX文件系统: Linux文件系统是文件存放在磁盘等存储设备上的组织方法。Linux能支持多种目前许多的文件系统,如EXT2、EXT3、FAT、VFAT、ISO9660、NFS、SMB等。 LINUX应用系统:标准的Linux系统都有一整套称为应用程序的程序集,包括文本编辑器、编程语言、X Window、办公套件、Internet工具、数据库等。,Linux内核采用双树结构。一棵树是稳定树,主要用于发行;另一棵树是非稳定树或开发树,用于产品开发、改进。 源代码版本序号的形式为x.yy.zz,其中x为主版本号,代表较大改动;yy为次版本号,表示功能性的改动;zz为末版本号,表示BUG的改动。其中x介于0到9之间,yy和zz则介于0到99之间。 对于稳定树来说,yy是偶数;对于开发树来说,yy是比相应稳定树大1的奇数。例2.4.20-8为稳定内核版本。,6.1.4 Linux的内核版本,6.1.5 Linux的发布版本,虽然Linux只有一个标准化的版本,但有好多个不同的发布版本。Linux的发布版本就是将Linux核心与应用软件打包。 红旗Linux 冲浪Linux 中软Linux Red Hat Linux Mandrake Linux Debain Linux TurboLinux,Red Hat Linux的优势,Red Hat Linux是最成熟也是目前最流行的一种Linux发布版本,无论在销售还是装机容量上都居榜首。 Red Hat Linux可运行在多种硬件平台上。 市场上有大量的文章是针对Red Hat Linux来介绍的,同时其站点包含有大量文档,如Users Guide、FAQ等。,Red Hat 9.0安装的步骤,(1)语言选择:,(2)键盘配置,(3)鼠标配置,(4)选择安装还是升级,(5) 安装类型,(6)磁盘分区设置:,(7)为系统分区,一个交换分区(至少32MB):用来支持虚拟内存,也即当没有足够的内存来存储系统正在处理的数据时,这些数据就被写入交换区。容量至少等于内存容量,一般 是内存容量的两倍。 一个/boot分区(100MB):此分区包含操作系统的拟合,并允许系统引导Red Hat Linux,以及其他几个在引导过程中使用的文件。 一个根文件(1.7G5.0GB),(7)为系统分区,(8)添加分区,(9)引导装载程序配置,(10)网络配置,(11)防火墙配置:,(12)语言支持的选择:,(13)时区配置,(14)设置根口令,(15)选择软件包组,(16)准备安装,应该看到一个安装 Red Hat Linux 做准备的屏幕。 当你重新引导系统后,一份完整的安装日志可在 /root/install.log 中找到,以备今后参考。要取消安装进程,按计算机的重新启动按钮,或者使用 Control-Alt-Delete 组合键来重启计算机。,(17)安装软件包,(18)创建引导盘,(19)视频卡配置,(20)配置显示器,(21)定制配置,(22)安装完成,祝贺你!你的 Red Hat Linux 9 安装现已完成! 安装程序会提示你做好重新引导系统的准备。 如果安装介质(磁盘驱动器内的磁盘或光盘驱动器内的光盘)在重新引导时没有被自动弹出,请记住取出它们。,Red Hat Linux9.0的登录和关闭,1.登录 使用 Red Hat Linux 系统的一个前提条件是登录。登录实际上是向系统做自我介绍,又称验证(authentication)。如果键入了错误的用户名或口令,就不会被允许进入系统。 Linux系统有普通用户和超级用户之分。普通用户的用户名是任意的,而超级用户的用户名是root。Linux系统是严格区分大小写的,无论是用户名、文件名、设备名都是如此。即luying、LuYing、LUYING是三个不同的用户名或文件名。,当口令输入完毕后,按回车键进入Red Hat Linux9.0图形化界面。,2. 注销,如果想切换用户登录,可采用注销当前图形化桌面会话。操作的方法是: (1)依次选择“主菜单注销”命令。 (2)打开如图 1-13所示的确认对话框,选择“注销”选项,然后点击“确定”按钮。如果你想保存桌面的配置以及还在运行的程序,选中“保存当前设置”复选框。,3. 关机和重新启动,关切和重新启动的方法如下: (1)依次选择“主菜单注销”命令。 (2)在打开的对话框,选择“关机”或“重新启动”选项,然后点击“确定”按钮,即可完成关机或重新启动操作。,6.1.6 使用 RPM 来管理软件包,RPM 软件包管理器(RPM)是开放打包系统,任何人都可以使用。它可以在 Red Hat Linux,以及其它 Linux 和 UNIX 系统上运行。 对于终端用户来说,RPM 简化了系统更新安装、删除安装、升级 RPM 软件包可以使用简短的命令就可完成。 对于开发者来说,RPM允许把软件编码和程序打包,然后提供给终端用户。,RPM 的设计目标,可升级性 使用 RPM,可以不必全盘重装就可以在系统上升级个别组件。当得到一个基于 RPM 的操作系统的新发行版本(如 Red Hat Linux),不必重新安装系统。 强大的查询功能 RPM 被设计来提供强大的查询功能。可以在整个数据库中搜索软件包或某些特定文件。还可以轻易地了解到哪个文件属于哪个软件包,软件包来自哪里。,RMP包的名称格式,RPM包的名称有其特有的格式,如典型的 RPM 软件名称类似于: liubing-1.0-1.i386.rpm 该文件名包括软件包名称“liubing”; 软件的版本“1.0”,其中包括主版本号和次版本号; “i386”是软件所运行硬件平台; 最后“rpm”做为文件的扩展名,当然代表文件的类型为RPM包。,RPM 的基本操作模式,RPM 有五种基本操作模式: 安装删除安装、升级、查询和校验。 请使用 rpm -help 命令。,安装RPM包,命令格式: rpm i RPM包的全路径文件名 如果想安装RPM包并显示安装进度信息可使用如下命令格式: rpm ivh RPM包的全路径文件名 在此命令的参数选项中: i:代表安装。 v:代表verbose,设置在安装过程中将显示详细的信息。 h:代表hash,设置在安装过程中将显示“# ”来表示安装的进度。 对于较大的RPM包,在安装时尤其需要使用“-ivh”选项,这样可以看到安装过程的相应信息,更可以了解安装的进度。,删除 RPM包,命令格式: rpm -e RPM包名称 rpm e命令用于从当前系统中删除已安装的软件包,需要在信念中指定要删除的软件包的名称而不是安装命令中的软件包安装文件名。 (1)首先在终端上将系统中自带的输入法删除。 # rpm e miniChinput (2)进入到下载fcitx的目录(假设是/input目录) # cd /input (3)然后使用RPM命令来安装fcitx # rpm ivh fcitx-1.8.5-1.rpm (4)要让此输入法生效,还必须重新启动Linux系统。,命令格式 : rpm -U RPM包的全路径文件名,升级 RPM包,命令格式 : rpm -q 使用 rpm -q 命令来查询安装的软件包的数据库 例如,rpm -q fcitx命令会显示安装的软件包 fcitx的名称、版本、和发行号码。,删除 RPM包,命令格式 : rpm -a: 查询所有已安装的软件包。 rpm -f : 会查询拥有 的软件 包。当指定文件时,必须指定 文件的完整路径 (/usr/bin/ls)。 rpm -p : 查询软件包 。,查询 RPM包,校验已安装的软件包,命令格式: rpm -V 校验软件包比较从某软件包安装的文件和原始软件包中的同一文件的信息。 例如,校验的最简单用法是 rpm -V fcitx,它校验所有在 fcitx软件包内的文件是否和最初安装时一样。,6.2 Linux文件系统,6.2.1 Linux文件系统概述,文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。 linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型,6.2.2 Linux 和DOS文件系统的区别,Linux文件系统是一个目录树结构,最上层是根目录,其他的所有目录都是从根目录出发而生成的。,Dos文件系统也采用目录树的结构,但DOS以每个分区为树根,有几个分区就有几个树型结构 。,Linux下,任何一个目录都可以是一个分区。因此,在分区时,必须将一个分区安装在树根下,而将其他的分区安装到树根下面。 Linux不仅将分区安装为一个目录,而且还将其他的硬件设备都安装成一个个设备文件。对设备的操作是通过文件的操作完成的。,6.2.2 Linux 和DOS文件系统的区别,6.2.3 Linux文件系统结构,“/”根目录 包含基本的操作系统和维护工具。这个目录的文件可以启动系统,并且需要的话,可以完成紧急维护和修复的功能。 “/usr”目录 包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。 “/var”目录 包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等。 “/home”目录 包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统省级时应该保留。 “/mnt”目录 一般用来临时挂载别的文件系统,如FAT32,NTFS等,6.2.3 Linux文件系统结构,“/bin”目录 系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。 “/sbin”目录 系统执行文件(二进制),这些文件不打算被普通用户使用。(普通用户仍然可以使用它们,但要指定目录。) “/etc”目录 操作系统的配置文件目录。 “/root”目录 系统管理员(也叫超级用户或根用户)的Home目录。 “/dev”目录 设备文件目录。LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目录。这些设备的内容会出现在独立的子目录下。LINUX没有所谓的驱动符。,6.2.3 Linux文件系统结构,“/lib”目录 根文件系统目录下程序和核心模块的共享库。 “/boot”目录 用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。这个目录也会包含LINUX核(压缩文件 vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。 “/opt”目录 可选的应用程序,譬如,REDHAT 5.2下的KDE (REDHAT 6.0下,KDE放在其它的X-WINDOWS应用程序中,主执行程序在/usr/bin目录下) “/tmp”目录 临时文件。该目录会被自动清理干净。 “/lost+found”目录 在文件系统修复时恢复的文件。,6.2.4 挂载文件系统,将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。把该子目录称为挂载点。 当一个机器上装了多个操作系统,比如在Linux工作时需访问Windows下的C盘,则需要在Linux上挂载 采用mount命令挂载,umount命令卸载。 为避免每次系统启动时都挂接,可写入相应命令到/etc/fstab。,加挂FAT32系统 首先进入/mnt目录,新建所挂接分区对应目录,例winD mount t vfat o iocharset=cp936 /dev/hda2 /mnt/winD 其中,hda2为D盘对应的设备文件,可通过“fdisk l”命令或“系统工具/硬件浏览器”中查看各盘对应的设备文件。 加挂ntfs系统 -t ntfs 加挂U盘上的文件系统 mount t vfat o iocharset=cp936 /dev/sda1 /mnt/udisk,6.2.4 挂载文件系统,6.2.5 常用的Linux文件系统,Linux系统核心支持十多种文件系统类型: ext、ext2、ext3、CRAMFS、msdos、umsdos、Vfat、NTFS等。 minix linux:最早使用的文件系统 ext2 linux和ext3 linux:目前常用的文件系统 nfs: 网络文件系统 cramfs: 只读文件系统,6.2.6 Linux的文件,文件名 Linux文件的名字可以由字母字符、下划线和数字组成,也可以加上句号和逗号。 文件名的第一个字符不能是数字,短划线、句点和星号等被系统用作特殊符号的其他符号。 用“.”开始的文件为隐藏文件,称为“点文件”。 可用“file 文件名”来查看文件类型。,6.2.6 Linux的文件类型,(1)、压缩的和归档的文件 .bz2 使用 bzip2 压缩的文件 . gz 使用 gzip 压缩的文件 .tar 使用 tar(tape archive,磁带归档的简写)压缩的文件,又称 tar 文件 .tbz 用 tar 和 bzip 压缩的文件 .tgz 用 tar 和 gzip 压缩的文件 .zip 使用 ZIP 压缩的文件,在 MS-DOS 应用程序中常见。多数为 Linux 压缩的文件使用 gzip 压缩,因此 Linux 文件中的 .zip 归档较少见。,6.2.6 Linux的文件类型,(2)、 文件格式 .au 音频文件 .gif GIF 图像文件 .html/.htm HTML 文件 .jpg JPEG 图像文件 .pdf 文档的电子映像;PDF 代表 Portable Document Format(可移植文档格式) .png PNG 图像文件(Portable Network Graphic 的简写,可移植网络图形) .ps PostScript 文件,为打印而格式化过的文件 .txt 纯 ASCII 文本文件 .wav 音频文件 .xpm 图像文件,6.2.6 Linux的文件类型,(3)、系统文件 . .conf 一种配置文件。配置文件有时也使用 .cfg。 .lock 锁(lock) 文件;用来判定程序或设备是否正在被使用 .rpm Red Hat 用来安装软件的软件包管理器文件,6.2.6 Linux的文件类型,(4)、编程和脚本文件 .c C 程序语言的源码文件 .cpp C+ 程序语言的源码文件 .h C 或 C+ 程序语言的头文件 .o 程序的对象文件 .pl Perl 脚本 .py Python 脚本 .so 库文件 .sh shell 脚本 .tcl TCL 脚本,6.4 嵌入式Linux操作系统概述,6.4 嵌入式Linux操作系统概述,利用Linux搭建嵌入式操作系统是近年来最令人振奋的方案之一,Linux将来可能会成为嵌入式系统主流操作系统。 嵌入式Linux是按照嵌入式操作系统的要求而设计的一种小型操作系统。由一个内核及一些根据需要进行定制的系统模块组成。其kernel很小,一般只有几百kB左右。即使加上其它必须的模块和应用程序,所需的存储空间也很小。它有多任务、多进程的系统特征,有些还具有实时性 。,把Linux用于嵌入式系统,一般都不是原封不动地照搬,而是充分考虑各种具体嵌入式系统的特点,有针对性地对Linux内核加以裁减、修改和补充。 一个小型的嵌入式Linux系统只需要引导程序、Linux微内核(由内存管理、进程管理和事务处理构成)、初始化进程3个基本元素。 如果要让它有更多的功能且
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 菏泽家政职业学院《国际贸易综合模拟》2023-2024学年第二学期期末试卷
- 武汉工程科技学院《摄影与生活》2023-2024学年第二学期期末试卷
- 北京航空航天大学《信号与系统仿真基础实验》2023-2024学年第二学期期末试卷
- 哈尔滨科学技术职业学院《电子电路应用》2023-2024学年第二学期期末试卷
- 南京大学金陵学院《朗读技能指导与训练》2023-2024学年第二学期期末试卷
- 陇南师范高等专科学校《财税法》2023-2024学年第二学期期末试卷
- 贵阳信息科技学院《建设法规与工程监理概论》2023-2024学年第二学期期末试卷
- 云南商务职业学院《控制仪表及装置》2023-2024学年第二学期期末试卷
- 广东行政职业学院《建筑工程计量与计价A》2023-2024学年第二学期期末试卷
- 北方工业大学《卫生财务管理》2023-2024学年第二学期期末试卷
- 舞台剧合作合同协议
- 影视文化试题及答案解析
- 施工现场安全施工方案
- DB63T2004-2021 沥青路面就地冷再生基层技术规范
- 大学武术知到智慧树章节测试课后答案2024年秋浙江大学
- 2023年全国职业院校技能大赛-老年护理与保健赛项规程
- MOOC 财政学-浙江财经大学 中国大学慕课答案
- JJG 443-2023燃油加油机(试行)
- 材料力学第4版单辉祖习题答案
- 消防控制室值班记录1
- 三国演义-人物-艺术手法
评论
0/150
提交评论