2022年嵌入式Linux实时操作系统习题总结 .pdf
-
资源ID:27191167
资源大小:45.89KB
全文页数:4页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年嵌入式Linux实时操作系统习题总结 .pdf
第 1 章1嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。嵌入式系统一般有3个主要的组成部分:硬件、实时操作系统以及应用软件。2嵌入式系统的三要素是嵌入、专用、计算机;即以 应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。3. 目前国际较为知名的有:VxWorks 、 NeutrinoRTOS 、 Nucleus Plus、OS/9、 VRTX 、 LynuxOS ,RTLinux 、 BlueCat RT 等。4嵌入式系统一般由硬件层、中间层、软件层和功能层组成。其作用分别如下:(1)硬件层:由嵌入式微处理器、外围电路和外设组成。 操作系统和应用程序都可以固化在 ROM 或者 Flash 中。为方便使用,有的模块在此基础上增加了LCD 、键盘、 USB 接口,以及其他一些功能的扩展电路。(2)中间层:硬件层与软件层之间为中间层,其作用 将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关;(3)软件层:主要是操作系统,有的还包括文件系统、图形用户接口和网络系统等。操作系统是一个标准的内核,将中断、I/O、定时器等资源都封装起来,以方便用户使用。(4)功能层:由基于操作系统开发的应用程序组成,用来完成对被控对象的控制功能。5非占先式调度法也称作合作型多任务 (cooperative multitasking ) ,各个任务彼此合作共享一个CPU。中断服务 可以使一个 高优先级 的任务由挂起状态变为 就绪状态。但中断服务以后控制权 还是 回到 原来被中断了的那个任务,直到该任务主动放弃CPU 的使用权时,那个高优先级的任务才能获得CPU 的使用权。当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪 ,总能 得到 CPU 的控制权。当一个运行着的任务使一个比它优先级高的任务进入 了就绪态,当前任务的CPU 使用权就 被剥夺 了。6在实时系统中,如果系统在指定的时间 内未能实现 某个确定的任务,会导致系统的全面失败 ,这样的系统被称硬实时系统 。在弱实时系统中,超时却不会发生致命的错误。其实时性的要求比硬实时系统要差一些。7嵌入式系统的设计步骤及各部分的主要工作如下。(1)需求分析阶段 ,罗列出 用户的需求 ;(2)体系结构设计阶段,描述系统的 功能如何实现;(3)详细设计阶段,进行硬件系统与软件系统的分类划分 ,以决定 哪些功能用硬件实现,哪些用软件实现;(4)系统集成 ,把系统的软件、硬件和执行装置集成 在一起,进行调试 ,发现并改进 在设计过程中的 错误 ;(5)系统测试 ,对设计好的系统进行测试 ,看其 是否满足 给定的 要求 。8Linux 作为嵌入式操作系统的优势主要有以下几点:(1)可 应用于多种硬件平台。(2)Linux 的高度模块化使添加部件非常容易。(3)Linux 是一个 和 Unix 相似 、以 内核 为基础的 、具有完全的内存访问控制 ,支持大量硬件 的一种 通用 操作系统。(4)Linux 可以 随意地配置 , 不需要 任何的 许可证 或商家的合作关系。(5)Linux 带有 Unix 用户熟悉的完善的开发工具 。其强大的 语言编译器GCC,C+等也可以 很容易得到 ,不但 成熟完善 ,而且 使用方便 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 9 Linux 执行进程调度一般是在以下情况发生的:(1)正在执行的进程运行完毕;(2)正在执行的进程调用阻塞原语将自己阻塞起来进入等待状态;(3)正在执行的进程调用了P 原语操作 ,从而 因资源不足而被阻塞;(4)执行中的进程提出 I/O 请求后被阻塞;(5)系统分配的时间片已经用完;(6)就绪队列中的某个进程的优先级变得 高于当前运行进程的优先级。第 4 章1、Linux 内核的编译菜单有好几个版本,运行:(1)make config :进入命令行,可以一行一行的配置,但使用 不十分方便 。(2)make menuconfig:大多数开发人员使用的Linux 内核编译菜单 , 使用方便 。(3)make xconfig :在 2.4.X 以及以前版本中xconfig 菜单是 基于 TCL/TK 的图形库的 。2、在完成内核的裁减之后,内核的编译就只要执行以下几条命令:make clean 编译内核之前先把环境给清理干净。make dep 编译相关 依赖文件make zImage 创建内核 镜像文件make modules 创建内核 模块 。make install 把相关文件 拷贝 到默认的目录。3、 此命令是 装载压缩映像文件zImage 到 flash 存储器中,地址是 kernel 分区,并采用 xmodem传输协议。4、此命令是 设置网卡 1的地址 192.168.1.1,掩码为 255.255.255.0,不写 netmask参数则默认为255.255.255.0。5、此命令 将nfs服务的共享目录sharedir加载到 /mnt/nfs。6、此命令是 装载根文件系统root.cramfs 到 flash 存储器中, 地址是根文件系统分区,并采用xmodem 传输协议。7、这个命令的操作同时进行了分区和格式化,0128K存放 vivi ,128K192K 存放 VIVI 控制台指令, 192K1216K 存放 kernel, 1216K4288K 存放 root,其余部分存放应用程序。第 6 章1使用 虚拟地址寻址整个系统的主存和辅存的方式在现代操作系统中被称为虚拟内存 。虚拟内存的管理方法使系统既可以运行体积比物理内存还要大的应用程序,也可以 实现“按需调页”策略,既 满足了程序的运行速度,又 节约了物理内存空间。2进程内存区域涉及到5 种数据段,即:代码段 :代码段是用来存放可执行文件的操作指令。数据段 :数据段用来存放可执行文件中已初始化全局变量。BSS 段:BSS 段包含了程序中未初始化的全局变量。堆( heap) :用于 存放进程运行中被动态分配的内存段,它的 大小并不固定,可动态扩张或缩减 。栈 :栈是用户存放程序临时创建的局部变量。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 3在 Linux 系统中, 内核在最高级执行,也称为“系统态” ,在这一级 任何操作都可以执行。而 应用程序则执行在最低级,即所谓的“用户态” 。在这一级 处理器禁止对硬件的直接访问和对内存的未授权访问。 模块 是在所谓的 “内核空间” 中运行的 ,而应用程序 则是在“ 用户空间”中运行的 。 它们分别 引用不同的内存映射, 也就是 程序代码使用不同的 “地址空间” 。4共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以 通过该区域进行通信 。共享内存是 进程间共享数据的一种 最快的方法 ,一个进程向共享内存区域写入了数据 ,共享这个内存区域的所有进程就可以立刻看到其中的内容。5.内存管理 利用虚拟文件系统支持交换,交换进程 (swapd)定期由调度程序调度,这也是 内存管理依赖于进程调度的唯一原因。 当一个进程存取的内存映射被换出时,内存管理向文件系统发出请求 ,同时, 挂起 当前正在运行的进程 。第 9 章1参考答案:Mutex 互斥量,用于操作某个临界资源 时对该资源上锁,以实现互斥地对独占资源的使用。Semophore 信号灯,信号灯内有一计数器 ,可以用于 对多个同类资源的分配。Condition条件变量,条件变量用于等待信号 。当一个线程需要等待某个信号时,就可到条件变量上等待,当信号具备时,系统会唤醒 该线程继续运行。2参考答案:本地: 共享内存 +信号量 , 适合于 大量数据传输 。Linux 支持系统V 和 POSIX 的共享内存和信号量。( 5 分)远程: Socket+应用协议。 适合于 跨网络的(大量)数据传输。Linux 支持 BSD 的 socket。应用层协议需要自行设计 。 (5 分)3答案要点:程序是编译后形成的可执行代码,是静止的。进程是程序的一次执行,是活动的。线程是进程的可执行单元,同一进程的不同线程共享进程的资源和地址空间。4两种实现方法,一种是继承Thread,另外一种是实现接口Runnable。同步的实现方法有两种,分别是synchronized, wait 与 notify 。用 synchronized 可以对一段代码、一个对象及一个方法进行加锁 。用 wait 与 notify 可以使对象处于等待及唤醒方式导致同步 ,因为每个对象都直接或间接的继承了Object 类。5、什么是BootLoader?主要有几种工作模式及主要功能是什么?答:Bootloader 就是操作系统内核 运行的一段 小程序 ,完成进行 初始化 系统硬件设置的任务,(2 分)分为启动加载模式和下载模式。(1 启动加载模式启动加载( Boot laoding )模式是指Bootloader 从目标机 上的某个 固态存储设备上将 操作系统加载到RAM 中运行, 整个过程并 没有用户的介入。 (2 分)(2)下载模式在下载模式下,目标机上的Bootloader 将先 通过串口连接或网络连接等 通信手段 从宿主机下载文件 。 (2 分)6、 简述 Bootloader 有何作用?答案要点: (1)首先, bootloader 是在特定硬件平台运行的程序,严重依赖于硬件平台,需名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 要移植;(2)是系统上电之后, 第一个运行的程序, 系统在上电或复位时通常都从地址0 x0 处开始执行,而在这个地址处安排的通常就是系统的Boot Loader 程序; (3)bootloader 程序的设计目标是启动嵌入式操作系统,嵌入式操作系统的启动需要一定的条件,这些条件由bootloader 来满足; (4)Bootloader 一般具有对存储器和网络接口操作的功能;如擦除、读写Flash,通过 USB、串口下载文件等名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -