首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户9199536的专栏

    C|文件系统|FFS:Fast File System

    文件系统讨论了对于长期需求的编程接口的改进,包括: 文件的咨询锁机制(advisory lock) 跨文件系统名称空间拓展(name space across file system) 长文件名使用 在这里我们假设,inode中直接存储了file的前八个block,更多的block通过引用间接访问,类似于页表的分级索引,512-byte的文件系统中每级都会指向128个下一级block。 (感觉和他说的旧版本没啥区别,都是得重排) File System Parameterization 对于没有IOchannel的处理器,中断机制导致几次磁盘访问必须存在一定间隔。 (例如跳过6个,k,k+1,...,k+5构成一共六组连续) superblock还包含了一组旋转布局表,使用旋转位置索引,从中可以获取该旋转位置下所有block的block map。 Layout Policies global policy use file system wide summary information to make decisions regarding the

    76220发布于 2021-11-22
  • 来自专栏Miigon's Blog

    笔记 Lab9: File System | 文件系统

    这是我自学 MIT6.S081 操作系统课程的 lab 代码笔记第九篇:File System。此 lab 大致耗时:4小时。 Lab 9: File Systems 为 xv6文件系统添加大文件以及符号链接支持。该 lab 难度较低。 Large files (moderate) 原理与分析 与 FAT 文件系统类似,xv6 文件系统中的每一个 inode 结构体中,采用了混合索引的方式记录数据的所在具体盘块号。 system uint size; // Size of file (bytes) uint addrs[NDIRECT+1]; // Data block addresses 这里祭出上学校 OS 课的时候的笔记图: 本 lab 比较简单,主要前置是需要对文件系统的理解,确保充分理解 xv6 book 中的 file system 相关部分。

    1.3K10编辑于 2022-10-27
  • 来自专栏操作系统

    操作系统中的文件系统(File System)

    我们每天都使用计算机操作文件,对文件进行创建、修改等操作,而文件系统是操作系统中非常重要的一个板块,文件系统(File System)在操作系统中有很多值得探究的点,例如它是如何提高用户读写文件的效率的 ,如何在我们关机电脑后,重新启动将文件内容重新恢复,如果有多个进程同时对一个文件进行内容的修改操作,那么如何保证每个进程的读写文件操作会互不干扰,笔者在后续都会对这些内容进行探讨,本文旨在从底层介绍文件系统的大致组成与一般的读写流程文件系统介绍所有的操作系统基本都会将文件系统分为硬盘空间与内存空间两部分 ,硬盘空间中保存的是持久化过后的数据,这部分数据无论计算机发生怎样的进程崩溃都不会被改变,内存空间中保存的是用户最近访问操作过的数据,以xv6操作系统为例,其总体的文件系统布局如下图:而内存区去保存的所有文件最终都会被持久化到磁盘中 log(日志)区域中的数据块数量等log:存储对于内存区域文件的创建修改等信息,可以结合事务(transaction)完成计算机在崩溃操作后的文件恢复(crash recovery)inode:在xv6操作系统中为 (File System)的总体介绍以及流程讲解了,关于操作系统讨论的话题有很多,以xv6操作系统举例,它的缓冲区共用一把锁,导致每次对缓冲区进行文件操作时都要获取锁才可以执行,效率缓慢,如何提高缓冲区的文件执行效率

    94210编辑于 2024-10-30
  • 来自专栏格物致知

    CIFS:通用 Internet 文件系统 (Common Internet File System

    CIFS:通用 Internet 文件系统 (Common Internet File System) 通用网际文件系统(CIFS)是微软服务器消息块协议(SMB)的增强版本,是计算机用户在企业内部网和因特网上共享文件的标准方法 全局文件名:用户不必挂载远程文件系统也能直接查阅到全局有效名称,而不是只有本地意义的那些名称。 协议结构 CIFS 和 SMB 定义了许多客户端和服务器端的命令和消息。

    1.3K20编辑于 2022-08-19
  • 来自专栏MYSQL轻松学

    分布式文件系统—Google File System介绍

    这些应用场景都是传统文件系统不能解决的。 分布式文件系统将数据存储在物理上分散的多个存储节点上,对这些节点的资源进行统一的管理与分配,并向用户提供文件系统访问接口,其主要解决了本地文件系统在文件大小、文件数量、打开文件数等的限制问题。 分布式文件系统的数据存储解决方案,归根结底是将将大问题划分为小问题。 接口 用户最终通过文件系统提供的接口来存取数据 需考虑接口复杂性 2. 其他 数据进行加密保证数据的安全性 数据进行压缩后存储降低存储空间使用 在接口中封装一些访问统计行为,以支持系统对应用的行为进行监控和统计 本文主要从典型分布式文件系统架构出发,讨论了分布式文件系统的基本原理

    2.4K40发布于 2019-11-12
  • 来自专栏sukuna的博客

    MIT_6.S081_xv6.Information 6:File System

    MIT_6.S081_xv6.Information 6:File System 于2022年3月27日2022年3月27日由Sukuna发布 1.概览 xv6文件系统由7层组成,首先就是最下面的硬件层 ,就是哪些磁盘块存放控制文件总体信息的inode,哪些磁盘块存放具体的文件.在这里,xv6把磁盘分成了几个部分,第0块是boot块,这里面存放着引导操作系统的代码.第1块又被称为“超级块”,超级块中存放了关于整个文件系统的原数据 xv6系统调用不直接写入硬盘上文件系统的数据结构。相反,它把一个描述放在磁盘上,这个描述是它在一个log里所期望的所有磁盘写操作。 system. 读写操作和设备文件 file.c和file.h文件中记录了xv6的驱动 // map major device number to device functions. struct devsw {

    82020编辑于 2022-12-08
  • 来自专栏软件设计

    6.S0816.828: 9 Lab file system

    参考xv6源码分析--文件系统。一、Large files1 目的目前xv6包含12个直接索引和1个二级索引,共索引12KB+256KB。 增加xv6文件的索引范围,使得能够索引256*256KB+256KB+11KB,牺牲一个直接索引,将其转变为三级索引。 2 问题分析mkfs程序会创建xv6文件系统磁盘镜像并决定文件系统有多少blocks,这个大小受kernel/param.h中的FSSIZE控制。 = 0; //更新磁盘上inode iupdate(ip);}二、Symbolic links1 目的本任务是实现symlink(char *target, char *path)系统调用,给xv6添加符号链接 target,MAXPATH)<0) return -1; if(argstr(1,path,MAXPATH)<0) return -1; struct inode *ip; struct file

    64830编辑于 2022-12-02
  • 来自专栏c++与qt学习

    MIT 6.S081 Lab Nine --- file system

    MIT 6.S081 Lab Nine --- file system 引言 本文为 MIT 6.S081 2020 操作系统 实验九解析。 MIT 6.S081课程前置基础参考: 基于RISC-V搭建操作系统系列 ---- File system 在本实验室中,您将向xv6文件系统添加大型文件和符号链接。 Attention 在编写代码之前,您应该阅读《xv6手册》中的《第八章:文件系统》,并学习相应的代码。 200000 // size of file system in blocks 您将看到,该实验室存储库中的FSSIZE设置为200000个块。 如果您的文件系统进入坏状态,可能是由于崩溃,请删除fs.img(从Unix而不是xv6执行此操作)。make将为您构建一个新的干净文件系统映像。

    81331编辑于 2023-10-11
  • 来自专栏月梦·剑心的技术专栏

    The Google File System

    今天看了The Google File System的论文,我们简称其为GFS。 GFS与之前的分布式文件系统有着许多共同的目标,比如性能、可扩展性、可靠性和可用性。 但是,Google在实践中提出了与早期分布式文件系统不同的设计。 首先,组件失效是常态而不是例外。 第四,共同设计应用程序和文件系统API可以增加我们的灵活性,从而使整个系统受益。例如,我们使用弱一致性模型,以简化文件系统。 未完待续…… 参考文献 [1] Adusumilli P .THE GOOGLE FILE SYSTEM[J].[2023-08-30]. [2] Hades. 【译文】The Google File System 经典的分布式文件存储系统[EB/OL]. [2023-08-31]. https://zhuanlan.zhihu.com/p/522459187.

    60430编辑于 2023-09-01
  • 来自专栏月梦·剑心的技术专栏

    The Google File System

    今天看了The Google File System的论文,我们简称其为GFS。 GFS与之前的分布式文件系统有着许多共同的目标,比如性能、可扩展性、可靠性和可用性。 但是,Google在实践中提出了与早期分布式文件系统不同的设计。 首先,组件失效是常态而不是例外。 第四,共同设计应用程序和文件系统API可以增加我们的灵活性,从而使整个系统受益。例如,我们使用弱一致性模型,以简化文件系统。 未完待续… 参考文献 [1] Adusumilli P .THE GOOGLE FILE SYSTEM[J].[2023-08-30]. [2] Hades. 【译文】The Google File System 经典的分布式文件存储系统[EB/OL]. [2023-08-31]. https://zhuanlan.zhihu.com/p/522459187.

    58940编辑于 2023-11-18
  • 来自专栏开源心路

    The Google File System

    而这篇 GFS 的论文一发表,一下子就拿出了一个运作在 1000 台服务器以上的分布式文件系统。并且这个文件系统,还会面临外部数百个并发访问的客户端,可以称得上是石破天惊。

    33410编辑于 2023-06-30
  • 来自专栏sukuna的博客

    MIT_6.s081_Lab9:Xv6 and File System

    MIT_6.s081_Lab9:Xv6 and File System 于2022年3月8日2022年3月8日由Sukuna发布 Lab 9_1 Large files 在这个实验中,你会拓展文件系统中文件的最大大小 其中xv6文件系统映射到fs.img中,这个一共有二十万个块,其中70个保存块信息的meta块,剩下的都是数据.完成这个实验你需要关注磁盘 inode 的格式,这个由 fs.h 中的 struct dinode 查看 xv6 文本中的图 8.3 以了解标准 xv6 inode 的图表。 在磁盘上查找文件数据的代码在 fs.c 的 bmap() 中。 看看它,确保你明白它在做什么。 NDIRECT+2]; #define MAXFILE (NDIRECT + NINDIRECT + NDOUBLE)//文件最大值也要改变 其中直接映射的数量由原来的12个改为11个. 2) 对应的file.h create(path, T_SYMLINK, 0, 0)) == 0) { end_op(); return -1; } // write the path of the file

    58320编辑于 2022-12-08
  • chattr lsattr linux file system attributes - linux 文件系统文件属性

    我们使用 linux 文件系统定义的文件属性,能够对linux文件系统进行进一步保护;从而给文件 赋予一些额外的限制;在有些情况下,能够对我们的系统提供保护; 该命令特定用于 linux  extended 其也包含badblocks等用于检查文件系统坏块的工具。 chattr命令用来改变文件属性。 这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:详细作用,可以查看man手册;注意该属性不是linux文件系统扩展属性。 lsattr - list file attributes on a Linux second extended file system 比如你可以给 /etc/passwd 文件进行修改,这样就是连root ,请参考:Linux 文件系统扩展属性

    1.8K10发布于 2020-12-30
  • 来自专栏Juicedata

    文件系统考古:1974-Unix V7 File System

    Bach 的经典著作 The Design of the Unix Operating System,并查看 Research V7 Snapshot 这个分支的代码库。 Kernels 在 Unix 中,我们通过配置头文件(header file)来处理系统资源。如下图所示,这里显示了头文件中配置的默认值,数据结构是数组,所示值是相应的数组大小。 它有一个文件系统缓冲区缓存(file system buffer cache),使用 NBUF(29)个磁盘块,每个磁盘块的大小是 512 字节,用来暂时存储磁盘上的数据块和 inode,从而加速文件系统访问 在文件系统的开始部分,我们可以找到超级块(superblock)。它位于文件系统的第 1 块。超级块存储了文件系统的一些基本信息,比如文件系统的大小、空闲块的数量、空闲索引节点的数量等。 这使得磁盘搜索的复杂度为O(1); 下层文件系统创建文件和上层的文件系统组织文件互相隔离,分工明确。

    66930编辑于 2023-05-27
  • 来自专栏巡天遥看一千河

    linux_file_system

    主要思路 写自己的总结之前在网上找了一些别人的总结,很多人很喜欢从宏观着手,上来就介绍 VFS,讲文件系统的分层然后具体到 ext2/ext3/ext4 文件系统,讲这部分文件系统是如何结构化磁盘的以方便文件的管理 代码在这里: linux-0.11 系统调用 以前写过一篇系统调用的: http://www.oneyearago.me/2018/05/08/apue-again-system-call-and-std 的属性是 brw-r—– ,注意前面的第一个字符是b,这表示块设备,比如硬盘,光驱等设备 5.套接字文件 # /var/lib/mysql/mysql.sock srwxrwxrwx 6. f=0+file_table; for (i=0 ; i<NR_FILE ; i++,f++) if (! ,用inode组织磁盘,像ntfs文件系统是不用inode这种形式的,为了支持多个文件系统,Linux实现了 虚拟文件系统 VFS 计算机中出现的问题,绝大多数都能通过添加中间层的方式实现,这句话真是有道理啊

    2.3K10发布于 2020-11-04
  • 来自专栏分布式系统进阶

    重读 Google File System

    前言 本着常读常新的原则,最近又一次阅读了Google三架马车之一的《Google File System》。它里面的一些设计思想,实现原则以及取舍,时至今日仍很有参考价值。 注:下文中我们将Google File System简称为GFS。 GFS特点 Google File System在考虑通用分布式文件系统设计的同时,也更多地从自身业务需求出发,提出了一些新的设计理念和新的系统特点: 将机器宕机,重启,挂掉视为常态。 主Chunk将响应分别返回到C3,C4两个客户端; 6. 如果有部分复本写入失败,则此失败的信息也会返回到对应的客户端。 后记 关于《Google File System》的重读,我们就先到这里。论文里包含得比这里介绍得要丰富详实得多,这里算作是抛砖引玉吧。

    1.2K30发布于 2021-02-02
  • 嵌入式 ARM Linux 系统构成(3):根文件系统(Root File System

    在嵌入式 ARM Linux 系统的构建中,根文件系统(Root File System,简称根文件系统)扮演着至关重要的角色。 一、根文件系统的原理与重要性 根文件系统是 Linux 系统中所有其他文件系统和目录的起源。在 Linux 中,所有文件、目录、设备和驱动都被组织为一个树型结构,根文件系统就是这个结构的根节点。 ⑥制作根文件系统镜像:使用专用工具(如 mke2fs)将文件夹形式的根文件系统制作成可供烧录的镜像文件。 四、根文件系统的测试 制作完成后,需要对根文件系统进行测试以确保其能够正常工作。 七、优化根文件系统 在嵌入式系统中,资源有限,因此需要对根文件系统进行优化以提高性能和降低功耗。 ⑤使用压缩文件系统:选择压缩文件系统(如 CRAMFS、SquashFS 等)来减少根文件系统的大小,同时提高读取速度。

    35910编辑于 2026-01-21
  • 来自专栏北京马哥教育

    Linux文件系统只读Read-only file system的快速解决方法

    上周公司的私有云(底层架构是Openstack+KVM,目前稳定性还不够好,开发团队在改进中)一个计算节点挂掉,之后恢复后发现这个计算节点的所有Linux虚拟机系统都变成只读了,复制文件提示:Read-only file system,如图所示: ? 问题原因:系统没有正常关机,导致虚拟磁盘出现文件系统错误。 修正完文件系统后,如果没有提示重启系统,也需要reboot来重启系统。 扩展知识:fsck简介 fsck不仅可以对文件系统进行扫描,还能修正文件系统的一些问题。 最好是根据不同的文件系统来调用不同的扫描工具,比如ext3的文件系统使用fsck.ext3,ext4文件系统使用fsck.ext4等。

    12K100发布于 2018-05-02
  • 来自专栏小狼的世界

    Google File System 阅读笔记

    今天终于拜读了著名GFS的论文,大体上的设计思路是明白了,复杂的系统,其实用了很多简单的逻辑在里面,下面是记录的一些笔记:

    53520发布于 2018-07-25
  • 来自专栏Java技术

    compusERRORC is a new distributed file web system

    compusERRORC is a new distributed file web system-CoderOilStation(程序员编程助手科技股份责任有限公司)Biguiyuan group company ’s amtribution to build a software department for Bozhilin sub compusERRORC is a new distributed file web system. This tech is a standard tech to serve for excel file data transfer into server node database.Spring Batch framework is a distributed tech framework for big volumn data choose system.

    16600编辑于 2025-07-22
领券