1、嵌入式linux操作系统嵌入式嵌入式linuxlinux操作系统操作系统 嵌入式linux操作系统第二章第二章 操作系统基础知识及操作系统基础知识及linux系统简介系统简介嵌入式系统体系结构嵌入式系统体系结构Linux系统简介系统简介操作系统的启动过程操作系统的启动过程2嵌入式linux操作系统 冯诺依曼体系结构和哈佛体系结构(CPU的结构)影响CPU性能的因素 存储器系统 I/O接口1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统冯冯诺依曼体系结构模型诺依曼体系结构模型指令寄存指令寄存器器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器存储器存储器程序程序
2、指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4数据数据数据数据0 0数据数据1 1数据数据2 21.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统冯冯诺依曼体系结构特点:诺依曼体系结构特点:(1)程序和数据共用一个存储空间;)程序和数据共用一个存储空间;(2)程序指令存储地址和数据存储地址指向同一)程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置个存储器的不同物理位置;(3)程序指令和数据宽度相同)程序指令和数据宽度相同1.1嵌入式系统体系结构嵌入式系统体系结构执行指令过程:先取指令并解码,再取操作数并执行指令过程:先取指令并解码,再取操作数
3、并执行运算,影响运算速度,容易出现瓶颈效应。执行运算,影响运算速度,容易出现瓶颈效应。嵌入式linux操作系统哈佛体系结构哈佛体系结构指令寄存指令寄存器器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器程序存储器程序存储器指令指令0指令指令1指令指令2数据存储器数据存储器数据数据0数据数据1数据数据2地址地址指令指令地址地址数据数据1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统哈佛体系结构特点:哈佛体系结构特点:(1)程序与数据存储在不同存储空间,各有独立)程序与数据存储在不同存储空间,各有独立编址并可以各自独立访问;编址并可以各自独立访问;(2)有四套总线
4、:程序的数据总线和地址总线,)有四套总线:程序的数据总线和地址总线,数据的数据总线和地址总线;数据的数据总线和地址总线;(3)可以在一个机器周期内同时获取指令和操作)可以在一个机器周期内同时获取指令和操作数,且因程序和数据分属不同物理空间,取指与执数,且因程序和数据分属不同物理空间,取指与执行可以重叠。行可以重叠。1.1嵌入式系统体系结构嵌入式系统体系结构哈佛体系结构:哈佛体系结构:运算速度比较快运算速度比较快嵌入式linux操作系统哈佛体系结构指令执行过程哈佛体系结构指令执行过程1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统影响影响CPU性能的因素:流水线、超标量和缓存性
5、能的因素:流水线、超标量和缓存 流水线技术:几个指令可以并行执行流水线技术:几个指令可以并行执行 提高了提高了CPU的运行效率的运行效率 内部信息流要求通畅流动内部信息流要求通畅流动译码取指执行add译码取指执行sub译码取指执行cmp时间AddSubCmp1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统超标量执行:超标量超标量执行:超标量CPU采用多条流水线结构采用多条流水线结构执行1预取指令CACHE译码2译码1执行2执行1预取译码2译码1执行2流水线1流水线2数据1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统(1)为什么采用高速缓存)为什么采用高速缓
6、存 微处理器的时钟频率比内存速度提高快得多,微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。高速缓存可以提高内存的平均性能。(2)高速缓存的工作原理)高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。部分主存内容的拷贝。CPU高速缓存控制器CACHE主存数据数据地址1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统总线和总线桥总线和总线桥CPU低速设备桥数据高速总线存储器高速设备高速设备低速总线1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统芯片组(芯片组(Chips
7、et)主板的核心组成部分,如果说中央处理器(CPU)是整个电脑系统的心脏,那么芯片组将是整个身体的躯干。芯片组是主板的灵魂。芯片组性能的优劣,决定了主板性能的好坏与级别的高低。目前CPU的型号与种类繁多、功能特点不一,如果芯片组不能与CPU良好地协同工作,将严重地影响计算机的整体性能甚至不能正常工作。1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统 其中CPU的类型、主板的系统总线频率,内存类型、容量和性能,显卡插槽规格是由芯片组中的北桥芯片决定的;扩展槽的种类与数量、扩展接口的类型和数量(如USB2.0/1.1,IEEE1394,串口,并口,笔记本的VGA输出接口)等,是由
8、芯片组的南桥决定的;还有些芯片组由于纳入了3D加速显示(集成显示芯片)、AC97声音解码等功能,还决定着计算机系统的显示性能和音频播放性能等。1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统 北桥芯片负责与CPU的联系并控制内存、AGP、PCI数据在北桥内部传输,提供对CPU的类型和主频、系统的前端总线频率、内存的类型(SDRAM,DDR SDRAM以及RDRAM等等)和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持.整合型芯片组的北桥芯片还集成了显示核心。离CPU最近的芯片,这主要是考虑到北桥芯片与处理器之间的通信最密切,为了提高通信性能而缩短传输距离。北桥芯片北桥
9、芯片 1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统1.1嵌入式系统体系结构嵌入式系统体系结构北桥芯片北桥芯片 嵌入式linux操作系统南桥芯片(南桥芯片(South Bridge)南桥芯片负责I/O总线之间的通信,如PCI总线、USB、LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等,这些技术一般相对来说比较稳定,所以不同芯片组中可能南桥芯片是一样的,不同的只是北桥芯片。所以现在主板芯片组中北桥芯片的数量要远远多于南桥芯片。1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统 南桥芯片不与处理器直接相连,而是通过一定的方式(不
10、同厂商各种芯片组有所不同,例如英特尔的英特尔Hub Architecture以及SIS的Multi-Threaded“妙渠”)与北桥芯片相连。离处理器较远,一般都没有覆盖散热片。发展方向主要是集成更多的功能,例如网卡、RAID、IEEE 1394、甚至WI-FI无线网络等等。1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统1.1嵌入式系统体系结构嵌入式系统体系结构南桥芯片南桥芯片嵌入式linux操作系统存储器系统存储器系统 RAM:随机存取存储器,:随机存取存储器,SRAM:静态随机存储:静态随机存储器,器,DRAM:动态随机存储器:动态随机存储器 1)SRAM比比DRAM快
11、快 2)SRAM比比DRAM耗电多耗电多 3)DRAM存储密度比存储密度比SRAM高得多高得多 4)DRM需要周期性刷新需要周期性刷新 ROM:只读存储器:只读存储器 FLASH:闪存:闪存1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统输入输出接口输入输出接口:I/O A/D、D/A 键盘键盘 LCD 存储器接口存储器接口 设备接口设备接口1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统RS232(串口)(串口)最高传输速率为20 kb/s,最大传输线长为30 米。一般微机提供标准的RS232C 接口,该接口采用负逻辑,与CMOS、TTL 电路的相连需要专
12、用集成电路进行电平转换。传输速率低、传输距离近、抗共模干扰能力差,在条件较恶劣的现场控制中,很难实现数据的正常传输和获取。1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统典型嵌入式系统典型嵌入式系统基本组成硬件基本组成硬件MPUMPU微处理器微处理器电源电源模块模块时钟时钟复位复位FlashFlashRAMRAMROMROMUSBUSBLCDLCDKeyboardKeyboard外围电路外围电路OtherOther外设外设1.1嵌入式系统体系结构嵌入式系统体系结构嵌入式linux操作系统典型嵌入式系统基典型嵌入式系统基本组成本组成-软硬件结构软硬件结构1.1嵌入式系统体系结构
13、嵌入式系统体系结构处理器处理器存储器存储器输入输入输出输出操作系统操作系统应用程序应用程序软件软件结构结构硬件硬件结构结构嵌入式linux操作系统第二章第二章 操作系统基础知识及操作系统基础知识及linux系统简介系统简介嵌入式系统体系结构嵌入式系统体系结构Linux系统简介系统简介操作系统的启动过程操作系统的启动过程25嵌入式linux操作系统Windows系统与系统与Linux系系统的启动统的启动过程过程1.2操作系统的启动过程操作系统的启动过程嵌入式linux操作系统Windows系统与系统与Linux系系统的启动统的启动过程过程1.2操作系统的启动过程操作系统的启动过程嵌入式linux
14、操作系统嵌入式linux操作系统硬盘的物理第一扇(0柱面,0磁道,1扇区)是硬盘主引导记录扇MBR。计算机启动时,首先就读取该扇,读出硬盘分区表,从中选择三个主分区中唯一一个具有活动标记的分区,引导该分区上的操作系统。主引导记录MBR嵌入式linux操作系统第一阶段:第一阶段:BIOS:硬件自检,启动顺序;:硬件自检,启动顺序;硬件自检完成后,BIOS把控制权转交给下一阶段的启动程序。这时,BIOS需要知道,”下一阶段的启动程序”具体存放在哪一个设备。也就是说,BIOS需要有一个外部储存设备的排序,排在前面的设备就是优先转交控制权的设备。这种排序叫做”启动顺序”(Boot Sequence)。
15、打开BIOS的操作界面,里面有一项就是”设定启动顺序”。嵌入式linux操作系统嵌入式linux操作系统第二阶段:主引导记录第二阶段:主引导记录BIOS按照”启动顺序”,把控制权转交给排在第一位的储存设备。即根据用户指定的引导顺序从软盘、硬盘或是可移动设备中读取启动设备的MBR,并放入指定的位置(0 x7c000)内存中。计算机读取该设备的第一个扇区,也就是读取最前面的512个字节。如果这512个字节的最后两个字节是0 x55和0 xAA,表明这个设备可以用于启动;如果不是,表明设备不能用于启动,控制权于是被转交给”启动顺序”中的下一个设备。这最前面的512个字节,就叫做”主引导记录”(Mas
16、ter boot record,缩写为MBR)。它的主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统。嵌入式linux操作系统第三阶段:硬盘启动第三阶段:硬盘启动计算机的控制权就要转交给硬盘的某个分区了,这里又分成三种情况。情况情况A:卷引导记录:卷引导记录:四个主分区里面,只有一个是激活的。计算机会读取激活分区的第一个扇区,叫做”卷引导记录”(Volume boot record,缩写为VBR).告诉计算机,操作系统在这个分区里的位置。然后,计算机就会加载操作系统了。情况情况B:扩展分区和逻辑分区:扩展分区和逻辑分区:计算机先读取扩展分区的第一个扇区,叫做”扩展引导记录”(Extende
17、d boot record,缩写为EBR)。它里面也包含一张64字节的分区表,但是最多只有两项(也就是两个逻辑分区)。情况情况C:启动管理器:启动管理器在这种情况下,计算机读取”主引导记录”前面446字节的机器码之后,不再把控制权转交给某一个分区,而是运行事先安装的”启动管理器”(boot loader),由用户选择启动哪一个操作系统。嵌入式linux操作系统启动管理器启动管理器嵌入式linux操作系统第四阶段:操作系统第四阶段:操作系统控制权转交给操作系统后,操作系统的内核首先被载入内存。以Linux系统为例,先载入/boot目录下面的kernel。内核加载成功后,第一个运行的程序是/sbi
18、n/init。它根据配置文件(Debian系统是/etc/initab)产生init进程。这是Linux启动后的第一个进程,pid进程编号为1,其他进程都是它的后代。然后,init线程加载系统的各个模块,比如窗口程序和网络程序,直至执行/bin/login程序,跳出登录界面,等待用户输入用户名和密码。至此,全部启动过程完成。嵌入式linux操作系统嵌入式linux操作系统Linux 的启动、登录、关机的启动、登录、关机系统加电Bootloader 或BIOS加电自检读硬盘主引导扇区分析分区表执行MBR中的引导程序读入操作系统内核读入活动分区的引导扇区LILO装在MBR进行初始化Linux启动过
19、程执行initLILO装在boot扇区1.2操作系统的启动过程操作系统的启动过程LInux Loader(LILO)嵌入式linux操作系统第二章第二章 操作系统基础知识及操作系统基础知识及linux系统简介系统简介嵌入式系统体系结构嵌入式系统体系结构Linux系统简介系统简介操作系统的启动过程操作系统的启动过程38嵌入式linux操作系统1.3 Linux基础知识基础知识(一)什么是Linux 当设计的嵌入式系统要完成较复杂功能后,简单控制逻辑就不够用了,这时就需要应用嵌入式操作系统了。随着嵌入式系统的发展,从八十年代末开始相继出现了一些嵌入式操作系统。如:Vxwork、pSOS、Necul
20、eus和Windows CE。嵌入式linux操作系统1.3 Linux基础知识基础知识 简单地说,Linux是一套免费使用和自由传播的类Unix操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。嵌入式Linux是对Linux经过小型化裁剪,能够固化在容量相对较小(数百K到数百M)的存储器芯片中,应用于特定的嵌入式场合Linux。嵌入式linux操作系统1.2 Linux基础知识基础知识 Linux是一个网络操作系统(Network Operating System,NOS)。所谓网络操作系统则在一般操
21、作系统的功能上增加了网络功能,具体包括:1)实现网络中各计算机之间的通信和资源共享;2)提供多种网络服务软件;3)提供网络用户的应用程序接口。嵌入式linux操作系统1.2 Linux基础知识基础知识 Linux最早是Linus Torvalds(李纳斯托沃兹)于1991年在芬兰赫尔辛基大学原创开发的,并在GNU(GNUs Not Unix)的GPL(General Public License)原则下发行。Linux继承了Unix,他们相似和相同的东西好多,所以Linux还是类Unix的操作系统。有一种说法是Linux是Unix的一个变种版本。嵌入式linux操作系统1.3 Linux基础知
22、识基础知识Linux内核版本有两种:稳定版和开发版 稳定版的内核具有工业级的强度,可以广泛地应用和部署。开发版内核由于要试验各种解决方案,所以变化很快,这两种版本是相互关联,相互循环的。嵌入式linux操作系统1.2 Linux基础知识基础知识 Linux内核的命名机制:num.num.num其中:第一个数字是主版本号 第二个数字是次版本号 第三个数字是修订版本号 如果次版本号是偶数,那么该内核就是稳定版的;若是奇数,则是开发版的。头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。嵌入式linux操作系统1.3 Linux基础知识基础知识一个典型的Linux发行版
23、包括:1)Linux内核 2)一些GNU程序库和工具 3)命令行shell 4)图形界面的X Window系统 5)相应的桌面环境,如KDE或GNOME 6)并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。嵌入式linux操作系统1.3 Linux基础知识基础知识 发行版有:(1)Debian;(2)红帽(Redhat);(3)Ubuntu;(4)Suse;(5)Fedora。嵌入式linux操作系统1.3 Linux基础知识基础知识1.3.2 Linux应用开发 由于其低廉的成本和高度的可定制性,Linux被广泛应用于嵌入式系统。例如机顶盒、移动电话及行动装置等。在移动电话上
24、,Linux已经成为与Symbian OS(塞班操作系统)、Windows Mobile系统并列的三大智能手机操作系统之一;在移动装置上,则成为Windows CE之外另一个选择。有不少硬件式的网络防火墙及路由器,其内部都是使用Linux,并采用了操作系统提供的防火墙及路由功能。嵌入式linux操作系统1.2 Linux基础知识基础知识1、Linux内核开发 1)PDA个人掌上电脑;2)专用的网络设备;防火墙设备,VPN(虚拟专用网络)设备等是用Linux编写的,国产的,现在销售的十分不错;3)硬件驱动程序。在Linux应用上,Linux确实跟它的竞争对手Windows相比还有一定的差距。不过
25、在高端的应用上,Linux的市场是越来越大,如:嵌入式linux操作系统1.3 Linux基础知识基础知识2、Linux网络编程 1)php(服务端编程语言)编程,建立动态站点;2)jsp(Java服务端网页)编程;3)perl(实用报表提取言语),cgi(公共网关接口)编程。3、Linux系统下数据库的开发 1)my sql中小型数据库系统;2)oracle数据库;3)DB2数据库,IBM数据库系统。嵌入式linux操作系统1.3 Linux基础知识基础知识Linux特点如下:1)自由软件,开放源代码;2)真正的多用户、多任务操作系 3)可灵活裁剪配置;4)支持多种硬件平台;5)提供强大的管
26、理功能 6)完全符合POSIX标准 7)具有丰富的图形用户界面 8)具有强大的网络功能POSIX 表示可移植操作系统接口(Portable Operating System Interface,缩写为 POSIX 嵌入式linux操作系统1.3 Linux基础知识基础知识7.1.4 GNU 与POSIX标准 Linux的发展离不开GNU(GNU在英文中原意为非洲牛羚,这里是GNU is Not Unix的递归缩写),GNU计划又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的,它的目标是创建一套完全自由的操作系统。嵌入式linux操作系统1.3 Linux基础知
27、识基础知识 GNU计划开发出了许多高质量的免费软件,如:GCC、GDB、Bash Shell等,这些软件为Linux的开发创造了基本的环境,是Linux发展的重要基础,因此,严格来讲,Linux应该被称为GNU/Linux。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。这个就是被称为“反版权”(或称Copyleft)的概念。嵌入式linux操作系统1.3 Linux基础知识基础知识 GNU 包含3个协议条款,它们是:
28、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)的缩写形式。嵌入式linux操作系统1.3 Linux基础知识基础知识 POSIX 表示可移植操作系统接口(Portable Operating System Interface,POSIX)。电气和电子工程师协会
29、(Institute of Electrical and Electronics Engineers,IEEE)最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限于 UNIX。嵌入式linux操作系统1.3 Linux入门入门1.3.1 Linux介绍 Linux一般由内核、Shell、文件结构和实用工具等四个主要部分组成。嵌入式linux操作系统1.3 Linux入门入门1Linux内核 内核是Linux系统的灵魂,负责整个系统的内存管理,进程调度和文件管理。它从用户那里接受命令并把命令送给内核去执行。Linux内核的容量并不大,并且大小可
30、以裁减。一般一个功能比较全面的内核也不会超过1M。合理的配置Linux内核是嵌入式开发中很重要的一步,对内核的充分了解是嵌入式Linux开发的基本功。嵌入式linux操作系统1.3 Linux入门入门Linux 系统结构系统结构应用程序和系统程序shell内核(Kernel)硬件平台1Linux内核嵌入式linux操作系统1.3 Linux入门入门1Linux内核 在硬件方面,Kernel负责控制电脑的硬件装置、内存管理以及提供完整的硬件接口与应用程序沟通(系统启动和初始化,硬件的驱动程序)在软件方面,Kernel负责管理文件系统、对正在运行的程序作内存管理与调整,并进行进程管理(内存管理,进
31、程管理,中断处理,文件系统等)嵌入式linux操作系统1.3 Linux入门入门1Linux内核 用户界面Shell,KDE,Application内核 Kernel硬件 Hardware59Linux内核目标内核目标:Linux内核向用户进程提供了一个虚拟机器接口。编写进程的时候并不需要知道计算机上安装了哪些物理硬件Linux内核会把所有的硬件抽象成统一的虚拟接口。以对用户透明的方式支持多任务:每个进程工作时就象它是计算机上唯一的进程,好象是独占使用了主存和其他硬件资源一样。内核实际上同时运行许多个进程,并负责对硬件资源的间接访问,这样可以保证各个进程访问的公平性,并保证进程间的安全性。嵌入
32、式linux操作系统1.3 Linux入门入门Linux内核的功能大致分成如下几个部分:1)进程管理;2)内存管理;3)文件系统;4)设备控制;5)网络功能 嵌入式linux操作系统1.3 Linux入门入门 进程进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动;进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示;进程是分配硬件资源的基本单位嵌入式linux操作系统1.3 Linux入门入门1Lin
33、ux内核 嵌入式linux操作系统1.3 Linux入门入门2)内存管理 内存是计算机的主要资源之一,用来管理内存的策略是决定系统性能的一个关键因素。内核在有限的可用资源上为每个进程都创建了一个虚拟寻址空间。内核的不同部分在和内存管理子系统交互时使用一套相同的系统调用,包括从简单的malloc/free(分配内存)到其他一些不常用的系统调用。嵌入式linux操作系统1.3 Linux入门入门3)文件系统Linux在很大程度上依赖于文件系统的概念,Linux中的每个对象几乎都是可以被视为文件的。内核在没有结构硬件上构造结构化的文件系统。所构造的文件系通在整个系统中广泛使用。另外,Linux支持多
34、种文件系统类型,即在物理介质上组织的结构不同。通过提供一个所有设备的公共文件接口,VFS(虚拟文件系统)抽象了不同硬件设备的细节。此外,VFS支持与其他操作系统兼容的不同的文件系统格式。嵌入式linux操作系统1.3 Linux入门入门4)设备控制 几乎每个系统操作最终都会映射到物理设备上。除了处理器,内存以及其他很有限的的几个实体外,所有的设备控制操作都由与被控制设备相关的代码完成。这段代码叫做设备驱动程序,内核必须为系统中的每件外设嵌入相应的驱动程序。嵌入式linux操作系统1.3 Linux入门入门 5)网络功能 网络功能也必须有操作系统来管理,因为大部分网络操作都和具体的进程无关。在每
35、个进程处理这些数据之前,数据报必须已经被收集、标识、和分发。系统负责在应用程序和网络之间传递数据。另外,所有的路由和地址解析问题都由内核处理。嵌入式linux操作系统1.3 Linux入门入门2Linux Shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。Shell 是用户和Linux内核之间的接口程序,是操作系统的外壳,为用户提供操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。嵌入式linux操作系统1.3 Linux入门入门Linux Shell 嵌入式linux操作系统1.3 Linux入门入门Lin
36、ux Shell 嵌入式linux操作系统1.3 Linux入门入门 Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。嵌入式linux操作系统1.3 Linux入门入门Linux系统提供多种不同的Shell以供选择。常用的有:Bourne Shell(简称sh)C-Shelll(简称csh)Korn Shell(简称ksh)Bourne Aga
37、in Shell(简称bash)。(1)Bourne Shell是AT&T Bell实验室的 Steven Bourne为AT&T的Unix开发的,它是Unix的默认Shell,也是其它Shell的开发基础。Bourne Shell在编程方面相当优秀,但在处理与用户的交互方面不如其它几种Shell。嵌入式linux操作系统1.3 Linux入门入门(2)C Shell是加州伯克利大学的Bill Joy为BSD Unix开发的,与sh不同,它的语法与C语言很相似。它提供了Bourne Shell所不能处理的用户交互特征,如命令补全、命令别名、历史命令替换等。但是,C Shell与BourneSh
38、ell并不兼容。(3)Korn Shell是AT&T Bell实验室的David Korn开发的,它集合了C Shell和Bourne Shell的优点,并且与Bourne Shell向下完全兼容。Korn Shell的效率很高,其命令交互界面和编程交互界面都很好。嵌入式linux操作系统1.3 Linux入门入门(4)Bourne Again Shell(即bash)是自由软件基金会(GNU)开发的一个Shell,它是Linux系统中一个默认的Shell。Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点。嵌入式linux操作系统1.3 Linux
39、入门入门 在启动Linux桌面系统后,Shell已经在后台运行起来了,但并没有显示出来。如果想让它显示出来,按如下的组合键就可以:+组合键中的F2可以替换为F3、F4、F5、F6。如果要回到图形界面,则按如下组合键:+另外,在图形桌面环境下运行“系统终端”也可以执行Shell命令,与用组合键切换出来的命令行界面是等效的。嵌入式linux操作系统1.3 Linux入门入门 “系统终端”启动后是一个命令行操作窗口,可以随时放大缩小,随时关闭,比较方便,推荐使用。启动“系统终端”的方法是:【开始】【应用程序】【附件】【系统终端】就是系统终端的界面。该软件允许建立多个Shell客户端,它们相互独立,可
40、以通过标签在彼此之间进行切换。嵌入式linux操作系统1.4 Linux 入门入门3Linux文件结构 内核,Shell和文件结构一起形成了基本的操作系统结构。它们使得用户可以运行程序,管理文件以及使用系统。此外,Linux操作系统还有许多被称为实用工具的程序,辅助用户完成一些特定的任务。嵌入式linux操作系统1.4 Linux 入门入门 文件结构是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。使用Linux,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。Linux目录采用多级树形结构,用户可以浏览整个系统,
41、可以进入任何一个已授权进入的目录,访问那里的文件。嵌入式linux操作系统1.4 Linux 入门入门 Linux是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中,有时被指定为系统目录。Linux文件结构目录如下:嵌入式linux操作系统1.4 Linux 入门入门Linux文件结构目录嵌入式linux操作系统1.4 Linux 入门入门Linux 采用的是树型结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。微软的DOS和windows也是采用树型结构,但是在DOS和 windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,它们之间的
42、关系是并列的。在Linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。嵌入式linux操作系统1.4 Linux 入门入门主要目录含义如下:1)/bin bin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。2)/boot这里存放的是启动Linux时使用的一些核心文件。3)/home用户的主目录,比如说有个用户叫wang,那他的主目录就是/home/wang也可以用wang表示。4)/dev dev是device(设备)的缩写。这个目录下是所有Linux的外部设备
43、,其功能类似DOS下的.sys和Win下的.vxd。在Linux中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。嵌入式linux操作系统1.4 Linux 入门入门5)/etc 这个目录用来存放系统管理所需要的配置文件和子目录。6)/lib 这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用到这些共享库。7)/sbin 这里存放的是系统管理员使用的管理程序。8)/tmp 用来存放一些临时文件的地方了。嵌入式linux操作系统1.4 Linux 入门入门9)/lost+found 这个目录平时是空的,
44、当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于DOS下的.chk文件。10)/mnt 这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。11)/proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。嵌入式linux操作系统1.4 Linux 入门入门12)/root 系统管理员(也叫超级用户)的主目录。作为系统的拥有者,总要有些特权,比如单独拥有一个目录。13)/var 这个目录中存放着那些不断在扩充着的东西,为了保持usr的相对稳定,那些经常被修改的目录可以放
45、在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。嵌入式linux操作系统1.4 Linux 入门入门14)/usr 这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。其中包含以下子目录;(1)/usr/X11R6 存放X-Window的目录;(2)/usr/bin 存放着许多应用程序;(3)/usr/sbin 给超级用户使用的一些管理程序就放在这里;嵌入式linux操作系统1.4 Linux 入门入门(4)/usr/doc 这是Linux文档的大本营;(5)/usr/include Linux下开发和编译应用程序需要的头文件
46、,在这里查找;(6)/usr/lib 存放一些常用的动态链接共享库和静态档案库;(7)/usr/local 这是提供给一般用户的/usr目录,在这里安装软件最适合;嵌入式linux操作系统1.4 Linux 入门入门(8)/usr/man man在Linux中是帮助的同义词,这里就是帮助文档的存放目录;(10)/usr/src Linux开放的源代码就存在这个目录!嵌入式linux操作系统1.4 Linux 入门入门4Linux实用工具 标准的Linux系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、执行标准的计算操作等。用户也可以产生自己的工具。实用工具可分三类:1)编辑器:用于编辑文件。2)过滤器:用于接收数据并过滤数据。3)交互程序:允许用户发送信息或接收来自其他用户的信息。嵌入式linux操作系统小结小结uPC机和嵌入式系统硬件结构u操作系统的启动过程uLinux基础知识