1.线程理论 线程是CPU的执行单位 多线程(即多个控制线程)的概念是,在一个进程中存在多个线程,多个线程共享该进程的地址空间,相当于一个车间内又多条流水线,都共用一个车间的资源。例如,北京地铁与上海地铁是不同的进程,而北京地铁里的13号线是一个线程,北京地铁所有的线路共享北京地铁所有的资源,比如所 ...
分类:
编程语言 时间:
2018-03-09 20:29:53
阅读次数:
149
一个进程拥有独立并且连续虚拟地址空间,在32位体系结构中进程的地址空间是4G。不过,内核在管理进程的地址空间时是以内存区域为单位。内存区域是进程整个地址空间中一个独立的内存范围,它在内核中使用vm_area_struct数据结构来描述。每个内存区域都有自己访问权限以及操作函数,因此进程只能对有效范围 ...
分类:
其他好文 时间:
2018-02-28 12:59:06
阅读次数:
159
其中介绍了虚拟内存的机制以及mmap系统调用的实现。mmap允许直接将设备内存映射到用户进程的地址空间中。物理内存的管理,包括缓存的分配及回收,请页机制,交换空间等。 1)交换模块(swap) 这个模块负责控制内存内容的换入换出,它通过替换机制,使得物理内存的页框(RAM页)中保留有效的逻辑页,即从 ...
分类:
其他好文 时间:
2018-02-22 21:27:10
阅读次数:
214
其中介绍了虚拟内存的机制以及mmap系统调用的实现。mmap允许直接将设备内存映射到用户进程的地址空间中。物理内存的管理,包括缓存的分配及回收,请页机制,交换空间等。 1)交换模块(swap) 这个模块负责控制内存内容的换入换出,它通过替换机制,使得物理内存的页框(RAM页)中保留有效的逻辑页,即从 ...
分类:
系统相关 时间:
2018-02-13 17:52:30
阅读次数:
224
共享内存区是可用IPC形式中最快的。一旦内存区映射到共享它的进程的地址空间,进程间数据的传递就不再涉及内核。然而往该共享内存区存放信息或从中取走信息的进程间通常须要某种形式的同步。不再涉及内核是指:进程不再通过运行不论什么进入内核的系统调用来彼此传递数据。内核必须建立同意各个进程共享该内存区的内存映 ...
分类:
系统相关 时间:
2018-01-15 11:16:25
阅读次数:
269
线程和进程的区别: 线程共享创建它的进程的地址空间;进程有自己的地址空间。 线程直接访问进程的数据段;进程拥有父进程的数据段的自身副本。 线程可以直接通信和该进程内的其他线程。 进程之间的通信必须通过 专有的进程间通信方式。 新线程很容易被创建;新进程需要复制父进程。 线程可以对相同进程的其他的线程 ...
分类:
编程语言 时间:
2018-01-02 18:44:56
阅读次数:
239
linux进程间的IPC机制 共享内存 共享内存是在多个进程之间共享内存区域的一种进程间的通信方式,由IPC为进程创建的一个特殊地址范围,它将出现在该进程的地址空间(这里的地址空间具体是哪个地方?)中。其他进程可以将同一段共享内存连接到自己的地址空间中。所有进程都可以访问共享内存中的地址,就好像它们 ...
分类:
其他好文 时间:
2017-12-31 12:59:25
阅读次数:
216
一 exec函数 e:env int execle(const char *path, const char *arg,..., char * const envp[]); 环境变量指针数组: char *envp[] = {"环境变量名=内容",NULL}; 二 多线程 1.线程是进程中最小执行单元,多线程共享同一个进程的地址空间 2.Linux 内核调度的对象是
分类:
系统相关 时间:
2017-12-24 18:45:54
阅读次数:
183
2017-2018-1 20155317 IPC - 共享内存 共享内存主要是通过映射机制实现的。以window系统调用为例子:Windows 下进程的地址空间在逻辑上是相互隔离的,但在物理上却是重叠的。所谓的重叠是指同一块内存区域可能被多个进程同时使用。当调用 CreateFileMapping ...
分类:
其他好文 时间:
2017-12-10 22:48:01
阅读次数:
244
20155301 滕树晨linux基础——linux进程间通信(IPC)机制总结 共享内存 共享内存是在多个进程之间共享内存区域的一种进程间的通信方式,由IPC为进程创建的一个特殊地址范围,它将出现在该进程的地址空间(这里的地址空间具体是哪个地方?)中。其他进程可以将同一段共享内存连接到自己的地址空 ...
分类:
系统相关 时间:
2017-12-09 22:20:22
阅读次数:
225