嵌入式Linux考试复习

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、两次过程考核(20分左右)2、嵌入式系统的定义嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统,用于实现对其他设备的控制、监视或管理等功能3、嵌入式系统与桌面通用系统的区别(列出来两个)(1)嵌入式系统中运行的任务是专用而确定的,而桌面通用系统需要支持大量的、需求多样的应用程序(2)嵌入式系统往往对实时性提出较高的要求。(3)嵌入式系统中使用的操作系统一般是实时操作系统(4)嵌入式系统运行需要高可靠性保障,比桌面系统的故障容忍能力弱很多(5)嵌入式系统大都有功耗约束(6)嵌入式系统比桌面通用系统可用资源少得多,其开发需要专用工具和特殊方法(7)嵌入式系统开发是一项综合的计算机应用技术4、(填空)文件的类型;ls–l命令执行后后显示的文件各个属性的意思文件的类型:普通文件,目录文件,链接文件,设备文件,管道,堆栈,套接字各个属性:(1)第一个字符显示文件的类型(2)第一个字符之后有3个三位字符组:第一个三位字符组表示对于文件拥有者(u)对该文件的权限;第二个三位字符组表示文件用户组(g)对该文件的权限;第三个三位字符组表示系统其他用户(o)对该文件的权限;若该用户组对此没有权限,一般显示“-”字符5、(选择题)文件系统ext2和ext3swap文件系统vfat文件系统NFS文件系统ISO9660文件系统内存文件系统:proc、sys、ramdisk嵌入式文件系统:cramfs、jffs、yaffs等6、linux目录结构下面放什么(了解常用)/bin该目录中存放Linux的常用命令/boot该目录下存放的都是系统启动时要用到的程序/dev该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别/usr用户应用程序和文件都存放在该目录下/etc该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统等。/home用来存放该用户的主目录。/lib该目录用来存放系统动态连接共享库,几乎所有的应用程序都会用到该目录下的共享库/mnt该目录在一般情况下也是空的,你可以临时将别的文件系统挂在该目录下7、文件比较命令(必考)diff:比较两个不同的文件或不同目录下的两个同名文件功能,并生成补丁文件。格式:diff[选项]文件1文件2diff比较文件1和文件2的不同之处,并按照选项所指定的格式加以输出。diff的格式分为命令格式和上下文格式,其中上下文格式又包括了旧版上下文格式和新版上下文格式,命令格式分为标准命令格式、简单命令格式及混合命令格式,它们之间的区别会在使用实例中进行详细地讲解。当选项缺省时,diff默认使用混合命令格式。8、网络相关命令ifconfig:查看和配置网络接口的参数ifconfig[选项][网络接口]ftp:利用ftp协议上传和下载文件telnet:利用telnet协议浏览信息telent[选项][IP地址/域名]9、GCC编译器能编译哪些程序?编译的四个过程?常见编译选项?可以编译如C、C++、ObjectC、Java、Fortran、Pascal、Modula-3和Ada等多种语言四个过程:预处理,编译,汇编,链接常见编译选项:10、知道动态库和静态库扩展名(必考)动态库:.so静态库:.a11、GDB调试:list加行号,查看当前信息,实验的相关操作(必考)12、makefile:过程考核题目;使用变量(那个例子必考)Makefile格式:target:dependency_filesTABcommand/*该行必须以tab键开头*/如:hello.o:hello.chello.hgcc–chello.c–ohello.o自定义变量:用来代替一个文本字符串变量定义的两种方式递归展开方式VAR=var简单方式VAR:=var变量使用$(VAR)自动变量:$@:目标文件,$∧:所有的依赖文件,$:第一个依赖文件.13、交叉编译时宿主机与目标机间的连接方式(1)串行通讯接口(2)以太网接口(3)USB接口(4)JTAG等接口14、主机环境变量配置最后一个实验/etc/profile是系统启动过程执行的一个脚本,对所有用户都生效。~/.bash_profile是用户的脚本,在用户登录时生效。~/.bashrc也是用户的脚本,在~/.bash_profile中调用生效。把环境变量配置的命令添加到其中一个文件中,之后再注销重新登录即可。PATH=$PATH:/usr/share/jdk1.5.0_05jdkexportPATH注解:a.将/usr/share/jdk1.5.0_05jdk改为你的应用程序安装目录b.linux下用冒号“:”来分隔路径c.$PATH/$CLASSPATH/$JAVA_HOME是用来引用原来的环境变量的值,在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种常见的错误。d.export是把个变量导出为全局变量。15、串口命令台(参考实验)串行通讯接口很适合作为控制台,在各种操作系统上一般都有现成的控制台程序可以使用。Linux系统通常使用minicom串口通讯工具。Minicom的配置界面是菜单方式。在Shell下执行“minicom–s”命令,出现配置菜单。15、bootloader的作用?常见的有哪些?作用:初始化硬件设备、建立内存空间的映射图,下载操作系统映像文件到SDRAM中,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境常见:u-boot,vivi,blob16、系统调用和API系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。在实际使用中程序员调用的通常是用户编程接口——API内核空间用户空间用户编程接口API应用程序(系统命令,其他应用程序)系统调用17、文件描述符文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。对于Linux而言,所有对设备和文件的操作都是使用文件描述符来进行的。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数一个进程启动时,都会打开3个文件:0:标准输入1:标准输出2.标准出错18、IO处理模型的概念(1)阻塞I/O模型(2)非阻塞模型(3)I/O多路转接模型(4)信号驱动I/O模型(5)异步I/O模型19、进程和程序区别和联系程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念;而进程是一个动态的概念,它是程序执行的过程,包括了动态创建、调度和消亡的整个过程。它是程序执行和资源管理的最小单位。20、进程控制块包括哪些信息?进程控制块包含了进程的描述信息、控制信息以及资源信息(1)进程标识符(2)处理机的信息(3)进程调度信息(4)进程控制信息状态转换图:就绪执行等待调度时间片到因为等待某个资源而睡眠因为等待资源分配而唤醒21、linux中的进程包含哪些段?Linux中的进程包含3个段,分别为“数据段”、“代码段”和“堆栈段”。22、fork()函数的返回值及每个参数的含义实际上是在父进程中执行fork()函数时,父进程会复制出一个子进程,而且父子进程的代码从fork()函数的返回开始分别在两个地址空间中同时运行。可以通过堆栈堆数据段(可读/只读)数据段代码段存放传递参数及环境变量BSS数据段低地址高地址返回值来判定该进程是父进程还是子进程。23、exec作用exec函数族就提供了一个在进程中启动另一个程序执行的方法。(它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新的进程替换了。)24、进程间通信:信号量;通信的种类;深入了解信号的来源、分类、生命周期、处理方式通信的种类:(1)管道(Pipe)及有名管道(namedpipe)(2)信号(Signal)(3)消息队列(MessgeQueue)(4)共享内存(Sharedmemory)(5)信号量(Semaphore)(6)套接字(Socket)信号来源:硬件的原因(比如我们按下了键盘);软件的原因(比如我们使用系统函数或者是命令发出信号).信号的种类:SIGTRMIN:不可靠信号SIGTRMAX:可靠信号信号生命周期:一个完整的信号生命周期可以分为3个重要阶段,这3个阶段由4个重要事件来刻画的:信号产生、信号在进程中注册、信号在进程中注销、执行信号处理函数信号处理方式:用户进程对信号的响应可以有3种方式。忽略信号,即对信号不做任何处理,但是有两个信号不能忽略,即SIGKILL及SIGSTOP。捕捉信号,定义信号处理函数,当信号发生时,执行相应的自定义处理函数。执行缺省操作,Linux对每种信号都规定了默认操作。25、线程的作用?线程的作用:(1)进一步减少处理机的空转时间(2)支持多处理器(3)减少上下文切换开销26、信号量同步或者互斥锁同步与互斥参照“生产者和消费者”实验27、socket编程:概念,表示方法,类型,两个数据结构和转化概念:在Linux中的网络编程是通过socket接口来进行的。socket是一种特殊的I/O接口,它也是一种文件描述符。它是一种常用的进程之间通信机制,通过它不仅能实现本地机器上的进程之间的通信,而且通过网络能够在不同机器上的进程之间进行通信。表示方法:每一个socket都用一个半相关描述{协议、本地地址、本地端口}来表示类型:(1)流式socket(使用TCP协议)(2)数据报socket(使用UDP协议)(3)原始socket(使用IP或ICMP进行直接访问)两个数据结构:structsockaddr{unsignedshortsa_family;/*地址族*/charsa_data[14];/*14字节的协议地址,包含该socket的IP地址和端口号。*/};structsockaddr_in{shortintsa_family;/*地址族*/unsignedshortintsin_port;/*端口号*/structin_addrsin_addr;/*IP地址*/unsignedcharsin_zero[8];/*填充0以保持与structsockaddr同样大小*/};转化:数据存储优先顺序的转化地址格式转化名字地址转化28、accept函数(必考),阻塞和非阻塞通信accept函数等待并接受客户请求:函数原型:intaccept(intsockfd,structsockaddr*addr,socklen_t*len)返回:非负描述字——成功,-1——失败参数sockfd就是上面解释中的监听套接字,这个套接字用来监听一个端口,当有一个客户与服务器连接时,它使用这个一个端口号。参数addr,是一个结果参数,它用来接受一个返回值,这返回值指定客户端的地址,如果对客户的地址不感兴趣,那么可以把这个值设置为NULL。参数len,也是结果的参数,用来接受上述addr的结构的大小的,它指明addr结构所占有的字节个数。同样的,它也可以被设置为NULL。如果accept成功返回,则服务器与客户已经正确建立连接了,此时服务器通过accept返回的套接字来完成与客户的通信。阻塞式通信是指,当试图对文件描述符进行读写时,如果当时没有东西可读,或者暂时不可写,程序就进入等待状态,直到有东西可读或者可写为止。而对于非阻塞状态,如果没有东西可读,或者不可写,读写函数马上返回,而不会等待29、设备分类,设备驱动程序与外界的接口(了解实现)Linux系统的设备分为三类:字符设备、块设备和网络设备Linux设备驱动程序与外界的接口可以分为如下3个部分:(1)驱动程序与操作系统内核的接口:这是通过数据结构file_oper

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功