您的位置:首页 > 其它

『阿男的工程世界』*让我们简单聊一下IO(4)*

2017-02-11 00:00 337 查看
『阿男的工程世界』*让我们简单聊一下IO(4)*

最后,阿男给大家讲一下
Memory Mapped IO
,这个是完全由操作系统实现的一种设计。所谓
Memory Mapped IO
,就是在我们操作文件的时候,不是直接操作这个文件本身的数据,而是先把文件的数据拷贝到内存。Linux系统不叫
copy
,叫
mapped
,就是映射到内存。

这样,我们操作这个文件数据时,实际上操作的是内存里面的数据,最后再通过系统接口,回写到文件系统。Linux下这种机制叫做mmap:



关于
mmap
,阿男会在别的专栏给大家细讲。

其实这算是一种操作系统提供的缓存机制了,因为机械硬盘比较慢,而相比而言内存很快,所以memory mapped IO是拿空间换时间。

当然现在机械硬盘自己有硬件缓存,SSD固态硬盘更快,所以Memory Mapped IO是否还有价值呢?

可以说,在SSD时代下,
Memory Mapped IO
的价值可能是打了折扣了。但是在性能方面,我们不要做任何假设,在工业领域里面,总有我们想不到的使用场景,只要硬盘和内存的速度差存在,那么弥补速度差距的设计就肯定有价值。

IO的话题就聊到这里,接下来阿男要继续在『Linux内核世界』那个专栏给大家更新内存管理方面的内容。希望通过这些文章,大家对计算机世界的整个拼图在慢慢拼起来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐