不记得什么时候开始想自己写一个操作系统,从引导程序开始,到现在快有10年了吧,没做事了,就写一些,忙起来就丢一边了。后来想接着写,结果发现前面写的东西都看不懂,只得又重新学一遍,主要资料难找,一点点往前写,慢慢的形成了一个框架。
因为目标是要能运行windows的PE应用程序,所以尽量按windows的框架来实现,已经实现的功能:
1、内存分页,4G平坦地址、用户态2G(由进程独占),系统态2G(所有进程、内核共享)
2、实现显卡、鼠标、键盘、硬盘、GDT 、IDT、时钟的基本功能。
3、进程、线程、窗口、消息、系统调用、用户态函数回调的运行和协调
4、动态DLL,应用程序EXE的加载和运行。
5、窗口的正常显示。
虽然界面比较简陋,可基本框架搭起来了,下一步工作,就是把窗口显示做好。