操作系统/计算机网络
文章平均质量分 75
操作系统与计算机网络相关知识
秃头王✾
这个作者很懒,什么都没留下…
展开
-
Linux进程间通信之共享内存
所有需要做的就是让一个进程将数据复制进共享内存中,并且这部分数据会对其 他所有共享同一个段的进程可用。为引用这块共享内存, 程序需要使用由 shmat() 调用返回的 addr 值,它是一个指向进程的虚拟地址空间 中该共享内存段的起点的指针。调用 shmget() 创建一个新共享内存段或取得一个既有共享内存段的标识符(即由其 他进程创建的共享内存段)。与管道等要求发送进程将数据从用户空间的缓冲区复制进内核内存和接收进程将数据 从内核内存复制进用户空间的缓冲区的做法相比,这种 IPC 技术的速度更快。原创 2022-10-22 09:17:13 · 207 阅读 · 0 评论 -
Linux进程间通信之内存映射
内存映射(Memory-mapped I/O)是将磁盘文件的数据映射到内存,用户通过修改内存就能修改磁盘文件。 第5个参数(文件描述符) fd 通过open函数时指定的 O_RDONLY 或者 O_WRONLY。 但是 munmap(ptr, len) // 错误,要保存地址。 open() 函数中的权限建议和prot参数的权限保持一致。映射区还存在,创建映射区的fd被关闭,没有任何影响。 可以的,但文件的大小如果为0的话,肯定不行。close(fd); 越界操作的是非法的内存 -> 段错误。原创 2022-10-22 09:16:02 · 142 阅读 · 0 评论 -
IO模型_阻塞_非阻塞_多路复用
在了解IO模型前,先了解什么叫IO,IO得操作是怎么样的?原创 2022-10-02 20:02:30 · 5596 阅读 · 0 评论 -
Linux-g-gcc编译后栈内存地址与实际相反
Linux_g++/gcc编译后栈内存地址与实际相反原创 2022-09-27 18:20:42 · 6073 阅读 · 2 评论