操作系统基础:文件系统基础【下】

简介: 操作系统基础:文件系统基础【下】



⚔️1 文件的基本操作

⚖️1.1 总览

⚖️1.2 几种基本操作

🔭1.2.1 创建文件

(1)创建文件会进行create系统调用,需要传入的几个主要参数为:

(2)操作系统在处理create系统调用时进行的工作

🔭1.2.2 删除文件

(1)删除文件会进行delete系统调用,需要传入的几个主要参数为:

(2)操作系统在处理delete系统调用时的工作

🔭1.2.3 打开文件

(1)打开文件会进行open系统调用,需要传入的几个主要参数为:

(2)操作系统在处理open系统调用时的工作

为什么要将目录项复制到”打开文件表“?这样做的话,用户在之后1再次操作文件就不要重新指定目录了,这样可以加快访问速度

(3)打开文件表

①用户的打开文件表

每个用户都有一个自己的打开文件表,其内容如图:

其中,读写指针记录用户目前对文件的读取位置。用户对文件的操作不可以超出打开文件表中的访问权限字段。

用户表中的系统表索引号与系统表中对应文件的索引号相同。

②系统的打开文件表

在操作系统内,有一张打开文件的总表,其基本结构如图

打开计数器的值表示这个文件此时被多少个进程打开了,设置这个表项的好处为:

🔭1.2.4 关闭文件

选择关闭文件时操作系统做的事:

🔭1.2.5 读文件

(1)读文件时进程需要做的事

①进行read系统调用

②指明打开哪个文件(打开文件表中的索引号)

③指明读入多少数据

④指明读入的数据要放在内存中的什么位置

(2)读文件时操作系统做的事

①从进程提供的读指针指向的外存中,将进程指定大小的数据读入进程指定的内存区域中。

🔭1.2.6 写文件

与读文件的操作类似

(1)写文件时进程需要做的事

①调用操作系统提供的write系统调用

②指明写回哪个文件(打开文件表中的索引号)

③指明写回多少数据

④写回外存的数据在内存中的位置指针

(2)写文件时操作系统做的事情

①从用户指针的内存区域中,将指定大小的数据写回到指定的外存区域内

⚖️1.3 总结

⚔️2 文件共享

🗜️2.1 总览

🗜️2.2 基于索引结点的共享方式(硬链接)

📡2.2.1 什么是索引结点

是文件的一种物理结构,文件的具体信息(物理地址、文件权限等等)放在索引结点中,而文件表中只存放文件名与指向索引结点的指针。这样可以加快检索文件的速度

📡2.2.2 解释

(1)示意图

(2)在不同用户的目录中的索引结点指针指向同一个索引结点,这样就是先了文件共享。

(3)此外,索引结点中还必须增加一个额外变量count:

🗜️2.3 基于符号链的共享方式(软链接)

📡2.3.1 解释

与硬链接中直接使用指针指向文件不同,软链接是新建一个文件,此文件中存放共享文件的路径(称为link文件)

📡2.3.2 示意图

📡2.3.3 注意

当共享文件被删除时,该link文件实际上也随机失效(联想Windows下的快快捷方式)

🗜️2.4 总结

⚔️3 文件保护

💣3.1 总览

💣3.2 口令保护

🔬3.2.1 解释

🔬3.2.2 优缺点

💣3.3 加密保护

🔬3.3.1 解释

🔬3.3.2 例子

3.3.3 优缺点

用户只需要记住自己的密码就可以了

💣3.4 访问控制

🔬3.4.1 解释

当某个用户对文件执行操作时,操作系统会首先查看访问控制列表,确认用户有该操作的权限。

🔬3.4.2 例子

(1)常用的文件操作

(2)访问控制列表

🔬3.4.3 精简的访问列表

(1)为什么要有精简的访问列表?

当系统内用户很多时,访问控制列表可能会很长,会造成比较大的开

(2)解释

而系统会管理分组的信息,例如哪些用户属于哪些分组

(3)例子

💣3.5 总结

🕮4 总结

操作系统,如默默守护的守夜者,无声地管理硬件与软件的交流,为计算机创造和谐秩序。

它是无形的引导者,让复杂的任务变得井然有序,为用户提供无忧体验。

操作系统的巧妙设计,让计算机变得更加智能高效,让人与科技之间的交流更加顺畅。

在每一次启动中,它如信任的伙伴,带领我们进入数字世界的奇妙旅程。

渴望挑战操作系统的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的💻OS专栏:《OS从基础到进阶》 ,旨在深度探索OS的实际应用和创新。🌐🔍

相关实践学习
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
2月前
|
Web App开发 移动开发 Linux
DP读书:《openEuler操作系统》(七)FSCK与VFS虚拟文件系统
DP读书:《openEuler操作系统》(七)FSCK与VFS虚拟文件系统
66 0
|
5月前
|
Linux 开发工具
Linux操作系统6:文件系统及磁盘管理
Linux操作系统6:文件系统及磁盘管理
91 0
|
2月前
|
存储 索引
操作系统基础:文件系统基础【上】
操作系统基础:文件系统基础【上】
|
6月前
|
Linux Shell Go
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
69 0
|
2月前
|
C语言
操作系统 | proc文件系统
操作系统 | proc文件系统
18 0
|
2月前
|
存储 Unix 程序员
非常详细!操作系统基础【文件系统实现】
非常详细!操作系统基础【文件系统实现】
123 0
|
2月前
|
存储 数据安全/隐私保护 索引
非常详细!操作系统:【文件系统概述】
非常详细!操作系统:【文件系统概述】
|
2月前
|
存储 块存储 索引
建议收藏!操作系统基础:文件系统实现【下】
建议收藏!操作系统基础:文件系统实现【下】
|
2月前
|
存储 文件存储
DP读书:《openEuler操作系统》(六)文件系统
DP读书:《openEuler操作系统》(六)文件系统
43 1
|
2月前
|
存储 Ubuntu Linux
【Linux操作系统】探秘Linux奥秘:文件系统的管理与使用
【Linux操作系统】探秘Linux奥秘:文件系统的管理与使用
33 0