什么是文件系统?

news2024/11/27 12:34:52

【推荐阅读】

一文了解Linux上TCP的几个内核参数调优

一文剖析Linux内核中内存管理

分析linux启动内核源码

文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。文件系统是软件系统的一部分,它的存在使得应用可以方便的使用抽象命名的数据对象和大小可变的空间。

文件系统的功能

文件系统的功能包括:管理和调度文件的存储空间,提供文件的逻辑结构、物理结构和存储方法;实现文件从标识到实际地址的映射,实现文件的控制操作和存取操作,实现文件信息的共享并提供可靠的文件保密和保护措施,提供文件的安全措施。

文件的逻辑结构是依照文件的内容的逻辑关系组织文件结构。文件的逻辑结构可以分为流式文件和记录式文件。

流式文件:文件中的数据是一串字符流,没有结构。

记录文件:由若干逻辑记录组成,每条记录又由相同的数据项组成,数据项的长度可以是确定的,也可以是不确定的。

主要缺陷:数据关联差,数据不一致,冗余性。

常见的文件系统类型

FAT

在Win 9X下,FAT16支持的分区最大为2GB。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。在FAT16的情况下,分区越大簇就相应的要大,存储效率就越低,势必造成存储空间的浪费。并且随着计算机硬件和应用的不断提高,FAT16文件系统已不能很好地适应系统的要求。在这种情况下,推出了增强的文件系统FAT32。

NTFS

NTFS文件系统是一个基于安全性的文件系统,是Windows NT所采用的独特的文件系统结构,它是建立在保护文件和目录数据基础上,同时照顾节省存储资源、减少磁盘占用量的一种先进的文件系统。使用非常广泛的Windows NT 4.0采用的就是NTFS 4.0文件系统,相信它所带来的强大的系统安全性一定给广大用户留下了深刻的印象。Win 2000采用了更新版本的NTFS文件系统NTFS 5.0,它的推出使得用户不但可以像Win 9X那样方便快捷地操作和管理计算机,同时也可享受到NTFS所带来的系统安全性。

exFAT

全称Extended File Allocation Table File System,扩展FAT,即扩展文件分配表,是Microsoft在Windows Embeded 5.0以上(包括Windows CE 5.0、6.0、Windows Mobile5、6、6.1)中引入的一种适合于闪存的文件系统,为了解决FAT32等不支持4G及其更大的文件而推出。

RAW

RAW文件系统是一种磁盘未经处理或者未经格式化产生的文件系统,一般来说有这几种可能造成正常文件系统变成RAW文件系统:没有格式化、格式化中途取消操作、硬盘出现坏道、硬盘出现不可预知的错误、毒所致。

解决RAW文件系统的最快的方法是立即格式化,并且使用杀毒软件全盘杀毒。当然,如果文件很重要的话可以用迷你兔数据恢复软件先救出数据,然后再格式化和杀毒。

Ext

Ext2:Ext是GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。

Ext3:是一种日志式文件系统,是对ext2系统的扩展,它兼容ext2。日志式文件系统的优越性在于:由于文件系统都有快取层参与运作,如不使用时必须将文件系统卸下,以便将快取层的资料写回磁盘中。因此每当系统要关机时,必须将其所有的文件系统全部shutdown后才能进行关机。

Ext4:Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能。

HFS

分层文件系统(Hierarchical File System,HFS)是一种由苹果电脑开发,并使用在Mac OS上的文件系统。最初被设计用于软盘和硬盘,同时也可以在在只读媒体如CD-ROM上见到。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

传奇列表上传登录器公告小窗口怎么修改

传奇列表上传登录器公告小窗口怎么修改 很多小伙伴不会上传列表,我是艾西今天给大家分享下怎么上传列表 我们开始实操(纯教学分享) 在我们的网站文件夹里创建一个列表.txt 在浏览器里找一个列表模板例:www.pkp123.cn:88&#xff…

1570_AURIX_TC275_SCU_ERU

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 从系统的逻辑图看,能够很清楚看到这个模块的功能处理过程:首先是边沿信号的识别,接着是根据判断进行置位处理,最后进行工作触发。如果设置的…

使用Nordic的nRF52840 Dongle配合Wireshark对蓝牙设备抓包(BLE)

硬件准备: 1)nRF52840 Dongle 2)待抓包的蓝牙设备 软件准备: 1)Python 2)Wireshark 3)nRF Sniffer for Bluetooth LE Python安装 需要注意的是下载的nRF Sniffer for Bluetooth LE版本是否…

K8s 之 Deployment 应用案例

目录一、YAML 配置文件二、运行服务三、更新 Deployment3.1 动态伸缩容3.2 触发上线四、故障自动转移五、指定节点运行 Pod六、删除 deployment一、YAML 配置文件 我们要清楚,在 K8s 中有两种创建资源的方式: (1)命令行方式&…

【GO】 K8s 管理系统项目[API部分--Pod]

K8s 管理系统项目[API部分–Pod] 前端: Vueelement plus 后端: gogin 1. 功能设计 2. 初始化 2.1创建项目 2.2 配置goproxy GOPROXYhttps://goproxy.cn 2.3 添加格式化工具 2.4 安装模块 go get k8s.io/client-go/tools/clientcmd go get k8s.io/api/core/v1 go get k8s.i…

使用 docker buildx 构建跨平台 Go 镜像

目录 前提 docker buildx 启用 Buildx builder 实例 构建驱动 buildx 的跨平台构建策略 一次构建多个架构 Go 镜像实践 源代码和 Dockerfile 执行跨平台构建 验证构建结果 如何交叉编译 Golang 的 CGO 项目 准备交叉编译环境和依赖 交叉编译 CGO 示例 总结 参考链接…

供水设备远程监控客户案例

一、客户介绍 客户积累多年的技术研发和工程运维经验,对传统的恒压供水工程所面临的维护难、维修难、运维效率低和能耗管控弱等诸多问题有深刻的体会,经过广泛调研,客户最终选择使用蓝蜂物联网的云平台和边缘计算产品对恒压供水设备和工程进行…

数据处理指令(一)—— 搬移指令MOV、MVN

数据处理指令指的是和数学运算、逻辑运算相关的指令,比如加减乘、与或非、赋值比较等 目录 1、MOV —— 直接搬移 (1) MOV 指令格式 (2) MOV生成指令的策略(MOV的优点) (3) MOV 只能搬移“立即数”的原因(MOV的缺点&#x…

问卷设计一:问卷题目哪些有类型和注意要点?

问卷法常被人们应用于社会调查中,它能反馈出最真实的社会信息。所以,很多企业为了最大程度地了解市场,也经常使用问卷调查法进行研究。不过,想要发挥出问卷法的最大用处,前提是要将问卷设计规范并且可量化。 想要设计…

用ArkTs在鸿蒙系统上画一个世界杯海报

偶然看到了CSDN关于世界杯的征文活动: 用代码画一个足球? 哈哈很有意思! 想了想,画一个自定义View(足球),当然是使用Canvas了,但除了Canvas还有没有其它方法呢?那是必须…

c语言算数转换 操作符

【题目名称】下面代码的结果是&#xff1a;( b)#include <stdio.h> int main() {int a, b, c;a 5;c a;b c, c, a, a;//逗号表达式从左向右以此计算 表达式结果是最后一个表达式b a c; //a9 先算加后算加等printf("a %d b %d c %d\n:", a, b, c);retu…

【软件测试】工作瓶颈?测试的出路在哪?

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 3年软件测试经验&am…

【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议

目录 一、基础知识 二、隧道技术 1、简介&#xff1a; 2、SMB隧道 3、ICMP隧道 4、DNS隧道 5、SSH协议 6、控制上线-插件 一、基础知识 【内网安全-基础】基础知识、信息收集、工具https://blog.csdn.net/qq_53079406/article/details/128292587?spm1001.2014.3001.55…

Seata 术语

爬虫组件分析目录概述需求&#xff1a;设计思路实现思路分析1.TC (Transaction Coordinator) - 事务协调者2.TM (Transaction Manager) - 事务管理器3.RM参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&…

[附源码]Nodejs计算机毕业设计基于的防疫隔离服务系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

ruoyi-vue 集成electron详细步骤

刚使用ruoyi-vue开始集成electron的可以直接去这个地址下载源码 ruoyi-vue-electron: 使用ruoyi-vue集成electron 集成步骤&#xff1a; 1、在ruoyi-vue项目中安装electron相关插件 //进入ruoyi-ui 按顺序执行安装以下4个插件yarn add electron yarn add electron-devtools-…

5、英飞凌-AURIX-TC3X7: PWM实验之使用 GTM -TOM 实现

目录5、英飞凌-AURIX-TC3X7&#xff1a; PWM实验之使用 GTM -TOM 实现1、GTM -TOM简介2、TOM框图3、TOM全局通道控制--TGC0, TGC14、实验简介4.1、实验目的4.2、TC3X7 GTM 简介4.3、具体配置流程5、具体实现5.1、Cpu0_Main.c5.2、TOM_PWM.C5.3、TOM_PWM.h5、英飞凌-AURIX-TC3X7…

StyleGAN系列

1. Progressive Growing of GANs for Improved Quality, Stability, and Variation (PGGAN) 作者&#xff1a; Tero Karras Timo Aila Samuli Laine Jaakko Lehtinen 基于一个理论&#xff0c;高分辨率的图像相对于较小分辨率的图像&#xff0c;是更难train的&#xff0c;…

List<T>, IQueryable, IEnumerable 关系和区别

最近在修项目的历史代码&#xff0c;发现搞混了很多拓展方法&#xff0c;写一篇博客澄清一下。 概念需要&#xff1a;iqueryable不应该和ienumerable比而应该和ilist比&#xff0c;ienumerable是这两者的父接口。 问题&#xff1a;IQueryable, IEnumerable的&#xff1f; &…

Linux vi/vim

vi/vim 的使用 基本上 vi/vim 共分为三种模式&#xff0c;分别是命令模式&#xff08;Command mode&#xff09;&#xff0c;输入模式&#xff08;Insert mode&#xff09;和底线命令模式&#xff08;Last line mode&#xff09;。 这三种模式的作用分别是&#xff1a; 命令模…