免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 37197 | 回复: 101

放出 mouseOS 0.01 预览版 [复制链接]

论坛徽章:
0
发表于 2010-03-20 01:02 |显示全部楼层
本帖最后由 mik 于 2010-03-24 16:54 编辑

mouseOS 0.01 尚未完全写好,先放出个预览版给大家看看


一、mouseOS  习作的特色:

(1)纯 64 位的 x64 平台的 OS

(2)完全用汇编语言写的

(3)现在已经能做到多任务的切换



二、 开发工具

(1) nasm 汇编语言编译器

(2)PSPad 文本编辑软件

(3)FLexHEX 十六进制编辑软件




源码:我已经放在我的网站上以供下载:www.mouseos.com


上两个图:

mouseos0.01p.png

上图中,在 shell 里输入 sysinfo 命令,然后执行 sysinfo 进程,这个进程本来,我想输出 cpu 信息,偷懒暂时没写,只是打印一条信息




这个图中,是用 bochs 调试运行时的截屏:

其中:

1、红色部分是:两个进程的物理地址:
     shell 进程的是: 0x10000
     sysinfo 进程的是:0x28000

    它们的入口虚拟地址都是 0x0000100000400000


其中: shell 进程的映射到物理地址: 0x0000100000400000 --------> 0x10000
          sysinfo 进程的映射到:   0x0000100000400000 --------> 0x28000

这条指条是:死循环



2、图中显示:不断地在 shell 进程和 sysinfo 进程来回地进行任务切换


  偷了一下懒,shell 进程和 sysinfo 没实现多少功能




三、图1中的 shell 进程的键盘输入模块匆匆写了,没做好,结果输入字符很乱 


  等完善 0.01 版后,重新挂上来

论坛徽章:
0
发表于 2010-03-20 01:43 |显示全部楼层
写这个 mouseos,真真正正的从 0 起步,


从 boot 到 kernel,再到 shell  再到 user 进程

kernel,kernel rotune,driver,syscall,interrupt ...

shell, user lib,user program 全部通通走了一遍

还充当了编译器的角色,使用了动态链接方式,导入 routine 或 lib 里的例程

论坛徽章:
0
发表于 2010-03-20 08:51 |显示全部楼层
厉害啊!居然是汇编的

论坛徽章:
0
发表于 2010-03-20 09:46 |显示全部楼层
为楼主顶一把,希望能继续前进。不过用汇编的话,能参与的人减少了很多。

论坛徽章:
0
发表于 2010-03-20 10:52 |显示全部楼层
汇编写的话,太慢了!

论坛徽章:
0
发表于 2010-03-21 00:14 |显示全部楼层
写这个 mouseos,真真正正的从 0 起步,


从 boot 到 kernel,再到 shell  再到 user 进程

kernel ...
mik 发表于 2010-03-20 01:43



     前面初始化部分全是汇编的?你是在什么平台上跑的?BIOS使用的ACPI汇报得硬件信息吗,如果是,你解析全是汇编写的也太牛了吧!

论坛徽章:
0
发表于 2010-03-21 00:18 |显示全部楼层
回复 6# zx_wing


整个 mouseOS 全部都是用汇编写的


你可以到我的网站上下载源码看看,www.mouseos.com

论坛徽章:
0
发表于 2010-03-21 00:20 |显示全部楼层
回复 6# zx_wing


  其实没做到什么功能,只是写来玩一玩而已

暂时没写 ACPI 驱动

论坛徽章:
0
发表于 2010-03-21 00:22 |显示全部楼层
先写个 0.01 版,以后再慢慢添加驱动,和更多的 lib,更多的程序

论坛徽章:
0
发表于 2010-03-21 00:34 |显示全部楼层
我刚刚又修改了 keyboard 的驱动,加入了事件驱动机制

即:每次按键都要调用用户进程里自定义的 keyboard_event_handler() 进行对按键进行处理

修改了上次的:不断循环进行检测用户是否按键,感受这种方式太差了

正修改 shell 进程里的输入模块
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP