摘要: 进程间通信 进程是一个独立的资源分配单元,不同进程(用户进程)之间的资源是独立的,没有关联的,不能在一个进程中直接访问另一个进程中的资源。 但是进程不是孤立的,不同的进程需要进行信息的交互和状态的传递,因此需要进程间通信(IPC(inter processes communication)). 进程 阅读全文
posted @ 2025-04-22 09:21 luckilzy 阅读(29) 评论(0) 推荐(0)
摘要: malloc #include <stdlib.h> void *malloc(size_t size); 作用:分配一块内存空间。 参数:以字节为单位的内存大小。 返回值:成功返回指向该内存首地址的指针(对齐后),对齐标准取决于32位编译还是64位编译,32位下返回的地址总是8的倍数,64位下返回 阅读全文
posted @ 2025-04-22 09:20 luckilzy 阅读(28) 评论(0) 推荐(0)
摘要: Linux使用glibc动态库中的ptmalloc2来管理堆内存,它可以支持多线程下的堆内存管理。在早期的不支持多线程的堆内存管理时,因为线程共享虚拟地址空间,当有两个线程同时调用malloc函数的时候,只能有一个线程能够进入临界区,另一个线程阻塞。使用ptmalloc2后,通过维护多个arena的 阅读全文
posted @ 2025-04-22 09:18 luckilzy 阅读(37) 评论(0) 推荐(0)
摘要: 虚拟内存提供了三个功能: 将主存看作是磁盘的高速缓存,根据需要在主存和磁盘之间传送数据。 为每一个进程提供了一个一致的地址空间。 保护每一个进程的地址空间不被其他进程破坏。 物理内存和虚拟内存 计算机的主存可以看作是M个连续的字节数组,每一个字节用一个唯一的物理地址来标志。上图左边的物理寻址方式下, 阅读全文
posted @ 2025-04-22 09:15 luckilzy 阅读(48) 评论(0) 推荐(0)