上一篇中介绍了图层式窗口管理的思路和算法。在此基础上,本篇就解决绘制窗口及其简单的优化问题。这里稍微吐槽一下《30天自制操作系统》原作者。全书我刚刚看了三分之一,写得确实不错,但是我能感受到原作者是习惯用汇编语言和汇编思维来写程序的。虽然书里尽量使用了C语言,但给我一种用C写汇编的感觉。也可能是原作...
分类:
其他好文 时间:
2014-06-09 16:05:18
阅读次数:
366
上一篇中介绍了内存管理的思路和算法,我们已经可以动态申请和释放内存了。这不就是堆(Heap)么。在此基础上,本篇要做一段程序,一并解决窗口和鼠标的叠加处理问题。
分类:
其他好文 时间:
2014-06-07 17:00:16
阅读次数:
196
上一篇中实现了启用鼠标、键盘的功能。屏幕上会显示出用户按键、点击鼠标的情况。这是通过让设置硬件的中断函数实现的,可以说硬件本身的设计就具有事件驱动的性质,所以软件层面上才有基于事件的消息机制。但上一篇没有说明中断的来龙去脉,本篇就从头到尾描述一下CPU与此相关的设置问题。
分类:
其他好文 时间:
2014-06-06 19:19:30
阅读次数:
236
上一篇中处理掉了绝大部分与CPU配置相关的东西。本篇介绍内存管理的思路和算法。现在想想,从软件工程师的角度看,CPU也只是一个软件而已:它的功能就是加载指令、执行指令和响应中断,而响应中断也是在加载指令、执行指令。就像火车沿着一条环形铁轨前进;当中断发生时,就好像铁轨岔口处变轨了,火车就顺着另一条轨...
分类:
其他好文 时间:
2014-06-05 20:00:41
阅读次数:
365
本文记录了使用《30天自制操作系统》附带光盘的入门方法,展示了最初的OS代码及其在虚拟机QEMU和真机下的使用方法。
分类:
其他好文 时间:
2014-05-27 02:23:24
阅读次数:
264
从最开始的(01)篇到上一篇为止,已经解决了开发环境问题和OS项目的顶层设计问题。本篇做一个小练习:设置显卡显示256色。
分类:
其他好文 时间:
2014-05-25 22:25:45
阅读次数:
620
在上一篇,实现了用IPL加载OS程序到内存,然后JMP到OS程序这一功能;并且总结出下一步的OS开发结构。但是遇到了真机测试和U盘启动的一些问题。本篇就来解决之。简单来说,把软盘(U盘)做成启动盘后,自然想要用来启动物理机器。毕竟这才是真正的测试。(用QEMU总没多大的成就感)但物理机测试的麻烦在于...
分类:
其他好文 时间:
2014-05-23 03:38:51
阅读次数:
373
在上一篇,记录了计算机开机时加载最初的IPL程序(一个nas汇编程序)的情况,包括IPL(initial program
loader)程序代码(helloos.nas)、用虚拟机QEMU加载helloos.img、制作U盘启动盘和用物理机加载helloos。计算机启动时会自动加载和执行IPL程序,...
分类:
编程语言 时间:
2014-05-21 17:45:56
阅读次数:
430
1.概念和工具本章主要介绍Windows操作系统的关键概念和术语1.概念和工具...
11.1操作系统版本... 11.2基础概念和术语... 21.2.1Windows API21.2.2 服务、函数和例程... 31.2.3
进程、线程和作业... 41.2.3.1 进程... 41.2.3.2...