嵌入式Linux题库1-答案_第1页
嵌入式Linux题库1-答案_第2页
嵌入式Linux题库1-答案_第3页
嵌入式Linux题库1-答案_第4页
嵌入式Linux题库1-答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式软件助理工程师认证考试试题题库 一、单项选择题2、在大多数Linux发行版本中,以下哪个属于块设备 ( B )A. 串行口 B. 硬盘 C. 虚拟终端 D. 打印机5、下面哪条命令可用来确保文件“myfile”存在( B ) A. cp myfile /dev/null B. touch myfile C. create myfile D. mkfile myfile embestembest-laptop:$ create myfile bash: create:找不到命令embestembest-laptop:$ mkfile myfilebash: mkfile:找不到命令8、Li

2、nux文件权限一共10位长度,分成四段,第三段表示的内容是( D )A.文件类型 B.文件所有者的权限C.文件所有者所在组的权限 D.其他用户的权限10、某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为( D )A.467 B.674 C.476 D.76412、在ARM处理器的各种工作模式中,( A )模式无法访问一些被保护的系统资源。年徐远超A. 用户模式(user) B.系统模式(system) C. 中断模式(IRQ) D.终止模式(Abort)13、如何从当前系统中卸载一个已装载的文件系统( A )A. umountB. dismountC. mo

3、unt uD. 从 /etc/fstab 中删除这个文件系统项14、你用vi编辑器编写了一个脚本文件shell.sh,你想将改文件名称修改为shell2.sh,下列命令( B )可以实现。 A. cp shell.sh shell2.sh B. mv shell.sh shell2.sh C. ls shell.sh shell2.sh D. ll shell.sh shell2.sh16、字符设备文件类型的标志是 ( B )A. p B. c C. s D. l17、删除文件命令为( D )A. mkdir B. rmdir C. mv D. rm18、( B )命令可更改一个文件的权限设置

4、? A. attribB. chmod C. change D. file19、用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为( A )。-rwxr-xr- 1 root root 599 Cec 10 17:12 ffA. 普通文件 B. 硬链接 C. 目录 D. 符号链接drwxr-xr-x 12 root root 13720 2007-07-20 23:55 dev第一组 二 三 四 五 六 七 文件属性 inode数拥有者所有者组大小 建立日期 文件/目录名 第一组为文件模式。文件模式中第一位代表文件类型,其余九位用于三组不同用户的三组权限。文件类型有三种,

5、其中“d”表示目录,“-(短线)”表示常规文件,“l”表示到系统上其他位置的另一个程序或文件的符号链接。 第二组即连接数。对文件而言,此数表示该文件在系统中保存的备份数,通常为1。对目录而言,表示的是该目录中的子目录数。 第三组即所有者名。指出该文件或目录是属于哪个用户的。 第四组即组名。指出该用户所属组名。 第五组即文件大小。指出该文件或目录占有的字节数。 第六组即最后修改日期和时间。说明文件最后一次修改或创建的日期和时间。 第七组即文件名。为文件或目录的真实名字。21、在指令系统的各种寻址方式中,获取操作数最快的方式是( 1 -B );若操作数的地址包含在指令中,则属于( 2-A )方式。

6、(1)A、直接寻址 B、立即寻址 C、寄存器寻址 D、间接寻址(2)A、直接寻址 B、立即寻址 C、寄存器寻址 D、间接寻址22、在CPU和物理内存之间进行地址转换时,( B )将地址从虚拟(逻辑)地址空间映射到物理地址空间。A、TCB B、MMU C、CACHED、DMA24、关于文件系统的安装和卸载,下面描述正确的是(A)。 A. 如果光盘未经卸载,光驱是打不开的 B. 安装文件系统的安装点只能是/mnt下 C. 不管光驱中是否有光盘,系统都可以安装CD-ROM设备 D. mount /dev/fd0 /floppy 此命令中目录/floppy是自动生成的26、用下列(A)命令查看Linu

7、x使用了多少内存A.cat /proc/meminfoB. cat /bin/meminfo C.vi /proc/meminfoD.vi /user/local/meminfo27、下列(D)设备是字符设备。A. hdc B. fd0 C. hda1 D. tty128、下列说法正确的是(D)A. ln -s a.txt b.txt,作用是制作文件b.txt的符号链接,其名称为a.txtB. df命令可以查看当前目录占用磁盘空间的大小C. comm命令打印两个文本文件中的相同的内容D. rm命令可以用来删除目录ln -S 命令 ln这是linux中一个非常重要命令,请大家一定要熟悉。它的功能

8、是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln -s /bin/less /usr/local/bin/less -s 是代号(symbolic)的意思。这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接和硬链

9、接两种,软链接就是ln -s * *,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln * *,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。软链接是可以跨分区的,但是硬链接只能在同一分区内。如果你用ls察看一个目录时,发现有的文件后面有一个的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。 Linux的df命令只能查看整个文件系统的大小,无法查看某个目录占用磁盘的情况。我想请教一下,如何才能查看某个目录占用了多少磁盘空间? 多谢了!是du命令 du的英文原义

10、为“disk usage”,含义为显示磁盘空间的使用情况。 功能:统计目录(或文件)所占磁盘空间的大小。 语法:du 选项 Names 说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。 该命令的各个选项含义如下: -s 对每个Names参数只给出占用的数据块总数。 -a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。 -b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。 -k 以10

11、24字节为单位列出磁盘空间使用情况。 -c 最后再加上一个总计(系统缺省设置)。 -l 计算所有的文件大小,对硬链接文件,则计算多次。 -x 跳过在不同文件系统上的目录不予统计。对了! 就是这个了 dudu -max-depth=N 可以指定你想查看的深度, 使用 du -max-depth=1 是很有用的呵呵,du有个-h的选项,可以以易读的方式显示结果,推荐使用。Comm 命令 (Unix/Linux/Cygnu)如果想对两个有序的文件进行比较,可以使用comm命令。comm - 12 file1 file2 就只显示在两个文件中都存在的行;comm - 23 file1 file2 只显

12、示在第一个文件中出现而未在第二个文件中出现的行;comm - 123 file1 file2 则什么也不显示。完整解说Comm命令如果想对两个有序的文件进行比较,可以使用comm命令。语法:comm - 123 file1 file2说明:该命令是对两个已经排好序的文件进行比较。其中file1和file2是已排序的文件。comm读取这两个文件,然后生成三列输出:仅在file1中出现的行;仅在file2中出现的行;在两个文件中都存在的行。如果文件名用”- “,则表示从标准输入读取。选项1、2或3抑制相应的列显示。例如comm - 12就只显示在两个文件中都存在的行;comm - 23只显示在第一

13、个文件中出现而未在第二个文件中出现的行;comm - 123则什么也不显示。32、文件exer1的访问权限为rw-r-r-,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是( A )。 A 、chmod a+x g+w exer1 B 、chmod 765 exer1 C 、chmod o+x exer1 D 、chmod g+w exer133、删除当前目录abc以及下面的所有子目录和文件,并不要求提示任何确认信息的命令是(B)A. del abc*.* B. rm rf abc C. rmdir abc D. rm r abc *.* 2.3.9 删除目录语法: rmdir

14、目录名或rm 目录名例如:rmdir dir1 删除目录dir1,但dir1 下必须没有文件存在,否则无法删除。rm -r dir1 删除目录dir1及其子目录下所有文件。linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中。现在使用rm -rf命令即可。直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字-r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思。 删除文件夹实例:rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件

15、、文件夹 需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的当然,rm还有更多的其他参数和用法,man rm就可以查看了 删除文件使用实例:rm -f /var/log/httpd/access.log 将会强制删除/var/log/httpd/access.log这个文件2.3.10 删除文件语法: rm 文件名例如:rm file1 删除文件名为file1 的文件。rm file? 删除文件名中有五个字符且前四个字符为file 的所有文件。rm f* 删除文件名中以f 为字首的所有文件。34、如果忘记了ls命令的用法,可以采用( C )命令获得帮助 a. ?ls

16、 b.help ls c.man ls d.get ls36、要给文件file1加上其他人可执行属性的命令是( C ) a.chmod a+x b.chown a+x c.chmod o+x d.chown o+x37、怎样新建一个新文件:( A ) a.touch hello.c b.mk hello.c c.rm hello.c d.new hello.c40、linux系统能够直接读取的分区类型是( D ) a.ntfs b.fat16 c.fat32 d.ext341、所在单位: _姓名:_身份证号:_准考证号:_下列提法中,属于ifconfig命令作用范围的是( B )。A、编译源程

17、序 B、配置网卡的IP地址C、配置系统内核 D、加载网卡到内核中43、一般可以用( C )实现自动编译。A、gcc B、gdb* C、make D、vi44、处理机主要由处理器、存储器和总线组成,总线包括( D )。A、数据总线、串行总线、逻辑总线、物理总线 B、并行总线、地址总线、逻辑总线、物理总线 C、并行总线、串行总线、全双工总线D、数据总线、地址总线、控制总线 45、假设当前目录下有文件Makefile,下面是其内容:pr1: prog.o subr.ogcc o pr1 prog.o subr.oprog.o: prog.c prog.hgcc c l prog.o prog.csu

18、br.o: subr.cgcc c o subr.o subr.cclear:rm f pr1*.o现在执行命令make clear,实际执行的命令是( A ): A. rm f pr1*.o B. gcc c l prog.o prog.c C. gcc c o subr.o subr.c D. 都执行 46、可加载模块一般位于系统的(B)目录下: A. /lib/modules B. /lib/modules/x.y.z(x.y.z是内核的版本号) C. /usr/lib D. /usr/local/lib50、下面( B )特性不符合嵌入式操作系统特点。A、实时性 B、不可定制 C、微型

19、化 D、易移植 51、下面关于C语言程序的描述,正确的是( C )。 A、总是从第一个定义的函数开始执行 B、要调用的函数必须在main()函数中定义 C、总是从main()函数开始执行D、main()函数必须放在程序的开始 53、嵌入式系统由硬件部分和软件部分构成,以下不属于嵌入式系统软件的是C。A) 系统内核 B) 驱动程序 C) FPGA编程软件 D)嵌入式中间件56. LINUX支持网络文件系统NFS,下列哪个命令实现了将位于 机器上的 /opt/sirnfs 目录挂载到本机/mnt/sirnfs下: AAmount -t nfs :/opt

20、/sirnfs /mnt/sirnfsBmount -t nfs /mnt/sirnfs :/opt/sirnfsCmount nfs t :/opt/sirnfs /mnt/sirnfsDmount nfs t /mnt/sirnfs :/opt/sirnfs一:mount命令详解mount命令可以用来加载指定的文件系统,比如在FreeBSD或Linux下读取NTFS或FAT32的硬盘功能:加载指定的文件系统。语法:mount -afFhnrvVw -L -o -t 设备名 加载点用法说明:mount可将指定设备中指定的文件系

21、统加载到Linux目录下(也就是装载点)。可将经常使用的设备写入文件 /etc/fastab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备时,记 录将被清除。mount命令常用参数和选项:-t 指定设备的文件系统类型。常用的选项说明有:minix Linux最早使用的文件系统。ext2 Linux目前的常用文件系统。msdos MS-DOS 的 FAT。vfat Win85/98 的 VFAT。nfs 网络文件系统。iso9660 CD-ROM光盘的标准文件系统。ntfs Windows NT的文件系统。hpfs OS/2文

22、件系统。Windows NT 3.51之前版本的文件系统。auto 自动检测文件系统。57、同CISC相比,下面哪一项不属于RISC处理器的特征_ D A、采用固定长度的指令格式,指令规整、简单、基本寻址方式有23种。B、减少指令数和寻址方式,使控制部件简化,加快执行速度。C、数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率,同时简化处理器的设计。D、RISC处理器都采用哈佛结构58、在下列ARM处理器的各种模式中,_D_模式有自己独立的R8-R14寄存器。A、系统模式(System)、B、终止模式(Abort)C、中断模式(IRQ)D、快中断模式(FIQ

23、)59、按照ARM过程调用标准(APCS),栈指针使用_B_寄存器,A、R0B、R13C、R14D、R1560、在ARM体系结构中,_C_寄存器作为连接寄存器,当进入子程序时或者处理器响应异常的时候,用来保存PC的返回值。A、R0 B、R13 C、R14 D、R1562、下面关于MMU和Linux描述错误的是:CA、MMU是内存管理单元Memory Management Unit的缩写B、uClinux可以运行在有MMU的处理器上C、Linux内核功能强大,内存管理功能丰富,即使在没有MMU的处理器上,也可以通过软件实现地址映射。D、Linux系统正是利用MMU,才能使得各个进程有独立的寻址空

24、间64、在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用( C )命令。A、上箭头B、下箭头 C、 D、67、文件系统的主要功能是( A )。A、实现对文件的按名存取 B、实现虚拟存储 C、 提高外存的读写速度 D、用于保存系统文档68、在ARM Linux体系中,用来处理外设中断的异常模式是_C_A、软件中断(SWI)B、未定义的指令异常C、中断请求(IRQ)D、快速中断请求(FIQ)69、在Linux系统中,驱动程序注册中断处理程序的函数是_B_A、trap_initB、request_irqC、enable_irqD、register_irq70、在ARM Linux

25、系统中,中断处理程序进入C代码以后,ARM的处于( A )工作模式A、超级用户(SVC)B、中断(IRQ)C、快速中断(IRQ)D、和进入中断之前的状态有关系71、在ARM体系构建的嵌入式系统中,由电平模式触发的中断,其对应的中断标准应该在何时被清除?AA、当中断处理程序结束以后,才可以清除B、进入相应的中断处理程序,即可以清除C、产生IRQ中断的时候,处理器自动清除D、任何时候都可以清除73、通过修改下面文件哪个文件 ,可以设定开机时候自动安装的文件系统(C )A. /etc/mta B. /etc/fastboot C. /etc/fstab D. /etc/inetd.conf74、下面

26、关于Shell的说法,不正确的是: (D)A. 操作系统的外壳 B. 用户与Linux内核之间的接口程序 C. 一个命令语言解释器 D. 一种和C类似的程序语言75、init可执行文件通常存放在( C )目录中。A/etcB/bootC/sbinD/root77、嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此需要一个( B )环境。A、交互操作系统 B、交叉编译 C、交互平台 D、分布式计算 78、已知有变量data1定义如下:Cunion data int i; char ch; float f; data1; 则变量data1所占的内存存储空间可表示为。A、sizeof(int

27、) B、sizeof(char) C、sizeof(float) D、sizeof(int)+sizeof(char)+sizeof(float)80、实时操作系统(RTOS)内核与应用程序之间的接口称为( C )。A、输入/输出接口 B、文件系统 C、API D、图形用户接口81、在操作系统中,除赋初值外,对信号量仅能操作的两种原语是( C )。A、存操作、取操作 B、读操作、写操作 C、P操作、V操作 D、输入操作、输出操作82、在下列ARM处理器的各种模式中,只有(A)模式不可以自由地改变处理器的工作模式。A、用户模式(User) B、系统模式(System)C、终止模式(Abort)

28、D、中断模式(IRQ)83、32位体系结构的ARM处理器有几种不同的处理器工作模式,和几个主要用来标识CPU的工作状态和程序的运行状态的状态寄存器。答案是:( B )。A、7、7 B、7、6 C、6、6 D、6、785、下列软件中,不属于BootLoader的是( B )。A、vivi B、busybox C、uboot D、blob88、在vi编辑器中的命令模式下,键入 (B) 可在光标当前所在行下添加一新行。A) “a” B) “o” C) “I” D) A91、NFS是( C )系统。A) 文件 B) 磁盘 C) 网络文件 D) 操作92、在日常管理中,通常CPU会影响系统性能的情况是:

29、( A )。A) CPU已满负荷地运转 B) CPU的运行效率为30%C) CPU的运行效率为50% D) CPU的运行效率为80%93、在使用GCC编译器的过程中,以下(B)选项可用来指定生成的目标文件名A-c B-o C-S D-E95、为了使用生成的目标文件能够用于gdb调试,在编译时GCC应使用(C)选项。A-c B-w C-g D-o96、存盘并退出vi的指令是( D )。A、q B、q! C、w D、wq97. 下列关于/etc/fstab文件描述,正确的是( D )。 A. fstab文件只能描述属于linux的文件系统 B. CD_ROM和软盘必须是自动加载的 C. fstab

30、文件中描述的文件系统不能被卸载 D 启动时按fstab文件描述内容加载文件系统98.ARM嵌入式系统中,PC指向的是正在(C )的指令地址。 A 执行B 译码C 取指D 都不是99.ARM系统处理16-bit数据时,对应的数据类型是( B )。 A ByteB HalfwordC Word D 三者都不是100.实时系统是指( B )A 响应快的系统 B 时间约束的系统 C 单任务系统 D 内核小的系统102.下列几种流行的嵌入式GUI中,没有采用分层设计的一种是: BA.MiniGUI B. Qt/Embedded C. Nano-X Window D. OpenGUI103. Qt/Emb

31、edded的底层图形引擎基于一下哪种接口技术: AAframebuffer BGAL CIAL DGFX104.在Linux使用GCC编译器时有如下命令:Gccg test.c o test,其中参数-g的作用是(D)A .生成目标文件test.o B.生成汇编文件test.s C .进行预编译 D .包含调试信息105、下列提法中,不属于ifconfig命令作用范围的是 D 。A) 配置本地回环地址 B) 配置网卡的IP地址C) 激活网络适配器 D) 加载网卡到内核中107、32位数0x用小端格式表示,则在AXD调试器下观察数据在内存中分布的情况是(B) A 12 34 56 78 B 78

32、 56 34 12 C 21 43 65 87 D 87 65 43 21 小端格式和大端格式(Little-Endian&Big-Endian) 不同的CPU有不同的字节序类型,这些字节序是指整数在内存中保存的顺序。最常见的有两种:1 Little-endian:将低序字节存储在起始地址(低位编址)2 Big-endian:将高序字节存储在起始地址(高位编址)LE(little-endian):最符合人的思维的字节序地址低位存储值的低位地址高位存储值的高位怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说低位值小,就应该放在内存地址小的地方,也即内存地址低位反之,高位值就应该放在内存地

33、址大的地方,也即内存地址高位BE(big-endian):最直观的字节序地址低位存储值的高位地址高位存储值的低位为什么说直观,不要考虑对应关系只需要把内存地址从左到右按照由低到高的顺序写出把值按照通常的高位到低位的顺序写出两者对照,一个字节一个字节的填充进去例子1:在内存中双字0x(DWORD)的存储方式。内存地址4000 4001 4002 4003LE 04 03 02 01BE 01 02 03 04注:每个地址存1个字节,每个字有4个字节。2位16进制数是1个字节(0xFF=)。例子2:如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为big-endian lit

34、tle-endian0x0000 0x12 0xcd0x0001 0x23 0xab0x0002 0xab 0x340x0003 0xcd 0x12x86系列的CPU都是little-endian的字节序。108、RISC是指(C)A 复杂指令计算机 B 并行机 C 精简指令计算机 D 多处理器计算机110、在vi编辑器的命令模式中,删除一行的命令是( B ) a.yy b.dd c.pp d.xx112、嵌入式系统的开发通常是在交叉开发环境实现的,交叉开发环境是指( A )A 在宿主机上开发,在目标机上运行 B在目标机上开发,在宿主机上运行 C 在宿主机上开发,在宿主机上运行 D在目标机上开

35、发,在目标机上运行114、在ARM Linux启动的过程中,开启MMU的时候,如何实现从实地址空间到虚拟地址空间的过度?DA、开启MMU,在内存中创建页表(映射内核到3G以上的虚拟地址空间)并继续运行。B、开启MMU,在内存中创建页表(映射内核到3G以上的虚拟地址空间),跳转到虚拟地址空间继续运行。C、在内存中创建页表(映射内核到3G以上的虚拟地址空间),开启MMU,跳转到虚拟地址空间继续运行。D、在内存中创建页表(映射内核到3G以上的虚拟地址空间,同时把内核所在的前1MB空间到和其实地址相同的虚拟地址空间),开启MMU,跳转到虚拟地址空间继续运行。为何要把物理内存地址映射到内核空间? 200

36、9年08月09日 星期日 19:51提出这个问题是因为32位的x86如果没有特殊的支持和机制,是无法访问896M以上的物理内存的,这让我很奇怪。虽然内核所分配到的空间是3G,4G-1),但是这并不代表内核本身的寻址能力是1G呀。后来看到一篇文章说,linux会在初始化的时候把物理内存映射到内核空间。这也让我很奇怪。linux本身维护了一个page的数组来作为物理内存的“仓库”,这个数组的下标实际上就是物理内存的页面号,linux会在初始化的时候初始化这个数组。我的理解是,后期的虚存到物理内存的映射实际上都落实到了对这个page数组的操作,这就够了。为什么还要把物理内存地址映射到内核空间?并且,

37、为什么仅仅是896M,剩下的128M内核地址空间去哪儿了?难道剩下的这128M就是内核本身么?如果是的话,那么内核中的各种系统调用、内核数据结构等就都要挤在这个空间里,这样要对这相对所剩无几的空间进行良好的规划,而不是像普通程序那样,一开始就是8开头的虚存空间地址;如果不是的话,那这128M方的又是什么东西,内核自己又躲到哪儿去了?linux这样做,只是为了简化内核中虚拟地址和物理地址之间相互转化的工作,_va()、_pa()轻松的就变换过来了,并不是说物理内存映射到内核空间就全部被内核占了。对于内核中非动态数据使用的物理内存是不可以变了,但是动态的部分,是可以释放掉的,而释放掉后这一部分对应

38、的物理内存又可以影射到用户空间。至于为什么不完全映射1g的空间,我想是因为还要留一片内核的虚拟地址给ioram用,比如说pci的ioram,通过ioremap映射总得留下点虚拟地址把,而ioram的虚拟地址又必需在内核空间中,也就是3-4g。 不完全映射1G,是因为要保留出一段空间来供动态映射所使用,比如当内存大于1G是,除了前面的890M可以直接映射,后面的空间都需要临时映射一下,用完解除映射(某些平台下实际解除是个空操作)。对于刚好1G内存的时候,动态映射其实是没有必要的。上曾经有文章讨论过一个patch,可以去掉动态映射,但只能用于少于1G的情况,好像

39、现在kernel的配置已经有这个选项了。内核的地址是从物理内存的0地址开始的,而0xc就是这个偏移量linux这样做,只是为了简化内核中虚拟地址和物理地址之间相互转化的工作,_va(), _pa()轻松的就变换过来了。 物理地址 虚拟地址#define _pa(x) (unsigned long)(x) & 0x3fffffff)#define _va(x) (void *)(unsigned long)(x) | 0xc)上一篇我对Linux用户空间与内核空间数.下一篇Linux内核态和用户态的区别类别:linux基础知识 | | 添加到搜藏 | 分享到i贴吧 | 浏览(2387) | 评论

40、(6) 网友评论 回复1zengzhaonong2009-08-09 20:03内核除了管理本身的内存外,还必须管理进程的地址空间 - 也就是系统中每个用户空间进程所看到的内存。Linux内核设计与实现 P200 回复2zengzhaonong2009-08-09 20:09每个进程都有一个32位或64位的平坦(flat)地址空间,空间的具体大小取决于体系结构。术语平坦描述的是地址空间范围是一个独立的连续区间(比如,地址从0扩展到232-1的32位地址空间)。 回复3zengzhaonong2009-08-09 20:15在地址空间中,我们更关心的是进程有权访问的虚拟内存地址区间,这些可被访问

41、的合法地址区间被称为内存区域(memory area),通过内核,进程可以给自己的地址空间动态添加或减少内存区域。进程只能访问有效范围内的内存地址。每个内存区域也具有相应进程必须遵循的特定访问属性,如只读、只写、可执行等属性。如果一个进程访问了不在有效范围中的地址,或以不正确的方式访问有效地址,那么内核就会终止该进程,并返回段错误信息。 回复4Clusterlee2010-01-30 16:44按我现在的理解:那128M的内核虚拟地址空间,应该有一部分是供 高端内存 的动态映射使用的。 和你所说的应该是同一个意思吧? 回复5Clusterlee2010-01-30 17:13物理地址 虚拟地址

42、#define _pa(x) (unsigned long)(x) & 0x3fffffff)#define _va(x) (void *)(unsigned long)(x) | 0xc) 这个转换是指在 低端内存区 下的映射把? 回复6fullxml2010-08-10 16:33第一句话将“虚拟地址空间”与“物理地址空间”混在一起了,linux的896M是虚拟地址空间,相当于一个窗口,这个窗口的一部分小空间随时可以向在大于896M的物理空间移动映射,117、init进程是内核在完成核内引导以后加载的,它是系统所有进程的起点,进程号为1,在执行过程中,首先会读取( C )文件。徐远超A.

43、/etc/init B. /etc/fstabC. /etc/inittab D. /etc/rc.sysinit119、以下ARM异常中,优先级最高的是(D )。 A Data abortB FIQC IRQ D Reset121、在Linux 2.4或者2.6内核中,和ARM体系结构相关的中断处理程序的C代码在源码树的( B )文件中A、kernerl/irq.cB、arch/arm/kernel/irq.cC、arch/arm/mach/irq.cD、arch/arm/kernel/entry-armv.S122、以下关于init进程,描述不正确的是:(A)A. 一个通用进程 B. 可以

44、产生新的进程 C. 在某些程序退出的时候能重起它们 D. 负责在系统启动的时候运行一系列程序和脚本文件123、哈佛结构和冯诺依曼结构的区别是( A)A 指令和数据分开存储 B 不需要程序计数器 C 统一编址 D 单一数据总线124、fstab文件存放在(A)目录中。A/etcB/bootC/sbin D/root127、启动init进程前,不需要经过(D)步骤。A加载内核 B检测内存C加载文件系统D启动网络支持130、波特率9600bps是指数据每秒传输( B )A 9600个字节 B 9600个比特 C 9600个字 D 9600个字符131、ARM9和ARM7的重要区别是(A )A ARM

45、9带有MMU功能 B ARM9支持Thumb指令集 C ARM9带有Cache功能 D ARM9是哈佛结构134、当系统工作负载增加时,CPU的( A )将占很大比重 A) 用户时间 B)系统时间 C)空闲时间、 D) 进程时间136、关于RISC指令系统描述不正确的是( A )。A、指令条数多 B、指令长度固定C、指令格式种类少 D、寻址方式种类少138、在寄存器间接寻址方式中,指定寄存器中存放的是 (B )。A、操作数B、操作数地址C、转移地址 D、地址偏移量140、如果数据的存储格式是大端模式,32bit宽的数0x在大端模式下的CPU内存中的存放(假设从地址0x4000开始)。内存地址为

46、0x4001的内容是(A)。A、 0x34 B、0x56C、 0x23 D、0x78143、(B)命令是在vi编辑器中执行存盘退出。 A) qB) wq C) q! D)WQ144、下列哪个命令以文本菜单方式界面配置内核选项: AA Make menuconfig B make xconfig C make config D make mrproper146、已知有如下程序:#include void main()int a5=1,2,3,4,5;int * p = (int *)(&a+1);printf(“%d”,p-1); 那么,输出结果为(B ) A、该程序不可执行,无输出结果 B、

47、5 C、1 D、不确定的随机值147、终止一个前台进程可能用到的命令和操作是(B )。 A、kill B、+c C、shut down D、halt 149、如果要将文件名file1修改为file2,下列命令( B )可以实现。 A. cp file1 file2 B. mv file1 file2 C. ls file1 file2 D. ll file1 file2150、不存盘退出vi的指令是( B )。A、q B、q! C、w D、wq151、有关归档和压缩命令,下面描述正确的是(C)。 A) 用uncompress命令解压缩由compress命令生成的后缀为.zip的压缩文件 B)

48、unzip命令和gzip命令可以解压缩相同类型的文件 C) tar归档且压缩的文件可以由gzip命令解压缩 D) tar命令归档后的文件也是一种压缩文件tar命令 tar 文件是几个文件和(或)目录在一个文件中的集合。这是创建备份和归档的佳径。 tar 使用的选项有: -c ? 创建一个新归档。 -f ? 当与 -c 选项一起使用时,创建的 tar 文件使用该选项指定的文件名;当与 -x 选项 一起使用时,则解除该选项指定的归档。 -t ? 显示包括在 tar 文件中的文件列表。 -v ? 显示文件的归档进度。 -x ? 从归档中抽取文件。 -z ? 使用 gzip 来压缩 tar 文件。 -

49、j ? 使用 bzip2 来压缩 tar 文件。 要创建一个 tar 文件,键入: tar -cvf filename.tar directory/file 可以使用 tar 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔: tar -cvf filename.tar /home/mine/work /home/mine/school 上面的命令把 /home/mine 目录下的 work 和 school 子目录内的所有文件都放入当前 目录中一个叫做 filename.tar 的新文件里。 要列出 tar 文件的内容,键入: tar -tvf filename.tar 要抽取

50、 tar 文件的内容,键入 tar -xvf filename.tar 这个命令不会删除 tar 文件,但是它会把被解除归档的内容 复制到当前的工作目录下,并保留归档文件所使用的任何 目录结构。譬如,如果这个 tar 文件中包含一个叫做 bar.txt 的文件,而这个文件包含在 foo/ 目录中,那么, 抽取归档文件将会导致在你当前的工作目录中创建 foo/ 目录,该目录中包含 bar.txt 文件 tar 默认不压缩文件。 要创建一个使用 tar 和 bzip 来归档压缩的文件,使用 -j 选项: tar -cjvf filename.tbz file 以上命令创建了一个归档文件,然后将其压

51、缩为 filename.tbz 文件。如果你使用 bunzip2 命令为 filename.tbz 文件解压,filename.tbz 文件会被删除,继之以 filename.tar 文件。 你还可以用一个命令来扩展并解除归档 bzip tar 文件: tar -xjvf filename.tbz 要创建一个用 tar 和 gzip 归档并压缩的文件,使用 -z 选项: tar -czvf filename.tgz file 这个命令创建归档文件 filename.tar,然后把它压缩为 filename.tgz 文件(文件 filename.tar 不被保留)。 如果你使用 gunzip 命令来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论