Window内核学习之保护模式基础】的更多相关文章

段寄存器 段寄存器有6个分别是 cs,ss,ds,es,fs,gs.这些段寄存器包含16位的可见部分和80位的隐藏部分,共90位. 16位的可见部分就是我们知道的cs等段寄存器的值,我们可以在od中查看. 这16位可见部分也称为是段选择子,其16位的结构的最低两位是RPL即此段访问的请求权限级别,再往前一位是TI位,当TI位为0时表示查询GDT表,如果TI位为1表示查询LDT表.剩余13位为索引值,用来在GDT表或LDT表中索引对应的段描述符. 而剩余80位的不可见部分压缩存储在全局描述符表GD…
来源:http://blog.csdn.net/yishuige/article/details/50434746 这一章涉及intel8086系列cpu的保护模式编程,应该是学习内核编程,驱动编程及嵌入式编程一些基础知识.不过对于没接触过底层编程的我来说,感觉还是好复杂. 不过里面也有许多以前汇编学过的东西,大部分还是能看懂的.我觉得图表就能说明大部分内容了,细节东西,不能都做笔记,所以大部分笔记都是图表- -. 1,首先是关于8086cpu的各个标志寄存器,其内容如下: 2,内存管理的寄存器…
★PART1:32位保护模式下内核简易模型 1. 内核的结构,功能和加载 每个内核的主引导程序都会有所不同,因为内核都会有不同的结构.有时候主引导程序的一些段和内核段是可以共用的(事实上加载完内核以后就不需要主引导程序了),和加载一般的用户程序一样,主引导程序也是需要从硬盘中读取程序到指定的内存空间中. 同时,作为一个内核,也是一个程序,而且是一个具有管理全局的能力的程序,应该有固定的段,一般来说,内核应该包括以下几个部分: 1. 公用例程段(实现API功能) 2. 内核数据区(用于预读一些数据…
转自:http://blog.csdn.net/rosetta/article/details/8570681 Linux操作系统基础(四)保护模式内存管理(2) 转载请注明出处:http://blog.csdn.net/rosetta           本节主要讲:保护模式内存管理相关的物理地址空间,逻辑和线性地址空间,段选择符,段寄存器,段描述符. 物理地址空间 保护模式下,IA-32架构提供了一个4GBytes(2^32bytes)正常大小的物理寻址空间.处理器可以使用地址总线录址这些地…
作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux.嵌入式领域经典书籍. 转 载:欢迎转载文章,转载需注明出处. 目录 从 16 位进入到 32 位 8086 的 16 位模式 80386 的 32 位模式 从实模式进入到保护模式 如何进入保护模式 GDT 全局描述符表 GDTR 全局描述符表寄存器 段描述符的查找原理 在之前的 7 篇文章中,我们一…
在我们阅读boot loader代码时,遇到了两个非常重要的概念,实模式(real mode)和保护模式(protected mode). 首先我们要知道这两种模式都是CPU的工作模式,实模式是早期CPU运行的工作模式,而保护模式则是现代CPU运行的模式. 但是为什么现代CPU在运行boot loader时仍旧要先进入实模式呢?就是为了实现软件的向后兼容性不得已才这样的. 下面我们分别看下这两种工作模式的基本原理. 实模式(real mode) 实模式出现于早期8088CPU时期.当时由于CPU…
1 一般来说,80x86(80386及其以后的各代CPU)可以在三种模式下运转:实模式,保护模式,V86模式.实模式就是古老的MS-DOS的运行环境.Win95只利用了两种模式:保护模式和V86模式. 2为什么要进入保护模式: 保护模式有许多优越性.其中最最直接的好处就是:你的程序可以利用更多的内存了! 3 4 从硬件结构上说,386由三个寄存器CR0.CR1.CR2控制着CPU的运转.比如说,CR0的第0位就是用来判断当前CPU是工作在保护模式还是实模式下.学过8088/8086汇编语言的人一…
保护模式.虚拟内存.权限…
80x86 保护模式极其编程       首先我不得不说.看这章真的非常纠结...看了半天.不知道这个东西能干嘛.我感觉唯一有点用的就是对于内存映射的理解...我假设不在底层给80x86写汇编的话.我真不知道这章能对我有什么用. .. update: {           当我决定暂停下来的时候,暂停这篇blog,我认为反思这样的行为都是伟大的.对于之前"能对我有什么用"的想法有了不同的见解.我发现这个保护模式极其编程还是挺有意思的.我之前不知道APUE里面讲current save…
在学习笔记(1)中,我们学习了IRP的数据结构的相关知识,接下来我们继续来学习内核中很重要的另一批数据结构: EPROCESS/KPROCESS/PEB.把它们放到一起是因为这三个数据结构及其外延和windows中进程的表示关系密切,我们在做进程隐藏和进程枚举的时候一定会涉及到这3类数据结构,所以这里有必要及时做一下总结,做个学习笔记,理清思路. 1. 相关阅读材料 <windows 内核原理与实现> --- 潘爱民 <深入解析windows操作系统(第4版,中文版)> --- 潘…