首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏大内老A

    文件系统:物理文件系统

    物理文件系统由定义在NuGet包“Microsoft.Extensions.FileProviders.Physical”中的PhysicalFileProvider来构建。 这是一个公共类型,如果我们具有监控物理文件系统变化的需要,可以直接使用这个类型。 六、小结 我们借助下图所示的UML来对由PhysicalFileProvider构建物理文件系统的整体设计做一个简单的总结。 [ASP.NET Core 3框架揭秘] 文件系统[1]:抽象的“文件系统” [ASP.NET Core 3框架揭秘] 文件系统[2]:总体设计 [ASP.NET Core 3框架揭秘] 文件系统[3] :物理文件系统 [ASP.NET Core 3框架揭秘] 文件系统[4]:程序集内嵌文件系统

    2.2K50发布于 2019-11-24
  • 来自专栏别先生

    Kubernetes(k8s)之分布式文件系统glusterfs

    1、为什么使用分布式文件系统glusterfs? 答:使用持久化存储nfs,但是使用nfs这个共享存储特别简单,但是后期在扩容和管理方面都特别的不方便,在生产中一般都是使用分布式文件系统,这里使用的是分布式文件系统glusterfs。 2、什么是分布式文件系统glusterfs? 答:分布式文件系统glusterfs是一个开源分布式文件系统,具有强大的横向扩展能力,可以支持数PB存储容器和数千客户端,通过网络互联成一个并行的网络文件系统。 3、安装分布式文件系统glusterfs,需要所有节点都需要进行安装的,如下所示: 首先在三台节点上都安装glusterfs的yum源,如下所示: 1 [root@k8s-master ~]# yum

    1.7K30发布于 2020-07-06
  • 来自专栏大内老A

    文件系统:抽象的“文件系统

    一、树形层次结构 IFileProvider对象为我们构建了一个具有层次化目录结构的文件系统。 由于IFileProvider是一个接口,所以由它构建的是一个抽象化的文件系统,这里所谓的目录和文件都是一个抽象的概念。 为了让读者朋友们对这个文件系统有一个大体认识,我们先来演示几个简单的实例。 文件系统管理的所有文件以目录的形式进行组织,一个IFileProvider对象可以视为针对一个根目录的映射。 该方法具有一个类型为Action<int, string>的参数负责将文件系统的节点(目录或者文件)名称呈现出来。 对文件系统实施监控并在其发生改变时发送通知也是IFileProvider对象提供的核心功能之一。

    2.2K40发布于 2019-11-20
  • 来自专栏人人都是极客

    文件系统专栏 | 之文件系统架构

    文件系统的第一块是超级块,描述文件系统的总体信息,挂载文件系统的时候在内存中创建超级块的副本。 (2)挂载描述符。虚拟文件系统在内存中把目录组织为一棵树。 每次挂载文件系统,虚拟文件系统就会创建一个挂载描述符:mount 结构体,并且读取文件系统的超级块,在内存中创建超级块的一个副本。 (3)文件系统类型。 ,比如nfs */ #define FS_HAS_SUBTYPE  4 /* 文件系统含有子类型,比如fuse */ #define FS_USERNS_MOUNT  8 /* Can be mounted struct timespec64 i_ctime;//最后改变时间  spinlock_t  i_lock;//自旋锁  unsigned short          i_bytes;//使用的字节数  u8    i_blkbits;//以位为单位的块大小  u8   i_write_hint;//  blkcnt_t  i_blocks;//文件的块数 #ifdef __NEED_I_SIZE_ORDERED

    3.7K32编辑于 2022-08-26
  • 来自专栏大内老A

    文件系统:程序集内嵌文件系统

    由于内嵌于程序集的资源文件采用扁平化存储形式,所以在通过 EmbeddedFileProvider构建的文件系统中并没有目录层级的概念。我们可以认为所有的资源文件都保存在程序集的“根目录”下。 由于资源文件系统并不具有层次化的目录结构,它所谓的物理路径毫无意义,所以PhysicalPath属性直接返回Null。 对于内嵌资源文件系统来说,根本就不存在所谓的文件更新的问题,所以它的Watch方法会返回一个HasChanged属性总是False的IChangeToken对象。 [ASP.NET Core 3框架揭秘] 文件系统[1]:抽象的“文件系统” [ASP.NET Core 3框架揭秘] 文件系统[2]:总体设计 [ASP.NET Core 3框架揭秘] 文件系统[3] :物理文件系统 [ASP.NET Core 3框架揭秘] 文件系统[4]:程序集内嵌文件系统

    2.2K30发布于 2019-11-26
  • 来自专栏人人都是极客

    文件系统专栏 | 之文件系统挂载

    ext4文件系统挂载 大家可以使用以下命令挂载一个u盘到 /mnt目录下: mount -t ext4  /dev/sda1 /mnt 其中mount这个应用程序就是使用了mount函数进行系统调用,其系统调用为 fstype)   return -EINVAL;  type = get_fs_type(fstype);//根据文件系统名字查找文件系统类型  if (! (多见于FUSE),设置子文件系统类型名  if (! do_add_mount(real_mount(mnt), path, mnt_flags);  if (err)   mntput(mnt);  return err; } do_new_mount挂载函数首先根据文件系统名字查找文件系统类型 ;2.新文件系统的挂载实例的根inode是一个符号链接,这两种情况返回错误。

    4.2K10编辑于 2022-08-31
  • 来自专栏技术分享

    文件系统

    基本概念 文件系统和文件 文件系统: 一种用于持久性存储的系统抽象 在存储上: 组织,控制,导航,访问和检索数据 在大多数计算机系统包含文件系统 个人电脑,服务器,笔记本电脑 ipod,tivo,机顶盒 ,手机,电脑 google可能也是由一个文件系统构成的 文件: 文件系统中的一个单元的相关数据在操作系统中的抽象 文件系统的功能: 1. 管理文件集合** 定位文件及其内容 命名: 通过名字找到文件的接口 最常见: 分层文件系统 文件系统类型(组织文件的不同方式) 3. 网络,分布式文件系统: 例如: NFS,SMB,AFS,GFS 特殊,虚拟文件系统 网址等 文件可以通过网络被共享 分布式文件系统的问题 第二部分: 虚拟文件系统 分层结果 上层: 虚拟文件系统 底层: 特定文件系统模块 虚拟文件系统的目标 目的: 对所有不同文件系统的抽象 功能: 提供相同的文件和文件系统接口 管理所有文件和文件系统关联的数据结构 高效查询例程,遍历文件系统 与特定文件系统模块的交互

    1.5K21编辑于 2024-05-31
  • 来自专栏linux

    文件系统

    1.文件系统概览 文件系统本质就是磁盘和用户进程之间的中介 1.1.文件系统的作用 数据存储和组织:文件系统将存储设备划分成文件和目录,使得用户进程更易使用,实际还是存储到存储设备的磁盘块 数据命名和定位 : 允许用户对文件进行命名,可通过不同文件系统的inode进行文件定位 数据持久化:会将数据持久化到磁盘 数据共享和包含:文件系统提供了文件权限机制,可以控制不同用户对文件的权限类型不同,比如rwx-wxr ,然后被格式化为具体的文件类型,比如ext4 结构: 超级块:记录整个文件系统实例的元数据(大小,数量,空闲块数量等) inode表:记录文件和目录的元数据 数据块:实际存储文件内容的地方 2.常用文件系统 RPC 主要作用 实现文件级别的共享,类似于共享网盘 3.文件系统使用 3.1 创建分区 (在存储设备上创建可容纳文件系统的分区) 创建分区工具 fdisk : 任意存储设备上创建和管理分区,最大处理2TB (数据存储到分区之前,必须用文件系统对其进行格式化) 文件系统工具 3.3 将分区挂载到虚拟目录 4.逻辑卷(logic volumn manager LVM) 4.1 解决问题 在线、动态地调整大小

    46110编辑于 2025-11-06
  • 来自专栏golang算法架构leetcode技术php

    mac 上学习k8s系列(24):minio(part III)文件系统

    在启动minio的时候,我们会声明一个pv,其中定义了minio最终文件的存储方式和路径 minio/k8s/standalone/pv.yaml volumeMode: Filesystem hostPath: path: /Users/xiazemin/source/k8s_learn/minio/k8s/standalone/minio/ 进入到/Users/xiazemin/source /k8s_learn/minio/k8s/standalone/minio/这个目录,我们可以看到里面的有一个隐藏目录: .minio.sys 进入到这个隐藏目录,里面的文件如下: buckets config {"version":1} 3,外层的format.json文件 format.json {"version":"1","format":"fs","id":"bd78d817-8f16 -4589-a8fd-e7db8569033e","fs":{"version":"2"}} 定义了format是fs 4,multipart,由于我们没有分片上传过文件,所以multipart

    97520编辑于 2022-08-02
  • 来自专栏python知识

    文件系统

    home - 用户主目录的父目录 /lib - 共享库文件 /lib64 - 共享64位库文件 /lost+found - 存放未链接文件 /media - 自动识别设备的挂载目录 /mnt - 临时挂载文件系统的挂载点 opt - 可选插件软件包安装位置 /proc - 内核和进程信息 /root - root账户主目录 /run - 存放系统运行时需要的东西 /sbin - 超级用户的二进制文件 /sys - 设备的伪文件系统 磁盘管理 列出文件系统的磁盘使用状况 - df。 磁盘分区表操作 - fdisk。 格式化文件系统 - mkfs。 文件系统检查 - fsck。 挂载/卸载 - mount / umount。

    1.3K30发布于 2021-05-20
  • 来自专栏codechild

    文件系统

    文件系统的了解阶段 当文件没有打开的时候,那么文件存储在磁盘之中。 扇区就是磁盘的基本单位 虽然磁盘的基本单位是扇区(512字节),但是比较小,而且有可能不同的生产商给出的扇区的大小可能本不一样,所以操作系统(文件系统)和磁盘进行I/O操作的基本单位的块 块是对磁盘存储和访问的抽象 块通常由下面几个部分构成: Block Group:ext2文件系统根据分区的大小划分为数个快组BlockGroup。 ,且每一个BlockGroup都有着相同的结构 Block Group分为: 超级块:存放文件系统本身的结构信息。

    1.1K20编辑于 2023-05-30
  • 【Linux文件系统】Linux文件系统与设备驱动

    其实这背后藏着 Linux 最精妙的设计之一 —— 文件系统与设备驱动的协同工作。 VFS的职责:它定义了一套所有文件系统都必须支持的通用接口和数据结构(就像一个标准的工作流程模板)。 无论是本地的Ext4、NTFS,还是网络文件系统NFS,甚至是设备驱动的“伪文件系统”,只要它们按照VFS的“模板”实现一套自己的操作方式,就能接入VFS。 对下,它管理着所有不同类型的真实文件系统和设备驱动。应用程序发出的文件操作请求,先到达VFS,再由VFS根据文件类型,转发给对应的“下属”(比如Ext4文件系统或设备驱动)去具体执行。 七、关键概念图 Linux文件系统与设备驱动协作 ├── 核心纽带:VFS(虚拟文件系统) │ ├── 作用:统一接口,屏蔽差异 │ ├── 对接对象:文件系统、设备驱动、用户程序 │ └─

    37010编辑于 2026-01-21
  • 来自专栏原创分享

    文件系统杂谈

    文件系统中重要的概念有大概有超级块、inode、file、文件描述符、文件缓存系统、目录。下面我们逐个说一下。 文件系统的概念: 1.超级块 超级块是负责管理整个文件系统,他记录了文件系统的元数据。 从数据结构中我们可以看到他记录了文件系统的inode数量、文件系统在硬盘中占据的扇区数、inode位图、数据块位图、文件系统在硬盘中第一块的块号、该文件系统中文件大小的最大值。 文件系统的数据结构 文件系统的本质是利用一些策略对一块存储进行管理。所以我们首先需要了解文件系统的数据结构。 inode位图占据的最大硬盘块数 #define I_MAP_SLOTS 8 #define Z_MAP_SLOTS 8 // 超级块的魔数,说明是有效的超级块 #define SUPER_MAGIC #define NR_SUPER 8 #define NR_HASH 307 // 缓存文件系统数据的buffer个数,操作系统启动的时候初始化该变量 #define NR_BUFFERS nr_buffers

    1.9K32发布于 2020-02-25
  • 来自专栏Netkiller

    Glusterfs 文件系统

    # gluster peer status Number of Peers: 2 Hostname: brick1.example.com Uuid: c8acab33-ed6a-4aa5-8b77

    1.3K100发布于 2018-03-05
  • 来自专栏程序员的园——原创文章

    文件系统操作

    作为一名QT开发工程师,对于QT的文件系统操作的便利性推崇备至,但在非QT程序中仅仅因为操作文件系统而集成QT库显得过于繁重。 C++17引入了std::filesystem,使得文件系统操作变得前所未有的便捷和高效。 同时,文件系统操作的相应功能是在std中的filesystem命名空间内,所以在包含头文件<filesystem>的基础上,还要注意使用命名空间。 filesystem_error& ex) { std::cerr << "Exception caught (" << ex.what() << ")\n"; } 结语 std::filesystem不仅极大地简化了文件系统的操作

    77510编辑于 2024-07-18
  • 来自专栏学习笔记

    linux文件系统

    目录 c语言文件操作: linux文件系统调用: open: 标志位传参: 虚拟文件系统: write: close: 跨平台性: c语言文件操作: 先来简单回顾一下c语言的文件操作, linux文件系统调用: 在linux中,我们还可以使用系统调用来对文件进行修改,我们来认识几个系统调用接口: open: 我们先在linux下查一下这个函数的系统调用手册 虚拟文件系统: 回到open函数,可以注意到之前的代码,open函数有一个返回值,这个返回值是这个文件的文件标识符,一个进程,可能会打开很多文件,当一个文件被打开会创建一个struct files来描述这个文件 这套文件系统被称为虚拟文件系统 。 所以我们的操作系统在对文件进行操作时,只认文件描述符fd!!! write: 这里传fd的作用,想必不需要我多讲了,这个函数功能应该很明了了。

    4.9K10编辑于 2024-06-12
  • 来自专栏木可大大

    漫谈文件系统

    Wikipedia对文件系统定义: In computing, a file system or filesystem is used to control how data is stored and 翻译成中文大致意思:文件系统主要是管理数据存储以及数据如何检索的,而数据存储在磁盘或内存中。上期我们聊过了漫谈虚拟内存,本期我们就重点介绍磁盘中的机械磁盘的组成以及工作原理,然后引申到文件系统文件系统设计 文件系统采用分层设计,最底层的是设备,接着是IO控制(设备驱动),基本文件系统(向设备驱动程序发出命令),文件组织模块(负责文件的逻辑块和物理块,以及管理空闲空间),逻辑文件系统(管理元数据 ) 文件系统的实现 文件系统的实现包括磁盘结构和内存结构,即我们将文件以什么结构存储于磁盘,以什么结构存储于内存。

    4.3K121发布于 2018-04-08
  • 来自专栏linux驱动个人学习

    proc文件系统

    一、proc文件系统是什么? proc是一个伪文件系统,伪文件系统的定义: 它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。 由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。 我们常常用它来追踪进程的状态、内核的状态、内存信息、CPU使用率、系统启动时间(可以使用系统正常运行时间)等相应的信息; 二、proc文件系统详解 1、进程pid的相应的内容(以数字命名的内容): 每一个进程都有相应的进程号 proc/execdomains linux内核当前支持的execution domains /proc/fb 帧缓冲设备列表,包括数量和控制它的驱动 /proc/filesystems 内核当前支持的文件系统类型 交换空间的使用情况 /proc/version Linux内核版本和gcc版本 /proc/bus 系统总线(Bus)信息,例如pci/usb等 /proc/driver 驱动信息 /proc/fs 文件系统信息

    3.3K70发布于 2018-03-07
  • 来自专栏c++与qt学习

    文件系统指针

    1.fclose(stdin) 关闭掉系统输入指针 任何具有阻塞功能的代码都会默认直接跳过,因为键盘输入的功能被关闭了

    1K10发布于 2021-03-02
  • YashanDB文件系统

    崖山文件系统YFS是YashanDB的专用并行文件系统,提供存储设备管理、存储高可用、文件系统接口等功能。 YFS支持的AU size颗粒度有:1M(默认值)、4M、8M、16M、32M,用户可以在创建DiskGroup时指定该DiskGroup的AU size,或使用默认的AU size。 文件及目录管理YFS提供了一组文件操作API,抽象底层存储管理细节,语义兼容大多数文件系统操作,具备文件、目录、路径等文件系统基本概念。 可以通过绝对路径中的根识别文件系统类型,以+开头的是YFS路径,以/开头的是系统本地路径。yfscmd cp指令通过根路径字符识别文件所在文件系统,实现YFS和本地文件系统的交叉复制。

    52600编辑于 2025-03-04
领券