Linux采用请求分页存储管理方法。 系统为每个进程提供4GB的虚拟内存空间。各虚拟内存空间各自独立。 一 硬件基础 还是逻辑地址,线性地址,物理地址,分段机制和分页机制依次转换。 其中涉及到GDT,LDT,段寄存器,段描述符, 逻辑地址到线性地址的转换 linux的分段模型 Linux使用如下段描 ...
分类:
系统相关 时间:
2019-12-10 00:27:51
阅读次数:
211
## 实模式和保护模式 ### 实模式 时间短,一般无法感知 CPU复位(reset)或加电(power on)的时候就是实模式启动,这个时候处理器是以实模式工作,不能实现权限分级,也不能访问20位以上的地址线,也就是只能访问1M内存(2^18bits, 18位地址线) 之后一般就是加载OS模块,进 ...
分类:
其他好文 时间:
2019-11-14 09:50:00
阅读次数:
91
一、逻辑地址转线性地址 机器语言指令中出现的内存地址,都是逻辑地址,需要转换成线性地址,再经过MMU(CPU中的内存管理单元)转换成物理地址才能够被访问到。我们写个最简单的hello world程序,用gcc编译,再反编译后会看到以下指令: mov 0x80495b0, %eax 复制代码 这里的内 ...
分类:
系统相关 时间:
2019-10-20 11:01:05
阅读次数:
84
4.1系统寄存器和系统指令 标志寄存器 内存管理寄存器 GDTR、LDTR、IDRL、TR 用于指定分段内存管理所使用的系统表的基地址。 控制寄存器 CR0 控制 处理器操作模式和状态 的系统控制标志 CR1 保留不用 CR2 含有导致页错误的线性地址 CR3 含有页目录物理内存基地址,也被称为 页 ...
分类:
其他好文 时间:
2019-10-19 13:29:53
阅读次数:
115
硬件 调用、调用接口、库调用 线性内存地址空间、物理内存地址空间、线性地址、物理地址 交换内存:缺页异常 进程内存结构 常驻内存集、虚拟内存集 进程、进程元数据、结构体、任务结构体、链表 进程类型、状态(read,runing,sleep,stopped,zombie) 可中断睡眠、不可中断睡眠 创 ...
分类:
系统相关 时间:
2019-08-30 11:39:46
阅读次数:
151
R/W 0 和LEN 0对应断点0线性地址; DR则是调试寄存器 硬件断点: 基于CPU的调试寄存器 可以对代码、数据访问和IO访问设置断点 断点被触发时,CPU产生的是1号异常 受调试寄存器的数量限制 WinDbg 的ba命令设置的便是硬件断点 在多处理器系统中,硬件断点是与CPU相关的,也就是说 ...
分类:
其他好文 时间:
2019-07-11 22:05:30
阅读次数:
134
Part B:缺页异常,断点异常和系统调用 到目前位置我们以及你实现了内核基本的异常处理,现在要在此基础上利用异常处理进行系统调用。 处理缺页异常 缺页异常(page fault,中断向量14)是我们在本实验和往后会大量使用的一个重要例子。当缺页异常发生时,处理器将导致故障的线性地址(虚拟地址)存放 ...
分类:
其他好文 时间:
2019-04-14 15:54:49
阅读次数:
114
1 分页机制 在虚拟内存中,页表是个映射表的概念, 即从进程能理解的线性地址(linear address)映射到存储器上的物理地址(phisical address). 很显然,这个页表是需要常驻内存的东西, 以应对频繁的查询映射需要(实际上,现代支持VM的处理器都有一个叫TLB的硬件级页表缓存部 ...
分类:
系统相关 时间:
2018-11-25 13:17:52
阅读次数:
233
摘自:https://blog.csdn.net/wh8_2011/article/details/50825340 UID, EUID, SUID, FSUID 2016年03月08日 10:40:02 -鸣人- 阅读数:2267 标签: linux 更多 个人分类: Linux 内核 UID, ...
分类:
其他好文 时间:
2018-10-10 23:51:05
阅读次数:
259
汇编知识扫盲之16位汇编跟32位汇编的保护模式以及汇编代码编写 一丶内存寻址模型 逻辑地址.线程地址.物理地址 了解汇编之前.先了解一下上面这些词的含义; 逻辑地址: 这个是邮编一起生成的.逻辑地址一般都是 段加段内偏移组成的.每个进程独享. 线性地址: 由分段管理机制.将逻辑地址转化为线性地址.这 ...
分类:
其他好文 时间:
2018-09-07 20:12:09
阅读次数:
235