1.进程组成 一个内核对象,操作系统用它来管理进程。 一个地址空间,其中包含所有可执行文件或DLL模块的代码和数据。此外,它还包含动态内存分配,比如线程堆栈和堆的分配。 2.一个进程可以有多个线程,所有线程都在进程的地址空间中“同时”执行代码。每个进程至少要有一个线程来执行进程地址空间包含的代码。 ...
内核漏洞概述内核漏洞的分类运行在 Ring0 上的操作系统内核、设备驱动、第三方驱动能共享同一个虚拟地址空间,可以完全访问系统空间的所有内存,而不像用户态进程那样拥有独立私有的内存空间。由于内核程序的特殊性,内核程序漏洞类型也更加丰富。(书中收集了近年内公布的内核漏洞,并将相关的分析资料整理打包)可...
分类:
其他好文 时间:
2014-11-17 19:18:33
阅读次数:
181
很多现代操作系统中,一个进程的(虚)地址空间大小为4G,分为系统空间和用户空间两部分,系统空间为所有进程共享,而用户空间是独立的,一般WINDOWS进程的用户空间为2G。 一个进程中的所有线程共享该进程的地址空间,但它们有各自独立的(私有的)栈(stack),Windows线程的缺省堆栈大小为1M。...
分类:
编程语言 时间:
2014-11-17 10:20:29
阅读次数:
469
TCP/IP协议簇中,用于在IP层识别每一个连接到因特网设备的标识符称为IP地址。IPv4地址是一个32为的地址,唯一地且全球地定义一台主机或路由器与因特网之间的一个连接。IPv4的地址空间是232 或4294967296。 1.分类...
分类:
其他好文 时间:
2014-11-15 00:19:44
阅读次数:
304
共享内存是Linux下提供的最基本的进程通信方法,它通过mmap或者shmget系统调用在内存中创建了一块连续的线性地址空间,而通过munmap或者shmdt系统调用释放这块内存,使用共享内存的好处是多个进程使用同一块内存时,在任何一个进程修改了共享内存中的内容后,其它进程通过访问这段内存就能够得到内存变化。这里探讨nginx对共享内存的封装。...
分类:
其他好文 时间:
2014-11-14 17:54:49
阅读次数:
361
概述 在UNIX/Linux中的fork还没实现copy on write(写时复制)技术之前。Unix设计者很关心fork之后立刻执行exec所造成的地址空间浪费,所以引入了vfork系统调用。其中,vfork子进程与父进程共享数据段,并不真正复制父进程内存,因此在vfork之后执行exec系列函数,并不会导致地址空间浪费以及无用的空间复制时间.而且,即使fork实现了copy on ...
分类:
其他好文 时间:
2014-11-13 14:39:50
阅读次数:
225
http://msdn.microsoft.com/zh-cn/library/ms189334.aspx进程地址空间所有 32 位应用程序都有 4 GB 的进程地址空间(32 位地址最多可以映射 4 GB 的内存)。对于 Microsoft Windows 操作系统,应用程序可以访问 2 GB 的...
感觉这篇文章不错,直接转了
RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象...
分类:
编程语言 时间:
2014-11-12 11:53:39
阅读次数:
304
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
上一节讲了由open函数打开一个内存映射文件,再由mmap函数把得到的描述符映射到当前进程地址空间中来。这一节说说另外一种类似的共享内存方法,即有shm_open函数打开一个Posix.1 IPC名字(也许是文件系统中的一个路径...
分类:
系统相关 时间:
2014-11-12 10:33:42
阅读次数:
259
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
前面讲到socket的进程间通信方式,这种方式在进程间传递数据时首先需要从进程1地址空间中把数据拷贝到内核,内核再将数据拷贝到进程2的地址空间中,也就是数据传递需要经过内核传递。这样在处理较多数据时效率不是很高,而让多个进程共享...
分类:
系统相关 时间:
2014-11-11 09:22:43
阅读次数:
167