百度网站关键字,wordpress 数据库查询,网站做多个页面,做301重定向会影响网站权重吗目录
四、第四章——文件管理
1、文件管理——基础概念
#xff08;1#xff09;文件结构
#xff08;2#xff09;操作系统提供的接口
#xff08;3#xff09;总结
2、文件的逻辑结构
#xff08;1#xff09;有结构文件#xff08;类似SQL表文件#xff09…目录
四、第四章——文件管理
1、文件管理——基础概念
1文件结构
2操作系统提供的接口
3总结
2、文件的逻辑结构
1有结构文件类似SQL表文件
2顺序文件
3索引文件——类似SQL索引
4索引顺序文件结合了顺序索引
5多级索引——开始套娃啦~
6总结
3、文件目录
1文件控制块
2单级目录结构out
3两级目录结构out
4树形目录结构out
4无环图目录结构
5索引结点
6总结
4、文件的物理结构
1连续分配可以理解为malloc
2链接分配2种——隐式链接
2链接分配2种——显式链接
3索引分配
3索引表太大——链接方案
3索引表太大——多层索引
3索引表太大——混合索引最优解
4还有一种方式自己想的
5总结
5、物理结构 逻辑结构
6、文件存储——空间管理
1存储空间的划分文件卷
2管理方法——空闲表法
3管理方法——空闲链表法
3管理方法——位示图法
4成组链表法数组链表
5总结
7、文件的基本操作 重点——打开读
1创建文件
2删除文件
3打开文件
3打开文件——打开文件表
4关闭文件
5读文件——读出外存
6写文件——写回外存
7总结
8、文件共享
1硬链接
2软链接 Windows里面的快捷方式
3总结
4硬链接和软链接的区别
9、文件保护
1口令保护
2加密保护
3访问控制
4总结
10、文件系统的层次结构
11、文件系统的全局结构
12、虚拟文件系统
1统一接口
2下层的文件系统需要实现特点功能否则操作系统将不认~
3iNode和Vnode
4文件系统的挂载挂载到操作系统上
13、磁盘的结构
1柱面号、盘面号、扇区号
2活动磁头、固定磁头
3可换磁盘、固定磁盘
14、磁盘调度算法重点
1读写操作——花费的时间
2先来先服务绝对公平-简单
3最短寻找时间优先SSFT-贪心算法-有饥饿现象
4扫描算法【SCAN】
5LOOK调度算法【LOOK】边走边看
6循环扫描算法【C-SCAN】
6C-LOOK调度算法【C-LOOK】
7总结
15、减少磁盘延迟时间的方法
1交替编号
2减少磁道移动
3不同盘片中的扇区-错位命名
4总结
16、磁盘管理
1磁盘初始化
2引导块
3损害的磁盘块
17、固态硬盘
1固态和机械
2结构
3寿命问题不要担心玩坏~ 四、第四章——文件管理 1、文件管理——基础概念 1文件结构 2操作系统提供的接口 3总结 2、文件的逻辑结构 1有结构文件类似SQL表文件 无结构——txt文件 有结构——SQL表文件 定长char——可变长varchar 2顺序文件 链式不考察 顺序考察——注意他的增加和删除开销比较大但是串比较简单 3索引文件——类似SQL索引 索引文件——类比——SQL中的索引 能够高效的进行检索——空间换时间 注意你还要维护这个索引表有额外的开销~ 4索引顺序文件结合了顺序索引 创建的索引是进行分组过的——这是一个折中的方法结合前两者的优点 相当于——先对全部数据进行【分组】——再把每一组的特点提出来——创建索引 5多级索引——开始套娃啦~ 既然可以创建一次索引那么就可以在索引的基础上再创建一个~ 6总结 3、文件目录
1文件控制块 2单级目录结构out 3两级目录结构out 4树形目录结构out 4无环图目录结构
有软链接还有快捷链接~这是实际应用中有的唉~ 5索引结点 把【目录项】再一次提取信息——创建【一个索引结点】——方便查找 类似——SQL索引注意这里也可以套娃~ 【创建了索引——空间换时间】——同时可以减少磁盘IO总数就是减少了查找范围 6总结 4、文件的物理结构 3种——连续、链接、索引 1连续分配可以理解为malloc 优点速度快可以直接找到【指定磁盘块】 缺点拓展大小不方便会产生很多【磁盘碎片】 结论:物理上采用连续分配的文件不方便拓展。 结论:物理上采用连续分配,存储空间利用率低会产生难以利用的磁盘碎片 可以用紧凑来处理碎片但是需要耗费很大的时间代价。 2链接分配2种——隐式链接 方便拓展但是只能顺序访问~ 2链接分配2种——显式链接 创建一个索引表文件分配表——FAT 空间换时间和索引一样 为什么叫显式为什么叫隐式估计你也知道了 一个链接是放在每个内存块的屁股一个是专门创建一个索引表~ 但是一个磁盘他只会建立一张表然后开机就读入内存-常驻内存~ 一个磁盘中的所有文件共用一张表 3索引分配 每有一个文件——就为其专门创建一个索引表太贴心了~可以随机访问 显示就只有共用~ 可见索引分配方式可以支持随机访问。文件拓展也很容易实现只需要给文件分配一个空闲块并增加一个索引表项即可)但是索引表需要占用一定的存储空间 3索引表太大——链接方案 把索引表分为多个就好啦~因为你一个磁盘块放不下嘛~那分为几个部分就行了~ 文件太大——这个方案就很低效 对比一下MySQL的【B树索引】貌似是这样的狗头.jpg 3索引表太大——多层索引 刚刚提到B树索引这里不就来了~多级索引树型索引套娃开始~ 每一层索引都可以存放不同的大小2层-64MB3层-16GB 3索引表太大——混合索引最优解 前面几个——直接索引 中间几个——一级索引 后面几个——二级索引 如果还有——三级索引…以此类推 软考也考唉~~~很熟悉嘻嘻 优点灵活IO次数适中 小文件——直接索引 中型文件——直接二级 大文件——直接二级三级… 4还有一种方式自己想的 在Java中数组超过一定长度时会自动转为红黑树 那么咱也可以自动切换当你小于多少时用直接索引大于多少时变为二级索引~ 以此类推临时的想法虽经不住推敲但是还是想记录下来~ 同时咱要知道索引方法还有其他的不止这几张长路漫漫学无止境加油 5总结 5、物理结构 逻辑结构 一个是用户来操心逻辑 一个是操作系统来操心物理 互相独立互不干扰 6、文件存储——空间管理 1存储空间的划分文件卷 2管理方法——空闲表法 和内存管理类似 如何分配空间有对应的算法——参考【内存分配】 如何回收空间有没有相邻的空间需要合并 3管理方法——空闲链表法
类似链表适用于离散空间 3管理方法——位示图法 离散和连续分配——都适用 被占用——为1 未使用——为0 4成组链表法数组链表
注意分配回收的方法【不容易考】 5总结 7、文件的基本操作 重点——打开读 记住这些是单独进行的只是软件把动作添加了而已 比如你【打开文件】之后就会自然有一个【读文件的】操作 这里把动作拆解开来是方便理解每一步具体干了什么 1创建文件 1、申请空闲空间—2、创建目录项——索引表也得维护 目录项——你可以理解为SQL创建了一条数据里面包含他所有的信息 但是内容是在外存里面的——他只是存储了对应的【磁盘块号】~ 2删除文件
1、找到目录项——2、回收磁盘块 —— 索引表什么的~ 3打开文件 1、找到目录项——2、权限检测——3、将目录项放入内存——3、【打开计算器】1 3打开文件——打开文件表 打开计数器用于数据共享——设计一个【打开文件的总表】 当文件要被删除时就可以查看该表是否打开~ 4关闭文件
1、打开文件表中【对应的表项】删除——2、内存资源回收——3、打开计算器-1
如果为0则直接删除对应的表项 5读文件——读出外存 6写文件——写回外存 7总结 8、文件共享 1硬链接 硬链接是在文件系统中【创建多个文件名】指向【同一个文件的数据块】。 这些文件名在文件系统中被视为等同的因为它们指向相同的数据块。 2软链接 Windows里面的快捷方式 3总结 硬链接和软链接的主要区别 硬链接是指多个文件名指向同一个文件数据块 软链接则是指一个特殊的文件其中包含了指向另一个文件的路径。 硬链接通常用于在不同的目录中创建相同文件的多个副本以节省存储空间。 软链接通常用于创建指向其他文件或目录的快捷方式以方便用户访问。 4硬链接和软链接的区别 1、本质不同 硬链接同一个文件多个名称。 软链接不同的文件。 2、跨分区 硬链接不支持跨分区。 软链接支持跨分区。 3、目录 硬链接不支持对目录创建。 软链接支持对目录创建。 4、相互关系 硬链接删除某一个硬链接另一个硬链接不影响使用。 软链接原始文件和软链接有依赖关系原始文件删了软链接就失效了。 5、inode编号 硬链接inode编号是相同的。 软链接inode编号不同。 6、链接数 硬链接删除一个硬链接硬链接的链接数会有变化。 软链接删除一个软链接链接数不会有变化删除的相当于是一个文件或快捷方式。 7、相对路径原始文件路径 硬链接硬链接的相对路径是相对的当前工作目录的相对路径。 软链接软链接的原始文件路径是相对的软链接的相对路径而不是相对当前工作目录。 8、文件类型 硬链接硬链接的文件类型是原来是什么就是什么例如原来是普通文件还是普通文件。 软链接软链接的文件类型是L 9、命令的实现不一样 硬链接ln 软链接ln -s 9、文件保护 1口令保护 保存在操作系统中不够安全~ 2加密保护 编码和译码要花费额外时间不过保密性不错~ 除了简单的异或加密之外还有一些常用的文件加密保护算法。以下是其中几种 对称加密算法对称加密使用相同的密钥来加密和解密数据。常见的对称加密算法包括 AES高级加密标准和DES数据加密标准等。非对称加密算法非对称加密使用一对密钥即公钥和私钥。公钥用于加密数据而私钥用于解密数据。常见的非对称加密算法包括 RSA 和 ECC椭圆曲线加密等。哈希函数哈希函数将输入数据转换为固定长度的哈希值通常是一个唯一的标识符。常见的哈希函数包括 SHA-256 和 MD5 等。虽然哈希函数本身不是加密算法但它们常用于验证数据完整性和生成数字签名。混淆和编码混淆和编码是通过改变数据的表示形式来隐藏其真实内容。常见的技术包括 Base64 编码和 URL 编码等。这些方法并不提供真正的加密但可以用于隐藏敏感数据的原始格式。 3访问控制 大部分操作系统都支持控制访问分组、给文件加权限… 用户分组——Linux中就有root用户可以建立分组并把用户进行分组~ 还有chmod 修改文件权限~ Windows中也可以设置权限~ 4总结 10、文件系统的层次结构 例子 用户使用—文件查询—权限查询—逻辑地址—物理地址—完成操作—空间重组 11、文件系统的全局结构 ① Open打开文件——在目录缓存中查询文件 ② 找到文件后——文件表信息更新 ③ 在该进程中——新建信息记录文件操作【方便后续操作】 12、虚拟文件系统
1统一接口 2下层的文件系统需要实现特点功能否则操作系统将不认~ 3iNode和Vnode 将【iNode】读入主存后进一步封装变为【vnode】方便后续操作 PSVnode是iNode的加强版 目的方便操作系统对文件进行操作 4文件系统的挂载挂载到操作系统上 比如你插了一个U盘U盘的文件就需要挂载到操作系统上~ 1、注册到挂载表上让【虚拟文件系统】发现【新的文件系统】 2、【新的文件系统】提供功能函数给【操作系统】 目的方便【虚拟文件系统】操作。【类似告诉他如何在本地实行各种权利】 3、把文件系统加入到【挂载点】 挂载后的截图 13、磁盘的结构 1柱面号、盘面号、扇区号 2活动磁头、固定磁头 3可换磁盘、固定磁盘 14、磁盘调度算法重点 1读写操作——花费的时间 时间优化问题
1、硬件——转速延迟、传输
2、软件操作系统——寻道时间——尽可能让磁头减少移动
2先来先服务绝对公平-简单 3最短寻找时间优先SSFT-贪心算法-有饥饿现象 在一系列的磁道请求中找到目前离他最短的磁道 4扫描算法【SCAN】 我愿称之为——【调头算法】~或者【老牛算法】 一条路走到头才死心这是缺点 往一个方向走到头才可以调头~ 5LOOK调度算法【LOOK】边走边看 边走边看【当前面没有需求时就调头~】 6循环扫描算法【C-SCAN】 扫描算法的优化 原来的扫描——往返扫描类似往返跑 循环扫描是只能从头到脚不能再从脚到头 目的响应磁道平均~ 但是也有点呆板需要加一个LOOK~边走边看 6C-LOOK调度算法【C-LOOK】 循环扫描的加强版——边走边看~ 7总结 其实SCAN和LOOK差不多C-SACN和C-LOOK差不多 都只是加了一个边走边看~ 15、减少磁盘延迟时间的方法 相邻的扇区无法连续读取因为每读取一个扇区就得处理数据 要读下一个扇区就等他在转一圈~ 如何实现连续的读取呢 1交替编号 把扇区交替编号~【给读取数据加一个间隔时间来处理数据】 2减少磁道移动 磁盘编址方式——【磁道号盘面号扇区号】不能随意换位置哟~ 连续地址都是从低位到高位 那么就可以【减少移动磁头】【切盘】就行了~ 3不同盘片中的扇区-错位命名 磁头不需要移动了但是切盘后读取来不及得错位命名 留出空闲时间来处理数据 4总结 16、磁盘管理 1磁盘初始化 2引导块 3损害的磁盘块 17、固态硬盘 固态硬盘Solid State Disk或Solid State Drive简称SSD又称固态驱动器是用固态电子存储芯片阵列制成的硬盘。 1固态和机械 2结构 3寿命问题不要担心玩坏~