PE(Portable Execute)文件是WIN32下可执行文件遵循的数据格式,也是反汇编调试必不可少的文件,常见的pe文件有.exe和.dll文件。本文主要介绍pe文件的结构和虚拟内存地址转换到文件地址的方法。
pe文件的基本结构
基本的pe文件主要包括以下部分:如下图
.text节:由编译器产生,村反击本的二进制机器码,我们调试很烦会变得而主要对象。.data节:数据块,宏定...
分类:
其他好文 时间:
2014-05-10 09:56:24
阅读次数:
311
首先我们来看一下在c/c++中实现的swap函数
void swap ( int & a, int & b)
{
int Temp;
temp = a;
a = b;
b = temp;
}
那么在java中是否还能这样呢,很显然java中没有地址引用符号了。
本质...
分类:
编程语言 时间:
2014-05-06 21:23:05
阅读次数:
460
1.ps通常我们会使用ps-aux查看用户启动的进程USER:进程的属主PID:进程的ID%CPU:进程占CPU的百分比%MEM:进程占内存的百分比VSZ:进程使用的虚拟内存量(KB)RSS:进程使用的固定内存量(KB)TTY:进程运行的终端,若与终端无关,则显示?。若为pts/0等,则表示由网络连接主机进程ST..
分类:
其他好文 时间:
2014-05-06 20:50:35
阅读次数:
344
1
//--------------------单向值传递------------------------ 2 3 //
swap这个方法在被调用时,给形参a,b分配了空间 4 // 主调函数将【数值】传递给【形参】 5 // 形参完成操作之后并不能将值传回给主调函数 6 //
形参的生命周期仅.....
分类:
编程语言 时间:
2014-05-06 00:25:47
阅读次数:
418
Link:http://oj.leetcode.com/problems/swap-nodes-in-pairs/Given a linked list,
swap every two adjacent nodes and return its head.For example,Given1->2-...
分类:
其他好文 时间:
2014-05-05 22:45:37
阅读次数:
331
用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况...
还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。
top:
主要参数
d:指定更新的间隔,以秒计算。
q:没有任何延迟...
分类:
系统相关 时间:
2014-05-05 13:09:00
阅读次数:
526
一、mmap设备操作
1、mmap系统调用
void *mmap(void * addr, size_t len, int prot, int flags, int fd, off_t offset)
返回值:内存映射的首地址(虚拟映射区首地址)。
功能:内存映射函数mmap,负责把文件内容映射到进程的虚拟内存空间,通过对这段内存的读取和修改(使用指针),来实现对文件的读取和修改,而不...
分类:
系统相关 时间:
2014-05-04 08:55:01
阅读次数:
501
Linux中的每个进程都有自己的虚拟地址空间。操作系统的一个最重要的基本管理目的就是避免进程之间的相互影响。下面将介绍虚拟地址空间。
1.虚拟地址空间的优势:
通过虚拟地址访问内存有以下优势:
程序可以使用一系列相邻的虚拟地址来访问物理内存中不相邻的大内存缓冲区。
程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。当物理内存的供应量变小时,内存管理器...
分类:
其他好文 时间:
2014-05-04 08:53:13
阅读次数:
418
上一节讲述了在没有MMU的CPU(如80251、MIPS M控制器系列、ARM cortex m系列)上实现虚拟内存管理的集成硬件设计方法,新设计的内存管理管理单元要实现虚拟内存管理还需要操作系统、代码分块(Bank)的支持。Bank设计是为了实现不同时刻运行的Bank(代码块)运行在同一块内存上,所以在运行之前操作系统需要将已存在内存的代码/数据进行缓存处理,并加载将要运行的Bank到该内存上。为了实现这个目的,需要明确几个设计原则。...
分类:
其他好文 时间:
2014-05-03 21:06:44
阅读次数:
356