嵌入式liunx复习资料总结_linux嵌入式复习资料

2020-02-28 其他工作总结 下载本文

嵌入式liunx复习资料总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“linux嵌入式复习资料”。

1.2.3.4.5.sudo apt-get install vim 系统立即关机:sudo shutdown –h now(关机后关闭电源 halt)45分钟后计算机自动关机:sudo shutdown –h +45 60分钟后自动重启:sudo shutdown –r +60 Linux基本命令:cd切换目录;grep查找字符串;head显示文件开头;tail显示文件

结尾;sort按次序显示文件;diff比较两个文件;file测试文件内容;

6.ps列出进程;df检查文件系统空间占用情况;kill杀死进程;chmod更改文件或目录的访问权限[文件所有者,所在组,任何用户/组];info获取帮助;

7.pwd显示当前目录的绝对路径;rpm文件包管理;clear清屏;ln创建文件链接;who

列出系统上的用户;write发送消息;talk与其他用户通信;man获取帮助

8.链接:ln [option] source_file des_file;gcc-s file.c

-f 建立~代表/home

-i 删除;

ln –s abc cde建立软连接;

ln abc cde建立硬链接

删除非空文件夹:rm-r

8.linux文件系统:Ext3是linux广泛使用的一种文件格式;最大的特点是日志文件系统:

可将整个磁盘的写入动作完整的记录在磁盘的某个区域,以便在必要时回溯跟踪;windows的主要系统格式:FAT16,FAT32,NIFS,目前linux可以自动识别这些文件,以只读方式访问计算机磁盘上windows上的系统文件。

9.tar命令:用于将若干文件或目录合成一个文件(以便备份和压缩)

10.gcc编译四步曲:预处理,编译,汇编,链接

11.37个寄存器:31个通用寄存器,6个状态寄存器;CPSR程序状态寄存器;

12.QT中信号和槽的五种连接关系:一个信号可以连接到多个槽;多个信号可以连接到同一

个槽;一个信号可以与另一个信号相连;链接可以被删除;信号和槽函数必须有相同的参数类型,如此信号和槽函数才能成功连接;

13.文件截短:truncate()和ftruncate()截取一些数据,以缩短文件;成功返回0,错误

114.进程包括:正文段,用户数据段,系统数据段。其中正文段和用户数据段为程序,系统

数据段为内核段。

15.进程状态:运行态,等待态(可中断和不可中断),停止态,死亡态。

16.创建进程:fork();一次返回两个值:若成功,子进程返回0,父进程返回子进程id;

否则,出错返回-1; 17.exec函数使用:exec函数族,顾名思义,就是一簇函数,他把当前进程映像替换成新的程序文件,而且该程序通常main函数开始执行!

18.Shell是命令行的解释器,用于用户和内核交互。

19.VI编辑器有命令模式和输入模式

20.查看linux命令的帮助文档命令有man和info

1嵌入式系统概念:以应用为中心,以计算机控制系统为基础,并且软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。4gcc编译的4个步骤:*.c预处理*.i、编译*.s、汇编*.o、链接*.exe。

10make工程管理器:是个自动编译管理器,能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作。

5.什么是交叉编译?为什么进行交叉编译?

解:交叉编译是指在一个平台上生成可以在另一个平台上执行的代码。

原因是由于不同的体系结构有不同的指令系统。因此,不同的cpu需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同的cpu的对应的可执行的二进制文件。

7常用的进程间通信机制(掌握)

(1)管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信;有名管道,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。

(2)信号(Signal):信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生。

(3)消息队列(Mege Queue):消息队列是消息的链接表,包括Posix和SystemV消息队列。它克服了前两种通信方式中信息量有限的缺点,具有写权限的进程可以按照一定的规则向消息队列中添加新消息;对消息队列有读权限的进程则可以从消息队列中读取消息。

(4)共享内存(Shared memory):可以说这是最有效的进程间通信方式。它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新。这种通信方式需要依靠某种同步机制,如互斥锁和信号量等。

(5)信号量(Semaphore):主要作为进程之间以及同一进程的不同线程之间的同步和互斥手段。

(6)套接字(Socket):这是一种更为一般的进程间通信机制,它可用于网络中不同机器之间的进程间通信,应用非常广泛。

4、ARM处理器有几种工作模式?并做说明每种工作模式的含义。

答:ARM处理器有7种工作模式:

用户模式(usr)-正常程序执行的模式0.5分

快速中断模式(fiq)-FIQ异常响应时进入此模式0.5分

中断模式(irq)-IRQ异常响应时进入此模式0.5分

管理员模式(svc)-系统复位和软件中断响应时进入此模式0.5分

中止模式(abt)-用于虚拟存储及存储保护0.5分

系统模式(sys)-与用户类似,但有直接切换到其它模式等特权 0.5分

未定义模式(und)-未定义指令异常响应时进入此模式0.5分

除了用户模式外,其他模式均可视为特权模式0.5分

ARM微处理器的工作状态一般有两种,并可在两种状态之间切换: - 第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令; - 第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。

2vim编辑器的4种模式:标准模式,插入模式,命令模式,可视模式

标准模式(Normal mode)通常进入vim后默认处于标准模式(或者称为命令模式)。在此模式下任何键盘的输入都是作为命令来对待。命令的输入通常是不回显的,只显示执行的结果。

插入模式(Insert Mode)用户只有在插入模式下才可以进行字符输入,用户按[Esc]键可回到命令行模式下。

命令行模式(Command-line mode)在此模式下,用户可以将文件保存或退出vim,也可以设置编辑环境,如寻找字符串、列出行号等。

可视模式(Visual mode)在此模式下,通过移动光标选择文本,选中的文本将反白显示,这样提供高效、直观的编辑功能。用户按下ESC键可回到命令行模式。

1系统调用:指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口获得操作系统内核提供的服务。

6文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。3.mv dir1 new_dir

重命名/移动 一个目录

网络端口号:是逻辑意义上的端口,一般是指TCP/IP

协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。

进程与程序的主要区别:(1)程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;(2)程序是静态的观念,进程是动态的观念;(3)进程具有并发性,而程序没有;(4)进程是竞争计算机资源的基本单位,程序不是。(5)进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行一个或几个程序

24.Windows与linux在文件系统组织上的区别:

1.对异常的响应

当一个异常出现以后,ARM微处理器会执行以下几步操作。

(1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。若异常是从ARM状态进入的,则LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入的,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。例如:在软件中断异常SWI产生时,指令MOV PC' R14_SVC总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。

(2)将CPSR复制到相应的SPSR中。

(3)根据异常类型,强制设置CPSR的运行模式位。

(4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。

还可以设置中断禁止位,以禁止中断发生。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。

ARM微处理器对异常的响应过程用伪码可以描述为:

2,从异常返回

异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回。

(1)将连接寄存器LR的值减去相应的偏移量后送到PC中。

(2)将SPSR复制回CPSR中。

(3)若在进入异常处理时设置了中断禁止位,则要在此清除。

可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。

26.linux系统的特征:支持多用户多任务,多平台,多处理器,多线程;标准兼容性;设备独立性;提供了丰富的网络功能;良好的移植性;可靠的系统安全;众多的硬件支持特性;

17.QT中信号和槽的五种连接关系:一个信号可以连接到多个槽;多个信号可以连接到同一

个槽;一个信号可以与另一个信号相连;链接可以被删除;信号和槽函数必须有相同的参数类型,如此信号和槽函数才能成功连接;

18.网络中常见的传输层协议:tcp/udp,各自特点:

1.系统调用和函数库的关系

系统调用通过软中断int 0x80从用户态进入内核态。函数库中的某些函数调用了系统调用。函数库中的函数可以没有调用系统调用,也可以调用多个系统调用。编程人员可以通过函数库调用系统调用。高级编程也可以直接采用int 0x80进入系统调用,而不必通过函数库作为中介。如果是在核心编程,也可以通过int 0x80进入系统调用,此时不能使用函数库。因为函数库中的函数是内核访问不到的。

2.从用户调用库函数到系统调用执行的流程。

1)假设用户调用ize_t write(int fields, cont void *buff, size_t nbytes);

库函数。

2)库函数会执行int 0x80中断。因为中断使得进程从用户态进入内核态,所以参数通

过寄存器传送。

3)0x80中断对应的中断例程被称为system call handler。其工作是:

i.存储大多数寄存器到内核堆栈中。这是汇编代码写的。

ii.执行真正的系统调用函数――system call service routine。这是C代码。iii.通过ret_from_sys_call()返回,回到用户态的库函数。这是汇编代码。

27.异常处理要做的:

①将所有修改过的用户寄存器从处理程序的保护栈中恢复;

②将SPSR复制回CPSR,将连接寄存器LR值减去相应的偏移量后送到PC中;

③若在进入异常处理时设置了中断禁止位,要在此清除; 如何将一个非空文件清空3种方法

1、#echo “” > test.txt(文件大小被截为1字节)

2、# > test.txt(文件大小被截为0字节)

3、#cat/dev/null > test.txt(文件大小被截为0字节)

《嵌入式liunx复习资料总结.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
嵌入式liunx复习资料总结
点击下载文档
相关专题 linux嵌入式复习资料 复习资料 嵌入式 liunx linux嵌入式复习资料 复习资料 嵌入式 liunx
[其他工作总结]相关推荐
    [其他工作总结]热门文章
      下载全文