计算操作基础实践 9_第1页
计算操作基础实践 9_第2页
计算操作基础实践 9_第3页
计算操作基础实践 9_第4页
计算操作基础实践 9_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章文件系统为什么要区分逻辑文件系统和物理文件系统?为了实现文件的“用户视图”与“存储视图”分离:逻辑文件系统:面向用户,提供文件、目录、路径、权限等抽象,用户无需关心文件在磁盘上的物理位置,只需通过文件名/路径访问文件。物理文件系统:面向硬件,负责文件在磁盘上的物理块分配、地址映射、磁盘空间管理,处理底层的读写操作。两者分离后,用户操作更简单,同时文件系统可以灵活更换物理存储结构(如从连续分配改为索引分配)而不影响用户接口,也便于实现文件共享、权限控制文件系统实现按名称存取主要是通过怎样的机制来实现的?按名存取的核心是“文件名→文件控制块(FCB)→物理地址”的映射机制:用户通过文件名请求访问文件。系统在目录文件中查找该文件名对应的目录项,目录项中包含该文件的FCB地址(或直接包含FCB的核心信息,如文件大小、物理地址指针等)。根据FCB中的物理地址信息,找到文件在磁盘上的存储位置。对磁盘上的文件数据进行读写操作。等高级功能。列出并简单定义文件的几种常见逻辑结构。文件的常见逻辑结构无结构文件(流式文件):文件由无结构的字符流组成,没有记录的概念,如文本文件、二进制文件。有结构文件(记录式文件):文件由若干条逻辑记录组成,每条记录包含多个数据项,如数据库文件。常见的记录式文件结构:顺序文件:记录按顺序排列,可按记录号或关键字顺序存取。堆文件:按照记录先后顺序排列,搜索效率低。哈希文件:通过散列函数直接计算记录的存储地址。解释FCB与文件的关系。文件控制块(FCB,FileControlBlock)是操作系统为每个文件建立的、用于描述和控制文件的数据结构,是文件存在的唯一标识。FCB中包含文件的所有管理信息:文件名、文件类型、文件大小、物理地址指针、创建时间、修改时间、权限信息、共享计数等。文件本身是存储在磁盘上的数据集合,而FCB是文件的“元数据”,操作系统通过FCB来管理和访问文件。一个文件对应一个FCB,目录项本质上是FCB的简化形式(包含文件名和FCB的地址)。文件可分为有结构的文件和无结构的文件,请列出2种无结构文件的实例(教材给出的例子除外)。无结构文件即流式文件,实例:程序可执行文件(如.exe、.elf文件):由机器指令和数据组成,无固定记录结构。日志文件:按时间顺序记录系统事件,仅为字符流,无固定记录格式。图片/音视频文件(如jpg、mp4):由二进制数据组成,无逻辑记录划分。列出几种常见的记录组织方式。将逻辑记录组织成物理块的方式,主要有:定长记录组块:每个物理块中包含固定数量的定长逻辑记录,如每个块放10条100B的记录。变长记录组块:物理块中包含多条变长逻辑记录,记录间通过分隔符或记录长度标识区分。跨块组块:当一条逻辑记录长度大于物理块长度时,记录会跨多个物理块存储。非跨块组块:一条逻辑记录只存放在一个物理块中,若记录长度超过块长则需拆分(或块长足够大)。列出并简单定义3种文件的物理结构,它们各自的特点是什么。物理结构定义特点连续分配文件数据存放在磁盘上连续的物理块中优点:顺序读写速度快,寻址简单;缺点:易产生外部碎片,文件扩展困难链接分配文件数据存放在离散的物理块中,每个块包含指向下一个块的指针优点:无外部碎片,文件易扩展;缺点:随机读写效率低,指针占用额外空间,可靠性差(一个块损坏会导致后续块丢失)索引分配为每个文件建立索引表,索引表中存放文件数据块的地址优点:随机读写效率高,无外部碎片,文件易扩展;缺点:索引表占用额外存储空间,大文件可能需要多级索引假设某个文件由长度为80个字符的100条逻辑记录组成,磁盘存储空间被划分成长度为2048个字符的块。为了有效地使用磁盘空间,可以采用磁盘链接技术将文件存放在磁盘上,请回答下列问题:(1)该文件至少占用多少个磁盘存储块?(2)若该文件是以链接结构形式保存在磁盘上的,现用户要求使用第28个逻辑记录,写出系统为满足用户要求应做的主要工作。该文件至少占用的磁盘块数:每个磁盘块可存放的记录数:2048/80=25.6,取整为25条记录/块。总记录数100条,所需块数:100/25=4块。链接结构下访问第28条逻辑记录的过程:①读入文件的FCB,获取文件的第一个物理块地址。②从第一个物理块开始,依次读取每个物理块:--第1块:存放记录1~25;--第2块:存放记录26~50,第28条记录在第2块中。③读取第2个物理块,从中提取第28条记录(块内偏:(28-25-1)*80=160字符处开始的80字符)。④将记录返回给用户。举例说明文件记录分解的操作过程。以“将一条长记录拆分成多个物理块存储”为例:假设一条逻辑记录长度为5000B,磁盘块大小为2048B。记录拆分:5000/2048=2块余904B,因此该记录需要3个物理块存储:第1块:记录的前2048B;第2块:记录的中间2048B;第3块:记录的剩余904B(块内剩余空间填充结束标识或空白)。③在文件的索引表中,为该记录的3个物理块建立地址映射,或在链接结构中为每个块添加指向下一个块的指针。④当读取该记录时,依次读取3个物理块,拼接数据后返回完整记录。简要说明文件保护功能。文件保护是防止文件被非法访问、修改或破坏的机制,主要功能包括:存取控制:通过用户分类(所有者、组、其他用户)和权限(读、写、执行)限制文件访问。文件加密:对文件数据进行加密存储,只有持有密钥的用户才能解密访问。备份与恢复:定期备份文件,当文件被意外删除或损坏时,可通过备份恢复。防病毒与防篡改:通过校验和、数字签名等方式验证文件完整性,防止文件被恶意修改。当用户想要读取一个文件时,需要怎么操作才能正确完成读取过程,为什么需要这些操作?用户读取文件的完整过程:①打开文件:用户调用open()系统调用,传入文件名和访问模式。系统根据文件名查找目录项,找到文件的FCB,将FCB读入内存。检查用户权限,若合法则在进程的打开文件表中为该文件创建表项,返回文件描述符。原因:建立用户与文件的关联,验证访问权限,避免每次读写都重复查找FCB。②读取文件:用户调用read()系统调用,传入文件描述符、缓冲区地址和读取长度。系统根据文件描述符找到内存中的FCB,通过FCB中的物理地址指针,计算数据所在的磁盘块号。发起磁盘I/O请求,将磁盘块数据读入内核缓冲区,再复制到用户缓冲区。更新文件的读写指针位置。原因:通过FCB和物理地址映射,定位文件数据的磁盘位置,完成数据从磁盘到用户空间的传输。关闭文件:用户调用close()系统调用,传入文件描述符。系统更新FCB(如修改访问时间),释放进程打开文件表中的表项,若文件不再被其他进程使用,可将FCB写回磁盘。原因:释放系统资源,确保文件元数据的更新被持久化到磁盘。VFS的功能与优势是什么?虚拟文件系统是操作系统内核中的抽象层,为用户提供统一的文件系统接口,屏蔽底层不同文件系统的差异。功能:①提供统一的系统调用接口(如open()、read()、write()),用户无需关心底层文件系统的类型。②管理不同文件系统(如Ext4、NTFS、FAT32)的挂载、卸载和交互。③实现文件系统的通用操作,如缓存管理、权限检查。优势:支持多种文件系统共存,用户可以透明访问不同格式的文件系统。便于新文件系统的开发和集成,只需实现VFS定义的接口即可接入系统。简化用户和应用程序的开发,无需为不同文件系统编写不同的读写代码。假定一个文件系统的物理结构与MS-DOS的相似,在FAT中可有64K个指针,磁盘的盘块大小为512B,试问该文件系统能否指向一个512MB的磁盘?已知:FAT中有64K个指针,盘块大小512B。磁盘的最大容量=指针数量×盘块大小计算:64K×512B=65536×512B=32768KB=32MB结论:该文件系统最多支持32MB的磁盘,无法指引512MB的磁盘。在UNIX中,每个inode中有10个直接地址和1、2、三级间接索引。若每个盘块大小为512B,每个盘块地址为4B,则一个1MB的文件分别占用多少间接盘块?25MB的文件呢?已知:每个盘块大小512B,每个盘块地址4B;inode包含10个直接地址、1个一级间接地址、1个二级间接地址、1个三级间接地址。每个盘块可存放的地址数:512B/4B=128个地址。1MB文件占用的间接盘块数①文件大小:1MB=1024KB,1024KB/512B=2048个盘块。②直接地址可寻址的盘块数:10个。③剩余盘块数:2048-10=2038个。④一级间接地址可寻址的盘块数:128个。剩余:2038-128=1910个。⑤二级间接地址可寻址的盘块数:128*128=16384个,足够容纳剩余的1910个盘块。25MB文件占用的间接盘块数①文件大小:25MB=25*1024KB,1024KB/512B=51200个盘块。②直接地址:10个;一级间接:128个;二级间接:128*128=16384个。累计:10+128+16384=16522个。③剩余盘块数:51200-16522=34678个,需由三级间接地址寻址。④三级间接地址可寻址的盘块数:128*128*128=2097152个,足够容纳剩余盘块。15.假设某文件系统的硬盘空间为500MB,盘块大小为1KB,采用显式链接物理结构,请回答以下问题:(1)其FAT需占用多少存储空间?(2)如果文件A占用硬盘的盘块号依次为120、130、145、135、125,请画图说明文件A的FCB与FAT的关系以及FAT中各盘块间的链接情况。已知:硬盘空间500MB,盘块大小1KB。FAT需占用的存储空间•盘块总数:500MB/1KB=500*1024KB/1KB=512000个盘块。•每个FAT表项需表示盘块号,地址数为512000,因此每个表项大小为:219=524288≥512000,故需19位,通常用4B(32位)存储地址。•FAT总大小:512000×4B=2048000B=2000KB≈1.95MB。文件A的FCB与FAT的关系及链接情况•FCB中存放文件A的起始盘块号(如120)和文件大小。•FAT表中每个表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论