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

『阿男的工程世界』*让我们简单聊一下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内核世界』那个专栏给大家更新内存管理方面的内容。希望通过这些文章,大家对计算机世界的整个拼图在慢慢拼起来。

转载于:https://my.oschina.net/u/3195023/blog/836077

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值