Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1152253
  • 博文数量: 53
  • 博客积分: 1165
  • 博客等级: 下士
  • 技术积分: 1811
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-19 14:56
个人简介

专注于操作系统内核的实现

文章分类
文章存档

2015年(2)

2014年(16)

2013年(18)

2012年(17)

分类: 嵌入式

2013-07-31 15:14:11

       自从我启动LMOSEM内核开发以来,已有两个多月了,LMOSEM
内核是
面向嵌入式平台的、开源的操作系统内核,其设计的标准和架构
和LMOS
(面向x86-64通用平台的)完全不同。相比之下更为简单,同
时也更为
高效。
       今天我就在此说说LMOSEM的设计和架构。
       LMOSEM内核没有采用微内核的架构设计,而是采用了以往的层次
的设计方案,一层一层的构建起来的,在这里我也不想说关于微内核
毛病和问题。然而在每个层次内,尽量做到的是,多个模块之间保持
立。也就是每个层内部有多个模块。
       从全局来观察LMOSEM内核,主要分为两个层次:硬件相关层和内
层。硬件相关层主要包含某一特定硬件平台的模块。每种硬件平台都
多或少有不同。就算是同一硬件平台的不同版本也存在差异。要想内
运行在各种硬件平台之上,或者能很轻松移植到其它硬件平台之上。
么我们就要想办法弱化硬件平台的差异性。这当然我们不能命令硬件
商:“嘿,你们的硬件都要生产成一样的”。于是我们得从我们的软
下手,不是说有不同么,那么好我们就把这些不同的拿出来,形成一
层,类似于函数库,然后我们在这个层上去构建内核。若要移植我们
只要修改或者重写这个层就行了。那么这个层究竟包含哪些东西呢?
初始化相关的,CPU控制相关的,内存控制相关的,中断处理相关的,
平台相关的。把这些写接口的形式供内核层调用,就像我们写应用软件
一样,有了函数库就容易多了,一遇到想硬件相关的我们就调用它。在
来看看内核层有哪些东西。现在内核的设计也偏向“小”而“精”的设
计方向,尤其在嵌入式领域。就我个人认为内核只应该管理这几个方面:
中断、内存、进程、驱动设备模型。不要多就这几个方面就够了。比如
中断方面负责管理设备中断处理程序的安插、控制,内存方面负责管理
内存的分配回收等,进程方面负责进程的建立、删除、调度等,驱动设
备模型方面负责设备(包括物理设备和虚拟设备)的创建和删除、访问
控制、给内核层提供接口等。
        关于LMOSEM内核架构下面有幅图:
    
       一个OS内核的建立不是一朝一夕的事,但是LMOSEM一会开源, 请大家耐
心等候,相信我会把一个完善的嵌入式操作系统内核呈现出来,哈
哈……
    

阅读(5029) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~