1 / 37

第 5 章 操作系统

第 5 章 操作系统. 1 进 ( 线 ) 程与处理器管理 2 存储管理与虚拟存储器 3 文件管理与文件系统. 3 文件系统. 回顾:文件 (file) 的用户视图. 信息在外存中以文件的形式存储,使用时 “ 按名存取 ” 文件的名字由两部分组成: 文件名 . 扩展名. 文件在系统中的 ( 逻辑 ) 位置是: 驱动器号 ( 盘符 ) / 文件路径 / 文件名 文件的管理属性: 文件大小 ( 长度 ) 、存放位置、日期、创建人等 文件的使用 ( 保护 ) 属性: 只读、隐藏、系统、存档、压缩、加密、 ···. 对文件进行的操作:

zanna
Download Presentation

第 5 章 操作系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第5章 操作系统 1进(线)程与处理器管理 2 存储管理与虚拟存储器 3 文件管理与文件系统

  2. 3 文件系统

  3. 回顾:文件(file)的用户视图 • 信息在外存中以文件的形式存储,使用时“按名存取” • 文件的名字由两部分组成:文件名.扩展名 • 文件在系统中的(逻辑)位置是: 驱动器号(盘符) /文件路径/文件名 • 文件的管理属性: • 文件大小(长度)、存放位置、日期、创建人等 • 文件的使用(保护)属性: • 只读、隐藏、系统、存档、压缩、加密、··· • 对文件进行的操作: • 创建、删除、复制、移动、打开、关闭等

  4. 文 件 内 容 文件名1 ···位置1 文件名2 ···位置2 文件名等说明信息 File Directory 文件名3 ···位置3 ··· F 1 文件名n ···位置n F 2 F 3 F n 文件目录(文件夹) • 什么是文件目录? • 文件目录本质上是一张“名字-地址对照表” • 文件目录由它所含文件的名字及其物理位置等信息组成 • 文件和文件目录都存储在外存储器中

  5. 三种文件目录结构1 • Single-Level Directory • 对应文件均在一个目录中 • 缺点:不能同名;不能分组 • Two-Level Directory

  6. 分区1 分区2 三种文件目录结构2 • Tree-Structured Directories: • 优点: • 可分类存放 • 允许重名 • 便于查找 • 便于控制 • 当今大型操作系统均采用树形结构的目录

  7. 文件管理需要解决哪些问题 ? • 如何合理而有效地分配和管理外存储器的存储空间; • 如何将“盘符\文件路径\文件名”转换为相应磁盘上的扇区位置,实现对文件快速的存取; • 如何克服软盘、硬盘、光盘、优盘等不同外存储器的多样性,实现统一管理; • 如何统一本地文件和网络上其它计算机中的(远程)文件的存取与操作; • 如何实现文件的安全存取; • 如何压缩文件数据,节省外存空间,等等。 • 文件系统实例:引导型病毒、文件型病毒原理

  8. 磁盘空间管理

  9. 扇 区 磁 道 旋转轴 磁道 磁头 碟片 回顾:磁盘的磁道和扇区 每个磁道被划分为若干扇区,每个扇区容量为512字节,每个扇区都有一个编号 磁盘表面的每个同心圆称为一个磁道;每个磁道都有一个编号,最外面的是0磁道 • 信息的记录和读出均以扇区为单位 • 扇区的寻址:柱面# : 磁头(盘面)# : 扇区#

  10. 0 1 2 3 ….. m 不使用 区域 MBR 分区 #1 分区 #2 分区#3 硬盘上开始的几个扇区,用于管理目的。其中0#扇区称为主引导扇区 (Master Boot Record) 每个分区中的第1个扇区称为引导扇区 外存储器空间的逻辑结构 • OS把外存储空间可以看作是由大量扇区(512B)组成的一维阵列 • OS可对硬盘进行分区,即将一个物理盘划分为几个逻辑盘 • 每个分区称为1个逻辑盘,它有自己的盘符,用户可以将它视同为1个物理存储器 • 不同的分区可以安装不同的操作系统

  11. 校验信息 主引导扇区MBR内容举例 OFFSET 0 1 2 3 4 5 6 7 8 9 A B C D E F 000000 fa33c08e d0bc007c 8bf45007 501ffbfc 000010 bf0006b9 0001f2a5 ea1d0600 00bebe07 000020 b304803c 80740e80 3c00751c 83c610fe 000030 cb75efcd 188b148b 4c028bee 83c610fe 000040 cb741a80 3c0074f4 be8b06ac 3c00740b 000050 56bb0700 b40ecd10 5eebf0eb febf0500 000060 bb007cb8 010257cd 135f730c 33c0cd13 000070 4f75edbe a306ebd3 bec206bf fe7d813d 000080 55aa75c7 8bf5ea00 7c000049 6e76616c 000090 69642070 61727469 74696f6e 20746162 0000a0 6c650045 72726f72 206c6f61 64696e67 0000b0 206f7065 72617469 6e672073 79737465 0000c0 6d004d69 7373696e 67206f70 65726174 0000d0 696e6720 73797374 656d0000 00000000 0000e0 00000000 00000000 00000000 00000000 (············) 0001b0 00000000 00000000 00000000 00008001 *................* 0001c0 0100060d fef83e00 00000678 0d000000 *...........x....* 0001d0 00000000 00000000 00000000 00000000 *................* 0001e0 00000000 00000000 00000000 00000000 *................* 0001f 0 00000000 00000000 00000000 000055aa *..............U.* 引导程序 分区表

  12. Boot Loader (446 bytes) Partition Table (64 bytes) signature (2 bytes) 主引导扇区MBR的内容与作用 • 主引导扇区 (Master Boot Record,MBR) 包含如下3部分内容: (共512字节) 指出每个分区的起始扇区号和包含的扇区数目,操作系统的类型 自举装入程序在计算机启动时被BIOS读出并执行,由它再读出相应分区中引导扇区内的引导程序,CPU执行引导程序即可再从磁盘上读入系统启动文件,从而启动操作系统 校验信息:用于验证MBR中信息读出的正确性

  13. 主引导扇区MBR 引导扇区 文件分配表FAT1 文件分配表FAT2 第1分区 根目录区(FDT) 数据区 (以簇为分配单位) 其它分区 每个逻辑盘(分区)的空间划分 • 在硬盘格式化或分区时,软件会自动将每个分区划分成为如下4个部分: • 引导扇区。它包含如下信息: • 引导程序及系统启动文件的文件名 • 文件系统的类型 • 簇的大小 • 根目录允许的最大目录项数目 • 文件分配表(FAT) 2份:用于记录数据区的使用情况 • 根目录区:包含该分区根目录中所有文件及文件夹的目录信息, • 数据区:划分为数以百万计的簇,存放该分区所有文件的数据(内容)

  14. 盘空间的分配单位——簇(Cluster) • 磁盘数据的存取(编址)单位是扇区,但数据空间的分配单位是“簇”(即一组扇区),1簇 = 2n个扇区 • 簇的大小与磁盘分区容量的大小有关: • 软盘的簇固定为512字节(n=0, 1个扇区) • 硬盘的簇可以是2KB或4KB,40GB以上硬盘,簇可以在8KB以上 • 例如:某硬盘分区容量为40GB,簇大小为8KB(n=4,即16扇区),则一共有5 000 000 个簇 • 每一个簇都有一个簇号,簇号是簇的顺序号,从簇号很容易计算出磁盘上属于该簇的物理扇区的位置 • 根据磁盘分区的容量以及簇的大小,可以推算出簇号需要的二进位位数,例如: • 软盘为1.44MB,每簇为1个扇区,共2880个簇,簇号用12位表示 • 分区容量为40GB、簇大小为8KB时,簇号至少需要23位表示

  15. 引导扇区 文件分配表FAT1 硬盘分区 文件分配表FAT2 根目录区(FDT) 数据区 (以簇为分配单位) 16 00 00 00 10 25 00 00 00 FAT 00 00 00 00 00 00 FF 00 00 00 FF 17 00 01 00 29 00 00 0 1 2 3 4 5 6 7 8 910 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ········· 00 00 00 24 00 文件分配表FAT • 文件分配表(File Allocation Table)是用来记录磁盘数据空间分配情况的一张表,它指出每个簇的3种情况: • “空闲”簇:用“全0”(00)作为标志 • “坏”簇:用“全1”(FF)作为标志 • “已使用”的簇:非全0也非全1的其它数值 • FAT表在磁盘格式化时自动生成,一式两份(一份为备份),坏簇在磁盘格式化过程中发现并进行登记,只要1个扇区有问题,所属的整个簇就不能使用 • 格式化后,FAT表中几乎都是“00”(空闲簇);如果FAT中没有空闲簇,则表示该分区已经用满 • 从FAT表就可以统计出该分区的总容量、已用空间容量和可用空间容量

  16. 0123 文 件 内 容 文件名等说明信息 引导扇区 文件分配表FAT1 511 硬盘分区 文件分配表FAT2 根目录区(FDT) 数据区 (以簇为分配单位) 11B 1B 6B 2B 2B 2B 4B 2B 2B 文件名及扩展名 属 性 保留 访问 日期 ··· 创建 时间 创建 日期 文件 位置 文件大小 注:文件的说明信息保存在该文件所在的目录中,而文件内容则存放在数据区中,两者是分开存放的 文件目录表FDT • 根目录区用来存放文件目录表(File Directory Table),FDT中可以包含多达512个表项 • 每个表项长度为32字节,用于记录如下信息: • 文件(文件夹)的名字 • 该文件(文件夹)内容在数据区中的位置 • 日期、时间、所有者、使用属性等

  17. 磁盘空间的连续分配 • 磁盘空间的索引分配 • 每个文件专门使用一簇作为索引簇,记录该文件所分配的所有簇号 磁盘空间的分配方法1 • 磁盘分区中数据空间是用来存储文件(和子文件夹)数据 • 将簇分配给各个文件的方法主要有3类: • 连续分配 • 索引分配 • 链接分配

  18. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1718 19 20 21 22 23 24 25 26 27 28 29 30 31 文件分配表 (FAT) EOF EOF 10 16 25 17 29 24 1 磁盘空间的分配方法——链接分配 • 每个文件分配若干簇,同一文件所有簇的簇号组织成一个“数字链”,其起始簇号在FDT中指出,FAT表中该簇的状态值则是下一个簇的簇号,···,直至最后一个簇,文件的最后1个簇状态值为“EOF”,例如: • MYFILE的簇是:9-16-1-10-25 共5个簇 • YOURS的簇是:26-29-24-17 共4个簇 文件目录表(FDT) 分区中的数据区 文件名 扩展名 创建日期 时间 文件大小属性起始簇号 • 链接分配的优点: • 可以分散在任何地方,空间利用率高 • 简单,文件目录中只需记录文件的起始簇号 • 文件的扩展很容易 MYFILE TXT 1/23/2004 13:24 40,363 9 YOURS DOC 6/8/2004 23:35 31,329 26

  19. D盘 引导扇区 文件分配表FAT1 文件分配表FAT2 硬盘分区 根目录区(FDT) 数据区 (以簇为分配单位) lecture.ppt 文件系统实例(1)—OS如何读取文件 • 读出文件D:lecture.ppt • 读出D盘中的FDT表 • 在FDT中查找有无lecture.ppt文件 • 若有,检查该文件的读、写和保护属性 • 如有口令保护,核实口令是否正确 • 在FDT表中读出该文件的起始簇号 • 从簇号计算出磁盘的起始扇区号 • 从该扇区开始读出文件的第1簇内容 • 查FAT表,读出下一个簇号 • 重复步骤6、7、8,直到FAT表中簇号为EOF为止

  20. 文件系统实例(2)—保存与删除文件 • 保存文件OS首先在FDT中查找有无同名文件: • 如无,则在FAT中寻找若干个空闲的簇分配给该文件,修改FAT表,然后在FDT中增加1个表项,并将第1簇的簇号登记在FDT中。接着按分配的簇号所指出的位置,在数据区中保存文件数据直至完毕 • 如存在同名文件,则征求用户同意后,可在文件原来所分配的簇中写入新的文件数据(即覆盖原同名文件的数据),并修改FAT表和FDT中该文件表项的一些说明信息 • 删除文件 文件系统在FDT中查找有无该文件,若有,是否受到保护,若无保护,则删除FDT中该文件的表项,并将原先该文件占用的簇,在FAT表中全部设置为空闲状态

  21. 文件系统实例(3):磁盘碎片的产生 • 什么是磁盘碎片 • 文件系统允许一个文件的数据存放在不连续的扇区中 • 删除文件时,不必移动文件所在扇区,而是直接将文件分配表中的标记置空即可 • 在同一分区中移动文件时,不必真正移动对应扇区中的数据,而是直接修改文件分配表中的链接即可 • 由于在用户使用过程中,会频繁出现新建、删除、移动等文件操作(如浏览网页过程中产生的临时文件),大量文件会存放在不连续的扇区中,大量的磁盘碎片也随之产生

  22. 文件系统实例(3):磁盘碎片的产生 • 磁盘碎片的产生过程 • OS向硬盘写入一个新文件A,需分配5个簇 • 当写入两个连续簇(簇1、簇2)时,接到一条新的指令:写入文件B(需分配1个簇) • 簇1 簇2 簇3 … 文件A 文件B 1 1 1

  23. 文件系统实例(3):磁盘碎片的产生 • OS继续为文件A分配剩余的3个簇 文件A 文件B 文件A 簇1 簇2 簇3 簇4 簇5 簇6 … 1 1 1 1 1 1 产生了第1个碎片:文件A被分割成了两段数据 • OS接到新的指令:写入文件C(2个簇)。磁盘空间分布情况变为: 文件A 文件A 文件C 文件B … 簇1 簇2 簇3 簇4 簇5 簇6 簇7 簇8 簇9 1 1 0 1 1 1 1 1 1

  24. 文件系统实例(3):磁盘碎片的产生 • OS接到新的指令:删除文件A。磁盘空间分布变为: 文件C 文件B … 簇9 簇1 簇2 簇3 簇4 簇5 簇6 簇7 簇8 0 1 1 0 0 1 0 0 0 • OS继续执行新的指令:创建一个新文件D(需分配4个簇) 文件C 文件B 文件D 文件D … 簇9 簇1 簇2 簇3 簇4 簇5 簇6 簇7 簇8 0 1 1 1 1 1 1 1 0 产生了第2个碎片:文件D被分割成了两段数据

  25. 主机 磁盘控制器 磁道 旋转轴 磁头 移动方向 碟片 文件系统实例(3):磁盘碎片的产生 • 磁盘碎片的危害 • 和连续读取相比,碎片增加了寻道时间和旋转等待时间 • 大大降低硬盘Cache命中率

  26. 文件系统实例(4):系统引导型病毒 • 指寄生在磁盘引导区或主引导区的计算机病毒。此种病毒利用系统引导时,不对主引导区的内容正确与否进行判别的缺点,在引导系统的过程中侵入系统,驻留内存,监视系统运行,待机传染和破坏。 • 按照引导型病毒在硬盘上的寄生位置又可细分为主引导记录病毒和分区引导记录病毒。主引导记录病毒感染硬盘的主引导区,如大麻病毒、2708病毒、火炬病毒等;分区引导记录病毒感染硬盘的活动分区引导记录,如小球病毒、Girl病毒等。

  27. 文件系统实例(4):大麻病毒攻击方法 • 1989年传入我国,症状是每次要显示信息前,先显示 Your PC is now Stoned! LEGALISE MARIJUANA! • 大麻病毒很短小,总共不到400个字节代码,完成的功能包括: • 驻留内存、修改中断向量、区别软硬盘 • 感染软盘、感染硬盘 • 引导原硬盘主引导扇区、显示时机判断、显示信息 • 大麻病毒感染标志判断以防止重复感染等众多功能 • 大麻病毒是在系统执行读操作时进行传染的;病毒驻留内存后,每次磁盘读写中断都被大麻病毒接管,因此任何磁盘操作都会被它过滤一遍,看是否有必要继续感染

  28. 文件系统实例(4):大麻病毒的实现 • 大麻病毒会将原引导扇区直接覆盖至0道、1面、3扇区中,该扇区中原有信息全部丢失 • 如果磁盘容量尚未到0道、1面、3扇区(如早期的360K软盘),不会造成影响 • 对其它容量较大的磁盘,第3扇区以后的扇区内容可能由于第3扇区中的数据被破坏(指针丢失)而无法访问 • 磁盘可能在逐渐使用一段时间后,原覆盖到 0道、1面、3扇区的引导扇区数据可能被改写,之后系统将无法启动

  29. 文件系统实例(5):文件型病毒 • 文件型病毒的宿主不是引导区而是一些可执行程序。病毒把自己附加在可执行文件中,并等待程序运行,病毒会驻留在内存中,企图感染其他文件,并破坏系统。当病毒已经完成工作后,其宿主程序才被运行,使系统看起来一切正常。 • 和引导扇区病毒不同,文件型病毒把自己附着或追加在*.exe和*.com这样的可执行文件上。根据附着类型不同,可将文件型病毒分为三类:覆盖型、前/后附加型和伴随型。

  30. 文件系统实例(5):EXE病毒 • EXE文件头结构 Exe file header format Offset size Description 00 2 bytes .EXE Type Flag,4d5ah 02 2 bytes Bytes in the last page(512 bytes/page) 04 2 bytes pages of the .EXE file(Include exeheader) 06 2 bytes ReAllocation number 08 2 bytes Exeheader size(16 bytes*this value) 0a 2 bytes MinAlloc 0c 2 bytes MaxAlloc 0e 2 bytes The init stack segment 10 2 bytes The int stack pointer 12 2 bytes Checksum 14 2 bytes Code pointer 16 2 bytes Code segment 18 2 bytes The offset of reallocation table 1a 2 bytes The overlay number make by link 1、EXE文件的开始执行代码地址计算方法:初始加载地址+Code segment:Code pointer 2、修改偏移14和偏移16的值可改变执行代码

  31. 逻辑文件系统

  32. 不同外存采用不同的文件管理——FAT文件系统 • FAT12文件系统(软盘) • 簇号用12位表示,最多只能存储212(即4096)个簇。簇的大小可以是512B~8KB,因此FAT12磁盘的容量不超过32MB。软盘存储器使用。 • FAT16文件系统(小容量硬盘) • 簇号用16位表示,磁盘最多能存储216(65536)个簇。簇的大小可以是512B~ 64KB,因此磁盘的容量不超过4GB • FAT32文件系统 • 簇号用32位表示(高4位作他用),磁盘能存储228个簇。簇的大小可以是512B~ 32KB ,因此磁盘的容量理论上可达8TB,但Windows XP限制每个分区不能超过32GB • 支持长达255个字符的长文件(文件夹)名,采用Unicode编码,每个字符均使用双字节 • 目前FAT32 是大多数U盘和许多硬盘常用的文件系统

  33. 不同外存采用不同的文件管理——NTFS文件系统不同外存采用不同的文件管理——NTFS文件系统 • NTFS (New Technology File System)文件系统 • 被Windows NT、Windows 2000/XP、Vista等操作系统使用 • 簇号采用64位,理论上能支持容量高达160亿GB的磁盘(分区),Windows限制其大小不超过256TB(簇为64KB时) • 允许在每个磁盘(分区)上存放多达232-1个文件,单个文件最大可达16TB • 引导程序、FDT、FAT等在NTFS中以文件形式保存和使用,增加了灵活性 • 支持对重要信息的冗余存储,增强了文件系统的恢复(recovery)功能 • 增强了文件的安全性和文件的加密功能,允许在NTFS分区中存储加密文件 • 支持通用索引机制,允许在分区中索引文件属性,可高效地寻找所需要的文件 • 支持文件数据的压缩功能,且文件夹也可以被压缩(这意味着该目录中随后创建的任何文件都是经过压缩的),应用程序不必作任何修改就可以利用这一特性; • 提供日志信息记录功能,用于存储分区中文件和目录变化的信息,供需要监视文件和目录变化的应用程序(例如自动备份程序)使用

  34. 不同外存采用不同的文件管理——光盘文件系统不同外存采用不同的文件管理——光盘文件系统 • CDFS(CD-ROM File system) • 目前大多数CD-ROM光盘采用的CDFS文件系统。 • UDF (Universal Disk Format)文件系统 • 为CD-R、CD-RW和DVD-ROM等光盘存储器制定的文件系统标准 • 上述两种文件系统已经得到广泛支持(Windows、Unix、Linux等)

  35. Layered File System 最终用户 和API 文件系统接口 虚拟文件系统接口 本地文件系统2 本地文件系统1 远程文件系统 虚拟文件系统的概念 • 背景:系统中有多种不同的外存储器,相应有多种不同的文件系统,如: • FAT16、FAT32 (dos, windows) • NTFS (NT, XP, 2000) • UFS, UFS2 (Unix) • Minix、EXT、EXT2 (Linux) • 逻辑(虚拟)文件系统向用户和程序员提供统一的接口来使用各种不同的文件系统: • 克服软盘、硬盘、光盘、优盘等不同外存储器的多样性 • 统一本地文件和远程文件的存取与操作 • 统一的编程接口(API) • 统一的操作使用

  36. 可安装的文件系统管理器(IFSM) 文件系统 驱动程序FSD VFAT和FAT32 文件系统 CDFS 文件系统 UDF 文件系统 网络 重定向器 I/O子系统 输入输出监控程序(IOS) 卷跟踪驱动程序(VTD) 硬盘类 驱动程序(TSD) 光驱类 驱动程序(TSD) 厂家提供的 驱动程序(VSD) SCSI层 保护模式到实模式 映射程序 端口驱动程序 实模式驱动程序 小型接口驱动程序 IDE接口、SCSI接口等 例:Windows 文件管理系统 • Windows 提供了一个具有开放结构的、有即插即用功能的、允许用户方便地安装各种存储设备(如CD-ROM、LAN、大硬盘等)驱动程序的文件系统,这就是可安装的文件系统IFS。IFS分为三个层次:第一层为可安装的文件系统管理器,第二层是各种文件系统,第三层是输入输出子系统 文件系统层: 包含各种不同文件系统的管理程序模块(称为文件驱动程序File System Driver,简称FSD),以提供对多种文件系统的支持

  37. 小结:磁盘管理与文件系统 • 文件系统负责管理计算机中的文件,使用户(和程序)能方便地进行各种文件操作 • 文件系统要解决的问题: • 为文件合理而有效地分配(回收)外存储器的存储空间 • 屏蔽文件存取操作的细节,提供文件操作的API • 实现文件的安全存取 • 磁盘空间的管理: • 以“簇”为盘空间的分配单位,以FAT表记录空间分配的情况 • 采用“链接分配”或“索引分配”方法 • 使用文件目录表FDT记录根目录(根文件夹)中的文件和子文件夹的说明信息 • 所有文件(夹)的具体内容都按FAT表指定的位置存储在磁盘的数据区

More Related