《 Linux操作系统》第三讲 文件系统与文件目录操作 学时计划:4学时理论,2学时实验 (实验三:文件目录操作) 教学大纲: 1、硬盘 2、文件系统 3、 Linux文件系统 4、文件目录操作 5、文件目录安全操作 6、磁盘管理 7、讨论与思考 文件系统是操作系统的基础,也是影响操作系统性能和稳定性的 重要内容。本讲从硬盘和文件系统的基础内容着手,在介绍文件系统 的基础知识的基础上介绍 Linux文件系统,并详细讲解了 Linux下进 行文件目录操作和安全管理的具体方法。最后介绍了RAID和LM是 如何提高文件系统安全性和性能。 本讲的重点是文件系统的基本概念和 Linux下进行文件目录操 作和安全管理的具体方法 硬盘 1.1什么是硬盘? 硬盘(英文名: Hard disc drive简称HDD。全名:温彻斯特式 硬盘)是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制 的碟片组成。碟片外覆盖有铁磁性材料,绝大多数硬盘都是固定硬盘, 被永久性地密封固定在硬盘驱动器中。 1.2硬盘结构 1.2.1物理机构 (1)磁头 1|(anx操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
1 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 《Linux 操作系统》第三讲: 文件系统与文件目录操作 学时计划:4 学时 理论,2 学时 实验 (实验三:文件目录操作) 教学大纲: 1、硬盘 2、文件系统 3、Linux 文件系统 4、文件目录操作 5、文件目录安全操作 6、磁盘管理 7、讨论与思考 文件系统是操作系统的基础,也是影响操作系统性能和稳定性的 重要内容。本讲从硬盘和文件系统的基础内容着手,在介绍文件系统 的基础知识的基础上介绍 Linux 文件系统,并详细讲解了 Linux 下进 行文件目录操作和安全管理的具体方法。最后介绍了 RAID 和 LVM 是 如何提高文件系统安全性和性能。 本讲的重点是文件系统的基本概念和 Linux 下进行文件目录操 作和安全管理的具体方法。 一、硬盘 1.1 什么是硬盘? 硬盘(英文名:Hard Disc Drive 简称 HDD。全名:温彻斯特式 硬盘)是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制 的碟片组成。碟片外覆盖有铁磁性材料,绝大多数硬盘都是固定硬盘, 被永久性地密封固定在硬盘驱动器中。 1.2 硬盘结构 1.2.1 物理机构 (1)磁头
硬盘内部结构磁头是硬盘中最昂贵的部件,也是硬盘技术中最重 要和最关键的一环。传统的磁头是读写合一的电磁感应式磁头,但是, 硬盘的读、写却是两种截然不同的操作,为此,这种二合一磁头在设 计时必须要同时兼顾到读/写两种特性,从而造成了硬盘设计上的局 限 MR磁头( Magnetoresistive heads),即磁阻磁头,采用的是分 离式的磁头结构:写入磁头仍采用传统的磁感应磁头(MR磁头不能 进行写操作),读取磁头则采用新型的MR磁头,即所谓的感应写、磁 阻读。这样,在设计时就可以针对两者的不同特性分别进行优化,以 得到最好的读/写性能。另外,MR磁头是通过阻值变化而不是电流变 化去感应信号幅度,因而对信号变化相当敏感,读取数据的准确性也 相应提高。而且由于读取的信号幅度与磁道宽度无关,故磁道可以做 得很窄,从而提高了盘片密度,达到200B/英寸2,而使用传统的磁 头只能达到20MB/英寸2,这也是MR磁头被广泛应用的最主要原因 目前,M磁头已得到广泛应用,而采用多层结构和磁阻效应更好的 材料制作的GMR磁头( Giant Magnetoresistive heads)也逐渐普及。 (2)磁道 当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁 盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。这些磁道用肉 眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁 化区,磁盘上的信息便是沿着这样的轨道存放的。相邻磁道之间并不 是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产生影响,同 时也为磁头的读写带来困难。一张1.44MB的3.5英寸软盘,一面有 80个磁道,而硬盘上的磁道密度则远远大于此值,通常一面有成千 上万个磁道。 (3)扇区 磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇 区,每个扇区可以存放512个字节的信息,磁盘驱动器在向磁盘读取 和写入数据时,要以扇区为单位。1.44MB3.5英寸的软盘,每个磁道 分为18个扇区 (4)柱面 2|(amx操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
2 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 硬盘内部结构磁头是硬盘中最昂贵的部件,也是硬盘技术中最重 要和最关键的一环。传统的磁头是读写合一的电磁感应式磁头,但是, 硬盘的读、写却是两种截然不同的操作,为此,这种二合一磁头在设 计时必须要同时兼顾到读/写两种特性,从而造成了硬盘设计上的局 限。 MR 磁头(Magnetoresistive heads),即磁阻磁头,采用的是分 离式的磁头结构:写入磁头仍采用传统的磁感应磁头(MR 磁头不能 进行写操作),读取磁头则采用新型的 MR 磁头,即所谓的感应写、磁 阻读。这样,在设计时就可以针对两者的不同特性分别进行优化,以 得到最好的读/写性能。另外,MR 磁头是通过阻值变化而不是电流变 化去感应信号幅度,因而对信号变化相当敏感,读取数据的准确性也 相应提高。而且由于读取的信号幅度与磁道宽度无关,故磁道可以做 得很窄,从而提高了盘片密度,达到 200MB/英寸 2,而使用传统的磁 头只能达到 20MB/英寸 2,这也是 MR 磁头被广泛应用的最主要原因。 目前,MR 磁头已得到广泛应用,而采用多层结构和磁阻效应更好的 材料制作的 GMR 磁头(Giant Magnetoresistive heads)也逐渐普及。 (2)磁道 当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁 盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。这些磁道用肉 眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁 化区,磁盘上的信息便是沿着这样的轨道存放的。相邻磁道之间并不 是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产生影响,同 时也为磁头的读写带来困难。一张 1.44MB 的 3.5 英寸软盘,一面有 80 个磁道,而硬盘上的磁道密度则远远大于此值,通常一面有成千 上万个磁道。 (3)扇区 磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇 区,每个扇区可以存放 512 个字节的信息,磁盘驱动器在向磁盘读取 和写入数据时,要以扇区为单位。1.44MB3.5 英寸的软盘,每个磁道 分为 18 个扇区。 (4)柱面
硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等 的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个 圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘单面上的磁道数是 相等的。无论是双盘面还是单盘面,由于每个盘面都有自己的磁头, 因此,盘面数等于总的磁头数。所谓硬盘的CHS,即 Cylinder(柱面)、 Head(磁头)、 Sector(扇区),只要知道了硬盘的CHS的数目,即可 确定硬盘的容量,硬盘的容量=柱面数*磁头数*扇区数*512B 1.2.2逻辑结构 (1)3D参数 硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬 盘,也就是硬盘盘片的每一条磁道都具有相同的扇区数。由此产生了 所谓的3D参数( Disk Geometry),即磁头数( Heads),柱面数 ( Cylinders),扇区数( Sectors),以及相应的寻址方式 磁头数( Heads)表示硬盘总共有几个磁头,也就是有几面盘片,最大为255 (用8个二进制位存储) 柱面数( Cylinders)表示硬盘每一面盘片上有几条磁道,最大为1023(用 个二进制位存储) 扇区数( Sectors)表示每一条磁道上有几个扇区,最大为63(用6个二进制 位存储)。 每个扇区一般是512个字节,理论上讲这不是必须的,但好像没有取别的值的。 所以磁盘最大容量为 255*1023*63*512/1048576=7837GB(M=1048576 Bytes) 或硬盘厂商常用的单位 255*1023*63*512/10000008414GB(1M=100000ts) 在CHS寻址方式中,磁道,柱面,扇区的取值范围分别为0到 Heads-1,0到 Cylinders-1,1到 Sectors(注意是从1开始)。 (2)基本Int13H调用 BIOS Int13H调用是BIOS提供的磁盘基本输入输出中断调用, 它可以完成磁盘(包括硬盘和软盘)的复位、读写、校验、定位、格式 化等功能。它使用的就是CHS寻址方式,因此最大识能访问8GB左 右的硬盘(本文中如不作特殊说明,均以1M=1048576字节为单位)。 (3)现代硬盘结构 3l(anx操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
3 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等 的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个 圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘单面上的磁道数是 相等的。无论是双盘面还是单盘面,由于每个盘面都有自己的磁头, 因此,盘面数等于总的磁头数。所谓硬盘的 CHS,即 Cylinder(柱面)、 Head(磁头)、Sector(扇区),只要知道了硬盘的 CHS 的数目,即可 确定硬盘的容量,硬盘的容量=柱面数*磁头数*扇区数*512B。 1.2.2 逻辑结构 (1)3D 参数 硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬 盘,也就是硬盘盘片的每一条磁道都具有相同的扇区数。由此产生了 所谓的 3D 参数(Disk Geometry),即磁头数(Heads),柱面数 (Cylinders),扇区数(Sectors),以及相应的寻址方式。 其中: 磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片, 最大为 255 (用 8 个二进制位存储)。 柱面数(Cylinders)表示硬盘每一面盘片上有几条磁道,最大为 1023(用 10 个二进制位存储)。 扇区数(Sectors)表示每一条磁道上有几个扇区,最大为 63(用 6 个二进制 位存储)。 每个扇区一般是 512 个字节,理论上讲这不是必须的,但好像没有取别的值的。 所以磁盘最大容量为: 255 * 1023 * 63 * 512 / 1048576 = 7.837 GB(1M =1048576 Bytes) 或硬盘厂商常用的单位: 255 * 1023 * 63 * 512 / 1000000 = 8.414 GB(1M =1000000 Bytes) 在 CHS 寻址方式中,磁道,柱面,扇区的取值范围分别为 0 到 Heads – 1,0 到 Cylinders – 1,1 到 Sectors(注意是从 1 开始)。 (2)基本 Int 13H 调用 BIOS Int 13H 调用是 BIOS 提供的磁盘基本输入输出中断调用, 它可以完成磁盘(包括硬盘和软盘)的复位、读写、校验、定位、格式 化等功能。它使用的就是 CHS 寻址方式,因此最大识能访问 8 GB 左 右的硬盘(本文中如不作特殊说明,均以 1M = 1048576 字节为单位)。 (3)现代硬盘结构
在老式硬盘中,由于每个磁道的扇区数相等,所以外道的记录密 度要远低于内道,因此会浪费很多磁盘空间(与软盘一样)。为了解 决这一问题,进一步提高硬盘容量,人们改用等密度结构生产硬盘。 也就是说,外圈磁道的扇区比内圈磁道多,采用这种结构后,硬盘不 再具有实际的3D参数,寻址方式也改为线性寻址,即以扇区为单位 进行寻址。 为了与使用3D寻址的老软件兼容(如使用 BIOSInt3H接口的软 件),在硬盘控制器内部安装了一个地址翻译器,由它负责将老式3D 参数翻译成新的线性参数。这也是为什么现在硬盘的3D参数可以有 多种选择的原因(不同的工作模式,对应不同的3D参数,如LBA、 LARGE、 NORMAL) (4)扩展Int13H 虽然现代硬盘都已经采用了线性寻址,但是由于基本Int13H的 制约,使用 BIOS Int13H接口的程序,如D0S等还只能访问8G以内 的硬盘空间。为了打破这一限制, Microsoft等几家公司制定了扩展 Int13H标准( Extended int13H),采用线性寻址方式存取硬盘, 所以突破了8G的限制,而且还加入了对可拆卸介质(如活动硬盘) 的支持。 1.3硬盘的基本参数 1.3.1容量 作为计算机系统的数据存储器,容量是硬盘最主要的参数。 硬盘的容量以兆字节(MB)或千兆字节(GB)为单位,1GB=102AMB。 但硬盘厂商在标称硬盘容量时通常取1G=1000MB,因此在BIOS中或 在格式化硬盘时看到的容量会比厂家的标称值要小。 硬盘的容量指标还包括硬盘的单碟容量。所谓单碟容量是指硬盘 单片盘片的容量,单碟容量越大,单位成本越低,平均访问时间也越 短 1.3.2转速 转速( Rotational Speed或 Spindle speed),是硬盘内电机 轴的旋转速度,也就是硬盘盘片在一分钟内所能完成的最大转数。转 4|am操作系统》讲稿/河南中医学院/阮晓龙/@phactcm.edu.cn
4 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 在老式硬盘中,由于每个磁道的扇区数相等,所以外道的记录密 度要远低于内道,因此会浪费很多磁盘空间(与软盘一样)。为了解 决这一问题,进一步提高硬盘容量,人们改用等密度结构生产硬盘。 也就是说,外圈磁道的扇区比内圈磁道多,采用这种结构后,硬盘不 再具有实际的 3D 参数,寻址方式也改为线性寻址,即以扇区为单位 进行寻址。 为了与使用 3D 寻址的老软件兼容(如使用 BIOSInt13H 接口的软 件),在硬盘控制器内部安装了一个地址翻译器,由它负责将老式 3D 参数翻译成新的线性参数。这也是为什么现在硬盘的 3D 参数可以有 多种选择的原因(不同的工作模式,对应不同的 3D 参数,如 LBA、 LARGE、NORMAL)。 (4)扩展 Int 13H 虽然现代硬盘都已经采用了线性寻址,但是由于基本 Int 13H 的 制约,使用 BIOS Int 13H 接口的程序,如 DOS 等还只能访问 8G 以内 的硬盘空间。为了打破这一限制,Microsoft 等几家公司制定了扩展 Int 13H 标准(Extended Int 13H),采用线性寻址方式存取硬盘, 所以突破了 8G 的限制,而且还加入了对可拆卸介质(如活动硬盘) 的支持。 1.3 硬盘的基本参数 1.3.1 容量 作为计算机系统的数据存储器,容量是硬盘最主要的参数。 硬盘的容量以兆字节(MB)或千兆字节(GB)为单位,1GB=1024MB。 但硬盘厂商在标称硬盘容量时通常取 1G=1000MB,因此在 BIOS 中或 在格式化硬盘时看到的容量会比厂家的标称值要小。 硬盘的容量指标还包括硬盘的单碟容量。所谓单碟容量是指硬盘 单片盘片的容量,单碟容量越大,单位成本越低,平均访问时间也越 短。 1.3.2 转速 转速(Rotational Speed 或 Spindle speed),是硬盘内电机主 轴的旋转速度,也就是硬盘盘片在一分钟内所能完成的最大转数。转
速的快慢是标示硬盘档次的重要参数之一,它是决定硬盘内部传输率 的关键因素之一,在很大程度上直接影响到硬盘的速度。 硬盘的转速越快,硬盘寻找文件的速度也就越快,相对的硬盘的 传输速度也就得到了提高。硬盘转速以每分钟多少转来表示,单位表 示为RPM,RPM是 Revolutions per minute的缩写,是转/每分钟。 RPM值越大,内部传输率就越快,访问时间就越短,硬盘的整体性能 也就越好。 硬盘的主轴马达带动盘片高速旋转,产生浮力使磁头飘浮在盘片 上方。要将所要存取资料的扇区带到磁头下方,转速越快,则等待时 间也就越短。因此转速在很大程度上决定了硬盘的速度。 家用台式机的普通硬盘的转速一般有5400rpm、7200rpm两种; 对于笔记本用户则是4200rpm、5400rpm为主,虽然已经有公司发布 了1000rpm的笔记本硬盘,但在市场中还较为少见;服务器用户对 硬盘性能要求最高,服务器中使用的SCSⅠ硬盘转速基本都采用 10000Dm,甚至还有15000rpm的,性能要超出家用产品很多。较高 的转速可缩短硬盘的平均寻道时间和实际读写时间,但随着硬盘转速 的不断提高也带来了温度升高、电机主轴磨损加大、工作噪音增大等 负面影响。 1.3.3平均访问时间 平均访问时间( Average Access Time)是指磁头从起始位置到 达目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时 间 平均访问时间体现了硬盘的读写速度,它包括了硬盘的寻道时间 和等待时间,即:平均访问时间=平均寻道时间+平均等待时间。 硬盘的平均寻道时间( Average Seek Time)是指硬盘的磁头移 动到盘面指定磁道所需的时间。这个时间当然越小越好,目前硬盘的 平均寻道时间通常在8ms到12ms之间,而SCSI硬盘则应小于或等于 硬盘的等待时间,又叫潜伏期( Latency),是指磁头已处于要访 问的磁道,等待所要访问的扇区旋转至磁头下方的时间。平均等待时 间为盘片旋转一周所需的时间的一半,一般应在4ms以下 5《Linux操作系统》讲稿/河南中医学院/阮晓龙/rx@hactcm.edu.cn
5 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 速的快慢是标示硬盘档次的重要参数之一,它是决定硬盘内部传输率 的关键因素之一,在很大程度上直接影响到硬盘的速度。 硬盘的转速越快,硬盘寻找文件的速度也就越快,相对的硬盘的 传输速度也就得到了提高。硬盘转速以每分钟多少转来表示,单位表 示为 RPM,RPM 是 Revolutions Per minute 的缩写,是转/每分钟。 RPM 值越大,内部传输率就越快,访问时间就越短,硬盘的整体性能 也就越好。 硬盘的主轴马达带动盘片高速旋转,产生浮力使磁头飘浮在盘片 上方。要将所要存取资料的扇区带到磁头下方,转速越快,则等待时 间也就越短。因此转速在很大程度上决定了硬盘的速度。 家用台式机的普通硬盘的转速一般有 5400rpm、7200rpm 两种; 对于笔记本用户则是 4200rpm、5400rpm 为主,虽然已经有公司发布 了 10000rpm 的笔记本硬盘,但在市场中还较为少见;服务器用户对 硬盘性能要求最高,服务器中使用的 SCSI 硬盘转速基本都采用 10000rpm,甚至还有 15000rpm 的,性能要超出家用产品很多。较高 的转速可缩短硬盘的平均寻道时间和实际读写时间,但随着硬盘转速 的不断提高也带来了温度升高、电机主轴磨损加大、工作噪音增大等 负面影响。 1.3.3 平均访问时间 平均访问时间(Average Access Time)是指磁头从起始位置到 达目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时 间。 平均访问时间体现了硬盘的读写速度,它包括了硬盘的寻道时间 和等待时间,即:平均访问时间=平均寻道时间+平均等待时间。 硬盘的平均寻道时间(Average Seek Time)是指硬盘的磁头移 动到盘面指定磁道所需的时间。这个时间当然越小越好,目前硬盘的 平均寻道时间通常在 8ms 到 12ms 之间,而 SCSI 硬盘则应小于或等于 8ms。 硬盘的等待时间,又叫潜伏期(Latency),是指磁头已处于要访 问的磁道,等待所要访问的扇区旋转至磁头下方的时间。平均等待时 间为盘片旋转一周所需的时间的一半,一般应在 4ms 以下