IA-32架构下启动过程(2)

IA32e下分页的开启:概述 内存分布 IA32e下的地址用64位来表示,但CPU只使用了其中的前52位,即4PB的最大物理内存寻址空间,而开启分页后,CPU只使用其中48位,即256TB的最大虚拟内存寻址空间,而到了Windows,则更是只使用了其中44位,即只用16TB的虚拟内存寻址空间,其中0000000000000000-000007FFFFFFFFFF是用户层地址空间,而FFFFF80000000000-FFFFF 阅读详情
 IA-32架构:
      Intel为了让32位的系统和16位的系统兼容。在32位系统中保留了对16位系统的支持。所以在开机后通电和自检的这段时间里,即使是32位的CPU也要像16位的CPU那样去工作。然后当操作系统接管对整个系统的控制权后,再由操作系统负责16位和32位两种模式之间的转换问题。在IA-32架构中,这两种模式的正确说法是实模式和保护模式。实模式就是指机器在16位的环境下运行,而保护模式是指在32位的环境下运行。有关实模式和保护模式的概念和模式转换的方法在Intel的开发手册中有详细的说明,这里不再说明。
      手册的相关链接:Intel官方地址http://www.intel.com/products/processor/manuals/
           优快云相关下载地址http://download.youkuaiyun.com/source/242585
                                              http://download.youkuaiyun.com/source/204192
       在开机过程中由于IA-32的规定,此时的CPU只能识别从0x00000H~0xFFFFFH地址内的内存,这段内存大小为1MB。这是为兼容16位的CPU,因为16位的CPU只能识别这部分内存。在上一篇文章中提到启动时BIOS用到的都是高地址的内存,这样即使是内存中低地址部分不能正常读写也不会影响到整个启动过程。所以现实中会遇到有的机器自检通过了,但操作系统启动不了。这是因为操作系统在启动时只能在内存低地址部分(共640K)中工作,此时操作系统(DOS以后的windows操作系统)是无法对内存中产生的问题做出响应的。
       在实模式下,内存的管理是很方便的。一般用户可以使用DEBUG随意的查看内存中所存储的内容。也可以用汇编语言写的程序修改内存中的任何信息。此时BIOS的功能(中断)调用是有效的。用户可以用BIOS调用控制像硬盘,显示器,键盘等设备。
        在保护模式下,内存的管理和使用比实模式下复杂很多。因为在进入保护模式之前,要设置很多参数,如:GDT,LDT等。进入保护模式之后,BIOS的功能(中断)调用是无效,此时如果一定要用BIOS中断,就要操作系统支持,或自己重写底层代码。在保护模式下,硬件和软件的资源使用是受到限制的。此时运行的程序不一定有最大的控制权限。并且此时程序在控制硬件操作时,一定要依赖对应硬件的驱动程序,当然也要有操作系统的授权。
       两种模式工作方式的不同对不同类型的操作系统的运行产生一定的影响。对于DOS系统来说,早期的DOS只是在实模式下工作,只有用户自己写程序控制系统,系统才会进入保护模式,在随后的发展过程中,模式的转换过程是操作系统自身进行控制的,像windows2000和windowsXP,一般用户在使用这样的操作系统时都是在保护模式下进行操作的,只有操作系统的内核程序是全部或部分工作在实模式的环境里。这样一般的应用程序就不会破坏系统内核,这样做在一定程度上保证了操作系统的稳定和安全。当然,安全是相对的,对于熟悉操作系统内核的人,还是可以通过内核自身的漏洞或错误去破坏内核,或是用自己的程序替换内核程序,从而接管对系统的完全控制权。所以常见的对操作系统的破坏和攻击是可以修复的,只要停止破坏的过程,像手动控制重新夺回系统控制权或是关机(这里关机是切断电源 ,决对不能用重启的方式。)。只要破坏被暂停或是停止,就有时间将有用的数据信息备份到其它安全的地方。最后在想方法修正破坏程序篡改的配置信息就能以最小的损失修复系统。
       
       
以上内容来源众多,包括书籍和网络等。如涉及版权和相关责任问题,本人会撤掉相关的内容。部分细节不详尽或不全等,希望大家积极提供保贵意见。
驱动编程学习5/IA-32e模式 文章目录IA-32e模式基础介绍段描述符权限切换x64用户态切换权限x86用户态切换权限总结 IA-32e模式 基础介绍 内核64位,用户64位或32位(内核均为64位代码) IA32_EFER MSR C0000080H 中的值的第8位为1时,系统处于IA-32模式。 在Intel手册上IA32_EFER MSR寄存器构造如下图所示,第8位的含义为IA-32e模式的启动标志位。 在WinDbg中查看IA32_EFER标志位的命令如下: rdmsr c0000080 在本机的查询结果如下图所示: 阅读详情

相关推荐

12、IA架构平台启动流程深度解析

本文深入解析了IA架构平台的启动流程,涵盖从用户按下电源按钮到操作系统引导的全过程。内容包括预复位阶段中CSE、PMC和PUNIT等控制器的协同工作,CPU复位向量与操作模式切换机制,缓存即RAM(CAR)和非逐出模式(NEM)的实现,内存初始化中的SPD数据读取与MRC执行,以及多处理器环境下的BSP与AP初始化流程。通过详细分析各阶段关键技术,全面揭示了现代x86平台固件启动的底层原理。

root9的博客 65

【ARM】STM32学习笔记:启动代码分析(Startup Code)

这种特点是由堆栈指针的移动方式决定的(先入栈的数据对应的指针值比较大,后入栈的数据对应的指针值比较小,而出栈时堆栈指针的值是递增的,所以指针值大的数据当然后出栈)。由于MDK中的汇编器(汇编编译器)用的是ARM的汇编器,所以可以从ARM官网下载汇编器的用户指南寻找关于伪指令的详细介绍,或者从MDK的“Help”中的汇编器用户指南中查找。在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。

种一棵树最好的时间是十年前,其次是现在 664

Intel 64-ia-32架构软件开发手册卷3

Intel 64-ia-32架构软件开发手册卷3 系统开发

笔记--①内核模式驱动程序基础

1.Kernel Mode驱动程序基础 Windows NT为基础的操作系统上用Win32汇编开发KMD,包括NT4.0、2000、XP和2003等操作系统。开发Windows 95/98/ME使用的VxD驱动程序方面的知识并不在本教程讲述的范围内. ^_^ 反正偶入门迟,现在95/98/ME的系统也很久没见了.就是写了我也不想看 1.1 KMD结构概述 1....

weixin_30436101的博客 268

IA-32架构 英特尔

介绍英特尔CPU架构的知识。属PDF格式,共34页

IA-32架构汇编语言程序设计

IA-32架构汇编语言程序设计课件,在32位保护模式下编写汇编语言代码。熟悉掌握操作系统

ARM 32 内核启动流程

“ARM32”的正式名称为Aarch32,在ARM架构中,从ARMv4到ARMv7这几个版本实现了该架构。 本文我将讨论在经过解压缩和引导、加载到物理内存后,内核如何自我引导,直到在虚拟内存中执行由C编写的通用内核代码的过程。 一切的开端 在经过解压、增强,并收到了设备树块(DTB)之后,程序计数器(pc)被置于符号stext()的物理地址(即文本段的开始处),从而调用ARM32内核。这段代码可以参考arch/arm/kernel/head.S。 宏 __HEAD 会将这里的代码放到一个名为 .he

lx123010的专栏 1214

IA-32架构软件开发人员手册

详细介绍了32bit架构的InterCPU的技术细节,很有参考价值。

32位下的内存地址分布

32位下的内存地址分布图如下:1g为内核空间,3g为用户空间 内核空间:内核空间表示运行在处理器最高级别的超级用户模式(supervisor mode)下的代码或数据,内核空间占用从0xC0000000到0xFFFFFFFF的1GB线性地址空间,内核线性地址空间由所有进程共享,但只有运行在内核态的进程才能访问,用户进程可以通过系统调用切换到内核态访问内核空间,进程运行在内核态时所产生的地址都属于...

qq_41257782的博客 4217

Intel处理器IA-32架构软件开发者手册英文版

Intel处理器IA-32架构软件开发者手册英文版, 卷1:基本架构, 卷2:指令集参考, 卷3:系统程序设计指南

《LabVIEW ZYNQ实战指南》第6章>>案例解析:基于USB WiFi模块的ZYNQ无线通信部署与Linux RT开发

本文详细解析了如何为ZYNQ开发板部署USB WiFi模块,实现无线通信。通过LabVIEW Linux RT环境,利用封装好的驱动VI,开发者可轻松配置ZYNQ连接无线网络,摆脱网线束缚,实现程序无线部署与远程调试,为工业物联网应用奠定基础。

app77的博客 754

IA-32的启动过程—-翻译The boot process on IA-32

翻译这篇文章,文章意思很简单。本文主要讲述关于L4的。 http://www.geocities.ws/munkee_chuff/l4/boot_process.html  本文主要叙述在IA-32(PC)上一个OS的启动进程,以及详细描述其内存模型。 首先当PC启动时,它实在实模式。BIOS首先察看磁盘的启动扇区(前512字节,也叫MBR),接着便加载存储在这的程序。我

彦东 – yandong.org 829

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(四)-无人机系统(UAS)命令与控制(C2)通信用例

UTM向5G网络提供无人机系统C2通信所需的信息,例如服务类别、无人机系统服务的流量类型、授权的无人机系统服务所需的QoS以及无人机系统服务的订阅。遵循模型B的网络辅助C2模型,为了确保UAS操作的C2通信的服务可用性和可靠性,特别是当无人机在操作员的视线之外(BLOS)飞行时,为无人机提供支持冗余的C2通信链路。如果需要创建额外的C2通信连接或更改现有数据连接的配置以进行C2通信,则5G网络会根据无人机系统的授权服务信息和C2通信中所需的QoS和优先级,修改或分配一个或多个C2通信流量的QoS流。

u011376987的博客 2051

Intel 64和IA-32架构——操作模式

Intel的实模式和保护模式,必须要知道的... 一、Intel手册如是说 Intel的IA-32架构支持三种基本操作模式:保护模式、实地址模式和系统管理模式。操作模式决定了哪些指令和架构相关的特性是可用的: 保护模式(protected mode)——是处理器的根本模式,在保护模式下,可以为直接运行的实地址模式程序提供保护的、多任务的环境,这种特性被称作“虚拟8086模式(

u014763664的专栏 1488

Eclipse 数据空间组件(EDC)项目介绍

在当今数字经济的背景下,数据成为了新的“石油”。但与石油不同的是,数据可以无限共享且再生。然而,如何在保持数据主权的前提下实现高效、安全的数据共享,成为了企业和组织面临的主要挑战。这时,**Eclipse 数据空间组件(Eclipse Dataspace Components, EDC)**应运而生,它为企业在多方参与的数据交换中提供了一个标准化、可扩展的解决方案。数据空间不仅是一个多组织间的数据共享协议,还是一套支撑这些协议运行的技术基础设施。

m0_74331272的博客 4597

淘宝/天猫商家必看:不懂技术也能搞懂的奇门对接原理与ERP/WMS联调避坑指南

本文为淘宝/天猫商家详细解析阿里奇门对接原理与ERP/WMS联调避坑指南,帮助不懂技术的商家轻松管理数据对接流程。通过标准化接口和安全传输,奇门解决了代运营店铺数据获取难题,提升发货效率。文章还提供了联调阶段的实用技巧和常见问题解决方案,助力商家高效完成系统对接。

weixin_42519781的博客 585

IA-32架构下启动过程(1)

IA-32架构的启动过程详解:     (1)电源通电,因为此时供电的电压不太稳定,所以主板的控制芯片组向CPU发出一个RESET(重置)信号。此时CPU不会马上执行指令。当芯片组确认供电稳定后,会撤去RESET信号。CPU开始从地址F:FFF0H处开始执行指令。(注明:这个地址是在BIOS程序所控制的地址,常见的BIOS程序厂商都是在这个地址开始写一个跳转指令。)     (2)CPU执行了上一

云平台初学者 859

计算机等级考试(二级WPS)---真题14套

目录 真题14一、选择题二、WPS文字三、WPS表格四、WPS演示21.打开考生文件夹下的素材文档 “WPS.docx”(.docx 为文件扩展名),后续操作均基于此文件,否则不得分。小周正在整理一份关于极光的文档,请按要求帮助她完成文档的排版工作。1.将全文中的手动换行符全部替换为中文句号并回车,删除文中的空行和空格。2.将正文第 2 段(“在我國的古書…… 極光”)中的繁体字转换成简体字,并为其设置 “正文” 样式。3.对文档样式进行如下设置:4.为 “1.3 极光的形态” 一节中列出的五种极光形态特征

2401_82750246的博客 1166

第五章 IA-32指令系统概述

程序启动前,指令和数据都存放在存储器中,形式上没有差别,都是0/1序列采用“存储程序”工作方式:程序由指令组成。成被启动后,计算机能自动取出一条一条指令执行,在执行过程中无需人的干预。指令执行过程中,指令和数据被从存储器取出CPU,存放在CPU内的寄存器中,指令在IR中,数据在GPR中。操作性质(操作码)源操作数1 或/和 源操作数2(立即数、寄存器、存储地址目的操作数地址(寄存器编号、存储地址存储地址的描述和操作数的数据结构有关任何高级语言程序 最终通过执行若干条指令来完成。

cai88453626的博客 1693

STM32(HAL库)驱动HC-SR04测距模块

本文介绍通过STM32F103C8T6单片机对HC-SR04测距模块进行驱动,并且通过串口对数据进行打印。

weixin_44597885的博客 2203

网络攻防——kali操作系统基本使用

主要介绍如何搭建kali虚拟机,然后介绍了一个简单的攻击方法,切记,网络恶意攻击属于违法行为

weixin_46560512的博客 2万+

IA32-doc 项目使用教程

IA32-doc 项目使用教程 1. 项目的目录结构及介绍 IA32-doc 项目的目录结构如下: ia32-doc/ ├── conf/ │ └── default.yml ├── out/ ├── yaml/ │ └── Intel/ │ └── index.yml ├── .gitattributes ├── .gitignore ├── LICENCE.txt ├── ...

gitblog_01009的博客 596

ESP32设备驱动-VCNL4040趋近传感器

VCNL4040 将趋近传感器 (PS)、环境光传感器 (ALS) 和高功率 IRED 集成到一个小型封装中。它通过CMOS工艺将光电二极管、放大器和模数转换电路集成到一个芯片中。

视觉与物联智能 939

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-1

英特尔开发手册翻译

2401_82825368的博客 1103

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Intel 64/x86_64/x86/IA-32处理器操作模式/运行模式

Processor Operation Mode IA-32架构支持3种操作模式,和一种类操作模式(quasi-operating mode): 实地址模式/实模式(real-address mode): 这种模式最早可以追溯到Intel 8086处理器上,IA-32架构支持的实模式有一些扩展(例如可以切换到保护模式或系统管理模式) 保护模式(protected mode):这是IA-32架...

一凡stkeke 2739

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

x86 Legacy BIOS、IA32 UEFI、x86_64 UEFI 和 ARM64 UEFI 模式

(基本输入输出系统)是较早期计算机的启动方式,也是大多数老旧计算机使用的启动模式。它基于传统的16位架构,因此对硬件的支持和操作系统的启动方式有一些限制。UEFI(统一可扩展固件接口)是现代计算机系统所采用的启动标准,旨在取代传统的BIOS。它支持更先进的功能和更高的灵活性。IA32 UEFI 是专门为32位 x86 架构设计的UEFI启动模式。是为64位的x86架构(如Intel和AMD的现代处理器)设计的UEFI启动模式。它比32位UEFI更适合处理现代计算机的高性能需求。ARM64 UEFI。

宋发元 2456
上一篇: IA-32架构下启动过程(1)
下一篇: IA-32架构下启动过程(3)
mystudy2000
博客等级 码龄20年 34粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值