一、文件的相关概念

1、为什么要有文件管理?

文件系统主要是为了方便用户访问外部存储器信息,而不去关注内部存储的机制,只需要根据文件名就可以高效的存取信息。

2、文件的定义

文件是这一组具有符号名、在逻辑上具有完整意义的一组相关信息项的集合。比如一个文本文件、一个电影等。

信息项是构成文件内容的基本单位,可以是一个字符、一个记录。

文件的组成:文件名、文件内部标识、文件类型、文件存储地址、文件长度、访问限制、创建时间、访问时间等。

文件是一种抽象机制,它隐藏了硬件和实现细节,提供了将信息保存在磁盘上方便以后读取的手段。

3、什么是文件系统?

定义:操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构。

文件系统功能:按文件名存取、针对不同设备提供文件的统一访问接口、实现并发访问和控制、优化文件性能(提高文件存储效率、提高读写性能、差错恢复等)。

4、文件类型

按照文件性质和用途分类:系统文件、库文件、用户文件。

按照信息保存期限:临时文件、永久文件、档案文件。

文件保护方式:只读文件、读写文件、可执行文件、普通(不受保护)文件。

Unix系统:普通文件、目录文件、设备文件。

文件系统类型:FAT、FAT32、NTFS、E系统、HPFS等。

二、文件的结构和组织

文件的结构是指文件的组织形式。主要有逻辑结构、物理结构。

1、文件的逻辑结构

文件的逻辑结构分为两大类:

结构式记录式文件:由一个以上的记录构成的文件。

无结构式流式文件:由一串顺序字符流构成的文件。

1.1 有结构的记录式文件

记录式文件,所有的记录通常都是描述一个实体集的,有着相同或者不同数组的数据项,记录的长度分为定长和不定长。

定长记录:指文件中所以记录的长度相同。特点:处理方便、开销小。是一种常见的记录格式,广泛用于数据处理中,

变长记录:指文件中各记录的长度不相同。因为很多情况下一个记录所包含的数据项数组可能不同,比如文字的标题、内容等。

1.2 无结构的流式文件

流式文件的文件体是字节流,不划分记录。无结构的流式文件通常采用顺序访问的方式,并且每次读写访问可以指定任意长度,以字节为单位。

2、文件的物理结构

文件的物理结构:指文件内部的组织形式,也就是文件在物理设备上的存放方法。文件的物理结构决定了文件在存储设备上的存放位置,文件的逻辑块号到物理块号的转换也是由文件的物理结构决定的。

1、连续结构

也称为顺序结构,它将逻辑上连续的文件信息依次存放在连续编号的物理块上。针对文件记录的批量存取时,连续结构存取效率最高。如果针对交互应用场合连续结构的性能就会很差。如果文件很大的情况效率会更低。

连续结构的另外一个缺点是不便于记录的增加和删除操作。

2、链式结构

也称为串联结构,它是将逻辑上连续的文件信息存放在不连续的物理块上,每个物理块设有下一个指针指向下一个物理块。如果知道第一个物理块号就可以查找整个文件。

3、索引结构

将逻辑上连续的文件存放在不连续的物理块上,系统为每一个文件建立一张索引表。索引表会记录文件信息所在逻辑块号对应的物理块号。

4、多个物理块的索引表

索引表右文件创建时系统自动创建,并且和文件一起存放在同一个文件卷上。多块索引表组织形式:链式文件、多重索引文件。

UNIX文件系统采用三级索引结构,inode是文件系统的基本构成单位,表示文件系统树形结构的节点。

UNIX文件索引表项寻址方式:直接寻址、一级间接寻址、二级间接寻址、三级间接寻址。

三、文件目录

文件控制块(FCB):包含文件名和存放文件物理地址的数据结构。

文件目录:文件控制块的有序集合。

1、文件控制块

文件控制块包含基本信息、存储控制信息、使用信息类。

基本信息类:文件名、文件物理地址、文件长度、文件块数。

存储控制信息类:文件存取权限,常见的RWX权限。

使用信息类:文件创建日期、最后一次修改日期、最后一次访问日期、当前使用的信息(打开文件的进程数、在文件上的等待队列等)。

2、目录结构

常见的目录结构有一级目录结构、二级目录结构、多级目录结构

1、一级目录结构

整个目录组织是一个线性结构,整个系统中只需建立一张目录表,系统给每个文件分配一个目录项。

特点:结构简单、查找速度慢,不能重名、不方便实现文件共享,适合当用户环境中。

2、二级目录结构、多级目录结构

二级目录结构由主文件目录(MFD)、用户目录(UFD)组成。在主文件目录中,每个用户文件目录都占有一个目录项,其目录项中包括用户名和指向该用户目录文件的指针。用户目录是由用户所有文件的目录项组成的。

特点:提高了检索目录的速度、较好地解决了重名问题;用户隔离不方便文件的共享。

3、多级目录结构

目前多道程序设计系统常采用多级目录结构,这种目录结构像一棵倒置的有根树,也称为树形目录结构每一个节点是目录,叶子节点是文件。

文件系统 文件时间记录在哪里_计算机系统基础:文件管理相关知识笔记相关推荐

  1. 计算机系统基础:文件管理相关知识笔记

    一.文件的相关概念 1.为什么要有文件管理? 文件系统主要是为了方面用户访问外部存储器信息,而不去关注内部存储的机制,只需要根据文件名就可以高效的存取信息. 2.文件的定义 文件是这一组具有符号名.在 ...

  2. 计算机系统基础:总线结构知识笔记

    1.总线定义 计算机和设备之间传输信息的公共数据通道,是连接计算机硬件内多种设备的通信线路.它实现了总线上所有设备共享. 2.总线的分类 2.1 数据总线(DB) 用来传递数据信息,双向的.数据总线的 ...

  3. 计算机系统基础:设备管理知识笔记

    1.设备管理介绍 设备管理主要包括设备分配.缓冲区管理.实际物理I/O设备操作.通过管理提高设备利用率和方便用户使用的目的. 设备属于计算机系统和外界交互的工具,不要负责计算机和外部的输入/输出工作, ...

  4. 南大袁春风计算机系统基础(一)笔记

    南大袁春风计算机系统基础(一)笔记 一.计算机系统基本组成与基本功能 冯.诺依曼结构计算机模型 冯.诺依曼计算机结构的特点 计算机的指令和数据 二.程序开发和执行过程简介 程序开发的发展过程 典型程序 ...

  5. dll文件用什么语言编写_零基础学习markdown标记语言语法,十分简单便捷编写markdown文件...

    引言:在完成了使用开源的Atom软件搭建好编写markdown的环境后,接下来就进行我们的第一个markdown文件的编写,同时学习markdown标记语言的基础语法,都是十分简单的一些标记,如果学习 ...

  6. SQLServer数据库文件相关知识笔记

    1.数据库文件概念 数据库文件是SQLServer数据库的物理体现,和计算机的普通文件一样存储在计算机的磁盘空间当中.作为数据库记录和日志等其他信息的存储载体. 2.数据库文件分类 数据库文件主要包括 ...

  7. SQLServer数据库文件组相关知识笔记

    1.数据库文件组概念 数据库文件被组织在称为"文件组"的逻辑组中.文件组是所创建对象(如表或索引)的目标容器,对象数据将分散在其所在目标文件组的文件中,文件组可以按你要求的方式来控 ...

  8. 计算机系统基础:CPU相关知识笔记

    1.什么是CPU 计算机的基本硬件系统由运算器.控制器.存储器.输入设备.输出设备5大部件组成. 运算器和控制器等部件被集成在一起称为中央处理单元(Central Processing Unit,CP ...

  9. 真彩色图像数据量 计算_计算机基础:图形、图像相关知识笔记

    1.图形.图像的基础知识 图形:由称为矢量的数学对象所定义的直线和曲线等组成. 图像:也称为栅格图像,由点阵图或位图图像.用像素来代表图像.每一个像素都被分配一个特点的位置和颜色值. 图形和图像之间在 ...

最新文章

  1. 创建 3D 控件_2.设置角色蓝图
  2. python获取主机ip_Python 获取本地主机 hostname 和 IP 地址的简单方法
  3. qlistwidgetitem itempressed怎么区分左右键_图文介绍:断桥门窗五金配件怎么区分左右定义?...
  4. 五十九、Vue中的样式绑定
  5. 数据结构--链式栈--C++实现
  6. Oracle-查看oracle是否有表被锁
  7. 打印工资条怎么做到每个人都有表头明细_现在还在用订书钉装订工资条,算是一种落后吗?你的公司怎么发?...
  8. dp - Google Code jam Qualification Round 2015 --- Problem B. Infinite House of Pancakes
  9. 【链表】牛客网:链表内指定区间反转
  10. matlab计算电磁场程序,电磁场与波:电磁材料及MATLAB计算
  11. Matlab学习笔记(一)--数值数据
  12. 基于VHDL的交通灯设计(实训要求)
  13. python字典内置方法_python之字典二 内置方法总结
  14. 大自然Windows XP日文版镜像
  15. windows10 配置 VNC server
  16. Drug Discovery Today| 频繁命中化合物:高通量筛选中需警惕的假阳性结果
  17. FHQ-Treap 简介
  18. 【Linux】删除旧版本内核
  19. npm国外镜像,国内镜像互相切换
  20. VUE学习(七) 自定义列表鼠标移入变色,点击变色(仿el-table实现)

热门文章

  1. [导入]C#中WebService里的回车符\r丢失问题
  2. mount远程驱动器
  3. 鸿蒙系统的结构图,一图看懂鸿蒙系统中的JS开发框架!
  4. Linux之判断socket是否断开
  5. 解压rootfs.img根文件系统
  6. WebRTC入门知识
  7. ubuntu20.04 下查看(改变)本地端口开放情况,开启和关闭防火墙
  8. Mock生成随机数据常用的类型规则
  9. 世界上最有能量的语言,一定要经常说!
  10. python 文本框内容变化_当文本框中的文本发生变化时,动态读取文本输入中的文本?...