《嵌入式系统设计与应用》——学习笔记03(第三章 嵌入式Linux操作系统)

第三章 嵌入式Linux操作系统

本章要点
⑴Linux的基本概念。
⑵Linux的目录结构。
⑶Linux的常用命令。
⑷Linux的文本编辑器。
⑸Linux系统的启动过程。

3.1 Linux基本概念

从应用上讲,Linux一般有四个主要部分:内核、Shell、文件系统和实用工具

1.Linux内核
Linux内核是整个Linux系统的灵魂,Linux系统的能力完全受内核能力的制约。Linux内核负责整个系统的内存管理、进程调度和文件管理。Linux内核容量并不大,一般不会超过1MB,而且大小可裁剪,这是其优点之一。

简单介绍Linux内核功能:
1)进程管理
进程管理功能是负责创建和撤销进程以及处理它们和外部世界的连接。主要包括处理不同进程之间的通信、控制进程如何共享CPU资源的调度程序。概括说就是内核的进程管理活动就是在单个或多个CPU上实现多进程的抽象。

2)内存管理
用来管理内存的策略是决定系统性能的一个关键因素。内核在有限的可用资源上为每个进程都创建了一个虚拟寻址空间。内核的不同部分在和内存管理子系统交互时使用一套相同的系统调度。

3)文件管理
Linux中每个对象几乎都可以被视为文件。一切皆文件

4)设备控制
几乎每个系统操作最终都会被映射到物理设备上。除处理器、内存等几个有限实体外,所有设备控制操作都由与被控制设备相关的代码来完成,这段代码叫设备驱动程序。内核必须为系统中每个外设嵌入相应的驱动程序

5)网络功能
因为大部分的网络操作都和具体的进程无关,因此也需要操作系统来管理。另外,所有的路由和地址解析问题都由内核进行处理。

2.Linux Shell
Shell是Linux系统下的命令解释器,也是使用Linux系统的主要环境,它提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它们送入到内核去执行,类似于Microsoft Windows的Command命令。

3.Linux文件系统
与Windows的文件系统不同,Linux整个文件系统是以一个树根"/"为起点的,所有文件和外部设备都以文件的形式挂载在这个文件树上,包括硬盘、软盘、光驱、调制解调器等。
Linux文件系统的目录结构
下面简单介绍几个主要目录:
1) /bin 和 /sbin
通常存放Linux基本操作命令的执行文件,存放在这两个目录的内容是一样的,主要区别是:/sbin中的程序只能由root(系统管理员)来执行。

2)/dev
存放各种外部设备的镜像文件。

3)/lib
存放系统动态链接共享库。Linux系统内核内置的已经编译好的驱动程序存放在/lib/modules/kernel目录下,几乎所有应用程序都会用到这个目录下的共享库。

4)/user
存放用户应用程序和文件。Linux系统内核源代码存放在usr/src/kernels目录下。

5)/etc
存放系统的各种配置文件,系统启动过程中需要读取其参数进行相应的配置。其中:
  a. /etc/rc.d目录存放启动或改变运行级别的脚本文件及目录。
  b./etc/passwd为用户数据库。
  c. /etc/profile文件为系统环境变量的配置文件

3.2 嵌入式Linux文件系统

为了对各类文件系统进行统一管理,嵌入式Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。嵌入式Linux下的文件系统结构如下图:
嵌入式Linux下的文件系统结构

3.2.1 基于ARM的文件系统

1.ramdisk
ramdisk是将一部分固定大小的内存当作分区来使用,并非是一个世纪的文件系统,二是一种将实际的文件系统装入内存的机制,并且可以作为根文件系统。

2.ramfs/tmpfs
ramfs是一种基于内存的文件系统,工作于虚拟文件系统(VFS)层,不能格式化,可以创建多个,在创建时可以指定其最大能使用的内存大小。
ramfs/tmpfs文件系统把所有的文件都放在RAM中,所以读写操作发生在RAM中,可以用ramfs/tmpfs来存储一些临时性或经常要修改的数据。
ramfs/tmpfs相对于传统的ramdisk的不同之处在于:不能格式化,文件系统大小可随所含文件内容大小变化。
tmpfs的一个缺点是当系统重新引导时会丢失所有数据。

3.3 Linux常用操作命令

3.3.1 文件目录相关命令

  1. ls命令
    1)作用:列出目录的内容。
    2)格式:ls [- 选项] [目录或文件名]
    3)命令选项:
    -a 显示指定目录下所有子目录与文件名,包括隐藏文件。
    -l 以长格式显示文件的详细信息。

2.cd命令
  1)作用:改变工作目录
  2)格式: cd [目录路径/]目录名
  3)选项:
    cd . .(返回上一层目录)
    
3. pwd命令
作用:显示当前目录的绝对路径(从根目录“/”开始)

4.makdir命令
  1)作用:创建一个目录
  2)格式:mkdir [目录路径/新目录名]
  
5.cp命令
  1)作用:复制文件,可以使用通配符。
  2)格式:
cp[选项][源文件路径]源文件名  目标路径[目标路径名]

6.rm和rmdir命令
  1)作用:rm为删除指定文件;rmdir为删除指定的目录,其目录必须为空目录。
  2)格式:rm[选项] 文件名
       rmdir 目录路径/目录名
  3)选项
  rm的命令选项有:
  -i 询问是否删除(y表示是,n表示否)。
  -f 不询问是否删除。
  -r 递归删除整个目录,同rmdir。

7.cat命令
  1)作用:在屏幕上显示文本文件的内容。
  2)格式: cat 文件名

3.3.2 磁盘及系统操作相关命令

  1. fdisk命令
    1)作用:用来给磁盘分区、查看磁盘情况等。
    2)格式:fdisk [- 选项]
    3)命令选项:
    -l 显示系统的分区情况。

2.df命令
  1)作用:检查硬盘所剩(所用)空间。
  2)格式: cf [选项]
  3)选项:
    -h 以1024KB=1MB的方式显示磁盘使用情况。
    -H 以1000KB=1MB的方式显示磁盘使用情况。
    
3. free命令
  1)作用:查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存以及共享内存和被核心使用的缓冲区。
  2)格式: free [选项]
  3)选项:
    -b 以字节为单位显示。
    -k 以KB为单位显示。
    -m 以MB为单位显示。

4.mount命令
  1)作用:挂载某一设备使之成为某个目录名称。
  2)格式:
  mount[选项]<-t 类型>[-o 挂载选项]<设备><挂载点>
  3)选项:
  -t 该参数配合选项用于指定一个文件系统分区的类型。
  -o 该参数配合选项用于指定一个或多个挂载选项。

3.3.3 打包压缩相关命令

  1. gzip命令
    1)作用:对单个文件进行压缩或对压缩文件进行解压缩,压缩文件名后缀为.gz。
    2)格式:gzip 压缩或解压缩文件名
    3)命令选项:
    -d 对压缩文件进行解压缩
    -r 用递归方式查找指定目录并压缩其中所有文件或解压缩。
    -v 对每个压缩文件显示文件名和压缩比

2.tar命令
  1)作用:对文件进行打包或解包,打包文件名后缀为.tar。可以把一大堆文件和目录全部打包成一个文件,对于备份文件或将几个文件组合成一个文件以便于网络传输是很有用的。注意:打包与压缩是两个不同的概念,打包不一定被压缩。
  2)格式: tar [选项]目标文件名 源文件列表
  3)选项:
    -a或–catenate 新增文件到已存在的备份文件
    -c或–create 建立新的备份文件
    -f<备份文件>或–file=<备份文件> 指定备份文件
    -r或–append 新增文件到已存在备份文件的结尾部分
    -t或–list 列出备份文件的内容
    -u或–update 仅置换较备份文件内的文件更新的文件
    -v或–verbose 显示指令执行过程
    -w或–interactive 遭遇问题时先询问用户
    -x或–extract 或–get 从备份文件中还原文件
    -z或–gzip或–ungzip 通过gzip指令处理备份文件

3.3.4 与网络相关的命令

  1. ifconfig命令
    1)作用:查看和配置网络接口的地址和参数,包括IP地址、网络掩码、广播地址,它的使用权限是超级用户。
    2)格式:
    查看网卡配置信息:ifconfig
    设置网卡:ifconfig eth0 [主机IP地址]
    eth0代表第一块网卡,eth1代表第二块网卡。

2.ping命令
  1)作用:检测网络连接情况,判断主机联网是否正常。
  2)格式: ping [IP地址]

3.4 Linux的文本编辑器

3.4.1 vi文本编辑器

1.vi的模式
一共有以下三种:
1)命令行模式
用户在用vi编辑文件时,最初进入的是一般模式。在该模式中可以通过移动光标进行“删除字符”或“整行删除”等操作,也可以进行“复制”、“粘贴”等操作,但无法编辑文件。

2)插入模式
只有在该模式下,用户才能进行文字编辑输入,按字母i可以进入这个模式,按esc可以退回到命令行模式。

3)底行模式
在该模式下,光标位于屏幕的底行。用户可以进行文件保存或退出操作,与可以设置编辑环境,如寻找字符串。列出行号等。

2.vi的操作流程
1)进入vi,在命令行模式输入vi 文件名,进入命令行模式。
2)按字母i进入插入模式,此时可以编辑文字。
3)最后按esc键,转入到命令行模式,并在底行中输入“:wq”(存盘退出)进入底行模式。
这样就完成了一个简单的vi操作流程。

3.vi的各模式功能键

vi命令行模式功能键
vi命令行模式功能键
vi底行模式功能键
vi底行模式功能键

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 嵌入式系统设计应用是指在特定应用领域中,使用嵌入式处理器和相关硬件资源,结合嵌入式操作系统和软件开发工具,设计和开发满足特定需求的嵌入式系统。 ARM Cortex-A8是一款高性能的嵌入式处理器,广泛应用于手机、平板电脑、智能电视等嵌入式设备中。它具有强大的计算能力和低功耗特性,能够提供快速、高效的数据处理和多任务处理能力。 Linux是一种开源的嵌入式操作系统,提供了丰富的软件资源和开发工具,可以满足各种嵌入式应用的需求。在使用ARM Cortex-A8和Linux进行嵌入式系统设计应用时,可以借助Linux的强大功能和丰富的软件生态系统,快速开发出满足特定需求的嵌入式应用设计和开发嵌入式系统时,首先需要选择合适的硬件平台和操作系统。选择ARM Cortex-A8作为处理器可以得到高性能和低功耗的优势,而选择Linux作为操作系统可以借助其丰富的软件资源和开发工具。 然后,根据具体的嵌入式应用需求,对系统进行架构设计和软件模块划分。在嵌入式系统设计中,需要考虑系统的实时性、功耗控制、硬件接口与外设的驱动、应用程序的开发等方面。 在应用开发阶段,可以使用C/C++等编程语言,结合相应的开发工具,编写应用程序和驱动程序。同时,可以借助Linux的丰富资源,如网络协议栈、文件系统、数据库等,快速实现系统的功能。 最后,在系统调试和测试阶段,可以使用调试工具和仿真平台进行系统性能测试和调试,以确保系统的稳定性和可靠性。 综上所述,嵌入式系统设计应用基于ARM Cortex-A8和Linux可以提供高性能、低功耗和丰富软件资源的优势,能够快速开发出满足特定需求的嵌入式应用。 ### 回答2: 嵌入式系统设计应用是指将计算机系统嵌入到特定的电子设备中,以完成特定的功能。基于ARM Cortex-A8和Linux嵌入式系统设计应用是指利用ARM Cortex-A8处理器和Linux操作系统设计和开发嵌入式系统。 ARM Cortex-A8是一种高性能、低功耗的32位RISC处理器。它采用精简指令集架构,具有较高的运算能力和较低的能耗。Cortex-A8处理器广泛应用嵌入式领域,可用于智能手机、平板电脑、汽车导航系统等各种嵌入式设备。 Linux是一种开源的操作系统内核,具有广泛的硬件支持和强大的软件生态系统。在嵌入式系统设计中,Linux提供了丰富的功能和驱动支持,能够提供稳定可靠的操作环境。同时,Linux还可以方便地进行定制和扩展,以满足各种应用需求。 在基于ARM Cortex-A8和Linux嵌入式系统设计中,我们可以利用Linux提供的运行时库、工具链以及开发环境来进行系统开发。可以利用C/C++编程语言来进行应用程序的开发,使用Linux提供的设备驱动程序来进行硬件的控制和交互。同时,我们还可以利用Linux的网络支持和文件系统功能来实现网络连接和数据存储。 综上所述,基于ARM Cortex-A8和Linux嵌入式系统设计应用具有高性能、低功耗、可定制和可扩展等优势,可以适用于各种嵌入式设备的开发和应用。它在智能手机、平板电脑、汽车导航系统等领域具有广泛的应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值