文件的流

2023-10-31

一、文件名词解释

文件:是存贮在某种介质上的(如磁盘、磁带等)并具有文件名的一组有序信息的集合。

流设备:大多数的字符设备,如键盘,打印机等,传输的信息均由 一组顺序出现的字符序列组成。

文件系统:操作系统对系统的软件资源(不论是应用软件和系统软件)的管理都以文件方式进行,承担这部分功能的操作系统称为文件系统

文件系统的类型:
(1)FAT文件系统(MS-DOS文件系统、msdos)
它是MS-DOS操作系统使用的文件系统,它也能由Windows98/NT、linux、SCO UNIX等操作系统访问。文件地址以FAT表结构存放,文件目录32B,文件名为8个基本名加上一个“.”和3个字符扩展名。

(2)扩展文件表系统(vfat)
它是Windows98使用的扩展的DOS文件系统,它在MS-DOS文件系统基础上增加了对长文件名(最多到256B)支持。

(3)NTFS(NT文件系统)
它是Windows NT操作系统使用的文件系统,它具有很强的安全特性和文件系统恢复功能,可以处理巨大的存储媒体,支持多种文件系统。

(4)ext2(二级扩展文件系统)
它是Linux操作系统使用的高性能磁盘文件系统,它是对Minux操作系统中使用的文件系统扩展(ext)的扩展。它支持256字符的文件名,最大可支持到4TB的文件系统大小。

(5)HPFS(高性能文件系统、hpfs)
它是OS/2操作系统使用的文件系统。

(6)S51K/S52K(sysv)
它是AT&T UNIX S V 操作系统使用的1KB/2KB文件系统。

(7)CD-ROM文件系统(iso9660)
它是符合ISO9660标准的支持CD-ROM的文件系统,它有High sierra CD-ROM和Rock Ridge CD-ROM二种类型。

(8)UDF通用磁盘格式文件系统
UDF(Universal Disk Format)文件系统是依据光学储存技术协会(Optical Storage Technology Association, OSTA)的通用磁盘格式文件系统规格1.02版所制定的。它提供了对 UDF格式媒体的只读访问(例如DVD光盘)。Windows98提供对UDF文件系统支持。
 

二、文件的分类

1、按照文件的物理组织结构分类

分为连续文件与非连续文件。文件在磁盘中是以块为单位存储的,一个文件可以存储到多个连续的存储块中,也可以存储到非连续的块中。连续文件:把文件的中的信息,顺序、连续的存储在若干相邻的存储块中。这样,只要知道文件的第一个数据块的地址,就会很快找到。非连续文件分为链接文件,索引文件。链接文件: 文件中逻辑连续的信息可以存储到离散的存储块中,各存储块通过其内部的链接指针相连,一个文件的所有存储快形成一个链表。索引文件:文件中逻辑连续的信息可以存储到离散的存储块中,系统为每个文件建立一张索引表,一个索引表块记载一个存储快或一组连续存储块的地址

2、按文件的保护级别

       可读,可写,只读,只写,不保护….

3、按文件的性质

       系统文件,用户文件,库文件

4、按文件的性质和用途分类

        源文件,目标文件,可执行文件

5、按文件结构组织分类

       无结构的流式文件,有结构的记录式文件

三、流与文件

无结构的流式文件:流式文件是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件。

有结构的记录式文件:记录式文件是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。所有记录通常都是描述一个实体集的,有着相同或不同数目的数据项,记录的长度可分为定长和不定长记录两类。记录文件有顺序、索引、索引顺序、直接、分区和堆文件几种。

应用程序使用的数据通常是有一定的结构的,当一个应用程序的数据结构要被写入一个存储设备中时,它将通过记录-流转换过程将结构化的记录“展开”成字节流,然后将流存储在一组块中。当需要读取数据时,将逐块的进行读取,转换为字节流,然后再转换为应用程序级的数据结构

文件的转换流程:

结构化记录文件–记录流转换-字节流文件-流块文件

若一个操作系统只提供 流-块转换 功能,称它是一个低级的文件系统若一个操作系统提供了 记录-流 转换功能,称它是一个高级的文件系统。

无结构文件是最简单的文件组织形式。无结构文件将数据按顺序组织成记录并积累保存,它是有序相关信息项的集合,以字节(Byte)为单位。由于无结构文件没有结构,因而对记录的访问只能通过穷举搜索的方式,故这种文件形式对大多数应用不适用。

但字符流的无结构文件管理简单,用户可以方便地对其进行操作。所以,那些对基本信息单位操作不多的文件较适于釆用字符流的无结构方式,如源程序文件、目标代码文件等。

 

参考:

https://blog.csdn.net/xiaokang123456kao/article/details/74171875

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件的流 的相关文章

  • 计算机二级-C语言-计算机系统

    还未解决的题目 xff1a 5 3 xff1a 22 xff1b 5 4 xff1a 2 3 5 7 13 18 20 22 24 25 27 29概念模式 xff08 模式 xff09 xff1a 描述全局数据逻辑结构 xff1b 外模式
  • 数据密集型应用系统设计(1)

    文章目录 可靠 可拓展可维护的应用系统 软件系统最重要的三个特征 可靠性 可扩展性 可维护性 小结 可靠 可拓展可维护的应用系统 软件系统最重要的三个特征 可靠性 即使发生了某些错误 系统也可继续正常工作 故障 faults 或者叫错误 与
  • I/O控制方式——通道控制方式

    一 定义 通道是一个独立于 CPU的专管输入 输出控制的处理机 它控制设备与内存直接进行数据交换 它有自己的通道指令 这些通道指令受CPU启动 并在操作结束时向CPU发中断信号 二 原理 2 1 通道控制方式的引入 通道控制方式与DMA控制
  • 文件的流

    一 文件名词解释 文件 是存贮在某种介质上的 如磁盘 磁带等 并具有文件名的一组有序信息的集合 流设备 大多数的字符设备 如键盘 打印机等 传输的信息均由 一组顺序出现的字符序列组成 文件系统 操作系统对系统的软件资源 不论是应用软件和系统
  • 计算机系统实验之datalab

    datalab实验是CSAPP中关于整数和浮点数的位运算的实验 对于我们理解位运算和整数 浮点数的位级表示有着很好的帮助 实验目的 修改bits c的C语言代码 使其通过所有在不违反任何编码准则的情况下 在btest中进行测试 进一步熟悉整
  • 计算机系统 实验四(课程实验LAB四)

    实验中需要的几个控制语句 u userid 使用这个语句是要确保不同的人使用不同的 ID 做题 并攻击不同的地址 h 用于打印这几个操作的内容 n 用于 Level4 关卡 s 用于提交你的解决方案到服务器中 1 根据makecookie生
  • 深入理解计算机系统——实验(二)Data Lab(附解释)

    2020 4 18更新 有朋友对下列第5个函数bang中我的分析提出了质疑 隔了一年多我也不大记得了 首先关于补码 Two s complement 给出wikipedia中的定义 Two s complement is a mathema
  • 整数乘法运算

    在高级语言中 两个n位整数相乘得到的结果通常也是一个n位整数 即结果只取2n位乘积中的低n位 这导致乘法运算得到结果必须在范围 2n 1 lt x y lt 2n 1才不会溢出 假设为4位 进行52 0101 0101 0101 0101
  • 内存管理技术——离散分配方式

    上一篇讲到 采用固定分区的方式 会产生页内碎片等缺点 因此引入了动态分区方式 但动态分区又产生了外部碎片 导致内存的利用率也不理想 为了进一步提高内存的利用率 所以就产生了离散的分配方式 理论来源于实际问题 这很好的体现在计算机科学中 离散
  • Window11下载安装jdk8-jdk11与环境变量的配置

    目录 1 下载jdk 1 1 jdk8下载链接 请点击网址 1 2 jdk11下载链接 请点击网址 2 安装jdk 3 配置环境变量 3 1 打开设置 3 2 点击系统信息 3 3 高级系统设置 3 4 点击环境变量 3 5 新建系统变量
  • L1,L2,L3 Cache缓存原理

    一 介绍 CPU缓存 Cache Memory 也被称为Cache 是存储器子系统的组成部分 存放着程序经常使用的指令和数据 从广义的角度上看 Cache是快设备为了缓解访问慢设备延时的预留的Buffer 从而可以在掩盖访问延时的同时 尽可
  • 【linux】常用shell指令 [不断补充中...]

    前言 shell是一种脚本语言 需要有编译器执行 即 应用程序 gt shell gt 操作系统 gt 硬件 bash是linux下默认的shell sh是unix下默认的shell 多命令执行 xx xx 前面执行成功才会执行后面的命令
  • 什么是环境变量?为什么java要配置环境变量?

    本文是将https blog csdn net qq 37872792 article details 80642985 与 https blog csdn net Pre waist L article details 79696507两
  • 无符号数 有符号数 与 补码

    无符号数 有符号数 与 补码 本文是深入理解计算机系统这本书里面关于补码有符号数无符号数章节的一个摘要和读书报告 我个人认为这本书关于这一段的表述 要比绝大多数网上的博客甚至是国内教材要深入浅出的多 同时由于markdown的文档表示公式很
  • 计算机系统课程 笔记总结 CSAPP第七章 链接(7.1-7.13)

    GitHub计算机系统CSAPP课程资源 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 1 2 2 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 3 2 4 计算机系统课程 笔记总结 CSAPP第三章
  • Win32程序之进程的原理

  • 深入理解计算机系统-笔记

    计算机系统漫游 程序 程序的生命周期从一个源程序 源文件 开始 即程序员利用编辑器创建并保存的文本文件 如文件名为hello c的c语言程序 源程序是由0和1组成的位序列 8个位被组织成一组 称为字节 每个字节表示程序中的某个文本字符 这种
  • 【科普】CRC校验(一)什么是CRC校验?

    目录 CRC 循环冗余校验 CRC 校验码的生成 CRC 的发送方与接收方 发送方 接收方 除法异或运算示意图 CRC 循环冗余校验 CRC Cyclic Redundancy Check 循环冗余检验 是一种用于检测数字数据错误的技术 作
  • HIT--ICS计算机系统大作业

    目录 摘要 第1章 概述 1 1 Hello简介 1 2 环境与工具 1 3 中间结果 1 4 本章小结 第2章 预处理 2 1 预处理的概念与作用 2 2在Ubuntu下预处理的命令 2 3 Hello的预处理结果解析 2 4 本章小结
  • 计算机的保护模式与实模式

    一 背景 80386开始 CPU有三种工作方式 实模式 保护模式和虚拟8086模式 只有在刚刚启动的时候是real mode 等到操作系统运行起来以后就切换到protected mode 实模式只能访问地址在1M以下的内存称为常规内存 我们

随机推荐

  • mysql grouping sets_mysql – PostgreSQL:如何使用GROUPING SETS,CUBE...

    我有以下在MySQL 5 6中编写的代码块 INSERT INTO Totals SELECT Zone State COUNT Sponsored COUNT Enrolled COUNT PickedUp FROM MasterData
  • HTTP头的Expires与Cache-control

    HTTP头的Expires与Cache control HTTP头的Expires与Cache control 1 概念 Cache control用于控制HTTP缓存 在HTTP 1 0中可能部分没实现 仅仅实现了Pragma no ca
  • 零基础学SQL(1):初识数据库与SQL

    零基础学SQL 1 初识数据库与SQL 一 初识数据库 数据库是将大量数据保存起来 通过计算机加工而成的可以 进行高效访问的数据集合 该数据集合称为数据库 Database DB 用来管理数据库的计算机系统称为数据库管理系统 Databas
  • ionic3+angular4 HttpClient封装优化

    背景 众所周知 angular4以后引入的HTTPClient为前端http请求带来了非常大的改进 它支持了与java类似的拦截器机制 通过拦截器 可以方便的对请求进行前置 后置及异常处理 但如果我们需要在不同的项目中使用这个拦截器 且有不
  • pt-online-schema-change添加索引没有反应

    之前使用 pt online schema change添加索引没有问题 如下语句 root ixxxxxx pt online schema change no version check execute alter foreign ke
  • WSL使用技巧 / 虚拟机对比

    WSL使用技巧 虚拟机对比 前言 虚拟机比较 VMware使用技巧 WSL使用技巧 官方文档 工具 安装WSL 基本命令 运行命令 关闭卸载 磁盘管理 导入导出 指定安装路径 前言 本文介绍了VMware和WSL的区别 并详细介绍了WSL的
  • C++中的栈和堆

    由C C 编译的程序占用的内存分为以下几个部分 1 栈区 stack 又编译器自动分配释放 存放函数的参数值 局部变量的值等 其操作方式类似于数据结构的栈 2 堆区 heap 一般是由程序员分配释放 若程序员不释放的话 程序结束时可能由OS
  • linux服务器监控谁改了文件,linux服务器文件监控

    linux服务器文件监控 内容精选 换一换 cd opt dis agent X X X logstail 100f dis agent log显示如下信息 表示Agent正常运行 Agent Startup completed in xx
  • Django简介(二)

    Models 通常 一个model对应数据库的一张数据表 Django中Models以类的形式表现 它包含了一些基本字段以及数据的一些行为 Django将与数据库交互的SQL语句封装起来 而无需开发人员再次编写 ORM object rel
  • vite创建vue3项目方式

    快速创建方式 终端输入 npm init vite latest 然后输入项目名称 选择要创建的框架版本 然后选择需要的脚本语言 最后 npm i初始化 npm run dev启动项目 项目目录如下 页面展示
  • Vue 保存cookie信息 ,用Vue开发完成后使用Hbuilder打包apk 保存登录信息到cookie中

    以下是在vue2开发过程中 保存登录信息时 使用电脑浏览器能获取cookie 但使用Hbuilder打包apk文件时获取不到cookie值的解决办法 第一步 安装 npm install js cookie 如已安装直接忽略 第二步 使用
  • vue.js执行if语句后程序终止甚至后面的else语句也不会执行

    今天因为前端 vue 的一个问题 耽误了几个小时 本想使用if this sciEngineeringChartData 0 0 id null 进行条件判断 但是程序执行到这里后就不再执行了 本来预想着if语句里面的条件不成立会执行els
  • Java解析zip文件,并识别压缩包里面的文件转换成可操作的IO流

    前几天项目遇到一个棘手的问题 批量上传人员的证件照 因为java操作文件夹不好操作 最后决定把存放人员证件照的文件夹压缩成zip文件 通过java去解析 然后把里面的文件转成list集合 这里使用的jdk提供的 java util zip包
  • Python3链接HIVE

    几个必要的pip 如果用anaconda 安装pyhive的时候会附带都给安装上 pip install pyhive pip install thrift pip install sasl pip install thrift compi
  • PyQt输入部件:QKeySequenceEdit快捷键输入部件简介和使用案例

    PyQt输入部件 QKeySequenceEdit快捷键输入部件简介和使用案例 QKeySequenceEdit是PyQt中的一个输入部件 用于接受用户输入的快捷键序列 它提供了一个用户友好的界面 允许用户直接按下键盘上的按键来定义快捷键
  • python web开发笔记--如何采用uwsgi来部署你的Django项目

    接上一文 python web开发笔记 MAC上Django uwsgi构建总结 最近对于采用uwsgi进行成功部署自己的项目已经成功搞定 因此写下这篇博客 这绝对是一篇值得需要的人读的用心好博文 废话不多少 开始正题 1 进入你的项目目录
  • 阿里云STS获取临时授权

    获取阿里云oss授权 public function sts url https sts aliyuncs com action AssumeRole RoleArn rolearn RoleSessionName client Durat
  • STM32-FreeRTOS源码下载及移植步骤(基于Keil)

    FreeROTS源码获取及基于Stm32移植 获取源码 其实找资料没有那么复杂 官网就是最好的地方了 FreeRTOS的官网是 FreeRTOS官网 当然了 这个网站是全英文的 不过没关系 我们可以简单了解一下 如下图 在这个网页里点击左侧
  • 快速安装最新版Burp Suite Professional

    官网下载链接 https portswigger net burp releases JDK 官方下载 https www oracle com java technologies downloads jdk19 windows 一路默认安
  • 文件的流

    一 文件名词解释 文件 是存贮在某种介质上的 如磁盘 磁带等 并具有文件名的一组有序信息的集合 流设备 大多数的字符设备 如键盘 打印机等 传输的信息均由 一组顺序出现的字符序列组成 文件系统 操作系统对系统的软件资源 不论是应用软件和系统