source:http://blog.csdn.net/qq_29403077/article/details/53205010 一、地址空间与物理内存 (1)地址空间与物理内存是两个完全不同的概念,真正的代码及数据都存在物理内存中。 物理储存器是指实际存在的具体储存器芯片,CPU在操纵物理储存器的 ...
分类:
编程语言 时间:
2017-06-15 18:57:52
阅读次数:
221
分配粒度和内存页面大小x86处理器平台的分配粒度是64K,32位CPU的内存页面大小是4K,64位是8K,保留内存地址空间总是要和分配粒度对齐。一个分配粒度里包含16个内存页面。这是个概念,具体不用自己操心,比如用VirtualAllocEx等函数,给lpAddress参数NULL系统就会自动找一个 ...
分类:
其他好文 时间:
2017-05-22 19:04:50
阅读次数:
572
http://blog.csdn.net/yusiguyuan/article/details/39520933 Linux对于内存的管理涉及到非常多的方面,这篇文章首先从对进程虚拟地址空间的管理说起。(所依据的代码是2.6.32.60) 无论是内核线程还是用户进程,对于内核来说,无非都是task_ ...
分类:
系统相关 时间:
2017-05-21 01:08:29
阅读次数:
342
一段内存地址空间,映射着物理存储器上一个已经存在于磁盘上的文件。在对该文件进行操作之前必须首先对文件进行映射。使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作。 内存映射文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateF ...
分类:
其他好文 时间:
2017-05-21 00:21:12
阅读次数:
170
buffer flush()buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区域。通过buffer,可以使进程这间的相互等待变少。这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时 ...
分类:
Web程序 时间:
2017-05-18 15:46:01
阅读次数:
226
问题分析:这种情况是指:访问了你不应该/没有权限访问的内存地址空间,比如访问数组时越界;对动态内存访问时超出了申请的内存大小范围。下面的程序就是一个典型的数组越界问题。pt是一个局部数组变量,其大小为4,p初始指向pt数组的起始地址,但在对p循环叠加后,p超出了pt数..
分类:
其他好文 时间:
2017-05-09 09:35:22
阅读次数:
154
buffer flush()buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区域。通过buffer,可以使进程这间的相互等待变少。这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时 ...
分类:
Web程序 时间:
2017-04-29 20:58:21
阅读次数:
208
前言 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据,以及其他的一些资源组成。32位系统的进程分配4G的虚拟地址空间。内存地址范围是0x00000000~0xFFFFFFFF。这个内存地址空间是每个进程独立的,也就是说,在一个进程中是不能访问其他进程的地址空间的。 举个 ...
分类:
系统相关 时间:
2017-03-03 22:36:22
阅读次数:
451
1.数组和集合的区别: 数组:只能存储同一种数据类型的集合容器,长度固定,在内存中元素的地址空间是连续存放的,缺少相应的操作方法。 集合:用于存储对象、数据类型不一的容器,长度可变,内存地址空间不一定是连续的,具有相应的操作方法(CRUD)。 2.集合体系图 Collection接口下有两个子接口: ...
分类:
其他好文 时间:
2017-02-03 14:28:37
阅读次数:
159
进程:正在运行的程序 多进程操作:CPU利用不同时间片段交替执行每个进程 线程:进程内部的任务,进程中的实体;所谓单线程就是一个程序内某个结构化的流程控制,由上而下的结构化程序;线程必须拥有父进程,同一进程中的所有线程共享该进程的系统资源;若同一进程中不同线程共享相同的内存地址空间,则这些线程可以访 ...
分类:
编程语言 时间:
2017-01-12 08:11:37
阅读次数:
146