1,进程的虚拟内存:背景知识a.out分段以及运行时候内存的结构点击打开链接linux进程地址空间linux进程地址空间\[cpp]view plaincopystructmm_struct{structvm_area_struct*mmap;/*listofmemoryareas*/structr...
分类:
系统相关 时间:
2014-10-26 09:06:43
阅读次数:
224
7,linux进程命名空间的概念关于命名空间具体可以参考深入linux内核架构2.3.2章节linux的命名空间属于操作系统级虚拟化,各个命名空间互相隔离,互相不可见,不同命名空间的进程PID可以相同,因此从操作系统层面看可能有相同的uid和pid,父命名空间同时还可以包含子命名空间,子命名空间不知...
分类:
系统相关 时间:
2014-10-26 09:05:58
阅读次数:
201
1,进程的基本概念简单来说进程就是执行期的程序,但是同时进程也不至于此,它还包括了其它资源(如打开的文件,挂起的信号等等)Linux是一个多任务多用户操作系统,一个任务(task)就是一个进程(process),即进程=任务,在linux系统中,进程和线程共享一系列的资源(地址空间,文件,信号,名字...
分类:
系统相关 时间:
2014-10-26 09:03:29
阅读次数:
319
参见wiki:http://en.wikipedia.org/wiki/PCI_holePCI 空洞 pci 空洞是32位硬件和32位操作系统一个导致计算机显示的内存比实际安装的内存少的一个限制。这部分不可用的内存是由于设备需要地址空间来和cpu以及系统软件通信。32位的硬件一共只有4GB可寻址的....
分类:
其他好文 时间:
2014-10-24 18:49:10
阅读次数:
319
线程和进程的区别主要在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式的影响下不会对其他进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等同于整个进程死掉,所以多进程的程序要比多线程的程序健...
分类:
移动开发 时间:
2014-10-23 20:41:01
阅读次数:
176
对于一个C语言程序而言,内存空间主要由五个部分组成代码段(.text)、数据段(.data)、BSS段(.bss),堆和栈组成,其中代码段,数据段和BSS段是编译的时候由编译器分配的,而堆和栈是程序运行的时候由系统分配的。布局如下在上图中,由编译器分配的地址空间都是在连接的时候分配的,而运行时分配的...
分类:
编程语言 时间:
2014-10-22 14:21:55
阅读次数:
259
一共享内存介绍共享内存可以从字面上去理解,就把一片逻辑内存共享出来,让不同的进程去访问它,修改它。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地...
分类:
系统相关 时间:
2014-10-21 11:53:17
阅读次数:
227
线程,是进程的一个具体实例.程序运行的最小单位,是被系统独立调度和CPU的基本运行单元.进程是操作系统中可以并行工作的基本单元。一个应用程序有一个进程,一个进程中至少有一个线程.进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程..
分类:
编程语言 时间:
2014-10-19 01:35:28
阅读次数:
163
重写hashCode的成员变量发生变化,Set中对象无法找到 1、使用对象的hashCode函数来初步确定内存位置,如果该位置没有存储对象,则将此对象存放于此 2、如果hash函数直接计算出的内存地址空间已经有对象存在,则会...
分类:
编程语言 时间:
2014-10-18 12:46:49
阅读次数:
164
学习underscore.js数组相关API的时候,遇到了sparse array这个东西,以前没有接触过。这里学习下什么是稀疏数组和密集数组。JavaScript中的数组并不像我们在C或java等语言中遇到的常规数组,在js中数组并不是起始地址+长度构成的一片连续的地址空间。...
分类:
编程语言 时间:
2014-10-17 21:57:33
阅读次数:
257