摘要:
本来想直接写一篇关于保护模式的文章,因为有一位读者不断地问我这个问题,随着问题的深入,在评论上回答这个问题实在是太困难了,动起笔来,发现涉及的事情太多,免不了又是长篇大论惹人烦,而且要写很长时间,不知道我能不能把它写完,所以干脆把一些问题分离出来写,或许还可以坚持写出来。 在许多PC的CMOS设置里 阅读全文
摘要:
80386开始支持存储器分页管理机制。分页机制是存储器管理机制的第3二部分。段管理机制实现虚拟地址(由段和偏移构成的逻辑地址)到线性地址的转换,分页管理机制实现线性地址到物理地址的转换。如果不启用分页管理机制,那么线性地址就是物理地址。本文将介绍80386的存储器分页管理机制和线性地址如何转换为物理 阅读全文
摘要:
保护模式下寻址(易懂) : 保护模式下寻址(易懂) 网上看到的一强帖,不转不行了,牛人啊,把这段代码拿捏的相当到位 括号中是我的加注 段机制轻松体验 [内存寻址] 实模式下的内存寻址: 让我们首先来回顾实模式下的寻址方式 段首地址×16+偏移量 = 物理地址 为什么要×16?因为在8086CPU中, 阅读全文
摘要:
要过年了,发个年终总结贴,只是个人理解,不包正确哈。 本贴涉及的硬件平台是X86,如果是其它平台,嘻嘻,不保证能一一对号入座,但是举一反三,我想是完全可行的。 一、概念 物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。 ——这个概念应该是 阅读全文
摘要:
32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址寄存器(ESI和EDI) 和2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器 数据寄存器主要用来 阅读全文
摘要:
寄存器 寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存 阅读全文
摘要:
第一章平坦内存模式 WINDOWS系统下的32位程序在内存中的布局被称为平坦内存模式,这种模式虽然只有一个段,却同时包了含代码和数据。但是,这种模式只能运行在386或更高的处理器上。 早期的16位程序,由不同的段组合而成,且每个段的地址重定位有64K的限制。而平坦内存模式下,程序无需进行地址重定位, 阅读全文
摘要:
一、为什么要使用JVM 所有的程序运行所需要的底层机器指令都只是有限的若干条,从大型的UNIX机器到桌面个人计算机,都是基于那些设计精良而优美的指令集。但是这些指令集之间互不相容,这就使得程序的移植变得非常困难,所需时间甚至超过了重新编写一遍的时间。于是虚拟机的概念出现了。 Java虚拟机(JVM) 阅读全文
摘要:
1. 图形用户界面和命令行界面的切换 图形界面==>命令行界面 可以按Ctrl+Shift+Alt+F2 命令行界面==>图形界面 Alt+F7, 如果想开机默认进入命令行界面的话可以修改配置文件。具体命令如下(在命令界面下,当然,必须要root或者具有root权限的用户名下才可以修改): (1)v 阅读全文
摘要:
1.分段机制 80386的两种工作模式 80386的工作模式包括实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。 分段机制 在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB。 从逻辑地址到线性地址的转换由80386分段机制管理。段寄存器CS、DS、ES 阅读全文