DIY操作系统(一)】的更多相关文章

先说几句题外话: 回想第一次看到<30天自制操作系统>这本书时,就被这快餐般的标题深深吸引了,我无法想象如此复杂有内涵的内容能在30天就弄出来,直到我花了一个多月看到这本书的第9天时,我放弃了. 然而这次. 对不起,我是认真的! 以下开始正文,都是个人浅见,如有错误,欢迎斧正. 操作系统如何自己运行起来? 首先,机器自动读取磁盘的第一个扇区(512字节),并载入到内存的0x7c00位置,然后执行第一个扇区的代码,这段代码会读取磁盘后续的扇区到内存,接着跳转到引导文件,由引导文件继续启动操作系统…
构想根据<30天自制操作系统>以及<ORANGE’S:一个操作系统的实现>初步实现一个操作系统. 先开个头,以后的棋一步一步下.…
      许久之前就有写一个tiny的操作系统的打算,但时间和精力关系,想法一直没有成为最终的代码.操作系统的构建本身是个系统工程,门槛较高,需要多方面的知识,往往几行代码背后是厚厚的几本书才能说清的.之前为了写操作系统也是四处搜集资料,看了许多书,没有啥经验,花费了许多时间,到头来也没什么成果.因此,开个帖子,一是记录自己写这个os的过程,分享下经验:另外,也是抱着边写边学的态度,想着通过动手实践来跨过这个门槛.       下面是自己整理的一些资料,后面可能会用到.本文用到编译平台是64位…
ld -m elf_i386 as --32 gcc -m 16 o…
在gcc命令行参数中可以使用-fno-omit-frame-pointer来开启栈帧的使用,或者使用-fomit-frame-pointer选项来关闭. 然而,也可以针对某一个函数进行配置方法如下,这里add函数关闭了栈帧,p函数默认开启了栈帧. 这里是通过objdump -d 来反汇编的结果,可以看出两个函数汇编代码的区别…
来源:<Debian标准教程>王旭 著 Slackware.Debian.RedHat.SuSE 这4种发布版是当今大部分发布版的前去,虽然SuSE衍生自Slackware,但由于其技术变革非常大,通常被视为完全独立的发布版 Slackware 介绍:最古老的Linux发布版,由Patrick Volkerding创立于1993年,目标:稳定.简单.尽量与UNIX兼容缺点:图形界面美观性其他:软件包以传统的tgz格式打包,通过pkgtool管理软件包的安装.升级与卸载 Debian 独特:没有…
R++是专为懒人设计的国产编程语言.支持无操作系统裸奔.编译成机器码.android.cocos2dx绑定.中文编程.闭包.惰性求值.JSON.Lisp的S表达式.内联汇编.伪代码.模板.宏.多重继承.元编程.反射.自省.指针.引用. 为什么须要它? 1.眼下DIY操作系统一般使用gcc+nasm,R++是编译型语言,抽象能力强过C,可直接内联汇编.不须要面对讨厌的AT&T汇编,绝对是您DIY操作系统的利器(支持GRUB从U盘或硬盘引导).  2.R++没有GC,所以理论执行速度和C++一样.能…
这个连载是根据<30天自制操作系统>这本书所写 只是类似于补充之类的东西,要详细的讲解,还请参照书上的内容 所以,首先我们要感谢作者川合秀实先生!(鞠躬) 为什么我想写这么一个补充的? 因为这本书的所使用的软件,对于2014年来说,确实是有点旧了. 但是如果不用川合先生的那些方便的工具,开发会变得很麻烦. 所以,在开始之前就有一个大难题——用什么工具开发? 所以就有了这篇补充 这篇补充的目的是: 使用能在网上容易找到的软件来开发出操作系统. 我们不求完美,但只求最后能在U盘上插在现实的电脑上启…
这个博客开了这么久都没写过什么东西.可能是因为我想写的东西在网上都能找得到,所以自己也懒得去写了. 但是这次当我在看<30天自制操作系统>这本书的时候发现,如果不用作者原版的光盘软件,要自己摸索着写完整个操作系统的难度还挺大. 最关键的是这次很多东西在网上没有现成的答案. 所以这次就决定开始写连载. 记录一下学习过程的同时,也为将来想看这本书的读者提供一些有用的信息. (由于最近也很多东西忙,所以只能争取每周一更,希望大家谅解(+﹏+)~)…
书上已经为我们提供了最简单的“hello world”程序了 相信大家玩的也挺欢乐的,不过这只是引导扇区的雏形 而且如果找不到完整的光盘上的源代码,新手估计很难学的下去 所以之后文中也会尽量贴出代码 不过在继续开始之前,我们有另外意见很重要的事情要做: 让所有东西都在掌控之中! 如果你觉得觉得有几个特殊寄存器的值不知道怎么给,那么 接下来我们要看看怎么样随心所欲地给所有寄存器赋值 Intel x86系列寄存器与赋值方式 (存放到内存顺序:低地址对低地址) 32bit名称 16bit名称 注释 赋…