嵌入式实时操作系统复习提纲.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:4 大小:53KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

嵌入式实时操作系统复习提纲.doc

嵌入式实时操作系统复习提纲.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式实时操作系统复习提纲一、基本概念1.嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。2.嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。其中,嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM、PowerPC、Xscale、MIPS等);嵌入式操作系统是指在嵌入式硬件平台上运行的操作系统,目前主流的嵌入式操作系统有嵌入式Linux、CLinux、WinCE、C/OS-Ⅱ、VxWorks等。RTOS有QNX,pSOS,vxworks,RT-Linux等.Linux内核主要是由进程调度、内存管理、虚拟文件系统、网络接口和进程间通信等组成。3.Linux用户进程:进程控制块、系统堆栈、用户堆栈、程序代码及数据段组成;Linux可以管理512个进程,进程调度的police域有:SCHED_OTHER;SCHED_FIFO;SCHED_RR。Linux的进程控制相关的系统调用函数有:fork,exit,vfork,wait,execve等。Linux系统定义了五种状态进程状态就绪状态TASK_RUNNING0可中断等待状态TASK_INTERRUPTIBLE1不可中断等待状态TASK_UNINTERRUPTIBLE2停止状态、僵尸状态TASK_ZOMBIE4中止状态TASK_STOPPED8从Linux的调度来看,支持非实时(普通)和实时两种进程。4.Linux虚拟文件系统维护描述整个虚拟文件系统以及实际已挂装的文件系统的数据结构。嵌入式Linux系统中常见的文件系统有:yaffs,jsffs,cramfs等。文件系统的安装必须调用mount命令,把其他子系统安装到已经存在于文件系统的空闲节点上。文件系统类型的注册函数为registerfilesystem,超级用户卸载文件系统使用umount命令。交换机制:将不用或暂不用的页框中的页移出,装上新的页面;linux三级分页结构5.考虑到中断处理的效率,Linux的中断处理程序分为两个部分:上半部(tophalf)和下半部(bottomhalf)。由外部设备引发的中断叫外部中断,处理器响应中断请求而执行的程序模块叫中断服务例程7.进程的通信与同步机制有管道、信号、消息队列、共享内存和信号量集等el中。Linux的管道有:匿名管道和命名管道;从信号的可靠性方面,信号可以分为:可靠信号和不可靠信号。8.linux设备驱动注册的基本参数有设备名称,设备驱动的数据结构、设备号和次设备号。lsmod把现在kernel中已经安装的modules列出来;insmod把某个module安装到kernel.二、基本原理和方法1、嵌入式系统设备驱动程序的主要功能?2Linux系统的设备分为如下三类:3、基于虚拟内存技术的程序执行两次映射:4、Buddy算法-伙伴算法5、Slab分配器思想6、Linux内核的主要组成部分7、RT-Linux的获得及配置安装步骤1.下载RT-Linux完整的源代码tar包;2.解压rtlinux源代码tar包至/usr/src目录,并patch内核;3.配置RT-Linux系统的子内核;4.建立依赖关系;5.编译内核及内核模块,并进行安装;6.安装新内核;7.配置Grub,编辑/boot/grub/grubconf加上RTLinux启动选项;8.重新启动计算机,进入RT-Linux系统;9.配置RT-Linux;10.建立依赖关系(可选,如跳过则后面的make命令会自动建立依赖关系);#makedep11.编译RT-Linux内核及实时模块,并进行安装;12.最后,启动RT-Linux内核模块。8、Linux的中断处理程序9、Linux系统进程调度的总体思想。实时进程优先于普通进程,实时进程以进程的紧急程度为优先顺序,普通进程以进程平等占用CPU时间为基本调度原则。10.Linux系统驱动程序框架的功能包括三、Linux内核程序理解1.Linux使用内核函数goodness()对进程进行加权处理:Staticinlinegoodness(structtask_struct*pintthis_cpu,structmm_struct*this_mm){Intweight;Weight=-1;If(p->policy&SCHED_YIELD)///*判断如果任务的调度策略被置为SCHED_YIELD的话,则置权值为-1,返回。gotoout;If(p->policy==SCHED_OTHER)/*先对普通进程进行处理(由于多数是