当前位置:网站首页>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 :
边栏推荐
- 终端安全能力验证环境搭建和渗透测试记录
- selenium 获取dom内属性值的方法
- 怎么利用Tensorflow2进行猫狗分类识别
- Selenium gets the verification code image in DOM
- regular expression
- Advantages of robot framework
- Sitge joined the opengauss open source community to jointly promote the ecological development of the database industry
- 第05章_存储引擎
- EL与JSTL注意事项汇总
- kingbaseES V8R3数据安全案例之---审计记录清除案例
猜你喜欢
Two ways to realize video recording based on avfoundation
2.2.5 basic sentences of R language drawing
张丽俊:穿透不确定性要靠四个“不变”
MMAP学习
Clion configures Visual Studio (MSVC) and JOM multi-core compilation
Defect detection - Halcon surface scratch detection
1.2 download and installation of the help software rstudio
MySQL deep paging optimization with tens of millions of data, and online failure is rejected!
PVC plastic sheets BS 476-6 determination of flame propagation properties
PIP install beatifulsoup4 installation failed
随机推荐
基于 Ingress Controller 在集群外访问 Zadig 自测环境(最佳实践)
R language learning notes
Zhang Lijun: la pénétration de l’incertitude dépend de quatre « invariants»
What are the requirements of UL 2043 test for drive housing in the United States?
QML reported an error expected token ";", expected a qualified name ID
int GetMonth( ) const throw( ); What does throw () mean?
Objects in the list, sorted by a field
one hundred and twenty-three thousand four hundred and fifty-six
xlrd常见操作
postgis 安装地理信息扩展
终端安全能力验证环境搭建和渗透测试记录
Opérations de lecture et d'écriture pour easyexcel
MySQL deep paging optimization with tens of millions of data, and online failure is rejected!
Efficiency difference between row first and column first traversal of mat data types in opencv
Advantages of robot framework
123456
JMeter installation under win7
Get JS of the previous day (timestamp conversion)
Selenium gets the verification code image in DOM
Evolution of zhenai microservice underlying framework from open source component encapsulation to self-development