现在的位置: 首页 > 综合 > 正文

一个全新自主操作系统LMOS

2012年03月03日 ⁄ 综合 ⁄ 共 1416字 ⁄ 字号 评论关闭

大家关注的话,可看此博客


....................

2007年开始接触计算机的我,一转眼5年过去了,光阴似箭,但一心要究其计算机之原委,研其之本质。由于本人天资愚钝,数年过去,一无所成。然,本性固执,终于在2011年10月下旬开始了自主操作系统的旅程,一路走来,此中艰辛,自是不必提及。那固执的坚持终究还是让我的OS内核成一雏形。风风火火的赶了差不多一年的路,是该停下了来歇歇脚了。于是有了这第一版的发布,这第一版极其简陋,所以心有顾及,怕贻笑大方,但大凡世间万事,不能一蹴而就。每种设计、每种算法、每个数据结构、每一行代码,都亲自编码,亲自优化,亲自测试,点点滴滴都了然于心。想到这里也就心无顾及了。
      由于从设计到实现都是从“0”到“1”的过程,并以现存任何操作系统无近亲关系。所以我用了
liberty的第一个字母L,代表自主、自由,加上一个人写操作系统内核实属疯狂之举。所以我用了
madness的第一个字母M,合起来就叫LMOS。
      LMOS是一个多任务的全32位的操作系统内核,不是完整的操作系统。在次重申。LMOS是运行在x86架构的多进程、多线程的操作系统内核。包含现代意义操作系统内核的所有特性,只是它还很简单,很年轻。

关于LMOS特性
      多进程,多线程:
      在LMOS中进程是线程运行资源的容器。在这个容器中LMOS维护6种不同状态的线程队列,还包含了这这些线程运行时所需的资源,比如所有线程共同的虚拟内存空间,打开的文件数等等……而每个线程,LMOS则为其维护其自身的内核栈、机器上下文等……LMOS内核调度的基本单元是线程。每个进程又可能在8个CPU核之间迁移。LMOS是支持多CPU的系统。LMOS原生支持内核级抢占,但这个版本不会包含此特性,由于代码稳定程度不够,所以内核运行时不会启用此特性。
      物理内存管理特性:
      32位系统物理内存最多可管理4GB,LMOS物理内存管理器综合了储存节点、内存区间、伙伴系统、内存物理页面,每个储存节点支持多个内存区间,每个内存区间上建立了伙伴系统,用伙伴系统管理一个内存区间的若干个物理内存页面。对于小于一个页面大小的内核对象则采用先进的内存池技术对其管理。LMOS的内存池管理器还综合了CPU高速缓存的特性。储存节点的引入是为了对付非一致性内存。要说明一点的是,LMOS暂时是基于x86CPU标准分页系统,暂时没有启用x86MMU扩展分页特性,比如36根物理地址线这样的特性,以后会支持的。这样的物理内存管理器非常健壮、高效。
      IO管理特性:
      IO管理器是一层次化的子系统,细分为接口层、通用层、文件系统层,高速缓存层、驱动程序层、物理硬件层。接口层:祥细定义上层标准一致接口,和应用程序进行通信。通用层:定义了文件系统层的编写规范,只要符合些规范的文件系统模块,都可以加载进通用层管理器中,通用层的上层和接口层通信,下层和各种文件系统通信。 文件系统层:文件系统层可以实现各种各样的文件系统。它们从高速缓存中得到数据并加于处理。高速缓存层:高速缓存管理器在内存中分配一大块内存空间,用于缓存各种设备的数据。高速缓存层的上层和文件系统层通信,下层和各种设备驱动程序通信。驱动层提供各种物理设备的操作机制。物理硬件层用于管理物理设备对象,和驱动层交互。

...........................

抱歉!评论已关闭.