mmap
英 /ɛmɛmˈeɪˈpiː/美 /ɛmɛmˈeɪˈpi/
n. 名词 / v. 动词
内存映射;将文件或设备映射到内存的系统调用
核心含义
mmap 是 memory map 的缩写,本义为“内存映射”,指将文件或其他对象的内容映射到进程的地址空间,使得应用程序可以像访问内存一样访问文件,从而避免传统的 read/write 系统调用带来的数据拷贝开销。核心含义包括两个层面:一是系统调用本身,即 mmap() 函数,用于建立映射;二是映射机制本身,即通过该调用实现的内存映射区域。引申义在编程语境中常指“使用 mmap 进行文件操作”或“映射文件到内存”,在系统编程、数据库、文件系统等底层开发中常见。
构词与来源
mmap 由 m(memory,内存)和 map(映射)缩合而成,源自 Unix 操作系统中的系统调用名称。map 一词源于拉丁语 mappa,意为“布、地图”,在计算机科学中引申为“将一种表示转换为另一种表示”。记忆时可以联想“将文件内容像地图一样铺展在内存中”,从而方便读写。
适用语境
mmap 主要出现在计算机科学领域,尤其是操作系统、系统编程、高性能计算等场景的学术论文、技术文档、编程手册和代码注释中。在日常口语或一般商务邮件中极少出现,除非是技术团队内部讨论。在技术博客、开源项目 README、API 文档中常见。其语气通常是正式且技术性的,强调底层机制和性能优化。
用法要点
mmap 作为动词使用时,通常及物,常见句型为“mmap 文件到内存”或“mmap 一个文件”。作为名词时,指代系统调用或映射区域。易错点:在英语中,mmap 常以大写或小写形式出现,但作为系统调用名时通常写作 mmap()。此外,不要将 mmap 与 map(编程中的映射操作)混淆,后者是更通用的术语。
同义词区别
与 mmap 相近的词有 map(映射)、remap(重新映射)、file mapping(文件映射)等。map 是通用术语,可用于任何类型的数据映射;mmap 特指 Unix/Linux 系统调用;file mapping 更正式,常用于 Windows 环境。在需要强调系统调用本身时用 mmap,在讨论概念时可用 file mapping。
使用注意
mmap 属于高技术语域,仅在专业语境中使用,无褒贬色彩。常见误用包括:将 mmap 与 map 混淆,或错误地认为 mmap 只用于文件映射(实际上也可用于匿名映射);另外,在非技术场合使用会显得突兀。
词语搭配
| mmap a file | 映射文件 |
| mmap system call | mmap 系统调用 |
| mmap region | 映射区域 |
| anonymous mmap | 匿名映射 |
| shared mmap | 共享映射 |
| mmap'ed memory | 映射的内存 |
| call mmap | 调用 mmap |
例句
- The program uses mmap to map the file into memory for faster access.该程序使用 mmap 将文件映射到内存以加快访问速度。
- mmap can be used to implement shared memory between processes.mmap 可用于实现进程间的共享内存。
- Calling mmap with MAP_ANONYMOUS creates a zero-filled mapping.使用 MAP_ANONYMOUS 调用 mmap 会创建一个零填充的映射。
- The kernel handles page faults when accessing mmap'd regions.访问 mmap 的区域时,内核处理缺页中断。
- Be careful to unmap the memory with munmap to avoid leaks.注意使用 munmap 解除映射,以避免内存泄漏。