让系统跑起来 要写一个操作系统,我们首先要有一个储存系统的介质,原版书似乎是06年出版的,可惜那时候没有电脑,没想到作者用的还是软盘,现在的电脑谁有软驱?不得已我使用一张128M的SD卡来代替,而事实上你用的是U盘还是软盘对我们的操作系统没有影响 ...
暑假果然是滋生懒散的温床. 好久不动都忘记之前做到哪里了, 上次好像做到了C语言的引入, 这一节所做的东西都相当轻松, 将会绘制出操作系统的基本界面. 绘图的原理 按照书中所说, 将值写入到显存中就能在屏幕上显示相应的像素, 在asmhead.nas 中有这一段: 调用十号中断来指定显卡模式, 后面的几个MOV指令用来储存和显示有关的关键信息 为什么不直接用常量呢 , 在bootpack.c中有 ...
2014-08-06 21:45 10 1814 推荐指数:
让系统跑起来 要写一个操作系统,我们首先要有一个储存系统的介质,原版书似乎是06年出版的,可惜那时候没有电脑,没想到作者用的还是软盘,现在的电脑谁有软驱?不得已我使用一张128M的SD卡来代替,而事实上你用的是U盘还是软盘对我们的操作系统没有影响 ...
梳理项目结构 项目做到现在, 前头的好多东西都忘了, 还是通过Makefile重新理解一下整个项目是如何编译的: 现在我们拥有这么9个文件: ipl10.nas ...
这一次的学习相当曲折, 主要是因为粗心, Makefile里面的错误导致了文件生成出现各种奇奇怪怪的问题, 弄得心力交瘁, 因此制作过程还是尽量按着作者的路子来吧. 作者提供的源码的注释在中文系统下是乱码, 而且代码的分隔用了两个Tab, 在这里要处理一下: :%s/;.*//g 删除所有 ...
一,制作真正的IPL(启动程序装载器) 今天的目的是将昨天的启动程序装载器来装载程序。 ①:磁盘最初的512字节是启动区。为了装载下一个512字 ...
《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 ...