学习操作系统,最难的就是保护模式的各种硬件机制了(如分段分页寻址,特权级,门机制)。单纯的8086实模下的汇编模拟器是无法模拟,调试这些机制的。只能用个功能更强大的80*86模拟器了。由于模拟器挺多的,如vmware, virtual box等等,但是好像更方便调试的,我们选择bochs吧。
赵炯博士已经为我们准备好了bochs,而且还带有linux 0.11的image.
http://www.oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zip
具体参考http://www.linuxidc.com/Linux/2009-03/18786.htm,这篇文章讲了如何设置bochs的配置文件。但是我没有成功,现在只想说说自己是弄成功的。把时间花费在这些工具上面真是很无奈啊,希望能减少这些投入。
1.下载解压
里面有一个bochs的安装文件,其余都是bochs的配置文件和Linux0.11的image文件,即0.11操作系统的二进制文件。
3.安装在c:\program file下面
dllinux目录下面是个linux操作系统的demo, 我仿照他的目录结构建立了0.11目录
然后把 解压包下面linux的image及其启动linux 0.11的bochs配置都copy到这个目录下面。如图
在这个目录下面建立一个run.bat,为了启动bochs。run.bat如图:
bochsdbg从名字上看是个debug版本的启动。
那么bochs就是正常启动了。
同时我们要修改bochsrc-hd.bxrc.
这个是启动linux 0.11的配置文件。
如图。
修改12,36行。具体情况按你具体安装目录位置仿照下图这样配置。
把run.bat中的命令bochsdbg-->bochs,我们不是用debug模式,而是用正常模式启动linux 0.11即可看到如下效果:
这是个小巧的linux 操作系统,非常不错啊!
当然,利用bochs的调试功能,我们可以追踪到内存,寄存器,还有程序之间的跳转流程,这些都是我们学习操作系统的重要素材。怎么调试请参考赵炯的《linux内核完全剖析》中的环境搭建章节吧。
加油,慢慢学习linux内核吧,花个3,5年都是值得的,不着急,有的是时间!
分享到:
相关推荐
linux0.11 bochs 调试.txt linux0.11 bochs 调试.txt
MinGW32+insight+bochs调试linux-0.11的环境:linux-0.11-insight.rar,完整版本。
Linux 0.11 内核实验室 —— 基于 Docker/Qemu/Bochs 的极速 Linux 0.11 内核学习和开发环境
Ubuntu 18.04环境下Linux 0.11 内核编译及在bochs 2.6.9中的调试运行
Ubuntu 16.04下可使用Bochs2.6.9运行的Linux0.11,亲测有效哦。
windows下面编译linux-0.11内核 MinGW32 Bochs
1、首先,利用bochs、SLS Linux、bximage工具创建硬盘文件系统镜象,并对该镜象进行分区、格式化、制作根文件系统; 2、在具备1实战经验后,讲解硬盘MBR、分区表、主分区等结构,并结合代码理解硬盘这个最常用的块...
linux-0.11内核bochs实验编译环境
结合bochs仿真调试工具边讲解边调试linux0.11版本内核初始化过程,通过该课程可以学习和理解关于linux内核在内存中的分布、分段及分页机制、逻辑地址线性地址及物理地址的区别,更系统的理解CPU实模式及保护模式等。...
可直接进行调试的 linux 0.11 内核镜像文件,调试时使用 bochs 模拟器。
修改方法可参照赵炯博士写的LINUX0.11内核注释的书,未修改的原始版本可在赵博士的网站上下载到。安装BOCHS后双击bochsrc-hd.bxrc进入LINUX0.11,编译方法见赵博士的书。 CSDN系统自动把下载积分改成10分了。果断改...
在学校研究LINUX0.11内核时自己动手写的OS,很简单,但对于理解OS原理很有用.分享一下.现在工作了,回想起来,它让我学会了不少东西啊.与其将OS原理的书读N遍,不如自己动手写一个OS出来,那怕它的功能再简单不过. 运行...
看linux-0.11代码,从启动0.11开始
4、由于《Linux内核完全注释(0.11) 》原书版本更新的原因,注释中提到的图、表可能与V3.0版书中不一致。 5、由于代码中加入注释,代码行号发生变化,注释中提到的代码行号会出现不一致,建议对照3.0版查询对应...
最近在研发自己的系统,需要熟悉操作系统原理。...1.LINUX内核完全剖析0.11内核.pdf 2.linux-0.11-devel-040329.zip 3.linux-0.11.tar.gz 4.Windows下用Bochs编译运行Linux-0.11.doc 5.各版本kernel下载地址.txt
linux 0.11 bochs2.6.9配置文件,针对linux 0.11 在bochs2.6.9上的配置文件,带注释
linux 0.11 源码下载 src/V0.11/ 目录放的是当年Linus写的源码, src/V0.11_gcc4/ 目录放的是可以在gcc4编译通过的内核源码, src/V0.11_rh9/ 目录放的是在RetHat9系统下编译通过的内核源码。 编译 bochs 安装所需...
bochs软件+linux0.11内核镜像bochs软件+linux0.11内核镜像bochs软件+linux0.11内核镜像bochs软件+linux0.11内核镜像bochs软件+linux0.11内核镜像bochs软件+linux0.11内核镜像bochs软件+linux0.11内核镜像bochs软件+...
linux下轻松使用ddd+bochs带源代码调试
# This is a root file system for linux 0.11 kernel. # Rebuild from materials gathered from Internet. # # Zhao Jiong ( gohigh@sh163.net ) # http://oldlinux.org/ 2004.1.4 # Third ...