上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 27 下一页
摘要: 上一篇中处理掉了绝大部分与CPU配置相关的东西。本篇介绍内存管理的思路和算法。 现在想想,从软件工程师的角度看,CPU也只是一个软件而已:它的功能就是加载指令、执行指令和响应中断,而响应中断也是在加载指令、执行指令。就像火车沿着一条环形铁轨前进;当中断发生时,就好像铁轨岔口处变轨了,火车就顺着另一条轨迹走了;走完之后又绕回来重新开始。决定CPU是否变轨的,就是CPU里的特定寄存器。 阅读全文
posted @ 2014-06-04 17:14 BIT祝威 阅读(6386) 评论(3) 推荐(9) 编辑
摘要: 上一篇中实现了启用鼠标、键盘的功能。屏幕上会显示出用户按键、点击鼠标的情况。这是通过让设置硬件的中断函数实现的,可以说硬件本身的设计就具有事件驱动的性质,所以软件层面上才有基于事件的消息机制。 但上一篇没有说明中断的来龙去脉,本篇就从头到尾描述一下CPU与此相关的设置问题。 阅读全文
posted @ 2014-06-03 17:43 BIT祝威 阅读(6574) 评论(7) 推荐(4) 编辑
摘要: 从最开始的(01)篇到上一篇为止,已经解决了开发环境问题和OS项目的顶层设计问题,并且知道了如何在320*200像素的模式下使用显示器。这意味着处理和输出部分已经有了最基本的版本,因此本篇来完成输入功能,即启用键盘和鼠标。 以前基于.net做app的时候,必须了解一些.net虚拟机、AppDomain、.net类库、socket、面向对象等相关的知识。现在要基于物理机做一个被称为“操作系统”的app,当然要对物理机有一些认识。 本篇将整理一些关于CPU的知识点。整理这些的目的是实现对硬件的封装(写一些供C语言调用的函数),对硬件进行封装的目的当然是隐藏硬件细节,为写操作系统这个app服务了。不过大动干戈地封装不宜在此时进行,因为我对后续的内存管理、多任务、窗口这些东西还没有概念。放到整个操作系统完成后进行重构时再仔细封装比较稳妥。 阅读全文
posted @ 2014-05-31 14:39 BIT祝威 阅读(7906) 评论(7) 推荐(5) 编辑
摘要: 从最开始的(01)篇到上一篇为止,已经解决了开发环境问题和OS项目的顶层设计问题。 本篇做一个小练习:设置显卡显示256色。 阅读全文
posted @ 2014-05-25 14:54 BIT祝威 阅读(7835) 评论(7) 推荐(0) 编辑
摘要: 在上一篇,实现了用IPL加载OS程序到内存,然后JMP到OS程序这一功能;并且总结出下一步的OS开发结构。但是遇到了真机测试和U盘启动的一些问题。本篇就来解决之。 简单来说,把软盘(U盘)做成启动盘后,自然想要用来启动物理机器。毕竟这才是真正的测试。(用QEMU总没多大的成就感)但物理机测试的麻烦在于太慢了,每次都要关掉Windows,重启,测试,然后再重启Windows。而且还没办法截图。 而用Vmware代替真机就好了,启动速度比真机快得多,还可以截图。而且Vmware比QEMU还有另一个好处,稍候说明。 阅读全文
posted @ 2014-05-21 21:41 BIT祝威 阅读(13582) 评论(10) 推荐(1) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 27 下一页
canvas start.

canvas end.