摘要:
从最开始的(01)篇到上一篇为止,已经解决了开发环境问题和OS项目的顶层设计问题,并且知道了如何在320*200像素的模式下使用显示器。这意味着处理和输出部分已经有了最基本的版本,因此本篇来完成输入功能,即启用键盘和鼠标。
以前基于.net做app的时候,必须了解一些.net虚拟机、AppDomain、.net类库、socket、面向对象等相关的知识。现在要基于物理机做一个被称为“操作系统”的app,当然要对物理机有一些认识。
本篇将整理一些关于CPU的知识点。整理这些的目的是实现对硬件的封装(写一些供C语言调用的函数),对硬件进行封装的目的当然是隐藏硬件细节,为写操作系统这个app服务了。不过大动干戈地封装不宜在此时进行,因为我对后续的内存管理、多任务、窗口这些东西还没有概念。放到整个操作系统完成后进行重构时再仔细封装比较稳妥。 阅读全文