《操作系统设计与实现》第五章 文件管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

操作系统课程讲义《操作系统设计与实现》第五章文件管理主讲教师:史广顺gsshi@expervision.com.cngsshi@imi.nankai.edu.cn操作系统课程讲义2课堂考试DMA占用总线传输数据的三种方式是什么?请简要描述这三种方式的差异和优缺点课堂考试操作系统课程讲义3课后作业某DMA控制器具有四个通道,该控制器每100ns能够请求一个32位的字,响应要花费相等的时间长度。总线必须达到多快才能避免成为瓶颈?课后作业操作系统课程讲义4内容提要文件管理器(文件系统)概述文件系统设计原理文件结构定义磁盘空间管理文件系统服务功能文件系统管理实例剖析内容提要操作系统课程讲义5文件系统概述“文件”的基本概念“文件”的基本理解从人类文明的发展谈起“文件”的逻辑含义与物理体现“File”VS“Document”:概念背后的差别文件系统概述描述性定义:文件是辅助设备(磁盘驱动器)的基本抽象,用来永久保存数据和信息。操作系统课程讲义6文件系统概述计算机为什么需要文件?数量原因——内存无法保存大量信息时间原因——内存无法永久保存信息应用原因——内存无法方便实现共享文件系统的作用为应用程序提供逻辑抽象(虚拟机)为磁盘空间提供管理机制(资源管理器)文件系统概述操作系统课程讲义7文件系统概述文件系统概述文件系统服务器文件结构定义文件访问控制安全、保护磁盘空间分配磁盘数据存取磁盘设备防护数据文件磁盘空间映射应用层观点:逻辑抽象物理层观点:空间管理操作系统课程讲义8文件与文件系统文件的组成和作用由具有标识的、在逻辑上有完整意义的信息项的序列标识——文件名、信息项——文件体文件的逻辑含义:由文件的创建者和使用者进行定义和维护文件必须便于存储、检索、共享广义的“文件”概念:所有可存储、提供信息资源的设备均可称为文件文件系统的组成和概念操作系统中统一管理信息资源的软件模块,负责管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,方便用户的使用文件系统需要同时管理文件的逻辑结构和物理结构广义的文件系统:与I/O设备管理相结合,将所有I/O设备当作文件文件系统概述操作系统课程讲义9文件的结构要点和分类文件的结构要点命名规则:用于定义文件的“逻辑化标识”文件格式:用于定义文件的“逻辑化结构”文件访问:用于定义使用文件的方法和接口文件的分类按照文件性质和用途划分:系统文件、用户文件、库文件按照信息保存的期限划分:临时文件、永久文件、档案文件按照文件的保护方式划分:只读文件、读写文件、可执行文件按照文件的逻辑结构划分:流式文件、记录式文件、结构化文件按照文件的物理结构划分:顺序文件、链接文件、索引文件Unix中的文件分类:普通文件、目录文件、特殊文件(设备文件)文件系统概述信息项0信息项1……...信息项k……...信息项n读写指针操作系统课程讲义10文件系统的功能目标文件系统功能目标概述用户观点:虚拟机的作用,如何用统一的形式展现各类文件?如何提供方便的文件操作接口?系统观点:如何与其他系统模块进行交互?如何实现并维护文件的逻辑体系和物理结构?如何设计并实现各种文件的操作接口?文件系统的功能目标统一管理文件的存储空间,实现存储空间的分配与回收提供方便的文件访问机制,实现对文件的按名存取向用户提供完整而方便的文件操作接口(如开/关、读/写、关闭等)提供对文件的安全保护和信息共享机制向下提供和I/O设备相一致的接口,向上提供用户需要的相关信息实现“合理”、“有效”的性能目标:文件系统的执行性能文件系统概述操作系统课程讲义11内容提要文件管理器(文件系统)概述文件系统设计原理文件结构定义磁盘空间管理文件系统服务功能文件系统管理实例剖析内容提要操作系统课程讲义12文件系统设计原理-基本概念文件命名名称.扩展名(为什么用这种格式呢?)文件类型——标识文件的作用正规文件、目录、字符设备文件、块设备文件文件结构——逻辑结构三种常见的文件结构文件格式——数据组织形式你了解常见的文件格式定义吗?文件属性及相关操作文件属性相关操作:生死、存取、变化、设置文件系统设计原理操作系统课程讲义13文件的逻辑结构逻辑结构与物理结构的差别逻辑结构:内容的组织形式物理结构:数据的存储形式逻辑结构1——字节流最简单、最原始的逻辑结构最大缺点:增删改查困难逻辑结构2——记录序列结构化的文件内容组织曾经流行一时,已经落伍逻辑结构3——树形组织最灵活的逻辑结构便于增量存储和各种操作文件系统设计原理操作系统课程讲义14文件的格式组成文件系统设计原理操作系统课程讲义15常见的文件属性及其含义保护:谁可以存取文件、以什么方式存取文件口令:存取文件需要的口令创建者:文件的创建者ID所有者:当前所有者只读标志:0表示读/写;1表示只读隐藏标志:0表示正常;1表示不在列表中显示系统标志:0表示普通文件;1表示系统文件存档标志:0表示已经备份;1表示需要备份ASCII/二进制标志:0表示ASCII文件;1表示二进制文件随机存取标志:0表示只允许顺序存取;1表示随机存取临时标志:0表示正常;1表示进程退出时删除文件加锁标志:0表示未加锁;1表示已加锁记录长度:1个记录中的字节数键的位置:每个记录中键的偏移量键的长度:键字段的字节数创建时间:文件创建的日期和时间最后一次存取时间:文件上一次存取的日期和时间最后一次修改时间:文件上一次修改的日期和时间当前大小:文件的字节数最大长度:文件可能增长到的字节数文件系统设计原理操作系统课程讲义16目录的概念与作用目录——特殊的文件为什么需要目录?目录的逻辑结构定义值型结构与址型结构层次化的目录结构目录结构的管理方法单一目录,用户共享一个用户一个目录一个用户一个目录树文件系统设计原理目录访问——路径相对路径与绝对路径为什么要用相对路径?workingfolder概念目录操作与文件非常类似差别:访问操作、管理操作操作系统课程讲义17目录的结构形式与组成文件系统设计原理操作系统课程讲义18文件系统的实现文件系统布局如何划分磁盘空间——磁盘分区文件系统的技术实现文件的实现•磁盘空间分配方案:连续、链接、索引目录的实现•如何有效的保存文件名、文件属性和物理地址文件共享的实现磁盘空间管理以块为单位使用磁盘空间——对比存储管理中的“分页式”空闲块记录与磁盘配额限制文件系统的可靠性与性能保证文件备份与文件系统一致性高速缓存、块提前读、减少磁盘臂运动文件系统设计原理操作系统课程讲义19文件的空间分配策略连续分配方式将文件存储在连续的磁盘块中优点:容易实现、便于访问缺点:适用性差、造成磁盘碎片链接表分配为文件建立块链接表优点:克服连续分配方式的缺点缺点:无法随机访问、造成性能下降索引链接表对块链接表建立索引,保存在内存中优点:克服链接表方式的缺点缺点:浪费内存I-Node方式为每个文件建立I-Node表,类似页表优点:提高访问性能、支持大容量文件缺点:如何保存I-Node?文件系统设计原理外存与内存管理的差别管理数据的大小对系统性能的影响系统服务对象的差别系统设计思考文件逻辑结构定义了功能文件物理结构决定了性能静态概念:程序——数据动态概念:进程——文件操作系统课程讲义20文件空间的连续分配方式文件系统设计原理操作系统课程讲义21连续空间分配的优缺点分析优点分析简单易用:技术机制非常简单,易于实现和维护读取速度快:连续空间分配使得文件读取时磁盘工作量大大降低缺点分析文件不能动态增长:类似于“多道固定分区”存储机制•如果分配硬盘空间时预留扩充空间则会造成浪费•如果不预留扩充空间又使得文件扩容时必须重新分配空间不利于文件的插入和删除:技术机制简单但是效率低下易造成磁盘空间的“外零头”•需要特定的程序负责“紧缩”磁盘空间何时使用连续空间分配?简单应用环境,已知文件数量和大小文件系统设计原理操作系统课程讲义22文件的链接表与索引链接表文件系统设计原理操作系统课程讲义23链接表方式的优缺点分析优点分析磁盘空间利用效率很高缺点分析不利于文件的“随机访问”,依然需要进行“顺序存取”使用指针的方式会造成很高的可靠性和安全性风险指针占用磁盘空间,造成文件存取不变•上层应用以“块”为单位读取内容,指针占用空间后导致一个逻辑块的内容无法被保存在一个磁盘块中链接表方式的改进内存保存链接表方式(FAT)缺点在于使用内存保存FAT时,会占用大量内存空间文件系统设计原理操作系统课程讲义24基于索引的文件内容分配方式文件系统设计原理操作系统课程讲义25索引表方式的优缺点分析索引表组织形式链接方式:用指针将多个保存索引表的磁盘块连在一起多级索引:采用两级或者三级索引机制,记录大文件的磁盘空间地址混合模式:I-Node方法,既适应小文件,也满足大文件需求优点分析充分吸收了连续分配和链表分配的优点,支持顺序存取和随机存取可以方便的实现文件的空间动态增长,插入删除的要求充分利用了外存空间,管理过程有很高的效率缺点分析当文件的物理空间分布过于分散时,文件读取消耗较长的时间索引表方式占用了较多的系统资源,包括磁盘和内存,同时对操作系统的设计要求也很高文件系统设计原理操作系统课程讲义26文件物理空间分配方式的总结文件系统设计原理连续分配链表方式索引方式存储介质磁带支持不支持不支持磁盘支持支持支持存取方式顺序+随机存取顺序顺序+随机存取空间利用效率较低,会产生外零头指针占用磁盘空间引起管理问题利用磁盘和内存,但效率很高应用环境分析最简单、最原始中间过渡阶段广泛应用操作系统课程讲义27目录的物理结构实现目录系统的主要功能从路径名到文件物理位置的转换文件各类属性的保存目录系统的概念理解表面概念:称为“目录”的特殊文件,一个名字而已深层概念:对目录内所有文件、子目录的集中管理目录系统的重要作用文件结构的容器磁盘空间管理的重要途径文件系统设计原理操作系统课程讲义28目录的物理结构实现目录表与目录项目录表:保存该目录下所有文件的属性信息目录项:保存一个特定文件的相关属性信息结构实现的策略非层次化目录:一维表层次化目录:索引式目录表目录实现机制的举例MSDos系统、Unix系统文件系统设计原理操作系统课程讲义29目录实现需要考虑的问题目录自身的结构组成目录是特定类型的文件,一个目录文件可包含多个目录项目录项格式:包含文件属性内容或者地址目录的使用:将目录放在内存中,便于实现快速文件检索目录实现所面对的问题目录自身的数据结构设计:静态(一维表)和动态(索引)文件名长度:固定长度(8.3,14.x)和可变长度目录结构的性能保证空间利用效率:用链接、索引的方式代替值存储,层次化信息管理存取访问效率:使用Hash技术、高速缓存等方式提高目录检索速度文件共享问题:使用符号连接方式实现方便的共享文件系统设计原理操作系统课程讲义30目录项的实例说明文件系统设计原理操作系统课程讲义31目录项的实例说明文件系统设计原理操作系统课程讲义32磁盘空间管理管理内容为文件提供磁盘空间资源,实现文件逻辑结构与物理结构的对应为目录建立磁盘空间结构,实现层次化目录对磁盘空间进行有效的分配、释放和维护关键设计问题磁盘空间的管理策略:如何分配磁盘?如何维护磁盘?文件与目录的实现机制:如何更好的支持上层应用?文件系统的可靠性和安全性:如何防止访问错误和数据丢失?系统设计与实现思路分析定义良好的底层机制,高效管理磁盘空间搭建稳定的应用体系,提供多样系统服务设计完善的防护策略,保证系统运行性能文件系统设计原理操作系统课程讲义33磁盘空间管理策略空间单位划分字节序列:对磁盘空间不进行划分,管理效率低下块定义:类似于内存管理中的分页模式

1 / 54
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功