(5)打造简单OS-进入保护模式】的更多相关文章

1.简介: 8086实模式 80286才出现保护模式,保护模式下的段寄存器存储的是段选择子,不在是8086实模式的段基址了! [扩展知识]:可以看了后面知识在回头看一下这段. [8086各个段寄存器和通用寄存器都是16位,地址总线20位,采用段式段+偏移可访问物理内存1M] [80286各个段寄存器和通用寄存器都是16位,地址总线24位,采用段式选择子+偏移可访问虚拟内存1G:物理内存16M] 80286全局描述符表一项是占8字节,其中段基址占3字节(24位与地址总线一致) [80386段寄存器…
一.简要说明 我们在第五讲[(5)打造简单OS-进入保护模式]中的mbr.S 汇编文件有段这样的代码 mov eax, 0x2 ; 起始扇区lba地址,从间隔第二个扇区开始 mov bx, 0x900 ; 写入的地址 mov cx, 4 ; 待读入的扇区数,读取4个扇区内容 call rd_disk_m_16 ; 以下读取程序的起始部分(一个扇区) loader.S说明:[ 我们把loader.S编译后的二进制文件存储在硬盘的第二个扇区开始位置] 上述一段汇编代码说明了: 将loader编译后的…
日期:2019/5/22 关键词:操作系统:OS:保护模式:A20地址线激活:分页开启:二级页表的设置 PS:OSLAB实验课的整理. 本文主要内容是分析操作系统中一个简易的MBR. 建议先阅读:https://www.cnblogs.com/sinkinben/p/10888599.html 宏定义和数据定义 %define CR0_PE      (1 << 0) %define CR0_MP      (1 << 1) %define CR0_EM      (1 <&…
写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作.如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我. 你如果是从中间插过来看的,请仔细阅读 羽夏看Win系统内核--简述 ,方便学习本教程.   看此教程之前,问一个问题,你配置好双机调试学习环境了吗…
这个系列文章主要目的是为了记录我个人学习保护模式后的总结与一点点的思考.我也是一个学习者,其中由错误在所难免,若各位朋友指出将不胜感激. 1. Intel CPU的运行模式概述 这里我将粗略介绍Intel IA-32 CPU和其64扩展所提供的运行模式,及各运行模式的特点. Intel IA-32架构一共提供了四种运行模式.分别是保护模式(protected mode).实地址模式(实模式,Real-address mode).系统管理模式(SMM).虚拟8086模式(Virtual-8086…
实模式和保护模式区别及寻址方式 转载请注明出处:http://blog.csdn.NET/rosetta 64KB-4GB-64TB? 我记得大学的汇编课程.组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也有谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的内含,更别说为什么实模式下最大寻址空间为1MB?段的最大长度不超过64KB?而保护模式下为啥最大寻址能力就变成了64TB?每个段最大也达4GB? 更甚者分段和分页这两个高深的概念像我这种菜鸟怎么也理解不了啊!…
主要是实现<简单打造OS>第四小节说到的一个图形界面的实验项目 1.mbr boot.inc ;------------- loader和kernel ---------- LOADER_BASE_ADDR equ 0x900 LOADER_STACK_TOP equ LOADER_BASE_ADDR LOADER_START_SECTOR equ 0x2 KERNEL_BIN_BASE_ADDR equ 0x70000 KERNEL_START_SECTOR equ 0x9 KERNEL_E…
x86   保护模式  十  分页管理机制 8.386开始支持分页管理机制 段机制实现虚拟地址到线性地址的转换,分页机制实现线性地址到物理地址的转换.如果不启用分页,那么线性就是物理地址 一  分页管理简介 cr0中的pg位=1   分页生效,将线性地址转换为物理地址. 只有在保证pe位为1的情况下  才能使pg位为1  否则将引起通用保护故障. 分页机制将线性地址空间和物理地址空间分别划分为大小相同的块.这样的块称为页.线性的页和物理的页之间建立映射,完成线性到物理地址的转换.线性地址空间的页…
1-汇编写入引导区,虚拟机启动步骤 (了解即可) 2-开机BIOS初始化与MBR操作系统引导详解 (了解即可) 3-MBR引导区转移加载简单程序(突破512限制)(了解即可) 4-loader硬盘加载和C++写入文件 (重点) 5-进入保护模式 6-内存分页 7-加载内核 8-中断 9-内存管理 10-线程 11-进程 12-文件系统管理 个人用的记录 CPU ---汇编器 c/c++语言编译器 ld连接器 连接成可执行文件 操作系统 在OS上制作虚拟机可以运行自己的OS…
详细的过程说明参考:(1)  https://www.cnblogs.com/Philip-Tell-Truth/p/5211248.html    (2)x86汇编:从实模式到保护模式 这里简化一下说说要点: 1. 生成并加载GDT表 实模式下任何进程可以无限制读写任何内存,甚至os的内存,毫无安全性可言:需要对用户进程读写内存的地址做严格限制,衍生出了保护模式:保护模式将内存分成不同的段,段基址.limit.各种属性存放在GDT表:用户程序读写段内存时需要先通过段寄存器的selector在G…