一、文件的相关概念

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、多级目录结构

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

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

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

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

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

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

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

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

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

  4. django基础到高手知识笔记总结,50页笔记,共10大模块(第一期).md

    django基础到高手知识笔记总结,50页笔记,共10大模块(第一期).md 完整笔记在这: Django基础到高手完整笔记 完整笔记目录: 第一期笔记内容 Python Web 框架要点 1. We ...

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

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

  6. 事务管理基础:数据库的并发控制相关知识笔记

    1.并发操作的概念介绍 并发操作主要是指在多用户共享的系统当中,可能存在很多用户同时对同一个数据进行操作.并发操作会造成丢失更新.不可重复读.读脏数据.主要原因是事务的并发操作破坏了事务的隔离性. 2 ...

  7. SQLServer子查询相关知识笔记

    今天给大家介绍以下SQLServer子查询相关知识,希望对大家能有所帮助! 1.子查询概念介绍 子查询可以嵌套在SELECT.INSERT.UPDATE.DELETE语句或其他子查询语句中的查询,子查 ...

  8. 数据库系统故障相关知识笔记

    数据库系统中可能发生的故障主要包括事务故障.系统故障.介质故障.计算机病毒等.下面给大家简单整理一下相关的故障知识笔记. 1.事务故障 事务故障是因为程序执行错误而引起的非预期.异常终止的故障.主要有 ...

  9. HTML入门基础教程相关知识

    HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...

最新文章

  1. C++核心编程(三)
  2. python灰度共生矩阵_四:利用python的skimage计算灰度共生矩阵
  3. SimBERTv2来了!融合检索和生成的RoFormer-Sim模型
  4. 字符集和字符编码的学习
  5. windows cmd后ipconfig后提示不是内部命令或外部命令
  6. Python+pandas+matplotlib可视化案例一则
  7. 小程序tabbar能放分包路径吗_微信小程序之如何自定义底部tabbar导航
  8. python requests text content_python 3 关于requests库的 text / content /json
  9. 基于51单片机的超声波红外避障捡拾小车
  10. 【C++】cppcheck
  11. 英特尔处理器后缀字母的意思
  12. C# winform下的OxyPlot(安装2.0版本!!!!)
  13. 网页设计理论知识(色彩搭配)
  14. Stream操作666
  15. 【转】什么是预研?产品预研与技术预研
  16. 使用Canvas + Path和“曲面细分”算法实现钢笔笔锋效果
  17. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请用数据流图描述下面系统的业务流程。
  18. Chromium WebView
  19. 解读论文EPSILON: An Efficient Planning System for Automated Vehicles in Highly Interactive Environments
  20. docker pytorch-cuda 安装 devel 版本

热门文章

  1. UNICODE编程资料(转贴)
  2. 解析.sens数据集
  3. RoHS、无铅制程、无卤 的基本介绍
  4. Design Compiler指南——概述和基本流程
  5. HALCON示例程序inspect_bottle_mouth.hdev玻璃瓶口缺陷检测
  6. des vue 加密解密_vue DES 加密
  7. faster rcnn的测试
  8. 使用getline读入
  9. powerdesigner怎么导出pdf_各种科研绘图软件中的矢量图导出技巧
  10. 线程中如何使用对象_多线程中如何使用gdb精确定位死锁问题