当前位置:网站首页>MMAP learning
MMAP learning
2022-07-05 21:40:00 【51CTO】
MMAP
Virtual process address space (vm_area_struct) And virtual kernel address space (vm_struct) All mapped to the same physical memory space . When Client End and Server When the client sends data ,Client( As a data sender ) Start with your own process space IPC Communication data copy_from_user Copy to kernel space , and Server End ( As a data receiver ) Share data with the kernel , No longer need to copy data , It's through the offset of the memory address space , You can get the memory address , The whole process only takes place one memory copy . In general , need Client Copy the end process space to the kernel space , Then copy from kernel space to Server Process space , There will be two copies .
For process and kernel virtual address mapping to the same physical memory operation occurs at the data receiving end , The data sender still needs to copy the data in user mode to kernel mode . Here we are , Why not map the sender and receiver directly to the same physical space , That way, even one copy operation is not needed ,0 The second copy operation is related to Linux Shared memory of standard kernel IPC There's no difference in mechanism , For shared memory, though efficient , However, the problem of multi process synchronization is complex , And the pipes / Message queuing, etc IPC It needs to be copied 2 two , Low efficiency .
Here is a rough flow chart :
边栏推荐
- Three components of openpyxl
- MySQL 千万数据量深分页优化, 拒绝线上故障!
- Longest swing sequence [greedy practice]
- Teach yourself to train pytorch model to Caffe (III)
- An exception occurred in Huawei game multimedia calling the room switching method internal system error Reason:90000017
- MySQL deep paging optimization with tens of millions of data, and online failure is rejected!
- oracle 控制文件的多路复用
- 场景化面试:关于分布式锁的十问十答
- Some common processing problems of structural equation model Amos software
- one hundred and twenty-three thousand four hundred and fifty-six
猜你喜欢
Realize the function of verifying whether the user has completed login when browsing the page
力扣------经营摩天轮的最大利润
Some common processing problems of structural equation model Amos software
华为联机对战如何提升玩家匹配成功几率
资深电感厂家告诉你电感什么情况会有噪音电感噪音是比较常见的一种电感故障情况,如果使用的电感出现了噪音大家也不用着急,只需要准确查找分析出什么何原因,其实还是有具体的方法来解决的。作为一家拥有18年品牌
面试官:并发编程实战会吗?(线程控制操作详解)
怎么利用Tensorflow2进行猫狗分类识别
Comprehensive optimization of event R & D workflow | Erda version 2.2 comes as "7"
2022-07-03-cka- latest feedback from fans
总结出现2xx、3xx、4xx、5xx状态码的原因
随机推荐
What should I do to prepare for the interview algorithm position during school recruitment?
EBS Oracle 11g 克隆步骤(单节点)
Gcc9.5 offline installation
matlab绘制hsv色轮图
one hundred and twenty-three thousand four hundred and fifty-six
场景化面试:关于分布式锁的十问十答
EasyExcel的讀寫操作
总结出现2xx、3xx、4xx、5xx状态码的原因
JMeter installation under win7
初级软件测试必问面试题
EasyExcel的读写操作
PIP install beatifulsoup4 installation failed
Selenium gets the verification code image in DOM
SecureCRT使用提示
QML reported an error expected token ";", expected a qualified name ID
selenium 获取dom内验证码图片
Sitge joined the opengauss open source community to jointly promote the ecological development of the database industry
Reading and writing operations of easyexcel
Chap2 steps into the palace of R language
从零开始实现lmax-Disruptor队列(四)多线程生产者MultiProducerSequencer原理解析