操作系统访问文件的方式

操作系统在访问文件时,通过各种方式提高效率和安全性。包括标准访问(利用缓存)、直接IO(减少复制)、同步和异步访问(控制数据同步)以及内存映射(减少复制)。这些方法各有特点,适应不同的应用场景。
摘要由CSDN通过智能技术生成

访问文件的方式



读取和写入文件IO操作都需要调用操作系统提供的接口,读和写分别对应read和write两个系统调用,那么就存在内核空间和用户空间地址切换的问题,因为磁盘设备是由操作系统管理的,为了保护系统运行安全将内核运行的内存空间和用户程序的内存空间进行隔离,那么必然存在数据需要从内核空间向用户空间复制的问题。

如磁盘IO,数据需要从磁盘复制到内核空间,处理完成后又从内核空间复制到用户空间,非常耗时。所以操作系统一般会使用缓存机制,就是将文件按照一定的组织形式进行缓存,如果用户访问同一段磁盘地址空间,直接从内核缓存中返回。

标准访问文件方式

当应用程序调用read接口时,操作系统检查高速缓存中是否有,如果有直接从缓存中返回,如果没有,从磁盘读取,并缓存在高速缓存中。写入时,调用write接口将数据从用户地址空间复制到内核缓存中,对于应用程序和用户来说,写入操作已完成,至于什么时候写入到磁盘上,由操作系统决定,除非显示的调用sync同步。

直接IO方式

就是应用程序直接访问磁盘数据,不经过操作系统的内核数据缓存,这样做的目的减少了一次从内核缓冲区到用户程序缓存的数据复制。通常应用在数据库系统中,数据库系统明确知道应该缓存哪些数据,以及一些热点数据。

同步访问文件方式

数据的读取和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值