百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

灵光一闪来个科普贴:Linux文件系统

citgpt 2024-07-15 15:19 7 浏览 0 评论

在计算机系统中,各种需要保存的信息都是以文件的形式存在的。文件管理是对系统信息资源的管理,是操作系统的一项重要功能。

1.文件与文件系统:

灵光一闪来个科普贴:Linux文件系统

1.1文件:

文件是具有名字的一组相关信息的有序集合,存放在外部存储器中。文件的名字称为文件名,它是文件的标识。文件的信息可以是各种各样的,一个程序、一批数据、一张图 片、一段视频等都可以作为文件的内容。文件的存储空间是具有长久记忆特性的外部存储器(如磁盘、磁带等),因而文件是可以长久保存的信息形式。所有需要在系统关机后仍能保留的信息都应以文件的形式存在。

1.2文件系统

文件系统是操作系统的一个重要组成部分,它负责管理系统中的文件,为用户提供使用文件的操作接口。文件系统由实施文件管理的软件和被管理的文件组成。文件系统软件属于系统内核代码,文件则按特定的格式存放在磁盘分区中。文件系统通常以磁盘分区划分每个分区对应一个独立的文件系统。

归纳起来,文件系统的功能包括以下几项:

· 实现文件的"按名存取",包括按名建立、读写、检索、修改、删除文件等操作。

· 管理分区存储空间,实施存储空间的分配、回收与重组。

· 实现对文件的共享、保密和保护措施。

· 提供文件访问接口。

1.3文件的描述

为了实施和控制对文件的各种访问操作,文件系统为每个文件都建立了一个文件控制块(File Control Block, FCB).文件的FCB的作用类似于进程的PCB,它记录了文件的使用者和管理者所关心的所有信息包括文件名、属主、文件大小、物理存储位置、修改和访问时间、存取权限等。当用户创建一 个新文件时,文件系统就为这个文件建立起一个FCB。随着文件的操作FCB的内容也相应地变化。当文件被删除时,它的FCB也就消失了。

2. 文件系统的特点

Linux继承了Unix文件系统的优秀设计,并结合了此现代文件系统的先进技术, 在开放性、可扩展性和性能方面都十分出色。以下介绍Linuxs 文件系统的几个主要特征。

2.1 支持多种文件系统

许多操作系统(如DOS. Windows等)只支持种成几种专用的文件系统,而Linux系统则可以支持几乎所有流行的文件系统。这使得Linux可以和许多其他操作系统共存,允许用户访问其他操作系统分区中的文件。用户可以使用标准的系统调用操作各个文件系统中的文件,并可在它们之间自由地复制和移动文件。这种兼容性带来的另一个好处是Linux用户可以根据应用需要选择最适合的文件系统,并可体验众多文件系统新产品的先进特色。

2.2树型可挂装目录结构

Linux系统采用了树型目录和分区挂装的概念,系统分区上的文件系统称为根文件系统,其他所有分区的文件系统都要桂装(mount)到根文件系统下的某个目录下,然后通过根目录来访问。因此,与Windows系统将每个分区独立为棵树不同, Linux 文件系统总是只有一一棵树,不管挂入的是本地磁盘分区还是网络上的文件系统,它们都与根文件系统无縫结合,用户访问这些分区就如同访问根文件系统所在分区样。另外,Linux 支持动态地挂装和卸载文件系统,允许用户灵活地组织和扩充存储空间。

2.3文件、设备统一管理

Linux将设备也抽象为文件来处理,使用户可以像读/写文件样地操作设备进行IO操作。这样做既简化了系统结构和代码,又方便了用户对设备的使用。

2.4 linux文件系统的结构

Linux文件系统采用了分层结构的设计,如下图所示:

小编在这里跟大家只是简略的讲了一下linux文件系统,想要更好的去了解linux文件系统的结构、特点,就需要去系统的学习,去网上查询相关资料,可能有的人不知道什么资料会比较靠谱比较好,在这里推荐一本我看过的书这本书很接地气,他也有在线的网站,有需要的可以去看看。

不断学习、充电是当下每个人需要保持的习惯,抽点零散的时间,翻翻书,看看自己想要了解的东西,保持自己的好奇心,这样才不会被这个飞速发展的时代所抛弃,或许你看的书就是你自己下一个事业的转折点,祝大家学有所成,工作顺利哦!加油!

相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: