1、概述 本文档介绍了ARMv8-A架构内存管理的关键——内存地址转换,包括虚拟地址(VA)到物理地址(PA)的转换、地址转换表格式以及TLBs(Translation Lookaside Buffers)管理。 对于任何进行底层bootloader或者驱动代码开发的人员来说,这部分内容都是非常实用 ...
分类:
其他好文 时间:
2019-08-24 09:26:10
阅读次数:
81
Linux内存主要用来存储系统和应用程序的指令,数据,缓存等 一,内存映射 1,内核给每个进程提供一个独立的虚拟机地址空间,并且这个地址空间是连续的 2,虚拟地址空间内部又被分为内核空间和用户空间 3,32位和64位系统的虚拟地址空间 32 位系统的内核空间占用 1G,位于最高处,剩下的 3G 是用 ...
分类:
系统相关 时间:
2019-08-18 17:56:49
阅读次数:
108
一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边都是. 二丶模块地址(image Base) 模块地址,就是exe加载到内存的时候,所在的地址, 比如MZ位置,在那个位置,那么对应模块地址就是这个位置 在OD中的内存中查看就是PE ...
分类:
其他好文 时间:
2019-08-05 23:12:48
阅读次数:
226
HPS 如何对FPGA外设进行操作?hardware:在Qsys中将外设连接到AXI bridge上software:映射外设物理地址到到应用程序可以操作的虚拟地址,应用程序通过得到的虚拟地址入口控制外设。 也就是说hps访问FPGA中的外设时,可以使用MPU来进行虚拟地址的分配 MPU将以有的外设 ...
分类:
其他好文 时间:
2019-07-20 17:16:06
阅读次数:
103
目录: 26.1 Windows为什么要支持线程 26.2 线程开销 26.3 停止疯狂 26.4 CPU发展趋势 26.5 CLR线程和Windows线程 26.6 使用专用线程执行异步的计算限制操作 26.7 使用线程的理由 26.8 线程调度和优先级 26.9 前台线程和后台线程 26.10 ...
分类:
编程语言 时间:
2019-07-14 12:40:36
阅读次数:
119
信息存储 大多数计算机使用八位的块,或者字节,作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,称为虚拟内存。内存的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合就称为虚拟地址空间。顾名思义,这个虚拟地址空间只是一个展现给机器级程序的 ...
分类:
其他好文 时间:
2019-07-06 13:17:58
阅读次数:
135
一、整体大纲 二、 系统IO函数 1. 一些概念 文件描述符 PCB C库函的IO缓冲区 1) 文件描述符 int 类型 一个进程最多可打开多少文件 2) pcb 进程控制块 在其中有一个文件描述符表 -- 数组[1024] C库IO函数工作流程: pcb和文件描述符: 2. 虚拟地址空间 虚拟地址 ...
分类:
系统相关 时间:
2019-07-06 00:02:03
阅读次数:
171
基本概念 虚拟内存:计算机系统的用户可将其视为可寻址的主存储器的一种存储空间。在这种计算机系统中,虚地址可以映射到实地址。虚拟内存的大小受限于计算机系统的编址方案以及可用辅助存储器的大小,而与主存储器单元的实际数目无关。 虚拟地址:虚拟内存中的存储位置的地址。在虚拟内存中分配给某一位置的地址使该位置 ...
分类:
其他好文 时间:
2019-06-17 12:20:47
阅读次数:
117
上图是进程的虚拟地址空间示意图。 堆栈段: 1. 为函数内部的局部变量提供存储空间。 2. 进行函数调用时,存储“过程活动记录”。 3. 用作暂时存储区。如计算一个很长的算术表达式时,可以将部分计算结果压入堆栈。 数据段(静态存储区): 包括BSS段的数据段,BSS段存储未初始化的全局变量、静态变量 ...
分类:
系统相关 时间:
2019-06-02 15:54:59
阅读次数:
162
结构体源代码如下: AddressOfEntryPoint ***(必须了解)*** 程序开始执行的地址,这是一个RVA(相对虚拟地址)。对于exe文件,这里是启动代码;对于dll文件,这里是libMain()的地址。如果在一个可执行文件上附加了一段代码并想让这段代码首先被执行,那么只需要将这个入口 ...
分类:
其他好文 时间:
2019-05-14 23:14:19
阅读次数:
234