`
jiq408694711
  • 浏览: 36620 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

浅谈保存一个文件操作内部发生了什么

 
阅读更多

比如新建一个word,写了一行字,然后点击保存。

发生了什么?这个数据会不会马上写到磁盘上?

1 文件系统:

文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。

文件系统是一种用于向用户提供底层数据访问的机制。它将设备中的空间划分为特定大小的块(扇区),一般每块512字节。数据存储在这些块中,大小被修正为占用整数个块。由文件系统软件来负责将这些块组织为文件和目录,并记录哪些块被分配给了哪个文件,以及哪些块没有被使用。文件系统各式各样,如fat,ntfs,ext2,ext3等。

内核中文件系统会将虚拟文件系统中的文件操作,转换成块IO操作。

2 虚拟文件系统:

为了向用户空间提供一个统一的文件系统接口。出现了虚拟文件系统。Linux中的虚拟文件系统由四个数据结构来表示,其中最主要的是表示文件的索引节点inode。inode描述了操作文件和目录所需的所有属性信息以及方法。其方法对应于内核中文件系统的系统调用。比如你的终端(或者英语程序)中使用mkdir命令,这个命令会调用system call是symlik(),然后这个系统调用会调用inode节点的mkdir(struct inode *dir,struct dentry, int mode)方法来真正创建一个文件。

3 块设备驱动:

块设备驱动只处理块IO操作。

一个块IO操作请求由很多bio组成,bio又是由bio_vec段数组组成,bio_vec是内存中的“片段”。

有了上面知识,我们就可以知道这样一个大概流程:

(1) 首先新建word文件,写了一行字,点击保存,会调用对应的文件创建,数据读写等用户空间的API

(2) 这些application的API会调用内核空间的系统调用system call

(3) 这些system call会调用虚拟文件系统的统一的文件操作接口。如mkdir,create,readlink等函数。

(4) 内核中具体的文件系统EX2,EX3等会将虚拟文件系统的文件操作转换成对应的块IO操作

(5) 这些块IO操作请求会先在cache中查看对应的块是否在cache中,如果在的话,直接读取/修改cache中的块即可。否则将告知驱动程序处理这个快IO请求,真正将数据写到磁盘,或者从磁盘读取数据。

分享到:
评论

相关推荐

    浅谈CAD电子文件管理.pdf

    以AutoCAD为例,如果单位使用多个版本的AutoCAD,应选择一个共享存储格式。以AutoCAD2000为例,可以使用“另存为”命令,将其另存为2000版本。 通过上述措施,即使在资源有限、人员流动较大的中小企业,也可以对CAD...

    FATFS浅谈.zip_fatfs_readertlb

    FATFS是由ChaN Seung-hyeon开发的一个开源软件库,它实现了FAT文件系统,为嵌入式系统提供了与Windows兼容的文件操作功能。 FATFS的核心在于它的文件分配表,这是个记录文件在磁盘上存储位置的数据结构。每个FAT项...

    浅谈监理企业电子文件的信息化管理及其办公自动化.rar

    信息资源共享则是建立一个统一的信息平台,使全体员工能够快速获取所需资料,减少信息孤岛现象。 在实施监理企业电子文件的信息化管理及办公自动化时,需要考虑以下几点: 1. 前期规划:明确需求,分析现有业务...

    浅谈监理企业电子文件的信息化管理及其办公自动化.pdf

    对于需要签字盖章的文件,通过扫描或拍照的方式保留图像资料,上传至共享邮箱和企业内部系统,既保留了原始证据,又简化了流程。 在实施办公自动化的进程中,监理企业还需要关注电子文件与纸质文档的融合。一方面,...

    浅谈Java web中基于Hashtable的数据库操作.zip

    首先,理解Hashtable是Java中的一个同步容器类,它继承自Dictionary类,实现了Map接口。Hashtable存储键值对,不允许存储null键和null值,且具有线程安全的特性。在Web应用中,开发者可以利用Hashtable存储和管理...

    浅谈计算机会计信息系统下的审计(一).pdf

    浅谈计算机会计信息系统下的审计(一) 摘要:随着计算机技术在各业务领域逐步深入与发展,在企业的实施以及网络时代的到来,审计信息无纸化的趋势越来越快,审计人员要了解计算机审计内容,审计人员如果不能熟练的...

    浅谈在Linux中文件系统的反删除方法

    这通常涉及到手动复制文件的块到一个新的位置,以创建一个新的文件。 需要注意的是,恢复过程中要尽量避免将恢复的文件写回到原来的分区,以防数据进一步被覆盖。如果可能,可以将恢复的文件保存到其他分区,如DOS...

    ORACLE的实例的浅谈.pdf

    在非RAC环境下,一个数据库通常由一个实例装载和打开,但在Oracle的真正应用集群(Real Application Clusters, RAC)环境中,多个实例可以在多台服务器上同时装载和打开同一个数据库,实现高可用性和负载均衡。...

    科研课题论文:浅谈档案收集工作的新思想.pdf

    《浅谈档案收集工作的新思想》 档案收集工作是档案管理的基础,它是将散落在各个机构和个人手中的文件材料,按照相关规定进行集中保管的过程,旨在解决文件分散与利用集中之间的矛盾,实现档案的集中统一管理。这项...

    浅谈电力企业文书档案的收集与归档

    电力企业文书档案的收集与归档是企业内部管理的关键环节,尤其在当今信息化时代,档案管理的质量直接影响到企业的运营效率和决策支持。文书档案,作为企业管理活动的记录,包括了企业在领导、行政管理等活动中产生的...

    浅谈城建档案信息化建设.docx

    在当前快速城市化的浪潮中,城市建设的方方面面都在发生着深刻的变革。城建档案作为记录城市发展历史、规划未来发展的重要资源,在信息化时代背景下,其管理方式同样需要与时俱进,迈向信息化建设的新阶段。城建档案...

    浅谈事业单位档案管理创新思路-论文.zip

    文档标题“浅谈事业单位档案管理创新思路”暗示了这篇论文将深入探讨如何在事业单位中对档案管理工作进行创新,以提高效率、确保数据安全并适应信息化时代的需求。在事业单位中,档案管理是至关重要的,它涉及到机构...

    浅谈应用办公自动化进行文书档案管理.pdf

    办公自动化在文书档案管理中的应用,已成为了档案工作发展的一个重要方向,它为档案管理带来了革命性的变化,同时也有助于提高文书档案管理水平,确保信息的及时性、准确性、系统性和完整性。办公自动化在档案管理中...

    浅谈电力系统档案数字化建设.pdf

    在电力系统档案数字化建设过程中,需要注意以下几个关键点:一是选择合适的档案管理系统,系统应具备良好的兼容性、稳定性以及用户友好的界面;二是制定完整的档案数字化策略,包括档案的扫描、转换、存储和备份流程...

    浅谈办公自动化与档案管理.rar

    档案管理则是组织内部对各种文件资料进行系统性的收集、整理、保存和利用的过程,确保信息的安全、完整和有效利用。本文将深入探讨办公自动化与档案管理之间的关联和相互作用。 首先,办公自动化的实施有助于档案...

    浅谈大数据时代的企业档案信息化建设.docx

    企业档案信息化建设主要包括两大部分:一是档案数字化,即将纸质档案通过扫描、录入等方式转换为电子格式,便于长期保存和快速检索;二是建立电子档案管理系统,利用网络技术进行档案的存储、查询、更新和下载等操作...

    浅谈用VC6.0单文档进行数字图像处理

    总的来说,通过使用VC6.0的MFC和SDI,我们可以构建一个简单的图像处理应用,通过DIB类封装图像数据,然后在文档和视图之间共享这些数据,实现图像的读取、显示和保存。然而,对于复杂的图像处理任务,可能需要更强大...

    浅谈文书档案管理的办公自动化应用.rar

    文档标题和描述提到了“文书档案管理的办公自动化应用”,这是一个关于如何利用现代信息技术改进传统文书档案管理工作流程的主题。在当前数字化时代,办公自动化对于提高工作效率、优化信息管理和确保数据安全具有...

    java培训教程-浅谈java虚拟机.pdf

    在JVM内部,程序被编译成字节码,这是一种平台无关的中间表示,可以在任何实现了JVM的平台上被执行。 JVM的主要特点之一是它的平台无关性。这意味着Java程序无需针对特定操作系统或硬件进行重新编译,因为JVM会解释...

    浅谈档案信息化建设的意义.docx

    随着信息技术的不断发展,档案信息化建设必将成为档案工作不可或缺的一部分,为档案的安全保存、高效利用和社会价值的充分发挥开辟新的道路。因此,从国家到地方各级档案管理部门,都应当高度重视档案信息化建设,...

Global site tag (gtag.js) - Google Analytics