⚔️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的实际应用和创新。🌐🔍