LINUX嵌入式操作系统知识点复习-推荐下载

合集下载

嵌入式linux复习.doc

嵌入式linux复习.doc

“b” (block 块设备) 2) 目录文件3) 链接文件 4)设备一、嵌入式操作系统功能特点嵌入性②专用性③实时性④可靠性⑤可剪裁性⑥功耗低 体系架构(三大类) 宏内核分层(基于分层的微内核)微内核(着重)文件系统、分区和挂载1) 分区和目录的关系(p23)Linux 下,分区属于目录结构2) 挂载把分区和目录对应的过程3) Linux 系统必须包含分区a.Swap 分区 b. 根分区4) Linux 目录结构/bin : linux 常用操作命令的执行文件 /boot :操作系统启动时所要用到的程序 /dev :外部设备/etc :配置文件/home :用户工具根目录/mnt :挂载点/usr :用户的应用程序和文件5) 文件系统(inode 节点)文件管理有关软件被管理文件 实施文件管理所需数据结构虚拟机网络连接四种方式1) Bridged 方式(桥接)2) NAT 方式3) Host-Only 方式(共享网络连接)4) Custom 方式(自定义)文件类型(四种)(包括属性)1)普通文件“d” (directory) T” (link)“c” (char 字符设备) 文件属性(p44)(可读可写可执行)(修改权限命令) “x”可执行常用命令 1) 文件与目录相关命令2) 磁盘管理与维护命令3) 系统管理与设置命令4) 网络相关命令(!)5)压缩备份命令、Linux编程Linux下C开发流程(四大步骤)(图p68)①编写源代码②编译源代码③运行程序④调试程序⑤交叉编译©Makefile A gcc编译流程1)预处理-E .i2)编译-S .s3)汇编-c .o4)链接GDB使用(断点)>-g 编译gdbtest (启动GDB)>break 16 (第16行设置断点)A break func (在函数func入口设置断点)Makefile (组成构架、三要素)(p99)>目标体(target),通常是目标文件或可执行文件>目标体所依赖的文件(dependency_file)>创建目标体所需要的命令(command)Makefile的编写!!注意要写<Tab>符Make clean干什么的、交叉编译修改处知道CVS是做什么用的主要用于在多人开发环境下的原码的维护系统调用(P132综合实例)进程的状态和转换1)状态/执行态/就绪态/等待态2)状态转换(pl36看图说话)Fork函数用于从已存在的进程中创建一个新进程A 返回值为0,子程序>返回值大于0,父程序。

嵌入式linux复习题

嵌入式linux复习题

嵌入式linux复习题嵌入式Linux是一种将Linux操作系统应用于嵌入式系统的方法,它具有高度的可定制性和灵活性。

以下是一些嵌入式Linux复习题,帮助学生更好地掌握相关知识。

# 嵌入式Linux复习题1. 嵌入式系统的定义和特点嵌入式系统是一种专用的计算机系统,它被设计来执行一个或多个特定的任务。

它通常具有以下特点:体积小、功耗低、成本敏感、实时性要求高。

2. Linux操作系统在嵌入式系统中的应用Linux因其开源、灵活和稳定的特性,被广泛应用于嵌入式系统。

它可以被裁剪和优化以适应不同的硬件平台。

3. 嵌入式Linux的组成嵌入式Linux系统通常包括内核、设备驱动程序、文件系统、应用程序等组成部分。

4. 内核裁剪内核裁剪是指根据嵌入式系统的需求,去除Linux内核中不必要的模块,以减小系统的体积和提高运行效率。

5. 设备驱动程序设备驱动程序是嵌入式系统中硬件与软件之间的接口,它允许操作系统控制硬件设备。

6. 文件系统的选择嵌入式Linux可以选择不同的文件系统,如YAFFS、JFFS2等,这些文件系统针对嵌入式系统的特点进行了优化。

7. 构建和编译嵌入式Linux系统构建和编译嵌入式Linux系统需要使用交叉编译环境,以生成适用于目标硬件的二进制文件。

8. 引导加载程序(Bootloader)引导加载程序是嵌入式系统中的一段代码,它在系统启动时运行,负责加载Linux内核。

9. 系统初始化(Init)系统初始化是Linux启动过程中的一个重要步骤,它负责启动系统服务和应用程序。

10. 嵌入式Linux的调试和优化调试和优化是嵌入式Linux开发过程中的关键环节,包括性能分析、内存管理、电源管理等方面。

11. 嵌入式Linux的安全性安全性是嵌入式系统设计中的一个重要考虑因素,需要采取相应的安全措施,如使用安全的通信协议、实施访问控制等。

12. 嵌入式Linux的网络支持嵌入式Linux系统通常需要支持网络功能,包括TCP/IP协议栈、无线通信等。

复习提纲-嵌入式linux

复习提纲-嵌入式linux

嵌入式系统概论1、虚拟文件系统VFS的作用、linux目录结构2、文件类型、文件属性shell编程基础1、常用命令的用法ls、cd、pwd、mkdir、ln、rm、cp、mv、cat、chmod、mount、find、ifconfig、ps、tar 2、shell程序语法shell程序框架、自定义变量、位置参数、环境变量、通配符、引号用法shell流程控制:测试命令[]、if、case、for、while、until、break、continue嵌入式Linux开发环境构建1、Linux下C语言开发流程;交叉编译概念;2、vim:3种工作模式;常用命令(i模式切换x dd yy p u:w:q:q!:wq)3、gcc:命令格式、常用命令选项(-o-g-L-I-l)、4、gdb:-g参数,gdb启动方法、常用命令(l b n s c p q)5、Makefile:格式、make命令、变量的定义和引用、自动变量($<$@$^)、隐式规则Linux下的C语言编程1、系统调用、API、文件描述符;基本IO和标准IO函数用法;2、进程和程序、进程的状态和转换、进程标志符;fork、exec、exit、wait和waitpid;3、进程间通信概念和类型;管道通信、有名管道通信用法;4、线程和进程的区别;线程的实现相关函数、多线程访问控制(互斥锁和条件变量)ARM硬件设计基础1、ARM处理器:计算机指令集、Cortex处理器分类2、存储系统:两种分类方式,SRAM和DRAM区别、Flash特性、NAND Flash和NOR Flash 区别3、AMBA片上总线:APB、AHB、APB桥4、ARM最小系统:晶体振荡电路、RC复位电路嵌入式Linux系统移植1、Bootloader作用、两种操作模式、Bootloader的stage1和stage2完成的作用2、Linux的模块化机制、内核的裁剪make menuconfig3、嵌入式文件系统yaffs/Cramfs/Ramdisk/NFS的特点、根文件系统设备驱动原理与开发1、Linux设备驱动的分类、主次设备号、加载方式、驱动命令lsmod/insmod/rmmod、驱动程序接口作用(file_operations结构体)、设备控制方式2、设备驱动程序框架、开发流程(2个例子)。

linux嵌入式复习资料

linux嵌入式复习资料

嵌入式系统设计与应用(软件部分)一、题型:填空25分,选择20分,命令解释10分,综合问答30分,阅读程序15 分。

二、基础知识,基本概念,常用命令,涉及面广,占相当比重。

三、阅读实验指导书,部分实验内容也是考试范围。

四、阅读程序题,重点在要求大家上机完成的程序。

五、以下仅是部分内容:1. 你是否自己安装了Linux操作系统?如果安装了,是虚拟机还是裸机安装?如果没有安装?原因是什么?答:自己安装了Linux操作系统,是裸机安装的。

2.Linux内核具有两种版本号,分别是什么,这样区分的优点?答:Linux内核具有两种版本号:实验版本和产品化版本。

优点:可以方便广大软件人员加入到Linux的开发和测试工作中来,另一方面又可以让一些用户使用上稳定的Linux版本。

3.Linux系统中文件权限分别赋予哪三类用户,每类用户权限用三位表示,分别是什么?答:三类用户分别为文件拥有者(u)、拥有者所在用户组(g)和其他用户组(o)。

每类用户权限用三位表示,分别是读(r)、写(w)和执行(x)。

4. 目前常用的嵌入式操作系统有(至少写三个)。

答:Linux、WinCE、Android。

5.Linux中改变文件权限的命令是chmod,改变文件所有者的命令是chown。

6.Linux是自由软件,它的发行遵守什么,其目的是什么?答:Linux是自由软件,但它的自由受到GPL(通用公共许可证)的限制。

它主要目标是保证软件对所有的用户来说是自由的。

7.POSIX标准的全称是:可移植操作系统接口(Portable Operating System Interface),制定该标准的目的是什么?答:POSIX标准的目的是为了提高UNIX环境下应用程序的可移植性。

遵循此标准的各种UNIX,其上的应用程序可相互无缝移植。

8.进程是操作系统分配资源和进行调度的独立单位,具有独立性和动态性。

进程的三要素分别是进程号(Pid)、用户和组标识(user and group identifier)、链接信息(Links)。

嵌入式liunx复习资料总结

嵌入式liunx复习资料总结

1.sudo apt-get install vim2.系统立即关机:sudo shutdown –h now(关机后关闭电源 halt)3.45分钟后计算机自动关机:sudo shutdown –h +454.60分钟后自动重启:sudo shutdown –r +605.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 -r8.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.进程包括:正文段,用户数据段,系统数据段。

(完整)嵌入式Linux考试复习

(完整)嵌入式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:比较两个不同的文件或不同目录下的两个同名文件功能,并生成补丁文件。

实用操作系统(嵌入式)复习重点

总结闭卷填空题(20’)选择题(20=10*2’)是非题(16’=8*2’)简答题(24=4*6’)综合题(20=2*10’)以下为根据老师课上讲的我听得到的都打出来了,有漏的,希望大家一起完善~1、什么是计算机操作系统(概念)P1~22、操作系统的功能P33、嵌入式系统的概念、三个基本要素P44、两个阶段(MCU、SOC)、两种模式(创新模式与那个打不出来的模式~)P5倒数第三段第二行5、嵌入式操作系统的主要特点P7倒数一行~P86、实时系统的两个基本要求P87、实时操作系统应满足的三个条件P98、-ml(large模式)P189、编译(上课时有修改的:把”-I.\”去掉)P2010、Tlink怎么写P2111、命令集的命令行以tab开头、然后又说了一下make加标号不知道是什么鬼,我没听清楚~@#¥&~ P23 然后分了一下神就不知道她说了什么就到了第三章了~~12、进程、线程、uC/OS-II的两种任务、最多64个任务P5113、任务的五种状态P5214、P53 只听到“临界段”三个字15、P56 听坐在隔壁的测控班的说老师说可能会出例3-316、向上堆栈、向下堆栈P5817、表3-2 P6318、例3-5 以及其逆向P6519、就绪表的三种操作P6620、最高优先级就绪任务的查找P66~6721、标题“调度器的主要工作”的第二段22、调度器进行任务切换图3-12 P7123、调用启动任务函数之前必须至少创建一个任务P7524、挂起任务、恢复任务的函数名P8225、启动函数OSStart()这里只听到这个,还是问隔壁的~~ P9726、P101 中断的定义以及倒数最后一段27、P102 只听到OSIntNesting还有一个not什么鬼的不知是啥~~28、宏定义的三种方式P10629、P108 的程序代码30、钩子函数存放在OS_cpu.c中31、各任务之间的制约关系P12432、信号量、消息邮箱、队列我只听到她讲这三个P125~126、P133 P13633、信号量的创建、请求信号量、发送信号量P143~14534、优先反转的本质P154第三段35、先进后出、先进先出P16936、例5-9 P17237、创建信号量集P18438、请求、发送信号量集P18639、例6-1 P18740、例6-3 P19241、内存分区与内存块的定义P19742、P200第二段简答题:第七章出一道、做过的实验中出一道综合题:1、编程题:①用信号量使Mytest、youtest轮流实现Fun() ②第五章消息队列先进先出、后进先出、函数名、参数、堆栈的创建以及初始化③两个任务分别发送,第三个任务才能运行(6-1)④例6-3 P1922、解释题:①P73、②P107 ③P143 ④P184其中编程题和解释题都是4道题中抽1道出!!!以上大纲细纲仅供参考~。

嵌入式系统复习linux

1、Linux的版本分为(内核版本)和(发行套件版本)。

2、Linux 2.6.24其中2是(主版本号)(次版本号)版本号、24是(修订)版本号。

3、硬盘分区可以分为(主分区)、(扩展分区)、(E逻辑分区)。

4、Windows文件系统是以驱动器的(盘符)为基础,Linux的文件系统是以(文件树的形式)为基础。

5、Linux建立交换分区时,一般将其设为内存大小的(2)倍。

6、Linux中主要的文件类型:(普通文件“-”)、(目录文件“d”)、(链接文件“l”)、(设备文件(“e”字符设备;“b”块设备))。

好处(区别)是:在于linux对目录和设备都当作文件来进行处理,这样就简化了对各种不同类型设备的处理,提高了效率。

7、Linux中有一文件,其属性为“-rwxrw-r--”,说出这代表什么?答:文件类型(普通文件);文件拥有者(u)、文件所有组(g)、系统其它用户(o);读(r)写(w),执行(x),无权限(-),使用ls -al 就可以查询到该文件的属性。

8、什么是嵌入式系统?答:嵌入式系统是以应用为中心,以计算机技术为基础,软/硬件可裁剪,适用于应用系统,对功能、对可靠性、成本、体积、功耗有严格要求的专用计算机系统。

9、嵌入式系统发展经历了哪几个阶段?答:第一阶段是以单芯片为核心的可编程控制器形成的系统。

第二阶段是以嵌入式菜CPU为基础,以简单操作系统为核心的嵌入式系统。

第三阶段是以嵌入式操作系统为标志的嵌入式系统。

第四阶段是以Internet、多核技术为标志的嵌入式系统。

10、画出嵌入式系统的体系结构,并进行说明?答:硬件设备包括嵌入式处理器和外围设备。

其中的嵌入式处理器(CPU)是嵌入式系统的核心部分,它与通用处理器最大的区别在于,嵌入式处理器大多观工作在特定用户群所专门设计的系统中,它就通用处理器中许多有板卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。

嵌入式复习大纲_粗略整理版

《Linux与嵌入式通信系统》复习重点1.简述嵌入式系统的概念、组成、特点及发展趋势。

概念:以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统组成:底层硬件、操作系统、应用程序特点:系统内核小、专用性强、系统精简、高实时性OS、嵌入式软件开发走向标准化、需要开发工具和环境发展趋势:软件设计比重日益突出、组件设计技术、SOC、硬件软件化2.简述嵌入式处理器的分类和各自特点。

分类:嵌入式微控制器 MCU ;嵌入式DSP处理器 DSP; 嵌入式微处理器 MPU;嵌入式片上系统 SOC;特点:MCU微控制器的最大特点是单片化,片上外设资源一般比较丰富,适合于控制,是目前嵌入式系统工业的主流; DSP处理器是专门用于信号处理方面的处理器;嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点;SOC 是一种电路系统,结合了许多功能区块,将多种功能做在一个芯片上,实现了软硬件无缝结合.3.举例说明常见的嵌入式操作系统及特点。

实时嵌入式操作系统的种类繁多,大体上分为两种,商用型VxWorks、WIN CE、Palm OS和免费型Linux和μC/OS。

VxWorks的显著特点是:可靠性、实时性和可裁减性,支持多种处理器;Windows CE是一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统。

Linux和μC/OS实时操作系统在价格方面具有优势,但稳定性与服务性存在挑战。

4.简述嵌入式系统的开发流程。

嵌入式系统的开发流程:需求分析和概要设计;硬件系统选型和设计;软件系统设计及实现;开发调试及测试;嵌入式系统量产。

建立开发环境;配置开发主机;建立引导装载程序BOOTLOADER;下载已经移植好的Linux操作系统;建立根文件系统;建立应用程序的FLASH磁盘分区;开发应用程序;烧写内核。

5.什么是EIA,它有什么特点?EIA(Embedded intel Architecture)嵌入式英特尔架构)EIA处理器,芯片组,软件项目,和其他积木帮助提供的组合性能,可扩展性,和软件的一基于升级,以满足未来一代网络不断增长的需求,在OSI应用服务层的多层次需要的。

嵌入式操作系统复习重点

嵌入式复习重点一选择题(20分)1、计算机中最小存储单元是什么位2、当计算机突然断电时什么数据会丢失RAM3、计算机中最常使用的字符编码是什么ASCII码4、不属于计算机特点的是5、关于病毒说法6、计算机在汽车工业生产应用属于什么7、32位中32指的是什么32是指数据位数二、填空题1、ARM处理器模式用户模式(usr):ARM处理器正常的程序执行状态。

快速中断模式(fiq):用于高速数据传输或通道处理。

外部中断模式(irq):用于通用的中断处理。

管理模式(svc):操作系统使用的保护模式。

数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。

系统模式(sys):运行具有特权的操作系统任务。

定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

2、典型嵌入式分为哪四个层次引导加载程序。

包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。

Linux内核。

特定于嵌入式板子的定制内核以及内核的启动参数。

文件系统。

包括根文件系统和建立于Flash内存设备之上文件系统。

通常用ramdisk来作为rootfs。

用户应用程序。

特定于用户的应用程序。

有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。

常用的嵌入式GUI有:MicroWindows和MiniGUI,QT、GTK。

3、ARM存储系统ARM体系结构所支持的最大寻址空间为4GB(32位)。

两种存储格式:大端格式小端格式ARM支持的异常复位未定义指令软件中断指令预取中止数据中止IRQ(外部中断请求)FIQ(快速中断请求)三名词解释1、JTAG 联合测试行为组织在硬件结构上JTAG接口包括两部分JTAG端口和控制器JTAG主要应用于:电路的边界扫描测试和可编程芯片的在系统编程。

2、ROM(Read only Memory)只读存储器RAM(Random access Memory)随机存取存储器PROM(programmable ROM)可编程只读存储器EPROM(Erasable Programmable)可改写只读存储器SRAM(Static RAM)静态随机存取存储器DRAM(Dynamic RAM)动态随机存取存储器SDRAM(Synchronization Dynamic RAM )同步动态随机存储器3、TAP控制器TAP控制器是边界扫描测试的核心,它是一个具有16个状态的状态机。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式LINUX操作系统知识点复习1、背)嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪,对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。

2、通常把进行嵌入式系统开发的PC机称为宿主机,把嵌入式系统的机器称为目标机。

3、)在目标机上嵌入某种功能较强且占用内存较少的操作系统,用户程序在该操作系统支持下运行,这种操作系统称为嵌入式操作系统。

4、带操作系统的嵌入式系统,在编制较为复杂和高端应用程序时,用户程序会显得比较简单,而不带操作系统的嵌入式系统,在系统稳定性、实时性等方面要高于带操作系统的,但不太适用于编制较为复杂的用户程序。

5、目前的嵌入式操作系统主要有Linux、WindowsCE、eCos、VXWorks等几种。

6、ARM处理器是一种低功耗、高性能的32位RISC处理器。

7、在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。

8、shell脚本是一个包含一系列命令序列的文本文件。

9、×)shell脚本编程与C语言编程的区别。

10、vi是一个Linux系统下的文本编辑器,可通过它来编写程序代码。

11、gcc是Linux下的程序编译工具,它可将C语言源程序编译链接成可执行文件。

12、gcc通过后缀来区别输入文件的类别,默认的输出文件名为a.out。

13、在Linux下,gcc进行编译链接的缺省操作是链接成动态库,要链接成静态库需要加上“-static”的参数。

14、动态库链接与静态库链接的区别。

15、gdb是Linux下的程序调试工具,它可启动被调试程序、让被调试程序在断点处停住、可检查程序状态。

16、需要用gdb调试的程序,在用gcc编译时需要加上“-g”的参数。

17、MakeFile文件描述了整个工程的编译、链接等规则,它是make文件执行时所必需的文件。

18、×)分析一个具体的MakeFile文件。

19、在Linux中的文件编程可使用系统调用和C语言库函数两种方法。

20、熟悉系统调用方式,文件的读、写等操作。

21、日历时间是指从1970年1月1日0点到目前所经过的秒数。

22、进程是一个具有一定独立功能的程序的一次运行活动。

23、子进程的创建、进程等待等操作。

24、×进程间的通信是为了数据传输、资源共享、通知事件、进程控制等。

25、管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。

26、×)一个进程在管道的尾部写入数据,另一个进程从管道的头部读出数据。

27、数据被一个进程读出后,将被从管道中删除。

28、管道包括无名管道PIPE和有名管道FIFO两种,前者用于父进程和子进程间的通信,后者用于同一系统中的任意两个进程间的通信。

29、关闭管道只需要将两个文件描述符关闭即可,可使用普通的close函数进行关闭。

30、必须在系统调用fork()前调用pipe()创建无名管道,否则子进程将不会继承文件描述符。

31、×以下条件为可产生信号:按下某个按键、硬件产生异常、进程用kill函数将信号发送给另一个进程、用户用kill命令将信号发送给其他进程。

32、×对信号的处理有三种方式:忽略信号、执行用户希望的动作、执行系统默认动作。

33、×使用工alarm函数可以设置一个时间值,当所设置的时间到了时,产生SIGALRM信号。

34、pause函数使调用进程挂起直到捕捉到一个信号。

35、共享内存是被多个进程共享的一部分物理内存,它是进程间共享数据的一种最快的方法。

36、创建共享内存使用shmget函数,映射共享内存使用shmat函数。

37、当一个进程不再需要共享内存时,需要把它从进程地址空间中脱离,使用shmdt函数。

38、消息队列是一个消息的链表,可以把消息看作一个记录,具有特定的格式。

39、信号量主要用于保护临界资源,进程可根据它判断是否能够访问某些共享资源,还可用于进程同步。

40、线程是一种非常节俭的多任务操作方式,运行于一个进程中的多个线程,它们之间使用相同的地址空间,一个线程的数据可直接为其它线程所用,非常快捷方便。

41、编写Linux下的多线程程序,在编译链接时需要引用库文件libpthread.a,即在gcc中加入参数“-Lpthread”。

42、线程的创建,线程间的各类参数传递。

43、线程的正常退出方式有return和pthread_exit。

44、线程等待。

45、×线程终止有正常终止和非正常终止两种情况,如何保证线程终止时能顺利地释放自己所占用的资源。

46、Linux由用户空间和内核空间两部分组成。

47、内核空间与用户空间是程序执行的两种不同状态,通过系统调用和硬件中断方式能够完成从用户空间到内核空间的转移。

48、)Linux的内核架构。

SCI是系统调用接口,它为用户空间提供了一套标准的系统调用函数来访问Linux内核,搭起了用户空间到内核空间的桥梁。

PM是进程管理,它的重点是创建和停止进程,并控制它们之间的通信,同时负责进程的调度。

VFS是虚拟文件系统,它隐藏了各种文件系统的具体细节,为文件操作提供了统一的接口。

MMU内存管理单元,它的主要作用是控制多个进程安全地共享内存区域。

NS是网络协议栈,它提供了丰富的网络协议的具体实现。

Arch是与内核构架相关的内核代码,它对多种CPU构架提供了支持。

DD是设备驱动,它用于控制特定的硬件设备,Linux内核中有大量代码都在设备驱动程序中。

49、Linux内核源代码采用树形结构进行组织,把功能相关的文件都放在同一个子目录下。

50、)内核配置编译的步骤为:清除临时文件、中间文件和配置文件;确定目标系统的软硬件配置情况;使用“make config”或“make menuconfig”进行配置;编译内核“make bzImage”;编译模块“make modules”。

51、在内核配置中,选项为“*”号的项目将会编译进内核中,选项为“M”的项目将会编译成模块,选项为空的项目将不会被编译。

52、)项目编译进内核和编译成内核模块的区别。

所有组件都编译进内核会导致两个问题:一是生成的内核文件过大,二是如果要添加或删除某个组件需要重新编译整个内核。

编译成内核模块时,模块本身并不被编译进内核文件,可根据需求,在内核运行期间进行动态的安装或卸载。

53、×内核模块的加载(insmod\modprobe)、卸载(rmmod)、查看(lsmod)等操作。

54、内核模块与应用程序的区别:应用程序从main函数开始执行任务,一直到结束后应用程序从内存中消失;内核模块是先在内核中注册自己以便服务于将来的某个请求,初始化函数结束时,模块仍然存在于内核中,直到卸载函数被调用,模块才从内核中消失。

55、×内核打印printk与常规打印printf的区别。

printk函数在内核中使用,printf函数在应用程序中使用;printk允许根据严重程度,通过附加不同的“优先级”来对消息分类。

56、物理地址是指出现在CPU地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。

57、逻辑地址是程序代码经过编译后在汇编程序中使用的地址。

58、线性地址(虚拟地址),是与CPU的位宽相关的地址,在32位CPU架构下,可以表示4G的地址空间。

59、×CPU要将一个逻辑地址转换为物理地址需要两步:首先CPU利用段式内存管理单元将逻辑地址转换成线性地址,再利用页式内存管理单元把线性地址最终转换为物理地址。

60、在Linux系统的内存管理中,逻辑地址与线性地址是保持一致的。

61、在Linux系统中,巧妙地把段机制给绕过去,而完全利用了分页机制。

62、Linux系统采用虚拟内存管理技术,使得每个进程都有独立的进程地址空间,大小为3G,用户看到的都是虚拟地址,而看不到实际的物理地址,这样用户程序可用比实际物理内存更大的地址空间。

63、Linux将4G的虚拟地址空间分为两个部分:用户空间和内核空间。

用户空间从0到3G,内核空间从3G到4G。

用户进程可通过系统调用或中断的方式访问内核空间。

64、进程的创建、程序载入、动态内存分配等操作都会分配内存给进程,它分配的仅仅是虚拟地址,而不是物理地址。

65、×实际的物理内存只有当进程真正地去访问新获取的虚拟地址时,才会由“请页机制”产生“缺页”异常而进入分配实际页框的程序。

66、内核空间是由内核负责映射,它不会跟着进程改变,是固定的。

67、)内核空间分布。

直接内存映射区,从3G开始最大到896M的线性地址空间,它与物理地址之间存在固定的线性关系。

动态内存映射区,由vmalloc进行分配,线性空间连续,物理空间不一定连续。

永久内存映射区,对于896M以上的高端内存,可使用该区域来访问。

固定映射区,它当中的每个地址项都服务于特定的用途,一般是外部硬件设备的映射地址。

68、时钟中断由系统的定时硬件以周期性的时间间隔产生,其频率由内核根据HZ来确定,HZ是一个与体系结构无关的常数,在X86平台下,默认值为1000。

69、内核定时器用于控制某个函数在未来的某个特定时间执行,函数仅执行一次,不循环执行。

70、每当时钟中断发生,全局变量jiffies就加1,该变量记录了自Linux启动后时钟中断发生的次数,所以可利用它来计算不同事件间的时间间隔。

71、)嵌入式系统开发流程:硬件系统设计、BootLoader移植、Linux内核移植、驱动程序开发、协议栈开发、应用程序开发、QT图形化应用开发及网络应用开发、产品测试及发布。

72、交叉工具链。

73、一个嵌入式系统分为三个层次。

引导加载程序BootLoader。

Linux内核Kernel。

根文件系统Root Filesystem。

74、BootLoader是在操作系统运行之前运行的一段小程序,通过这段小程序可以初始化硬件设备,为调用操作系统做好准备。

它类似于PC中的BIOS程序。

75、每种不同的CPU体系结构都有不同的BootLoader,除此以外,它还依赖于具体的嵌入式板级设备的配置。

76、BootLoader的启动过程可分为单阶段和多阶段两种,从固态存储设备上启动的BootLoader大多采用两阶段模式。

77、)在两阶段的BootLoader中,第一阶段(stage1)的作用是:初始化硬件设备、为stage2准备RAM空间、复制stage2代码到RAM空间、设置堆栈、跳转到stage2的入口去执行;第二阶段(stage2)的作用是:初始化下一阶段要用的硬件设备、把内核映像和根文件系统映像读到RAM中、跳转到内核的入口去执行。

78、根文件系统是Linux启动时使用的第一个文件系统,它由一系列目录组成,目录中包括了应用程序、C库、相关的配置文件等。

相关文档
最新文档