实验内核版本:0.11 ◆ 从开机到main函数的三步: ① 启动BIOS,准备实模式下的中断向量表和中断服务程序; ② 从启动盘加载OS程序到内存中,加载OS程序的工作就是利用第一步中的中断服务程序实现的; ③ 为执行保护模式下32位的main函数做过渡工作。 ? Intel将...
分类:
系统相关 时间:
2015-09-17 00:53:21
阅读次数:
261
【0】写在前面0.1)本代码的作用: 旨在说明局部描述符表的作用,及其相关定义,初始化和跳转等内容;0.2)文末的个人总结是干货,前面代码仅供参考的,且source code from orange’s implemention of a os.0.3)由于本文中代码和 “实模式和保护模式切换的步骤”的源代码 有90%之多的相似之处,参见http://blog.csdn.net/pacosonswj...
分类:
其他好文 时间:
2015-08-27 11:08:59
阅读次数:
257
【-1】写在前面:以下部分内容总结于 http://blog.csdn.net/ruyanhai/article/details/7181842【0】看看intel处理器的发展历程【1】8086/8088的寻址和问题1.1)寻址:在8086/8088中,只有20根地址总线,所以可以访问的地址是2^20=1M,但由于8086/8088是16位地址模式,能够表示的地址范围是0-64K,所以为了在8086...
分类:
其他好文 时间:
2015-08-26 17:59:50
阅读次数:
251
上几篇文章,我们一直在讨论的都是 GDT 相关的一些问题,现在我们知道在系统在从实模式向保护模式跳转时,GDT 是必须要准备的结构。在介绍这一跳转之前,这篇文章我们来介绍两个概念:一致代码段和非一致代码段。
首先,我们先来看几个问题:
一致代码段和非一致代码段是什么?
为什么要有一致代码段和非一致代码段?
系统提供怎样的机制来使用户程序访问内核数据?
程序如何在段与段之间跳转?
接下来,我们将讨论上...
分类:
其他好文 时间:
2015-08-18 19:35:26
阅读次数:
116
一, 执行BIOS程序 x86 PC刚开机的时候, CPU处于实模式, 实模式和保护模式相对应, 实模式的寻址是cs:ip (CS左移4位+ip).开机时, cs=0xFFFF, ip=0x0000, 也就是说cpu从0xFFFF0地址处开始执行, 但是我们发现0xFFFF0这个地址距离0xFFF....
分类:
其他好文 时间:
2015-08-17 13:44:15
阅读次数:
106
这是一上没旷工#include "stdafx.h"#include "iostream.h"main(){ int a; for ;}理工甩划d也工你
分类:
其他好文 时间:
2015-08-12 23:20:36
阅读次数:
113
第二天总结学习内容:寄存器(eflags,IDTR,GDTR,CR0),bootsect应用的相关知识及其流程,gdt实验:实践boot相关功能,移动位置,加载扇区,建立gdt以及idt,进入实模式,跳转到gas编译的head第一条语句总结:1,理论bootsect到setup a,被加载...
分类:
其他好文 时间:
2015-08-01 00:49:12
阅读次数:
221
总结下学习的内容,梳理下思路。学习内容:启动,dd命令,bochs基本用法,as86,ld86实验:使用bochs模拟开机启动过程,熟悉常用命令。总结:1.机器启动到加载bootsect:a,开机进入实模式,实模式主要特点软件可以直接访问硬件和只有20位的寻址空间b,计算机刚刚加电时cs=f000..
分类:
其他好文 时间:
2015-07-31 06:42:20
阅读次数:
141
总结下学习的内容,梳理下思路。学习内容:启动, dd命令,bochs基本用法,as86,ld86实验:使用bochs模拟开机启动过程,熟悉常用命令。总结: 1.机器启动到加载bootsect: a,开机进入实模式,实模式主要特点软件可以直接访问硬件和只有20位的寻址空间 b...
分类:
其他好文 时间:
2015-07-31 01:18:59
阅读次数:
109
虚拟地址空间:1 每个进程拥有独立的进程地址空间,这个每个进程相互独立,不同进程不能访问其他进程的地址空间,否则会长生错误。一个进程的错误操作,也只会影响这个进程,不会导致其他进程的奔溃2 实模式下的寻址方式,可以直接操作物理内存地址,但是不安全。任何进程都可以修改物理内存3 每个进程的独立的...
分类:
其他好文 时间:
2015-07-29 13:41:41
阅读次数:
124