<Linux>(极简关键、省时省力)《Linux操作系统原理分析之文件管理(3)》(24)

本文主要是介绍<Linux>(极简关键、省时省力)《Linux操作系统原理分析之文件管理(3)》(24),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Linux操作系统原理分析之文件管理(3)》(24)

  • 7 文件管理
    • 7.5 文件存储空间的管理
    • 7.6 文件的共享和保护
      • 7.6.1 文件存取控制
      • 7.6.2 文件共享的实现方法
      • 7.6.3 文件的备份转储

7 文件管理

7.5 文件存储空间的管理

  1. 位示图
    在这里插入图片描述
    对每个磁盘可以用一张位示图指示磁盘空间的使用情况。一个磁盘的分块确定后,根据总块数决定位示图由多少字组成,位示图中的每一位与一个磁盘块对应,某位为“ 1”状态表示相应块已被占用,为“0”状态的位所对应的块是空闲块。
块号 b=(i-1)×n+j 
i=(b-1)DIV n +1
j=(b-1)mod n +1
  1. 空闲块表
    系统为每个磁盘建立一张空闲块表,表中每个登记项记录一组连续空闲块的首块号和块数,空闲块数为“0”的登记项为“空”登记项。 适合采用顺序结构的文件。
序号第一个空白块号空白块个数物理块号
1242、3、4、5
2939、10、11
315515、16、17、18、19
4
  1. 空闲块链表
    1、单块连接
    把所有空闲块用指针连接起来,每一个空闲块中都设置一个指向另一个空闲块的指针,所有的空闲块就构成了一个空闲块链。系统设置一个链首指针,指向链中的第一个空闲块,最后一个空闲块中的指针为“0”。 效率较低,麻烦费时。
    2、成组连接
    UNIX 系统:采用空闲块成组连接的方法。
    采用成组连接后,分配回收磁盘块时均在内存中查找和修改,只是在一组空闲块分配完或空闲的磁盘块构成一组时才启动磁盘读写。比单块连接方式效率高。
    在这里插入图片描述

7.6 文件的共享和保护

7.6.1 文件存取控制

  1. 存取控制矩阵
    如下图,记录所有用户对所有文件的使用权限。缺点:占用较大空间;查找速度慢
    在这里插入图片描述
  2. 存取控制表
    对存取控制矩阵改进,将用户进行分组。对一个文件而言,针对文件所有者,即其所在的各个用户组规定不同的存取权限,从而形成该文件的存取控制表。它比存取控制矩阵规模要小得多。
用户文件权限
文件所有者RWE
用户组 ARW
用户组 BRE
其他R
  1. 口令
    对文件规定一个口令,放在文件说明中,并规定使用该文件的用户。当用户访问文件时,必须提供口令。验证正确后,才能访问。
  2. 加密
    对文件中所有信息以密码形式重新编码存储,在读文件时,再进行译码解密。通常做法是:在用户向外存写入一个文件时,通过一个加密程序对文件的信息进行变化处理。读取文件时,通过一个解密程序把文件恢复原貌。

7.6.2 文件共享的实现方法

  1. 基于索引结点的共享方式:
    引用索引结点,即诸如文件的物理地址及其它的文件属性等信息,不再放在目录中,而是放在索引结点中。在文件目录中只设置文件名及指向相应索引结点的指针,如右图所示。
    在这里插入图片描述
    在索引结点中还应有一个链接计数 count,用于表示链接到本索引结点上的用户目录项的数目。当用户创建一个新文件时,他是该文件的所有者,此时将 count 置 1。当有用户 B 要共享此文件时,在用户 B 的用户目录中增加一目录项,并设置一指针指向该文件的索引结点,此时,文件主仍然是 C,count=2。如果用户 C 不再需要此文件,是不能将文件删除的,因为删除了该文件,也必删除了该文件的索引结点。

在这里插入图片描述

  1. 符号链实现文件共享 符号链实现文件共享:
    B 为了共享 C 的一个文件 F,可以由系统创建一个 LINK 类型的新文件,将新文件 F 写入 B 的用户目录中,以实现 B 的目录文件与文件 F 的链接。在新文件中只包含被链接文件 F 的路径名,称这样的链接方法为符号链接;

7.6.3 文件的备份转储

通过转储技术,定期将全部或部分文件转存在磁带、光盘作为备份。常用的转储方法有两种:全量转储、增量转储。

全量转储:把文件系统中所有文件,定期复制在磁带上。 增量转储:仅把修改过的文件和新建立的文件转储在磁带上。

这篇关于<Linux>(极简关键、省时省力)《Linux操作系统原理分析之文件管理(3)》(24)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/461141

相关文章

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选