自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (3)
  • 收藏
  • 关注

原创 自己动手写操作系统80x86保护模式(4)--分页机制

80x86保护机制除了分段机制、特权等级机制、门机制之外还有分页机制。分页机制主要实现了线性地址到物理地址转换,涉及的内容主要有PDE、PTE、cr3,机制如下:转换使用两级页表,第一级叫做页目录,大小为4KB,存储在一个物理页中,每个表项4字节长,共有1024 个表项。每个表项对应第二级的一个页表,第二级的每一个页表也有1024个表项,每一个表项对应一个物 理页。页目录表的表

2015-10-26 08:57:23 682

原创 80x86保护模式(3)

前面的两节里面仅仅简单的实现了从实模式进入到保护模式然后又返回实模式,而且特权等级都是在Ring0层的。保护模式之所以有保护作用,除了前面的分段机制,保证段不会越界之外。特权等级机制,也是起了很关键的作用。关于特权等级的知识,在《一个操作系统的实现》读书笔记--第三章---不同特权级代码段之间的跳转 一文中有比较详细的解释。关于RPL、CPL、DPL的区分也做了比较详细的区分。现在先看结果

2015-10-22 16:23:07 373

原创 80x86保护模式(2)

在80x86保护模式(1)中,简单实现了在DOS系统下,由实模式转入保护模式,但是最后却是死循环了。既然可以由实模式转入保护模式,那必然可以由保护模式在转入实模式。下面上代码:;/*;nasm boot.asm -o boot.com;*/;; 描述符; usage: Descriptor Base, Limit, Attr; Base: dd; L

2015-10-21 14:35:32 425

原创 80x86保护模式(1)

在IA32模式下,CPU有两种工作模式:实模式和保护模式。实际上,当CPU加电时是工作在实模式下的,通过某种机制后才进入保护模式。在保护模式下,通过分段机制实现逻辑地址到线性地址的转换,通过分页机制实现线性地址到物理地址的转换。具体是怎么转换的呢?1、在了解怎么转换之前,实模式下是怎么寻址的呢?8086CPU是16位的CPU,拥有16位的寄存器,16位的数据总线,20位的地址总

2015-10-20 13:55:28 495

原创 实现一个简单的Boot loader

一个简单的boot loader。

2015-10-15 10:58:39 1466

原创 Linux内核加载过程

Linux内核大致加载过程:第一步--加载BIOS稍有计算机基础的人都应该听过BIOS(Basic Input/Output System),可以看做是记录在ROM中的软件。也都清楚系统加电会执行BIOS中的程序,这种机能是如何实现的呢?看下图:这是早期DOS系统内存空间分配情况,可以借来理解。如图在0x400的位置有一段BIOS数据区,我们可以理解为ROM

2015-10-14 15:05:06 4281

原创 用户空间和内核空间、进程上下文与中断上下文

最近在学习Linux内核,对于用户空间和内核空间、进程上下文与中断上下文有点混淆,在此好好整理一番。一、CPU特权级别CPU的所有指令中,有些指令是非常危险的,如果错用就会导致系统崩溃。所以,CPU将指令分为特权指令和非特权指令,不同的指令有不同的操作权限。于是便有了CPU的4个特权级别,ring0~ring3。ring0最高,ring3最低。Linux系统仅仅使用了ring0和ring3

2015-10-13 16:34:18 432

一个简单的壳

用C++实现的一个简单壳的Demo,其中实现了代码段简单的加密。麻雀虽小,五脏俱全。包含了许多编写加壳软件的基本方法。

2016-01-19

Orange'S一个操作系统的实现

Orange'S一个操作系统的实现 这本书的配套代码,一步步用代码实现的一个简单的操作系统,全过程易于理解,上手快

2015-10-21

linux内核源码V0.12

《Linux内核完全剖析:基于0.12内核》对早期Linux内核(V0.12)全部代码文件进行了详细、全面的注释和说明,旨在帮助读者用较短的时间对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux打下坚实的基础。虽然选择的版本较低,但该内核已能够正常编译运行,并且其中已包括了Linux工作原理的精髓。

2014-07-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除