想通过写一个操作系统来学习linux。经小朱师哥推荐,得到参考资料 http://en.skelix.org/skelixos/ ,于是,跟着作者一步一步体会操作系统是怎么写出来的。在此记录学习的收获。本篇为环境配置篇。
要开发一个操作系统,其需要的环境如下:
GCC
Skelix是作者用c写的,在linux下面用不低于3.4.6版本的gcc进行编译。
VMWARE
让gcc发挥作用的linux在哪?虽然可以找台机器装linux,作者的做法是在VMWARE里面安装linux的虚拟机,然后在虚拟linux主机中进行操作系统的开发或者测试。
基础知识
掌握如下知识将很有帮助(本人不熟):
C语言、汇编语言、Makefile、memory addressing (内存寻址)、interrupts(中断)、exceptions(异常)、GDT、IDT、LDT、paging(分页)、accessing ports(访问端口?)
手边要有工具书:
Intel Architecture Software Developer's Manual and Intel 80386 Programmer's Reference Manual (Three volumes )
不管有或者没有上述的基础知识,环境已经搭好,我们开始写操作系统吧!