![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
freeldr(引导阶段)
mickey139
喜欢OS,GUI研究
展开
-
PE文件格式”1.9版 完整译文
PE文件格式引言分析内核版本是v0.3.1内核ntoskrnl.exe是一个可执行的文件即PE文件,freeldr在引导时候将这个文件读入到物理内存的0x200000处,整个读取过程采用了可执行文件加载器类是的方式,因此要搞清楚加载器如可工作,首先是要搞清楚PE文件格式。以下是PE文件格式的转贴标 题: 【翻译】“PE文件格式”1.9版 完整译文(附注释)作 者: ah00转载 2008-01-04 08:37:00 · 689 阅读 · 0 评论 -
PAE 模式
[分析环境reactos0.3.1,i386体系结构 ] 什么是PAE PAE 是物理地址扩展 (PAE)的缩写,物理地址扩展 (PAE) X86 允许软件使用地址窗口扩展 (AWE) API 集并在具有 Intel Pentium Pro 或更高版本处理器的计算机上运行,而 4 GB 以上物理内存允许将更多物理内存映射为应用程序的虚拟地址空间。不使用 AWE API 集的应用程序原创 2008-01-07 15:42:00 · 1139 阅读 · 0 评论 -
freeldr引导Reactos的最后阶段
[分析环境reactos0.3.1 ,i386体系] freeldr引导的最后阶段freeldr简直就是ntoskrnl的先锋部队,他为ntoskrnl做好了充分的环境准备,ntoskrnl必须工作在保护模式下,并提供分页机制。不过ntoskrnl并不完全依赖于freeldr提供的GDT,IDT和分页机制,在ntoskrnl接管计算机并初始化自己时他会改变这些设置。而freeldr原创 2008-01-07 17:01:00 · 579 阅读 · 0 评论 -
freeldr引导的最初阶段
分析环境reactos0.3.1 ,i386体系] freeldr多系统引导程序 freeldr是一个多操作系统的引导程序,在reactos中是如何工作的?一开始当然是MBR(主引导记录,位于磁盘0柱面、0磁头、1扇区),freeldr也有自己的MBR,在安装的时候会安装到指定硬盘的MBR处。BIOS将MBR读取放到内存的0000:7C00处,然后BIOS释放控制权计算机转入这原创 2008-01-08 16:13:00 · 969 阅读 · 1 评论 -
freeldr 主引导阶段
分析环境reactos0.3.1 ,i386体系] freeldr 主引导阶段进入freeldr的主引导函数后,freeld会做些什么工作呢?前期的有个疑问,就是在arch.s中包含了打开I386的A20地址总线功能的函数(标签)_EnableA20,但是在切换成保护模式时没有调用这个函数(标签)记得在 《80x86汇编语言程序设计教程》里说过打开A20地址总线和是否切换到保护模式没有原创 2008-01-10 10:45:00 · 520 阅读 · 0 评论 -
freeldr 如何调用_BootMain的
分析环境reactos0.3.1 ,i386体系]函数调用规则在arch.S (boot/freeldr/freeldr/arch/i386)这个文件中,由汇编代码调用了一个C函数BootMain(LPSTR CmdLine)而且还传递了一个字符串指针给BootMain那么汇编语言是如何调用C语言的函数呢?汇编语言如何调用c写的函数,汇编语言与C语言之间如何传递参数,这就需要知道原创 2008-01-10 15:45:00 · 592 阅读 · 0 评论 -
Freeldr分页机制的启动
[分析环境reactos0.3.4 ,i386体系] Freeldr分页机制的启动在引导扇区将freeldr载入内存,并跳转到0000:8000这个地址处开始执行,该地址其实就是RealEntryPoint这个所谓的函数地址该函数位于(arch.S (reactos-0.3.5/boot/freeldr/freeldr/arch/i386)) 在freeldr中存在两个堆栈,原创 2008-10-27 17:10:00 · 645 阅读 · 1 评论 -
分页机制启动后Freeldr的全局变量地址变化
[分析环境reactos0.3.5 ,i386体系] 分页机制启动后Freeldr的全局变量地址变化在Freeldr中存在很多全局变量,他们在分页机制启动前后,地址有什么样的变化?比如Freeldr在启动保护模式后设置的堆栈地址,以及引导参数块LoaderBlock,当然还有很多,之所以讨论这两个是因为他们有着特殊的意义。这个特殊的意义是因为在启动分页前后都必须使用,并且在权利移交过程原创 2008-11-30 20:14:00 · 579 阅读 · 0 评论