免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1204 | 回复: 2
打印 上一主题 下一主题

[学习分享] 嵌入式操作系统基本模块 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-27 10:10 |只看该作者 |倒序浏览
由于嵌入式操作系统是为某一特殊目的而设计的,因此它历来具有简单,实时性强,在有限的存储空间中运行等特点。随着嵌入式硬件的不断成熟,这些特点也不断发展、变化、传统上只有在桌面机os上找到的一些特征,例如虚拟存储器,现在也已经移植进嵌入式系统。

一个操作系统由一些常见的底层模块组成,每个模块实现一个预定的功能。这些模块的相互作用和功能决定了这个特定操作系统的特征。

初始化代码是操作系统执行的第一段代码,包括建立内部数据结构、全局变量和硬件环境。在固件把控制权交给操作系统时,初始化代码开始执行。操作系统的硬件初始化包括设置各种控制寄存器,初始化设备驱动程序。若操作系统为抢占式的,还须建立一个周期性的定时器中断。

存储器处理包括建立系统堆栈和任务堆栈。这些堆栈的位置决定了任务或系统可用的存储空间大小。系统堆栈的位置通常在操作系统初始化时设置,任务堆栈在何时建立,取决于该任务是静态的还是动态的。

   静态任务在编译时被定义,并包含于操作系统映像中,这些任务的堆栈可在操作系统初始化时建立,作为例子,后面的SLOS就是一个基于静态任务的操作系统。

动态任务在装载并运行操作系统以后被装载和执行,它不是操作系统映像的一部分。这种任务的堆栈在创建任务时建立。不同操作系统的存储器处理,其复杂程度也不同,取决于很多因素,比如所选择的ARM处理器核、微控制器的性能及最终目标硬件的物理存储器布局等。

  调度程序是决定下一个该执行哪个任务的算法。有很多可选的调度算法,最简单的一个称为循环算法,它以固定的次序循环激活任务,调度算法的选择必须在效率、代码大小与复杂性之间折衷。

  最后一个模块是驱动程序框架——操作系统用于在不同硬件外设之间提供统一接口的机制,这个框架提供一种标准且简单的方法,把对特定外设的新支持集成到操作系统中,应用程序要访问特定外设时,必须有对应的可用驱动程序。框架必须为访问外设提供安全的方法。

论坛徽章:
0
2 [报告]
发表于 2012-07-27 12:53 |只看该作者
都是一些熟悉而陌生的名词

论坛徽章:
0
3 [报告]
发表于 2012-07-30 14:36 |只看该作者
http://www.lirenedu.org/index.php?ack=lanmu&id=79 更多相关的资讯文章!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP