linux-0.00

所属分类:操作系统开发
开发工具:C/C++
文件大小:2583KB
下载次数:14
上传日期:2009-07-20 06:11:14
上 传 者承运全
说明:  Linux 0.00的源代码,够经典吧,可以拿来做操作系统开发的框架
(The source code for Linux 0.00, classic enough it can be used as a framework for operating system development)

文件列表:
linux-0.00的C语言改写\linux\bochsout.txt (6955, 2008-04-01)
linux-0.00的C语言改写\linux\bochsrc.bxrc (755, 2008-03-28)
linux-0.00的C语言改写\linux\boot\boot.bin (170, 2008-03-29)
linux-0.00的C语言改写\linux\boot\boot.s (3406, 2008-03-29)
linux-0.00的C语言改写\linux\boot\head.s (3177, 2008-04-01)
linux-0.00的C语言改写\linux\boot.img (1474560, 2008-04-01)
linux-0.00的C语言改写\linux\include\protect.h (4149, 2008-04-01)
linux-0.00的C语言改写\linux\init\init.c (4730, 2008-04-01)
linux-0.00的C语言改写\linux\init\Makefile (571, 2008-03-29)
linux-0.00的C语言改写\linux\lib\Makefile (574, 2008-04-01)
linux-0.00的C语言改写\linux\lib\protect.c (3209, 2008-04-01)
linux-0.00的C语言改写\linux\Makefile (1183, 2008-04-01)
linux-0.00的C语言改写\linux\MinGW32.bat.lnk (562, 2008-03-24)
linux-0.00的C语言改写\linux\system.disasm (253015, 2008-04-01)
linux-0.00的C语言改写\linux\System.map (6103, 2008-04-01)
linux-0.00的C语言改写\linux\tools\boot.img (782, 2008-03-29)
linux-0.00的C语言改写\linux\tools\build.c (1908, 2008-03-29)
linux-0.00的C语言改写\linux\tools\build.exe (17433, 2008-03-29)
linux-0.00的C语言改写\linux\tools\system.bin (12800, 2008-04-01)
linux-0.00的C语言改写\linux\tools\system.exe (7168, 2008-04-01)
linux-0.00的C语言改写\linux\tools\Trans.exe (163840, 2008-03-28)
linux-0.00的C语言改写\MinGW32\bin\a2dll (2494, 2002-12-04)
linux-0.00的C语言改写\MinGW32\bin\ar.exe (347648, 2003-01-12)
linux-0.00的C语言改写\MinGW32\bin\as.exe (538624, 2003-01-12)
linux-0.00的C语言改写\MinGW32\bin\COPYING (26940, 2008-02-19)
linux-0.00的C语言改写\MinGW32\bin\dsw2mak (27018, 2002-12-04)
linux-0.00的C语言改写\MinGW32\bin\gcc.exe (82432, 2003-05-04)
linux-0.00的C语言改写\MinGW32\bin\gccbug (15729, 2003-05-04)
linux-0.00的C语言改写\MinGW32\bin\ld.exe (566272, 2003-01-12)
linux-0.00的C语言改写\MinGW32\bin\make.exe (1069568, 2003-06-19)
linux-0.00的C语言改写\MinGW32\bin\mingwm10.dll (14764, 2003-05-06)
linux-0.00的C语言改写\MinGW32\bin\nasm.exe (391168, 2008-02-19)
linux-0.00的C语言改写\MinGW32\bin\ndisasm.exe (141312, 2008-02-19)
linux-0.00的C语言改写\MinGW32\bin\rdoff\ldrdf.exe (34816, 2008-02-19)
linux-0.00的C语言改写\MinGW32\bin\rdoff\rdf2bin.exe (22528, 2008-02-19)
linux-0.00的C语言改写\MinGW32\bin\rdoff\rdf2com.exe (22528, 2008-02-19)
linux-0.00的C语言改写\MinGW32\bin\rdoff\rdf2ihx.exe (23040, 2008-02-19)
linux-0.00的C语言改写\MinGW32\bin\rdoff\rdfdump.exe (15872, 2008-02-19)
linux-0.00的C语言改写\MinGW32\bin\rdoff\rdflib.exe (10240, 2008-02-19)
... ...

这里把赵炯博士还原的Linux-0.00的head.s中的大部分代码用C语言重写的一遍。原来保护模式下的代码只在head.s文件中,全是汇编的。这是很经典的代码,区区300余行代码把保护模式的除虚拟地址以外的所有特性(如ldt,gdt,tss,idt,trap gate,interrupt gate)都展示出来了。 现在把其中大部分的汇编代码都改成了C语言来写, 一来检验一下自己对保护模式到底了解到什么程度,另外也希望对别人了解保护模式有点帮助。 如果真正理解了其中的源代码,那么对 Linux 0.11的进程调度应该是能很快理解了。 这个改来的linux 0.00增加了三个文件,分别是 init/init.c 包含了初始化gdt,ldt,tss,idt的所有代码 lib/protect.c 一些设置gdt,ldt,idt的函数 include/protect.h 保护模式下的一些数据结构 另外,对build.c也作了一些修改 有兴趣的可以继续对head.s作些修改,只到把head.s里的代码全部“淘空”,实现一个真正用C来写的“操作系统”

近期下载者

相关文件


收藏者