一,制作真正的IPL(启动程序装载器) 今天的目的是将昨天的启动程序装载器来装载程序。 ①:磁盘最初的512字节是启动区。为了装载下一个512字节内容的程序,对之前的程序进行修改,得到了今天的harib00a程序 ...
天自制操作系统 笔记 定时器 进度回顾 上一篇和上上一篇解决了绘制窗口和窗口刷新的问题。关于窗口的东西就此告一段落。本篇介绍一个相对独立且十分重要的操作系统部件 定时器的使用方法。 定时器是一个硬件 可编程的间隔型定时器 Programmable Interval Timer 简称定时器 PIT ,是集成到电脑上的一个硬件部件。之前讲过的用于实现中断机制的PIC也是个硬件部件。有了PIT,我们才 ...
2014-06-10 13:48 3 5478 推荐指数:
一,制作真正的IPL(启动程序装载器) 今天的目的是将昨天的启动程序装载器来装载程序。 ①:磁盘最初的512字节是启动区。为了装载下一个512字节内容的程序,对之前的程序进行修改,得到了今天的harib00a程序 ...
harib07a: 整理内存管理函数:memman_alloc和memman_free能够以最小1字节进行内存管理,但时间久了后,容易产生外部碎片;为此,笔者编写了一些以0x1000字节为单位进行 ...
《30天自制操作系统》笔记(13)——总结 进度回顾 上一篇介绍了操作系统实现多任务的方法。操作系统利用CPU的far模式的JMP指令、寄存器TR、GDT、TSS和PIT中断这些功能实现了多任务,可见CPU在设计时就考虑到了计算机要具有多任务处理的能力。也就是说,CPU、PIC等硬件支持 ...
《30天自制操作系统》笔记(03)——使用Vmware 进度回顾 在上一篇,实现了用IPL加载OS程序到内存,然后JMP到OS程序这一功能;并且总结出下一步的OS开发结构。但是遇到了真机测试和U盘启动的一些问题。本篇就来解决之。 遇到的问题 物理机测试 简单来说,把软盘(U盘)做成 ...
《30天自制操作系统》笔记(07)——内存管理 进度回顾 上一篇中处理掉了绝大部分与CPU配置相关的东西。本篇介绍内存管理的思路和算法。 现在想想,从软件工程师的角度看,CPU也只是一个软件而已:它的功能就是加载指令、执行指令和响应中断,而响应中断也是在加载指令、执行指令。就像火车沿着一条 ...
光盘中文翻译版:https://github.com/yourtion/30dayMakeOS.git 原版光盘(含iso文件):https://github.com/sky5454/30daysMakeOS-Origin-ISOfiles.git 原版光盘git版本:https ...
暑假果然是滋生懒散的温床. (╯‵□′)╯︵┻━┻ 好久不动都忘记之前做到哪里了, 上次好像做到了C语言的引入, 这一节所做的东西都相当轻松, 将会绘制出操作系统的基本界面. 绘图的原理 按照书中所说, 将值写入到显存中就能在屏幕上显示相应的像素 ...
《30天自制操作系统》笔记(09)——绘制窗口 进度回顾 上一篇中介绍了图层式窗口管理的思路和算法。在此基础上,本篇就解决绘制窗口及其简单的优化问题。 这里稍微吐槽一下《30天自制操作系统》原作者。全书我刚刚看了三分之一,写得确实不错,但是我能感受到原作者是习惯用汇编语言和汇编思维来写程序 ...