现在的位置: 首页 > 综合 > 正文

《30天自制操作系统》第0天

2018年02月01日 ⁄ 综合 ⁄ 共 735字 ⁄ 字号 评论关闭

1.天下无难事,只怕有心人。

兴趣遍地都是,专注与持之以恒才是最重要的。

2.所谓开发操作系统,就是想办法制作一张"含有操作系统(代码),能够自动启动的磁盘。"

  (电脑开机后,将磁盘上OS代码读取内存某个位置,再将PC指向这个位置,开始OS指令执行). ---所有运行程序都在内存中(少部分代码在磁盘交换区)。

3.第一个操作系统是用0101二进制指令写出来的,在第一个操作系统基础上开发

编辑器,编译器等软件,再进一步用高级语言(汇编和C等)进一步完善操作系统...

循环往复,操作系统就是如此慢慢发展起来的。

4.在开发OS时,需要用到CPU上的许多控制OS的寄存器。一般来说编译器都是用于开发应用程序的,所以没有任何操作这些寄存器的命令,只有汇编语言才能操作这些寄存器(汇编指令和机器指令基本一一对应)。汇编器只是一个文本转换工具。

5. 源代码编译后的机器代码是什么样的呢?

EXE可执行文件用十六进制编辑器打开,即可看到诸如 01 ff 0d dd ....之类的十六进制代码,这些就是机器指令,编写过单片机程序的人就非常了解看到的机器代码,每条C语言代码都转化为那些机器代码都一目了然,调试时也很直观的看到PC寄存器内容指向下一条指令的地址。

6.代码才是最重要的,用代码说话。阅读和编写代码才是正道。实践,实践,再实践!!!

Read The Fucking Source Code!(RTFSC) ---Linus.

7.最开始考虑写一个"只要一通电就能运行的程序",用汇编写;

  下一步写一个从磁盘读取操作系统的程序,只能读取磁盘最开始512字节,

  还要编写剩余部分的载入程序,也用汇编写。

  以后的程序用C写即可。

  放松,放松,放松...

  

2013-12-20

抱歉!评论已关闭.