当前位置:网站首页>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 :
边栏推荐
- Clickhouse copy paste multi line SQL statement error
- 【日常训练】729. 我的日程安排表 I
- Robot operation mechanism
- Arcgis\qgis no plug-in loading (no offset) mapbox HD image map
- crm创建基于fetch自己的自定义报告
- 阿里云有奖体验:用PolarDB-X搭建一个高可用系统
- What should I do to prepare for the interview algorithm position during school recruitment?
- Kingbasees v8r3 cluster maintenance case -- online addition of standby database management node
- Evolution of zhenai microservice underlying framework from open source component encapsulation to self-development
- Zhang Lijun: la pénétration de l’incertitude dépend de quatre « invariants»
猜你喜欢
Making global exception handling classes with aspect
Five layer network protocol
Teach yourself to train pytorch model to Caffe (I)
How can Huawei online match improve the success rate of player matching
2022-07-03-cka- latest feedback from fans
Wood board ISO 5660-1 heat release rate mapping test
How to send samples when applying for BS 476-7 display? Is it the same as the display??
Explain various hot issues of Technology (SLB, redis, mysql, Kafka, Clickhouse) in detail from the architecture
华为快游戏调用登录接口失败,返回错误码 -1
Reading and writing operations of easyexcel
随机推荐
2.2.5 basic sentences of R language drawing
Two ways to realize video recording based on avfoundation
Zhang Lijun: penetrating uncertainty depends on four "invariants"
Four components of logger
張麗俊:穿透不確定性要靠四個“不變”
EasyExcel的读写操作
股票开户选择哪家证券公司比较好哪家平台更安全
【日常训练--腾讯精选50】89. 格雷编码(看题解才会的)
Introduction of ArcGIS grid resampling method
Teach yourself to train pytorch model to Caffe (III)
Cross end solution to improve development efficiency rapidly
SQL knowledge leak detection
华为游戏多媒体调用切换房间方法出现异常Internal system error. Reason:90000017
华为快游戏调用登录接口失败,返回错误码 -1
Get JS of the previous day (timestamp conversion)
An exception occurred in Huawei game multimedia calling the room switching method internal system error Reason:90000017
What are the requirements of UL 2043 test for drive housing in the United States?
张丽俊:穿透不确定性要靠四个“不变”
MySQL InnoDB Architecture Principle
SQL common syntax records