linux嵌入式复习资料_第1页
linux嵌入式复习资料_第2页
linux嵌入式复习资料_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式系统设计与应用(软件部分)一、题型:填空25分,选择20分,命令解释 10分,综合问答 30分,阅读程序 15 分。二、基础知识,基本概念,常用命令,涉及面广,占相当比重。三、阅读实验指导书,部分实验内容也是考试范围。四、阅读程序题,重点在要求大家上机完成的程序。五、以下仅是部分内容:1. 你是否自己安装了 Linux操作系统?如果安装了, 是虚拟机还是裸机安装? 如果没有安装? 原因是什么?答:自己安装了 Linux 操作系统,是裸机安装的。2Linux内核具有两种版本号,分别是什么,这样区分的优点?答: Linux 内核具有两种版本号:实验版本和产品化版本。优点:可以方便广大软件人员

2、加入到 Linux 的开发和测试工作中来,另一方面又可以让一些用户使用上稳定的 Linux 版本。 3Linux系统中文件权限分别赋予哪三类用户,每类用户权限用三位表示,分别是什么? 答:三类用户分别为文件拥有者 (u) 、拥有者所在用户组 (g) 和其他用户组 (o) 。每类用户权 限用三位表示,分别是读 (r) 、写 (w) 和执行 (x) 。4. 目前常用的嵌入式操作系统有(至少写三个)。答: Linux 、 WinCE、 Android 。5 Linux中改变文件权限的命令是 chmod,改变文件所有者的命令是 chown。 6Linux是自由软件,它的发行遵守什么,其目的是什么?答:

3、Linux 是自由软件, 但它的自由受到 GPL(通用公共许可证 )的限制。 它主要目标是保证软 件对所有的用户来说是自由的。7 POSIX标准的全称是:可移植操作系统接口 (Portable Operating System Interface),制定该标准的目的是什么? 答:POSIX标准的目的是为了提高 UNIX环境下应用程序的可移植性。 遵循此标准的各种 UNIX, 其上的应用程序可相互无缝移植。8进程是操作系统分配资源和进行调度的独立单位,具有独立性和动态性。进程的三要素 分别是进程号 (Pid) 、用户和组标识 (user and group identifier) 、链接信息 (

4、Links) 。Linux 下描述进程的数据结构是进程控制块 (Process Control Block, PCB)。9命令的作用以及使用如:(自己看课件上的命令)tar命令的作用: tar 可以为文件和目录创建档案。 用该命令可以为某一特定文件创建档案 ( 备 份文件 ) ,也可在档案中改变文件,或者向档案中加入新的文件。rpm命令的作用: RPM是Redhat Package Manager 缩写 , 是Redhat的软件包管理程序。 yum命令的作用: Yum(全称 Yellow dog Updater, Modified) 是一个在 Fedora 和RedHat及SUSE、 Cent

5、OS中的 Shell 前端软件包管理器。10查看 Linux系统中进程运行状态的命令是 ps; top命令的作用是显示系统当前的进程和其 它状况。11管道可以分为有名管道和无名管道,两种管道有什么区别?创建管道文件pipefile 的命令是 pipe() 。答:无名管道不属于任何文件系统, 只存在于内存中,它是无名无形的,但是可以把它看作 一种特殊的文件, 通过使用普通文件的 read(),write() 函数对管道进行操作; 有名管道是有 名有形的,为了使用这种管道, LINUX中设立了一个专门的特殊文件系统管道文件,它 存在于文件系统中,任何进程可以在任何时候通过有名管道的路径和文件名来访

6、问管道。12画出 Linux 文件系统的结构图,并说明其特点。特点: 1)Linux采用 ext2、 ext3或 ext4作为默认的逻辑文件系统。 2)Linux 为了支持多种逻辑文 件系统,在逻辑文件系统上增加一个虚拟文件系统VFS接口层次。 3)系统中所有设备,包括字符设备、块设备和网络设备,都按照某种方式由逻辑文件系统统一管理,逻辑文件系统 为它们提供访问接口。 4)虚拟文件系统 VFS在最上层,管理各种逻辑文件系统,屏蔽了它们 之间的差异, 为用户命令、 函数调用和内核其他部分提供访问文件和设备的统一接口, 使得 不同的逻辑文件系统按照同样的模式呈现在使用者面前。5)存储在 linux

7、文件系统中的信息被安排成目录和文件的树形结构。13简述 fork函数和 vfork 函数的区别。简述 exec函数的作用。答: 1)vfork函数作用基本类似于 fork ,调用流程与返回值与 fork 函数完全相同。但它们的语 义不同。 a、用 vfork创建新进程的主要目的在于用 exec函数执行另外的进程 (如 fork 函数的第 二个用途 )。b、vfork 中子进程先运行,父进程挂起,直至子进程执行exec或exit,此后父子进程执行次序无限制。2)fork 调用的目的之一就是创建新进程, 该新进程可调用 exec函数执行一个新进程。 当一进 程调用 exec函数执行后,该进程就完全

8、被新进程所取代,没有新进程的产生,进程的标识号 不变。14程序运行所使用的内存分为哪两种类型?各有何特点?对动态内存操作有哪些方法? 答:程序运行所使用的内存分为静态内存和动态内存。 静态内存特点: 静态内存的申请是由 编译器来分配的。使用静态内存对用户很方便。动态内存特点:使用动态内存时,用户可自行控制内存的分配和释放。使用动态内存的优点是使用方便。动态内存操作:分配(malloc和calloc)、释放 (free)、调整大小 (realloc) 、分配堆栈 (alloca)和内存锁定 (mlock和mlockall) 。 15在 Linux 提供的进程间通信机制中,哪些属于低级通信机制?哪

9、些属于高级通信机制? 各有什么特点? 答:低级通信机制:信号。高级通信机制:管道、System V IPC。特点:低级通信:互相发送少量的控制信息, 一般只传递一个或者几个字节的数据, 进程利用这些简单的信息, 实现 互斥和同步,控制运行速度。高级通信: 基本不涉及进程执行速度控制,用来在进程之间传 递大量的信息,由于这种通信方式主要用于交换信息。因此在开发本地进程间通信的同时, 也为远程进程间的通信、网络程序的开发及控制奠定了基础。16什么是线程, Linux下线程程序设计如何实现?线程的互斥机制。 答:线程是进程内独立的一条运行路线, 是处理器调度的最小单元,也称为轻量级进程。线 程可对进

10、程的内存空间和资源进行访问,并与同一进程中的其他线程共享资源。 程序设计利用 pthread_create() 、 pthread_exit() 、 pthread_join() 、 pthread_cancel() 等函数实现。由于线程共享了进程的资源和地址空间, 任何线程对系统资源的操作都会给其他线程带来影 响。因此,多线程中的同步和互斥是非常重要的问题 !Linux 利用线程互斥锁和信号量实现互 斥与同步。17Linux系统提供哪几种进程调度方式,说明该操作系统具有实时性的原因。 答:用于普通进程的抢占式动态优先级算法 Sched_other=0 。 POSIX标准规定的用于实时 进程的

11、先进先出算法 (Sched_FIFO=1) 。用于实时进程的轮转算法 (Scheld_RR=2) 。 RR算法是给每个进入可运行队列的实时进程分配固定大小的CPU时间片,按照它们在队列中的顺序依次开始执行。 该算法可保证每个进程就绪之后的等待时间和占用CPU的时间成比例,更加公平。 RR算法也考虑了进程的优先级, 具有相同优先级的进程采用 RR算法, 而具有更高 优先级的实时进程拥有首先使用 CPU的权利。 Linux 提供的实际是软件实时。 18针对网络的不同层次,各有哪些编程技术?了解Socket的概念,类型;基于 socket编程有哪些特点?(简单,快捷,可靠)答:应用层: Telnet

12、 、FTP。传输层: TCP、 UDP。网络层: ICMP、IGMP、IPv4、IPv6 。网络 接口层: ARP、RARP、 MPLS。socket 是一种特殊 I/O 接口,也是一种文件描述符。它是一种常用的进程之间通信机制,通 过它不仅能实现本机上的进程之间通信, 而且通过网络能够在不同机器上的进程之间进行通 信。 Socket 有流式 socket(SOCK_STREAM、) 数据报 socket(SOCK_DGRAM、) 原始 socket 三种类 型。19熟悉 Linux环境下 C语言编程过程以及相关工具,简述 make工具的特点和过程。 答: Vim, GCC, GDB。 mak

13、e工具通过 makefile 文件来完成并自动维护编译工作。这种自动编 译可简化开发工作, 避免不必要的重新编译, 有利于系统的版本维护、 升级及特定环境下软 件重新编译。 make工作时的执行步骤: (1) 读入所有的 makefile 文件; (2) 读入被 include 包括的其他 makefile 文件; (3) 初始化文件中变量; (4) 推导隐式规则,并分析所有规则; (5) 为所有的目标文件创建依赖关系; (6) 根据依赖关系, 决定哪些目标要重新生成; (7) 执 行生成命令。20常用的嵌入式操作系统有哪些? Linux 作为嵌入式系统的优点有哪些? 答:常用的嵌入式操作系统

14、: : Linux 、uClinux 、Win CE(mobile) 、Palm OS、Symbian、eCos、 uC/OS-、VxWorks(pSOS)、Nucleus 、ThreadX 、 Rtems 、 QNX、 Android 、iphone OS 、 meego(moblin) 、 montavista 、 Blackberry OS1)低成本开发系统; 2) 可应用于多种硬件平台; 3)源码开放,软件丰富; 4) 可定制内核; 5) 性能优异,高效稳定; 6) 良好的网络支持与文件管理。21 Linux 内核编译有哪些步骤?主要功能是什么?1、下载内核2、内核解包3、内核配置在编

15、译内核前,需要配置。配置是精确控制在新内核中启用(禁止 )哪些内核功能。也将控制哪些会被编译到内核的二进制映像(在启动时被载入 )、哪些被编译到需要时载入的内核模块文件。4、编译和安装内核5、启动配置22 嵌入式文件系统和通用文件系统有何不同?常用的嵌入式文件系统有哪些?各自适用 于那些环境?( Nor flash 和 Nand flash )jffs 文件系统jffs2 是 RedHat 公司基于 jffs 开发的闪存文件系统, 最初是针对 RedHat公司的嵌入式产品 eCos 开发的嵌入式文件系统,所以 jffs2 也可以用在 Linux、 uCLinux 中。jffs2: Journa

16、ling Flash File System v2, 主要用于 NOR 型闪存,基于 MTD 驱动层。jffsx 不适合用于 NAND 闪存。yaffs/yaffs2 是专为嵌入式系统使用 NAND 型闪存而设计的日志型文件系统。Cramfs 文件系统是只读的压缩文件系统, 不支持应用程序以 XIP (eXecute In Place,片内运行 ) 方式运行,所有的应用程序要求被拷到 RAM 里去运行。Cramfs 映像通常是放在 Flash 中,但是也能放在别的文件系统里,使用loopback 设备可以把它安装别的文件系统里。传统的 Romfs 文件系统是一种简单的、 紧凑的、只读的文件系统

17、,不支持动态擦写保存, 按 顺序存放数据, 因而支持应用程序以 XIP (eXecute In Place,片内运行 )方式运行, 在系统运行 时,节省 RAM 空间。 uClinux 系统通常采用 Romfs其他文件系统: fat/fat32 也可用于实际嵌入式系统的扩展存储器 ( 例如 PDA, Smartphone, 数 码相机等的 SD 卡 ),这主要是为了更好的与最流行的Windows 桌面操作系统相兼容。 ext2也可以作为嵌入式 Linux 的文件系统,不过将它用于 Flash 闪存会有诸多弊端。23嵌入式 Linux 环境下有些几种图形界面开发工具?各有什么特点?GTK+ 、Q

18、t 、 wxWidgets 和 Swing/AWT1. GTK+GTK+本身是用 C语言编写的,但是可以很方便地通过语言绑定(language binding) 和其它语言协同工作, GTK+支持使用纯 C 语言进行开发。GTK+ 是基于 GLib 构建的,其中 GLib 是一个通用的 C 语言库,类似于 C+ 中的STL ,提供了对动态数组、链表、队列、散列表、平衡二叉树、线程操作和XML解析等功能。2. Qt1优良的跨平台特性。2面向对象。3丰富的 API 。4 支持 2D/3D 图形渲染,支持 OpenGL 。5大量的开发文档。6 XML 支持。3. wxWidgets1. 免费2. 跨

19、平台的 gui 库,支持的操作系统很全面,3. wxwidgets 提供的 gui 是大量使用宏的, 这就意味着它是在尽可能的使用目 标系统 native 的 gui 样式。4. 支持的编译器也很多5.开源4. Swing1. 丰富的组件类型2. 丰富的组件特性3. 良好的组件 API 模型支持4. 出色的 Look And Feel 支持5. 标准的 GUI 库6. 成熟稳定24 Linux 驱动程序有哪几种?驱动程序的设计流程?字符设备(键盘 /显示器);块设备(光盘) ;网络设备(网卡) ; Sound,USB 流程?25什么是 Bootloader ?有何功能? 常用的 Uboot 有

20、何特点?嵌入式系统中的 Bootloader 就是在操作系统内核运行之前运行的一段程序,类似于 PC 机中的 BIOS 程序。这段程序可完成硬件设备初始化,并建立内存空间的映射关系,从而将 系统的软硬件环境带到一个合适的状态,为最终加载系统内核做好准备。功能: 初始化处理器以及外设的硬件资源。配置 (1)SDRAM 控制器,为主程序运行提供环境, (2)串口,提供交互终端, (3)网络,传输镜像文件, (4)其他 I/O 设备。执行系统自检,报告检测结果;引导操作系统; 根据系统命令烧写镜像文件;Uboot 特点:广泛使用的嵌入式引导加载器,开放源码;支持多种嵌入式操作系统内核,如 Linux、NetBSD、VxWorks、QNX、ARTOS、LynxOS支持多种处理器系列如 PowerPC、 ARM、x86、MIPS、 XScale; 较高可靠性和稳定性,较强的命令交互功能; 高度灵活的功能设置,适合 U-Boot 调试、操作系统不同引导要求和产品发布等;丰富的设备驱动源码如串口、以太网、SDRAM、 LCD、 FLAS

温馨提示

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

评论

0/150

提交评论