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

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

文章分类
文章存档

2015年(2)

2014年(16)

2013年(18)

2012年(17)

分类: IT业界

2013-02-21 15:53:24

       首先大家过年好,我也好久没有写博客了,几个月了吧,今天就来说说LMOS的最新情况。

春节期间也没什么进展。

       这个最新特性要从我遇到的麻烦开始说起,什么麻烦呢?其实LMOS00.04最主要是我写

了个全新的内存管理器,包括虚拟内存。LMOS的内核和进程都运行在虚拟地址空间中。大家

知道LMOS内核是32位的,也就是说LMOS能工作在32位x86CPU上。 

      大家知道32位x86CPU的那些个寄存器全都是32位的,也就是说最多可以有0~0xffffffff

这么大的虚拟内存空间。要是在80年代这个空间是非常大的,可是今天这实在是太小了,原本

就小的虚拟空间,还要被内核自己挖一块去,进程的虚拟空间就更小了。大家可能和我一样有

这样的想法:为什么内核和进程要在同一地址空间中,不能各是各的。这个问题我不想说,大

家问问设计x86的工程师去,不能这样我很烦恼。大家可能会想启用CPU的PAE特性,可是这

仅仅只能通过32位的虚拟地址去访问大于4GB的物理内存,还要频繁的修改页表,麻烦至极

不说,性能损失是非常可观的。

       左思右想了好几天,最终决定,把LMOS内核改成64位的。64位的地址空间就大了不少,

况且现代CPU都支持64位技术的。我承认这是我决策上的失误,我一开始就应该直接做64位

的内核。往后64位是趋势,无论智能终端还是大型服务器领域。何况我现在还不用考虑应用

程序和驱动程序的兼容性问题,可以随心所欲的修改和设计。反正将来可能也要做成64位的,

不如趁现在代码量还不多,就一步到位。以免日后在支持64位就会有诸多束缚。况且64位架

构下已经禁止分段但不完全很多设计上的缺陷所产生的麻烦已经不复存在。

       LMOS-00.04将废除32位支持,全面支持64位架构,不过不是IA64,而是x86_64,或者

是AMD64。我现在正在编写64位的硬件抽象层。相信过不了多久就会完成。最后说一句:

LMOS只是进度很慢,从来没有停止。

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

lmnos2013-02-27 20:56:51

shangbaogen:顶啊~,

呵呵 谢谢!

回复 | 举报

shangbaogen2013-02-27 18:23:30

顶啊~,

lmnos2013-02-25 20:45:35

2007robot:关于内核和进程方面的理解,你理解的应该不完全正确!!!当然,对于你能够写出代码,还是很佩服你的,支持一下。

谢谢,我只是想不同而已,我并非不理解进程和内核,事实上在x86上的 一个进程中包含内核代码和用户代码 也就是说内核始终在某个进程的地址空间中执行,当然按照CPU特权级不同,一个进程可以分为内核态用户态,所有进程的内核态是相同代码和数据——内核,进程的用户态是私有的。

回复 | 举报

2007robot2013-02-25 16:59:46

关于内核和进程方面的理解,你理解的应该不完全正确!!!当然,对于你能够写出代码,还是很佩服你的,支持一下。

lmnos2013-02-22 13:39:14

聆音听墨:期待,加油

谢谢!! 你过年好啊!

回复 | 举报