PE文件格式 名词 入口点:PE文件执行时的入口点,也就是程序执行的第一行代码 文件偏移地址:磁盘上的PE文件,各数据的地址称做文件偏移地址。文件偏移地址从PE文件第一个字节开始计数,起始为0 相对虚拟地址:某一虚拟地址(VA) = 基地址(ImageBase) + 相对虚拟地址(RVA) 文件格式 ...
分类:
其他好文 时间:
2020-01-23 11:19:03
阅读次数:
105
1、MMU(内存管理单元):a、虚拟地址到物理地址的映射 b、存储器访问权限 c、控制Cache; 2、MMU访问: (1)MMU 先查找TLB(Translation Lookaside Buffers)中的虚拟地址表; (2) 如果TLB 中没有虚拟地址的入口,硬件从主存储器中的转换表中获取转换 ...
分类:
系统相关 时间:
2020-01-09 22:22:17
阅读次数:
94
1.最初Linux驱动架构 Linux驱动会在初始化函数中向内核注册file_operations结构体,结构体里面就包含一些基本的open,close函数。Linux驱动中也会去实现这些open函数。并且相对应的硬件信息也在这个驱动中。以LED为例,驱动程序中会将LED的引脚地址映射成虚拟地址,然 ...
分类:
系统相关 时间:
2020-01-09 13:13:31
阅读次数:
273
什么是MMU MMU(Memory Management Unit)主要用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权、多任务多进程操作系统。(来自百度百科,对其几个点不熟悉,因此可以只考虑加粗部分) 发展历史 注意:学习一个知识点,很重要 ...
分类:
系统相关 时间:
2019-12-29 23:49:06
阅读次数:
99
背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 上篇文章分析到 函数中,内核实现只是在进程的地址空间建立好了 区域,并没有实际的虚拟地址到物理 ...
分类:
系统相关 时间:
2019-12-29 21:57:13
阅读次数:
210
问题描述 设计一个内存监视器,能实时地显示当前系统中内存的使用情况,包括系统地址空间的布局,物理内存的使用情况;能实时显示某个进程的虚拟地址空间布局和工作集信息等。 思路 获取系统信息 1. 2. 注意INTELx86_64体系最好用这个函数。其他的等价于 指向 的指针 3. 信息输出 注意这里的 ...
分类:
编程语言 时间:
2019-12-29 00:45:13
阅读次数:
114
段的定义 段的介绍 分段机制就是把虚拟地址空间中的虚拟内存组织成一些长度可变的称为段的内存单元。 80386虚拟地址空间中的虚拟地址(逻辑地址)由一个段部分和一个偏移部分构成。段是虚拟地址到线性地址转化的基础。每个段有三个参数定义: 多个段映射到线性地址中的范围可以部分重叠或覆盖,甚至完全重叠,如下 ...
分类:
其他好文 时间:
2019-12-25 10:20:41
阅读次数:
97
三种构造并发程序的方法及其优缺点 1、进程 用这种方法,每个逻辑控制流都是一个进程,由内核来调度和维护。因为进程有独立的虚拟地址空间,想要和其他流通信,控制流必须使用某种显式的进程间通信机制。 优点: 由于进程有独立的地址空间,所以一个进程不可能不小心覆盖另一个进程的虚拟内存,这就消除了许多令人迷惑 ...
分类:
其他好文 时间:
2019-12-22 12:27:37
阅读次数:
73
进程:系统中正在运行的一个应用程序,在32位系统中,进程占据4GB虚拟机地址空间64位系统中,进程占据2的64次方的虚拟地址空间进程组成部份:1.内核对象:系统用于存放关于进程统计信息的地方 2.地址空间:包含所有可执行模快和DLL模快的代码和数据。还包含动态内存分配的空间。如线程堆栈和堆分配空间 ...
分类:
编程语言 时间:
2019-12-18 10:45:57
阅读次数:
86
现代操作系统提供了三种基本的构造并发程序的方法: 进程。用这种方法,每个逻辑控制流都是一个进程,由内核来调度和维护,因为进程有独立的虚拟地址空间,想要和其他流通信,控制流必须使用某种显式的进程间通信(interprocess communication,IPC)机制。 I/O多路复用。在这种形式的并 ...
分类:
其他好文 时间:
2019-12-15 14:48:37
阅读次数:
109