![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OS
文章平均质量分 65
CherylNatsu
这个作者很懒,什么都没留下…
展开
-
GeekOS内核的源码级调试
在进一步研究GeekOS内核之前,有必要掌握调试这个技能,有了调试器,可以更直观地查看内部变量的值,也可以单步跟踪程序运行的轨迹。这里研究的调试,当然是指源码级的调试。首先从apt里安装的bochs模拟器可能是没有gdb stub的,也就是不能支持和gdb进行远程连接调试原创 2011-10-01 09:45:21 · 3109 阅读 · 4 评论 -
GNU/Linux环境下搭建GeekOS实验环境
我使用的操作系统为Debian GNU/Linux 6,基本系统安装好后GeekOS实验环境需要安装的组件只有bochs和nasm,直接使用源中的软件包即可:# apt-get install build-essential# apt-get install bochs b原创 2011-09-30 21:47:10 · 7537 阅读 · 3 评论 -
GeekOS简介和研究GeekOS之前的知识储备
GeekOS是一个教学用的操作系统内核,虽然是个简易而且小型的内核,但是却可以运行在真实的X86 CPU硬件上,它包含了一个现代操作系统所必须的最少功能,比如虚拟内存、文件系统,进程间通信。GeekOS列出了一些项目,分别缺乏操作系统的一系列关键部件,通过补全这些部件的代码就原创 2011-10-01 12:34:39 · 2280 阅读 · 2 评论 -
GeekOS project0 -- 接收键盘输入并在屏幕回显
源代码包中的geekos-0.3.0/doc/hacking.pdf中有GeekOS的简略介绍,项目概览等等,同时在代码包中中给出了project0到project6等几个项目,这几个项目是部分代码缺失的,需要根据项目的要求填充缺失的代码实现所需要的功能,同时在这个过程中了解这个原创 2011-10-01 12:39:22 · 7382 阅读 · 1 评论 -
GeekOS源代码编译时的packed属性被忽略问题的解决
发生错误的代码segment.h的:struct Segment_Descriptor { ushort_t sizeLow PACKED ; uint_t baseLow : 24 PACKED ; uint_t type原创 2011-10-04 13:55:26 · 2125 阅读 · 0 评论 -
GeekOS project1 -- 载入可执行文件
这次的项目内容是载入可执行文件。首先按照project0的做法,先修改Makefile,然后make depend, make,再修改.bochsrc,最后运行,竟然发现运行失败,连TODO都没有看到,如图:错误提示说,文件系统没有挂载。看看本次项目的过程就知道原原创 2011-10-01 20:56:00 · 6962 阅读 · 7 评论