摘要: 对于很多人来讲0x7C00这个地址是很神秘的,不知道这是干什么的。但是对于了解过x86平台下BIOS启动过程的人,对这个地址再熟悉不过了。BIOS就是将MBR读入0x7C00地址,然后进行后续的引导的。操作系统或是bootloader开发者必须假设 他们的汇编代码被加载并从0x7C00处开始执行。0 阅读全文
posted @ 2019-01-10 13:50 lemaden 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 本文的目的:大家对于Hello World程序应该非常熟悉,随便使用哪一种语言,即使还不熟悉的语言,写出一个Hello World程序应该毫不费力,但是如果让大家详细的说明这个程序加载和链接的过程,以及后续的符号动态解析过程,可能还会有点困难。本文就是以一个最基本的C语言版本Hello World程 阅读全文
posted @ 2019-01-10 13:47 lemaden 阅读(1881) 评论(0) 推荐(0) 编辑
摘要: 1.http://blog.sina.com.cn/s/articlelist_3035597182_9_1.html 阅读全文
posted @ 2019-01-10 13:41 lemaden 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 386以后的处理器,有CR0-CR4 寄存器。用于控制模式,分页等高级功能。 其中CR0中有一位是PE位,保护模式使能位。 进入保护模式是几个步骤, 1,建立一个合法的GDT 2,创建一个6个字节的伪描述符指向GDT 3,加载一个合法的页表,PDPR,PML4 到CR3. 4,PAE 标记位在CR4 阅读全文
posted @ 2019-01-10 13:22 lemaden 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 最近决定开始阅读Linux 0.11的源代码。 学习Linux操作系统的核心概念最好的方法莫过于阅读源代码。而Linux当前最新的源代码包已经有70MB左右,代码十分庞大,要想深入阅读十分困难。而Linux早期的0.11版本虽然有诸多局限,但是具备了现代操作系统的完备功能,一些基本概念沿用到了当前版 阅读全文
posted @ 2019-01-10 13:20 lemaden 阅读(2491) 评论(0) 推荐(0) 编辑
摘要: 一、 在学习之前我们先看看ELF文件。 ELF分为三种类型:.o 可重定位文件(relocalble file),可执行文件以及共享库(shared library),三种格式基本上从结构上是一样的,只是具体到每一个结构不同。下面我们就从整体上看看这3种格式从文件内容上存储的方式,spec上有张图是 阅读全文
posted @ 2019-01-10 11:08 lemaden 阅读(341) 评论(0) 推荐(0) 编辑