简答
1、什么是嵌入式系统?它由及部分组成?
嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。
嵌入式系统一般有3个主要的组成部分:硬件、实时操作系统以及应用软件。
2、嵌入式系统的三要素是什么?
嵌入式系统的三要素是嵌入、专用、计算机;其中嵌入性指的是嵌入到对象体系中,有对象环境要求;专用性是指软、硬件按对象要求裁减;计算机指实现对象的智能化功能。
3、嵌入式系统一般由几层组成?
嵌入式系统一般由硬件层、中间层、软件层和功能层组成。
4、Linux作为嵌入式系统的优势?
(1)可应用于多种硬件平台。
(2)添加部件非常容易
(3)支持大量硬件
(4)程序源码全部公开
(5)完善的开发工具
5、何为虚拟内存?虚拟内存的管理有何作用?
使用虚拟地址寻址整个系统的主存和辅存为虚拟内存。可以运行体积比物理内存还要大的应用程序,也可以实现“按需调页”,既满足了程序的运行速度,又节约了物理内存。
6、进程内存区域涉及哪几种数据段?
代码段:可执行的操作命令
数据段:已初始化的全局变量
BSS段:未初始化的全局变量
堆:进程运行中被分配的内存段
栈:程序临时创建的局部变量
7、简述内核空间和用户空间的区别?
内核空间:任何操作都可以执行
用户空间:禁止处理器对硬件的直接访问和对内容的未授权访问。
两者分别引用不同的内存映射,即程序代码段使用不同的“地址空间”
8、简述共享内存的作用
①、共享内存区域是被多个进程共享的一部分物理内存
②、进程可以直接访问该共享内存区域,并通过该区域进行通信。
③、进程间快速共享数据
④、共享虚拟内存的页面出现在每一个共享该页面的进程的页表中,但它不需要所有进程的虚拟内存都有相同的虚拟地址
9、简述内存管理与虚拟文件系统之间的关系
内存管理利用虚拟文件系统支持交换,交换进程定期由调度程序调度,这也是内存管理依赖于进程调度的唯一原因。当一进程存取的内存映射被换出时,内存管理向文件系统发出请求,同时挂起当前正在进行的进程。
10、Linux系统中线程的同步方式有互斥量、信号灯和条件变量等。假设现在需要设计一个多线程的应用程序,试分析一下以上几种同步方式分别可在什么场合下使用?
Mutex互斥量:用于操作某个临界资源时对该资源上锁,以实现互斥地对独占资源的使用
Sempphere信号灯:信号灯内有一个计数器,可用于多个同资源的分配。当资源用完时,申请资源的线程会在信号量上睡眠,有线程释放资源时,在将该线程唤醒继续进行
Condition条件变量:条件变量用于等待信号。当一个线程需要等待某个信号时,就可到条件变量上等待,当信号具备时,系统就会唤醒,该线程继续运行
11、在Linux系统上设计本地运行的两个进程,一个负责采集视频,一个负责播放。进一步考虑当两个进程处于不同机器上时,需要采用的通信方式
本地:共享内存+信号量, 适合于大量数据传输。Linux支持系统V和POSIX的共享内存和信号量。
远程:Socket+应用协议。适合于跨网络的(大量)数据传输。Linux支持BSD的socket。应用层协议需要自行设计。
12、常用的内核裁剪:make xconfig、make config、make menuconfig
13、在完成内核的裁剪后,内核的编译还需执行那几条命令:
make clean 清理内核
make dep 编译相关依赖文件
make zImage 创建内核镜像文件
make modules 创建内核模块
make install 把相关文件拷贝到默认目录
14、在vivi下执行命令load flash kernel x,其作用是什么: 装载压缩映像文件zImage到flash存储器中,地址是kernel分区,并采用x modem传输协议
15、执行 ifconfig eth0 192.168.1.1 netmask 255.255.255.0的含义:
设置网卡1的地址192.168.1.1,掩码为255.255.255.0,不写netmask参数则默认为255.255.255.0
16、执行 mount -t nfs 192.168.1.1:/sharedir/mnt命令的含义:将nfs服务的共享目录sharedir加载到/mnt/nfs
17、在viviarm嵌入式系统期末考试下执行命令load flash root x作用:装载根文件系统amfs到flash存储器中,地址是根文件系统分区,并采用xmodem传输协议
18、在vivi中执行bon part 0 128k 192k 1216k 4288k:m 64704k的作用:
同时进行了分区和格式化,0~128K存放vivi,128K~192K存放VIVI控制台指令,192K~121
6K存放kernel,1216K~4288K存放root,其余部分存放应用程序
填空、选择
1、GDB调试时,可通过step和next命令进行单步调试
2、Vi编辑器具有3种工作模式:末行模式、命令模式、输入模式
3、GCC调试C程序文件生成可执行文件步骤:预处理、编译、汇编、连接
4、在vi模式下,将文件内容存入文件中,应在命令模式下输入:
:q!强制离开,放弃编译 :wq写入并离开
1、linux分区类型默认为的是Ext2/Ext3,swap为交换分区
2、shutdown -r now 马上启动正在运行的linux系统
3、重定向的符号“ > ”表示输出重定向,原来的文件会被改写。“ >> ”追加重定向操作符,原有内容被破坏。“<< ”输入追加。
4、touch myfile命令可以确保文件myfile存在。
5、chmod命令变更权限,chown变更所有者。u为user,g为groups,o为others
6、执行、读、写权限分别为1、2、4
7、rm -rf abc强制删除不提示,rm -r abc\*.*递归删除, rmdir abc删除空目录&
8、&cat file&py将file文件中的内容输出到py
9、mkdir建立目录 rmdir删除目录 mv移动、改名 rm删除文件
10、demesg可以查看Linux启动信息
11、cat /proc/meminfo命令可以查看Linux使用了多少内存
12、ps -a可显示终端所有用户的进程,ps -u显示当前用户格式,ls -a显示所有文件和目录,ls-l列出目录下文件的权限、所有者、文件大小、修改时间名称
13、ln - b.txt用于制作a.txt的符号链接,其名称为b.txt df命令可以查看文件系统大
小,无法查看目录占磁盘情况 comm用于比较两个已排序的文件 rm可用于删除目录
14、对/etc/rc.d/rc.inet1文件进行编辑能保证启动服务器自动启动DHCP进程
1、make实现自动编译。
2、执行make clear命令,实际执行的是clear里面的内容
3、命令mv shell.sh shell2.sh意思为将文件shell.sh改名为shell2.sh
4、Gcc编译器中,选项-c为生成.o目标文件,不进行链接,-o为生成指定文件名的可执行文件,-S为只进行编译,不进行汇编和链接,-E是只进行预处理,不编译、汇编、链接
5、-g选项是GCC在编译时包含调试信息,生成目标文件用于GDB调试
6、fstab文件存放在/etc目录中
7、init启动进程需要读取/etc/inittab配置文件
1、Linux支持网络文件NFS,mount -t nfs 192.168.1.4: /opt/sirnfs /mnt/sirnfs命令将位于19
2.168.1.4机器上的/opt/sirnfs目录挂载到本机 /mnt/sirnfs
2、有利于嵌入式应用软件移植的是:软件设计采用层次化设计和模块化设计|||软件体系结构中在操作系统和应用软件之间引入一个虚拟机层,把一些通用的、共性的操作系统API接口函数封装起来|||将不可移植的部分局域化,集中在某几个特定的文件之中
3、固态存储设备上独立存放的分配顺序:BootLoader、启动参数、内核、文件系统
4、Bootloader的stage1:屏蔽所有中断、设置CPU的时钟频率、初始化RAM,设置系统内存控制器的功能存储器和各内存库控制寄存器、为加载stage2准备RAM空间、复制stage2到RAM中、跳转到stage2入口点 stage2:用汇编跳转到main入口函数、初始化本阶段要使用的硬件设备,包括初始化串口,计时器等、检测系统的内存映射、加载内核映像和根文件系统映像、设置内核启动参数、调用内核
5、make menuconfig命令以文本菜单方式界面配置内核选项
6、开启MMU时,在内存中创建页表(映射内核到3GB以上的虚拟地址空间,同时把内核所在的前1MB空间映射到和其实地址相同的虚拟地址空间),开启MMU,跳转到虚拟地址
空间继续执行
7、Blob运行第一阶段:寄存器的初始化
8、ARM系统中,MMU映射最大的单元空间是1MB
9、嵌入式系统软件有:系统内核、驱动程序、嵌入式中间体
10、通过修改文件/etc/fstab可以设定开机时候自动安装的文件系统
1、Linux文件权限一共10位长度,分成4段,(1为文件类型)(2,3,4为文件所有者的权限)(5,6,7为文件所有者所在组的权限)(8,9,10为其他用户的权限)
2、文件系统的主要功能是实现文件的按名存取
3、Ext3文件系统采用了inode来标识文件
4、通过文件名存取文件时,文件系统内部的操作过程是通过文件名直接到文件的数据,进行存取操作
5、Linux将存取设备和输入输出设备均看做文件来操作,其中目录、软链接、硬链接是以文件形式出现的,而i节点不是以文件形式出现的
1、查当前用户的运行的所有进程的信息:ps -u 所有用户的运行进程信息:ps -a
2、显示所有文件及目录:ls -a 显示l目录下的文件的权限、所有者、文件大小、修改时间及名称:ls -l
3、init进程:可以产生新的进程、在某些程序退出时能重启它们、负责在系统启动时运行一系列程序和脚本文件
4、init启动进程需要读取/etc/inittab配置文件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论