文件能存在内存中吗
可以,首先文件就有许多不同的理解,对于Linux操作系统来说,凡是带一个路径的都可以叫做文件,包括了所有的设备、系统配置、系统功能、socket、fifo等等,说这个显然意义就不太大了,我们只说常规文件,也就是可以读,可以写,可以seek,可以tell,表现为存储一段数据的一种数据结构。大部分操作系统对可以存储常规文件的底层存储的唯一要求就是块存储,那么内存显然也是块存储,所以可以存储文件。但是内存是易失的,断电时数据会丢失,所以一般只用来存储临时文件。Linux下的tempfs就是基于内存的文件系统,一般会把/var/tmp这个挂载点挂载为tempfs,当你用普通的软件在/var/tmp下面创建、读写文件的时候,实际上文件的数据都存在内存中,这样性能要远远比普通磁盘要好。
■网友
谢邀不说道理举个荔枝 记得32位xp只能认出3个g多内存的时候 多余的内存可以用工具划为虚拟硬盘 玩游戏copy进去运行速度不是一般的快 但是 断电清空 然并卵
■网友
问题很有意思,内存能否存文件,那我们先来看看文件是什么:就专指计算机而言,文件类似于一串放在存储载体中的记录,那我们的问题就可以这么说,文件的存储载体可以是内存么?答案是:可以。让我们再来看看内存是什么?狭隘地说吧,内存就是用来存储程序和数据的部件,有了内存,处理器才能直接访问这些数据,从而执行响应的任务。那文件怎么放在内存中呢?文件通常是由FCB(文件控制块)来管理的,以open函数作为例子吧,open返回一个文件描述符,如果为0说明文件不存在,则创建,如果非零则说明值为进程打开文件表的索引,且指向系统范围打开文件表的相应条目,就把FCB复制到系统打开文件表。另外,如果要创建文件,就先分配一个FCB,再把相应目录信息读入内存,在更新目录结构和FCB,最后把结果写入磁盘。是不是觉得这些和把文件放入内存一点关系都没有?不注意细节的话确实是这样,但此时我们已经与把进程与文件建立了链接,如果要把文件读入内存,用fgets函数或者read函数应该都可以。至于内存嘛,并不是持续存储设备断电就数据丢失了,容量也不大,除了省了读入写出文件的操作速度快点,而且有了虚拟内存及可靠的页置换算法,加上统一缓冲缓存,读写文件速度其实并不差多少,不知题主还有什么意图这样做。参考来源:操作系统概念文件系统及实现。
■网友
文件就是数据的一种抽象,文件屏蔽了数据的存储细节,使程序只关心数据本身即可。
■网友
泻药,不懂啊
■网友
可以。计算机最大的魅力就在于所有的一切都是人为定义的。
推荐阅读
- 广东警方曝光38款存在超范围收集用户信息违规行为App
- 白皮书一般是政府发布的正式报告或文件,那么现在物联网、智慧城市等热门领域这么多企业发布的白皮书算咋回事呢
- hadoop中的mapreduce链接(mapreduce chaining)怎样避免中间文件的产生
- |PHEV车款没比较环保,新能源是否存在谎言呢?
- 计算机进不了桌面,任务管理器也打不开,咋办
- 怎样防止U盘内的文件被复制
- 是否该停止密码掩饰了
- 可不可能利用网盘的秒传功能使用伪造的MD5(或其他信息)值进行文件分享
- windows资源管理器无法浏览部分安卓手机内文件
- 这几年平地而起的互联网医疗平台,存在哪些隐患是真正的行业热,还是浮光掠影行业热
