51CTO下载-windows+2008+磁盘系统管理+++实验报告
磁盘管理的实验报告
磁盘管理的实验报告实验报告:磁盘管理一、引言(100字)磁盘是计算机中主要的存储介质之一,磁盘管理是操作系统中的一项重要任务。
本实验旨在通过模拟磁盘管理的相关操作,加深对磁盘管理的理解,并学习实际应用中磁盘管理的策略。
二、实验目的(100字)1.了解磁盘管理的基本原理和相关概念;2.学习磁盘分区的原理及实践;3.理解磁盘调度算法的工作原理;4.掌握常用的磁盘管理策略。
三、实验内容(300字)1.磁盘分区:a.使用磁盘分区工具将物理磁盘划分为若干个分区;b.使用命令查看已分区、格式化后的磁盘分区。
2.磁盘调度算法:a.了解并实现FCFS(先来先服务)、SSTF(最短寻道时间优先)和SCAN(扫描)等磁盘调度算法;b.分别使用模拟程序测试不同算法的性能。
3.磁盘缓存:a.实现一个简单的磁盘缓存管理系统;b.学习并使用命令进行磁盘缓存管理的相关操作。
四、实验步骤(400字)1.磁盘分区:a.打开磁盘分区工具,选择对应磁盘进行分区,设置分区大小和类型;b.格式化已分区的磁盘,创建文件系统;c.使用命令查看分区情况,确认分区操作是否成功。
2.磁盘调度算法:a.阅读并理解给定的FCFS、SSTF和SCAN算法的伪代码;b.根据伪代码实现相应的算法,并进行测试;c.分别使用模拟程序测试不同算法的性能,根据性能结果评估各算法的优劣。
3.磁盘缓存:a.阅读并理解磁盘缓存管理的相关原理和命令;b.实现一个简单的磁盘缓存管理系统,包括缓存页面的替换策略;c.使用命令进行磁盘缓存管理的相关操作,通过测试验证缓存管理系统的正确性。
五、实验结果(150字)1.磁盘分区工具成功将物理磁盘划分为若干个分区,并格式化后创建了文件系统;2.使用命令查看分区情况,确认分区操作成功;3.实现了FCFS、SSTF和SCAN算法,并成功模拟了它们的运行过程;4.使用模拟程序测试了不同算法的性能,分析并比较了各算法的优劣;5.成功实现了一个简单的磁盘缓存管理系统,并通过测试验证了其正确性。
实验一 磁盘管理和文件系统管理
实验一:磁盘管理和文件系统管理一、实验目的:掌握Windows Server 2008系统中的磁盘管理和文件系统管理,包括基本磁盘中分区的创建,动态磁盘中各种动态卷的创建。
二、实验属性:验证型三、实验环境Pentium 550Hz以上的CPU;建议至少512MB的内存;建议硬盘至少10GB,并有5GB空闲空间。
四、实验内容磁盘的管理文件系统的管理五、实验步骤(一)、磁盘管理1、在虚拟机中再添加两块磁盘(问题1:在虚拟机中如何添加新的磁盘?)。
2、使用磁盘管理控制台,在基本磁盘中新建主磁盘分区、扩展磁盘分区和逻辑驱动器,并对已经创建好的分区做格式化、更改磁盘驱动器号及路径等几个操作。
(问题2:在一台基本磁盘中,最多可以创建几个主磁盘分区?问题3:将FAT32格式的分区转换为NTFS格式的完整命令是什么?)3、将三块基本磁盘转换为动态磁盘。
(问题4:如何将基本磁盘转换为动态磁盘?问题5:什么样的磁盘由基本磁盘转换为动态磁盘后系统需要重新启动?)4、在动态磁盘中创建简单卷、扩展简单卷、创建跨区卷、扩展跨区卷、创建带区卷、镜像卷和RAID5卷,并对具有容错能力的卷尝试数据恢复操作,掌握各个卷的特点和工作原理。
(问题6:哪些卷可以扩展?问题7:哪些卷具有容错功能?问题8:哪个卷可以包含系统卷?问题9:哪些卷需要跨越多个磁盘?问题10:哪个卷至少需要3块磁盘?)5、将某个磁盘设为压缩磁盘并观察其中文件和文件夹有何变化。
(问题11:复制和移动文件时,文件的压缩属性如何改变?)6、利用磁盘配额工具,对不同的用户分配相应的磁盘空间。
(问题12:使用磁盘配额的好处?问题13:使用磁盘配额的前提条件有哪些?)7、利用磁盘整理、磁盘查错等工具,实现对磁盘的简单维护。
8、设置文件和文件夹的压缩和加密。
(问题14:NTFS分区中的文件和文件夹能同时加密和压缩吗?问题15:系统分区中的文件能否加密?)(二)文件系统管理NTFS文件系统下,文件及文件夹的访问控制权限如何设置。
操作系统 磁盘空间管理的实验报告
实验五磁盘存储空间的管理一、实验目的磁盘格式化时,系统把磁盘存储空间分成许多磁道。
每个磁道又分成若干个扇区(又叫做磁盘块)。
之后用fdisk命令对硬盘进行分区,即使只有一个分区,也必须用fdisk命令进行分区。
分区的目的,就是制作文件卷,形成文件系统。
一个文件卷一般都被划分成引导扇区、文件系统管理区和文件数据区。
其中,文件数据区用来存放系统文件和用户文件。
用户可以通过文件系统提供的API,创建、打开、关闭和对文件进行读写。
当用户的文件不再需要时,就应该删除。
把一个文件放到磁盘上时,可以组织成连续文件、链接文件或索引文件等。
因此,磁盘空间的分配方法也有两种,一种是连续空间的分配,一种是不连续空间的分配(又叫动态分配)。
如何充分有效地利用磁盘空间,是操作系统应解决的重要课题之一。
本实验模拟实现磁盘空间的分配与回收,使学生对磁盘空间的管理有一个较深入的理解。
二、实验要求书写实验报告,应该包括以下几项内容:(1)实验题目;(2)程序中使用的数据结构及主要符号说明;(3)程序流程图和带有详细注释的源程序;(4)执行程序名,并打印程序运行时的初值和运行结果;(5)通过实验后的收获与体验及对实验的改进意见和见解三、实验内容(1)假定现有一个磁盘组,共有40个柱面。
每个柱面4个磁道,每个磁道又划分成4个物理记录。
磁盘的空间使用情况用位示图表示。
位示图用若干个字构成,每一位对应一个磁盘道。
“1”表示占用,“0”表示空闲。
为了简单,假定字长为16位,一个字可用来模拟磁盘的一个柱面,其位示图如图5—1所示。
系统设置一个变量S记录当前的空闲磁盘块个数。
位示图的初始状态由户自己设定。
图5-1 位示图(2)申请一个磁盘块时,由磁盘块分配程序查位示图,找出一个为0的位,并计算磁盘的物理地址(即求出它的柱面号、磁道号和扇区号)。
①由位示图计算磁盘的相对块号的公式如下:相对块号=字号*16+位号②再将相对块号转换成磁盘的物理地址:柱面号=(相对块号/16)的商,也即柱面号=字号磁道号=((相对块号/16的余数)/4)的商,也即(位号/4)的商物理块号=(((相对块号/16)的余数)/4)的余数,也即(位号/4)的余数(3)当释放一个相对物理块时,运行回收程序,计算该块在位示图中的位置,再把相应由“1”改为“0”。
磁盘管理 实验报告
磁盘管理实验报告磁盘管理实验报告概述:磁盘管理是计算机操作系统中的重要组成部分,它负责管理计算机系统中的磁盘存储空间,确保数据的高效存取和安全性。
本实验旨在通过实际操作和测试,探究磁盘管理的原理和技术,并评估其对系统性能的影响。
实验目标:1. 理解磁盘管理的基本概念和原理。
2. 掌握磁盘分区和文件系统的创建与管理方法。
3. 了解磁盘调度算法的工作原理和性能特点。
4. 分析磁盘缓存和磁盘阵列技术对系统性能的影响。
实验环境:本次实验使用了一台配置较为普通的计算机,搭载了Windows 10操作系统和500GB机械硬盘。
实验步骤和结果:1. 磁盘分区和文件系统的创建与管理:在Windows 10操作系统中,我们使用了磁盘管理工具对硬盘进行了分区和格式化操作。
通过分区,我们将硬盘划分为多个逻辑驱动器,以便更好地管理和组织数据。
而文件系统的格式化则是为了在磁盘上创建文件系统,并对其进行初始化。
我们选择了NTFS文件系统,因为它支持更大的文件大小和更高的性能。
经过实验操作,我们成功地创建了多个分区,并将它们格式化为NTFS文件系统。
2. 磁盘调度算法的工作原理和性能特点:磁盘调度算法是为了优化磁盘访问的顺序和效率而设计的。
在本次实验中,我们选择了最常用的磁盘调度算法——SCAN算法,并通过实验测试其性能。
我们使用了一个模拟的磁盘访问序列,并记录了SCAN算法下的平均寻道时间和平均旋转延迟时间。
实验结果表明,SCAN算法在磁盘访问效率方面表现出色,能够较好地平衡磁盘访问的延迟和吞吐量。
3. 磁盘缓存和磁盘阵列技术对系统性能的影响:磁盘缓存和磁盘阵列技术是提高磁盘访问性能的两种常见方法。
磁盘缓存利用高速缓存存储器来暂存磁盘数据,以减少对磁盘的实际访问次数,从而提高系统的响应速度。
而磁盘阵列则是通过将多个磁盘组合成一个逻辑单元,实现数据的并行读写,从而提高磁盘的吞吐量。
通过实验测试,我们对比了启用和禁用磁盘缓存以及使用单个磁盘和磁盘阵列的情况下的磁盘访问性能。
磁盘管理实验报告
磁盘管理实验报告磁盘管理实验报告一、引言磁盘管理是计算机操作系统中的重要组成部分,它负责管理磁盘上的文件存储和访问。
在本次实验中,我们将通过模拟磁盘管理的过程,探索不同的磁盘调度算法对系统性能的影响。
本报告将介绍实验的背景和目的,并详细讨论实验过程和结果。
二、实验背景和目的磁盘是计算机中常用的存储设备之一,它将数据以磁场的形式存储在磁道上。
磁盘的读写速度较慢,而且在多个进程同时访问磁盘时容易出现冲突。
因此,磁盘管理的优化对于提高系统的性能至关重要。
本次实验的目的是通过模拟不同的磁盘调度算法,比较它们在不同场景下的性能差异。
我们将使用C语言编写模拟程序,通过生成随机的磁盘请求序列,并使用不同的磁盘调度算法进行处理。
通过比较不同算法的平均寻道时间、平均旋转延迟和平均传输时间等指标,评估算法的优劣。
三、实验过程实验的第一步是编写模拟程序,我们使用C语言实现了一个简单的磁盘调度模拟器。
该模拟器可以生成指定数量的磁盘请求,并使用不同的磁盘调度算法进行处理。
我们实现了以下几种磁盘调度算法:1. 先来先服务(FCFS):按照请求的到达顺序进行处理。
2. 最短寻道时间优先(SSTF):选择离当前磁道最近的请求进行处理。
3. 扫描算法(SCAN):按照一个方向进行扫描,直到最边缘,然后改变方向继4. 循环扫描算法(C-SCAN):类似于SCAN算法,但是当到达最边缘时,直接返回到最开始的磁道。
5. 电梯算法(LOOK):类似于SCAN算法,但是当到达最边缘时,改变方向继续扫描。
在模拟程序中,我们使用随机数生成器生成了1000个磁盘请求,并分别使用以上算法进行处理。
在每次处理完一个请求后,我们记录下当前的磁道位置,并计算出寻道时间、旋转延迟和传输时间。
最后,我们计算出每种算法的平均寻道时间、平均旋转延迟和平均传输时间,并进行对比分析。
四、实验结果和分析根据实验结果,我们得到了每种算法的平均寻道时间、平均旋转延迟和平均传输时间。
实训7_操作系统安装和磁盘管理实训报告
实训7_操作系统安装和磁盘管理实训报告一、实训目的本次实训的主要目的是让我们熟悉操作系统的安装过程以及掌握磁盘管理的基本技能。
通过实际操作,深入了解计算机系统的底层运作原理,提高我们对计算机硬件和软件的综合应用能力,为今后解决计算机相关问题打下坚实的基础。
二、实训环境1、硬件环境计算机主机:具备足够的性能来支持操作系统的安装和运行。
存储设备:如硬盘、U盘等,用于存储操作系统安装文件和数据。
显示器、键盘、鼠标等外设,以方便进行操作和监控。
2、软件环境操作系统安装光盘或镜像文件:如 Windows 操作系统、Linux 操作系统等。
磁盘管理工具:如 Windows 系统中的磁盘管理工具、第三方磁盘分区软件等。
三、实训内容及步骤(一)操作系统安装1、准备工作备份重要数据:在安装操作系统之前,首先需要备份计算机中的重要数据,以免在安装过程中丢失。
制作安装介质:可以通过下载操作系统镜像文件,并将其刻录到光盘或制作成启动 U 盘。
进入 BIOS 设置:重启计算机,在开机过程中按下相应的按键(通常是 Del、F2 等)进入 BIOS 设置界面,将启动顺序设置为首先从安装介质启动。
2、安装操作系统插入安装介质,重启计算机,按照提示进入操作系统安装界面。
选择安装语言、时区、键盘布局等基本设置。
选择安装类型,如全新安装、升级安装等。
对磁盘进行分区和格式化:可以根据需要创建系统分区、数据分区等,并选择合适的文件系统(如 NTFS、FAT32 等)进行格式化。
等待操作系统安装完成:安装过程中,计算机会自动进行文件复制、系统配置等操作,需要耐心等待。
安装驱动程序和更新:操作系统安装完成后,需要安装计算机硬件的驱动程序,以确保硬件能够正常工作。
同时,还需要连接网络,进行系统更新,以修复漏洞和获取最新功能。
(二)磁盘管理1、磁盘分区打开磁盘管理工具:在 Windows 系统中,可以通过右键点击“我的电脑”,选择“管理”,然后在“计算机管理”窗口中选择“磁盘管理”来打开磁盘管理工具。
磁盘管理实训报告
磁盘管理实训报告一、实训目的本次实训旨在通过实际操作,使学生掌握Linux系统下磁盘管理的相关知识,包括磁盘分区、格式化、挂载等基本操作,提高学生在实际工作中处理磁盘问题的能力。
二、实训环境1. 操作系统:Linux(CentOS 7)2. 磁盘:一块2G的虚拟硬盘3. 工具:fdisk、parted、mkfs.ext4、mount等三、实训内容1. 磁盘分区(1)使用fdisk命令创建分区首先,使用fdisk命令对虚拟硬盘进行分区操作。
在Linux终端输入以下命令:```fdisk /dev/sdb```其中,/dev/sdb表示虚拟硬盘的设备名称。
(2)选择分区类型进入fdisk交互模式后,按p键查看当前磁盘的分区情况。
按n键创建新分区,然后根据提示选择分区类型(主分区或扩展分区)。
这里以创建主分区为例。
(3)设置分区大小和起始位置根据提示输入新分区的大小和起始位置。
这里以创建一个2G的主分区为例。
(4)保存分区表创建完分区后,按w键保存分区表。
2. 格式化分区使用mkfs.ext4命令对新建的分区进行格式化。
格式如下:```mkfs.ext4 /dev/sdb1```其中,/dev/sdb1表示新建的主分区。
3. 挂载分区(1)创建挂载点在Linux系统中,需要创建一个挂载点来存放分区中的文件。
使用mkdir命令创建挂载点:```mkdir /mnt/sdb1```(2)挂载分区使用mount命令将分区挂载到挂载点:```mount /dev/sdb1 /mnt/sdb1```4. 查看磁盘空间使用情况使用df命令查看磁盘空间使用情况:```df -h```5. 卸载分区使用umount命令卸载分区:```umount /mnt/sdb1```四、实训总结通过本次实训,我掌握了以下磁盘管理操作:1. 使用fdisk命令创建、删除和修改分区。
2. 使用mkfs.ext4命令对分区进行格式化。
操作系统安装和磁盘管理实训报告
操作系统安装和磁盘管理实训报告实训7:操作系统安装和磁盘管理实训报告本次实训内容为安装操作系统,并利用系统自带工具进行磁盘分区和格式化。
实训要求包括熟悉操作系统安装方法、熟练利用操作系统自带工具进行磁盘分区和格式化,以及了解操作系统安装过程中各项设置的含义。
在实际操作中,我们首先需要进入BIOS进行设置,将CD-ROM设为第一启动设备。
大多数电脑进入BIOS的方式为按下Del键。
在Advanced BIOS Features选项设置里,我们可以找到FirstBootDevice,将其设置为CD-ROM即可。
完成后,按下F10键保存并退出。
接下来是操作系统的安装过程。
首先,我们需要选择系统安装分区。
在启动光盘后,我们会看到Windows XP安装欢迎页面,按下Enter键继续进入下一步安装进程。
然后,我们需要同意Windows的用户许可协议,按下F8键继续安装。
进入实质性的XP安装过程后,我们需要进行硬盘分区。
如果硬盘已经分好区,就不需要再进行分区了。
在此我们将整个硬盘都分成一个区。
在实际使用中,应根据需要将一个硬盘划分为若干个分区。
关于安装Windows XP系统的分区大小,一般以40G为宜。
分区结束后,我们可以选择要安装系统的分区。
最后,我们需要选择文件系统。
FAT32文件系统适用于较小的分区,而NTFS文件系统适用于较大的分区。
选择好文件系统后,我们需要进行格式化。
在格式化过程中,我们可以选择快速格式化或完全格式化。
快速格式化速度较快,但完全格式化可以更彻底地清除硬盘上的数据。
通过本次实训,我们掌握了操作系统安装和磁盘管理的基本方法,为今后的计算机维护和使用打下了坚实的基础。
在选择系统的安装分区之后,需要为系统选择文件系统。
在Windows XP中,有两种文件系统可供选择:FAT32和NTFS。
虽然FAT32在兼容性方面稍微好一些,但是从安全性和性能方面来看,NTFS更好。
因此,作为普通Windows用户,建议选择NTFS格式。
实验五 Windows 2008综合实验
实验五Windows 2008综合实验
实验目的:巩固Win Server 2008 的各项服务配置,体会各项服务的内涵。
实验类型:设计性
实验内容:该实验分组进行,自愿组合,5人一组。
路由、web、ftp、dns的配置均与前面的实验相类似!
1.配置19
2.168.
3.10为Web服务器,创建一个Web站点,主页文
件为index.htm,利用主机名来做Web站点的标
识。
2.配置192.168.
3.10为FTP服务器,创建一个FTP站点,主目录为
D:\csd,创建一个文件csd.txt,不支持匿名访问。
创建用户账号
test。
点击登录:
3.配置192.168.1.10为DNS服务器,为web站点执行名称解析。
结果见第一题
4.配置计算机R1和R2为路由器,并添加静态路由,使两个子网
可以互相通讯。
静态路由的配置见实验四
两个路由联通结果
5.在主机192.168.1.100上访问Web服务器,在DOS命令行下以test
用户账号访问FTP服务器,并把文件csd.txt下载到D盘根目录下。
6.配置192.168.1.100计算机为终端服务器远程管理模式,在
192.168.3.10计算机上访问终端服务器。
心得体会:通过此次实验,我对web服务器和路由的配置有了进一步的理解。
两台电脑的配置不像一台电脑那么简单,多次ping不通,通过检查,不断地改进,发现了问题所在。
并且各虚拟机网络不需要打开,也
不用每次都禁用。
知识的掌握就是从不断地发现错误改正错误中获取的。
磁盘管理_实验报告
一、实验目的1. 理解磁盘的基本结构和工作原理。
2. 掌握Linux操作系统中磁盘管理的常用命令。
3. 学会使用磁盘分区、格式化、挂载等基本操作。
4. 了解磁盘故障的检测与修复方法。
二、实验环境1. 操作系统:Linux2. 硬件设备:计算机、硬盘(包括固态硬盘和机械硬盘)3. 软件工具:磁盘分区工具、格式化工具、磁盘检测工具等三、实验内容1. 磁盘结构和工作原理磁盘是计算机中常用的存储设备,主要由以下几个部分组成:磁头:用于读写磁盘上的数据。
磁盘片:由多个磁性盘片组成,用于存储数据。
控制单元:负责控制磁头的移动和数据读写。
磁盘的工作原理如下:1. 当读取数据时,磁头定位到指定位置,读取磁盘片上的数据。
2. 当写入数据时,磁头将数据写入磁盘片上的指定位置。
2. 磁盘管理命令Linux操作系统中,常用的磁盘管理命令如下:fdisk:用于磁盘分区。
mkfs:用于格式化磁盘分区。
mount:用于挂载磁盘分区。
df:用于查看磁盘使用情况。
du:用于查看文件/文件夹大小。
3. 磁盘分区磁盘分区是指将硬盘划分为多个逻辑分区,每个分区可以独立存储数据。
实验步骤:1. 使用fdisk命令创建新的磁盘分区。
2. 使用mkfs命令格式化磁盘分区。
3. 使用mount命令将磁盘分区挂载到文件系统。
4. 磁盘格式化磁盘格式化是指将磁盘分区上的数据全部清空,并建立文件系统。
实验步骤:1. 使用mkfs命令格式化磁盘分区。
2. 使用df命令查看磁盘使用情况。
5. 磁盘挂载磁盘挂载是指将磁盘分区与文件系统关联起来,以便用户访问。
实验步骤:1. 使用mount命令将磁盘分区挂载到文件系统。
2. 使用df命令查看磁盘挂载情况。
6. 磁盘故障检测与修复磁盘故障可能导致数据丢失或系统崩溃。
以下是一些常用的磁盘故障检测与修复方法:使用磁盘检测工具检测磁盘健康状态。
使用磁盘修复工具修复磁盘错误。
备份数据以防止数据丢失。
四、实验结果与分析通过本次实验,我们成功掌握了以下内容:1. 磁盘的基本结构和工作原理。
Windows server 2008 的磁盘和文件管理
Windows Server 2008的磁盘和文件管理
目的:
让学生掌握Windows Server 2008的磁盘和文件管理。
要求:
Windows Server 2008操作系统盘,VmwareWorkstation软件
内容:
1.磁盘管理:
①在虚拟Windows Server 2008中,加入3块硬盘:磁盘0(大小为4G)、
磁盘1(大小为2G)、磁盘2(大小为1G);
②使用磁盘管理控制台,在磁盘0上分别创建主磁盘分区(大小2G)、扩
展磁盘分区(大小2G),在扩展磁盘分区上创建2个逻辑磁盘驱动器D (大小500M)、E(大小500M),并对已经创建好的分区进行格式化(D 为NTFS格式、E为FAT32格式)、更改磁盘驱动器号D为K;
③使用磁盘管理控制台,在磁盘1上创建简单卷(大小为900M),在磁盘
0、磁盘1上创建跨区卷(大小为500M,磁盘0上200M,磁盘1上300M)、
带区卷(大小为400M)、镜像卷(大小为600M),在磁盘0、磁盘1、磁盘2上创建RAID-5分区;
④在虚拟Windows Server 2008环境下,删除磁盘2,对RAID-5分区尝试
数据恢复操作;
⑤利用磁盘配额工具,在D盘下对不同的用户分配相应的磁盘空间。
2.文件系统管理:
①将E盘由FAT32格式无损转换为NTFS格式;
②在本地磁盘某驱动器(NTFS格式)中创建一个文件夹,命名为“试验”,
将其设置为共享文件夹,并将其设为guest用户可以完全控制;
③将②中创建的“试验”文件夹进行压缩与加密;
④在邻近的某台计算机上,将“试验”文件夹映射为该计算机的Z驱动器。
操作系统实习报告(磁盘文件操作)
大学操作系统课程综合实践题目:磁盘文件操作班级:姓名:学号:指导教师:2011年 12 月 23日磁盘文件操作摘要:为了正确地实现文件的存取,文件系统设计了一组与存取文件有关的功能模块,用户可以用“访问指令”调用这些功能模块,以实现文件的存取要求。
我们把文件系统设计的这一组功能模块称为“文件操作“,实验就是要模拟实现一些文件操作。
文件操作不是独立的,它和文件系统的其他部分密切相关,若要实现文件操作就离不开文件的目录结构、文件的组织结构和磁盘空间的管理。
因此,这个实习虽然是文件操作的模拟实现,但还是必须模拟一部分文件的组织结构、目录结构和磁盘空间管理的实现。
关键字:磁盘、文件、目录、分配表。
一、实验内容:设计一个简单的文件系统,用文件模拟磁盘,用数组模拟缓冲区,要求实现;1.支持多级目录结构,支持文件的绝对路径;2.文件的逻辑结构采用流式结构,物理结构采用链接结构中的显示链接方式;3.采用文件分配表;4.实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、读文件、写文件(追加方式)、关闭文件、改变文件属性。
最后编写主函数对所做工作进行测试。
二、实验目的:1、文件的操作。
2、文件的逻辑结构和物理结构3、磁盘空间的管理4、磁盘目录结构三、实验环境:Windows XP、VC++四、程序运行结果(详图):程序运行的主界面:用户运行命令7-建立目录用户运行命令1-建立文件:显示目录内容:打开文件:写文件:关闭文件:再次显示目录内容:以上为程序的运行的部分截图。
五、程序清单:#define false 0#define true 1#include "stdio.h"//#include <fcntl>#include<string.h>//#param warning(disable:4996)FILE*x1,*x2;typedef struct{char name[3]; /*文件或目录名*/char type[2]; /*文件类型名*/char attribute; /*属性*/char address; /*文件或目录的起始盘块号*/char length; /*文件长度,以盘块为单位*/}content; /*目录结构*/#define n 5 /*模拟实验中系统允许打开文件的最大数量*/ typedef struct{int dnum; /*磁盘盘块号*/int bnum; /*盘块内第几项*/}pointer; /*已打开文件表中读写指针的结构*/typedef structchar name[20]; /*文件绝对路径名*/char attribute;/*文件的属性,用1个字节表示,所以用了char类型*/ int number; /*文件起始盘块号*/int length; /*文件长度,文件占用的字节数*/int flag; /*操作类型,用"0"表示以读操作方式开文件,用"1"表示写操作方式打开文件*/pointer read; /*读文件的位置,文件刚打开时dnum为文件起始盘块号,bnum 为"0"*/pointer write; /*写文件的位置,文件建立时dnum为文件起始盘块号,bnum 为"0",打开时为文件末尾*/}OFILE; /*已打开文件表项类型定义*/struct{OFILE file[n]; /*已打开文件表*/int length; /*已打开文件表中登记的文件数量*/}openfile; /*已打开文件表定义*/char buffer1[64];/*模拟缓冲1*/content buffer2[8];/*模拟缓冲2*/FILE *fc; /*模拟磁盘的文件指针*/void copen(OFILE *x1,OFILE *x2)//OFILE *x1,*x2;{strcpy(x1->name,x2->name);x1->attribute=x2->attribute;x1->number=x2->number;x1->length=x2->length;x1->flag=x2->flag;x1->read.dnum=x2->read.dnum;x1->read.bnum=x2->read.bnum;x1->write.dnum=x2->write.dnum;x1->write.bnum=x2->write.bnum;}int sopen(char *name)/*在已打开文件表中查找文件name*/ //P172//char *name;{int i;i=0;while(i<openfile.length&&strcmp(openfile.file[i].name,name)!=0)/*依次查找已打开文件表*/i++;if(i>=openfile.length)return(-1);return(i);}/*查找sopen函数结束*/void dopen(char *name)/*在已打开文件表中删除文件name*///char *name;{int i;i=sopen(name);if(i==-1)printf("文件未打开\n");else{copen(&openfile.file[i],&openfile.file[openfile.length-1]);openfile.length--;}}/*删除函数结束*/int iopen(content *x)/*在已打开文件表中插入文件name*///content *x;{int i;i=sopen(x->name);if(i!=-1){printf("文件已经打开\n");return(false);}else if(openfile.length==n){printf("已打开文件表已满\n");return(false);}else{//copen(&openfile.file[openfile.length],x);openfile.length++;return(true);}}/*填写已打开文件表函数结束*/int allocate( )/*分配一个磁盘块,返回块号*/{int i;fseek(fc,0,SEEK_SET); /*将模拟磁盘的文件指针移至模拟磁盘FAT表*/fread(buffer1,64L,1,fc);/*将FAT表中第一个磁盘块读入模拟缓冲buffer1中*/for(i=3;i<63;i++)if(buffer1[i]==0){ /*FAT中的第i项为0,分配第i块磁盘块,修改FAT表,并且写回磁盘*/buffer1[i]=255; //P173fseek(fc,0,SEEK_SET);fwrite (buffer1,64L,1,fc);return(i); /*返回磁盘号*/}fread(buffer1,64L,1,fc);/*将FAT表中第二个磁盘块读入模拟缓冲buffer1中*/for(i=0;i<63;i++)if(buffer1[i]==0){/*FAT中的第i项为0,分配第i+64块磁盘块,修改FAT表,并且写回磁盘*/buffer1[i]=255;fseek(fc,-64L,SEEK_CUR);fwrite(buffer1,64L,1,fc);return(i+64); /*返回磁盘号*/}printf("已经没有磁盘空间\n");return(false);}/*分配磁盘块函数结束*/int read_file(char *name,int length)/*读文件函数,文件路径名name,读取长度length*///char *name;//int length;{int i,t;//char ch;if((i=sopen(name))==-1){printf("文件没有打开或不存在\n");return (false);}if(openfile.file[i].flag==1){printf("文件以写方式打开,不能读\n");return 0;}t=0;fseek(fc,openfile.file[i].read.dnum*64L,SEEK_SET);fread(buffer1,64,1,fc);while(t<length&&buffer1[openfile.file[i].read.bnum]!='#'){putchar(buffer1[openfile.file[i].read.bnum]);/*读出一个字符(这里是在屏幕上显示)*/if((t+1)%64==0)putchar('\n');/*修改读指针*/openfile.file[i].read.bnum++;if(openfile.file[i].read.bnum>=64)/*一块读完,读取下一个盘块*/{fseek(fc,openfile.file[i].read.dnum/64*64, SEEK_SET);fread(buffer1,64,1,fc);openfile.file[i].read.dnum=buffer1[openfile.file[i].read.dnum%64];/*修改读指针*/openfile.file[i].read.bnum=0;fseek(fc,openfile.file[i].read.dnum*64L,SEEK_SET);fread(buffer1,64,1,fc);/*读取下一个*/}t++;}}/*读函数结束*/int write_file(char *name,char *buff,int length) //P174/*写文件函数*///char *name;/*文件路径名*///char *buff;/*存放准备写入磁盘的内容*///int length;/*写入内容的长度*/{int i,t,dd;if((i=sopen(name))==-1)/*文件不存在,无法写*/{printf("文件没有打开或不存在\n");return (false);}if(openfile.file[i].flag==0){printf("文件以读方式打开,不能写\n");return (false);}t=0;fseek(fc,openfile.file[i].write.dnum*64L, SEEK_SET);fread(buffer1,64,1,fc);while(t<length){buffer1[openfile.file[i].write.bnum]=buff[t];openfile.file[i].write.bnum++;openfile.file[i].length++;if(openfile.file[i].write.bnum>=64){fseek(fc, openfile.file[i].write.dnum*64L, SEEK_SET);fwrite(buffer1,64,1,fc);/*一块写完,写回磁盘*/if((dd=allocate())==false){openfile.file[i].write.bnum--;openfile.file[i].length--;printf("无磁盘空间,部分信息丢失,写失败\n");return (false);}/*if*/fseek(fc,openfile.file[i].write.dnum/64*64L, SEEK_SET);fread(buffer1,64,1,fc);buffer1[openfile.file[i].write.dnum%64]=dd;fseek(fc,openfile.file[i].write.dnum/64*64L, SEEK_SET);fwrite(buffer1,64,1,fc);openfile.file[i].write.dnum=dd;openfile.file[i].write.bnum=0;}/*if*/t++;}/*while*/fseek(fc, openfile.file[i].write.dnum*64L, SEEK_SET);fwrite(buffer1,64,1,fc);/*一块写完,写回磁盘*/}/*写函数结束*/int search(char *name,int flag,int *dnum,int *bnum)/*查找路径名为name的文件或目录,返回该目录的起始盘块号 *///char *name;//int flag; /*flag=8表示查找目录,否则为文件*///int *dnum,*bnum;/*返回找到文件或目录的目录项的位置:盘块dnum中第bnum项*/{int k,i,s,j,last=0;char pna[3],type[2];if((strcmp(name,"")==0)||(strcmp(name,"/")==0))/*根目录*/ //P175return(2);k=0;if(name[0]=='/')k=1;i=2; /*i=根目录的起始盘块号*/while(last!=1){/*pna=从name中分离出"/"后一个目录名(或文件名)*/for(s=0;name[k]!='.'&&name[k]!='/'&&s<3&&name[k]!='\0';s++,k++)pna[s]=name[k];for(;s<3;s++)/*用空格补全名字长度*/pna[s]=' ';while(name[k]!='.'&&name[k]!='\0'&&name[k]!='/')/*除去多余字符*/k++;type[0]=type[1]=' ';if(name[k]=='.')/*取文件类型名type*/if(flag==8){printf("目录不应该有有类型名,查找失败\n");return(false);}else{/*文件遇到类型名认为结束,后面的字符作废*/k++;if(name[k]!='\0')type[0]=name[k];k++;if(name[k]!='\0')type[1]=name[k];if(name[k]!='\0'&&name[k+1]!='\0'){printf("文件名错误\n");return(false);}last=1;}elseif(name[k]!='\0')k++;if(name[k]=='\0')last=1;/*查找目录且名字等于pna的目录项*/fseek(fc,i*64L,SEEK_SET);fread(buffer2,64L,1,fc);j=0;if(last==1&&flag!=8)while(j<8&&!(buffer2[j].attribute!=8&&buffer2[j].name[0]==pna[0]& &buffer2[j].name[1]==pna[1]&&buffer2[j].name[2]==pna[2]&&buffer2[j].type[0]==type[0]&&buffer2[j].type[1]==type[1]))j++;elsewhile(j<8&&!(buffer2[j].attribute==8&&buffer2[j].name[0]==pna[0]&&buffer2[j].name[1]==pna[1]&&buffer2[j].name[2]==pna[2]))j++;if(j<8)/*找到该目录或文件*/if(last==1)/*查找结束*/{*dnum=i;*bnum=j;return(buffer2[j].address);} //P176else/*查找还未结束*/i=buffer2[j].address;/*读取下一个盘块*/elsereturn(false);}/*while 查找结束*/}/*search()结束*/int create_file(char *name,int attribute)/*建立文件函数,路径名name,文件属性attribute*///char *name;//int attribute;{int i,j,k,s,d,t,b,dd,dn,bn;char dname[3],tname[2],pathname[20];OFILE x;if(attribute%2==1){printf("只读文件,无法写,不能建立\n");return(false);}if(openfile.length==n){printf("已打开表已满,不能建立\n");return(false);}/* 将name分成两部分,目录路径pathname和目录名dname*/for(j=0;name[j]!='\0';j++)/*查找最后一个“/”*/if(name[j]=='/')s=j;/*分离目录路径*/for(j=0;j<s;j++)pathname[j]=name[j];pathname[j]='\0';/*分离文件名*/for(k=0,j=s+1;name[j]!='\0'&&k<3&&name[j]!='.';j++,k++) dname[k]=name[j];if(k==0){printf("错误文件名或目录名\n");return(false);}for(;k<3;k++)dname[k]=' ';k=0;if(name[j++]=='.')/*分离类型名*/{for(;name[j]!='\0'&&k<2&&name[j]!='.';j++,k++)tname[k]=name[j];}for(;k<2;k++)tname[k]=' ';if((d=search(pathname,8,&dn,&bn))==false)/*找到目录路径,返回该目录所在块号dn和项数bn*/{printf("目录不存在,不能建立");return(false);}/*确认该目录不存在的同时查找空目录项*/ b=-1; //P177fseek(fc,d*64L,SEEK_SET);fread(buffer2,64L,1,fc); /*读出dnum盘块的内容*/for(t=0;t<8;t++){if(buffer2[t].name[0]==dname[0]&&buffer2[t].name[1]==dname[1]&&buffer2[t].name[2]==dname[2]&&buffer2[t].type[0]==tname[0]&&buffer2[t].type[1]==tname[1]){/*找到名字dname的文件,建立失败*/printf("文件已经存在,不能建立\n");return(false);}if(buffer2[t].name[0]=='$'&&b==-1)b=t;}/*for*/if(b==-1)/*没有空目录项,建立失败*/{printf("目录无空间\n");return(false);}if((dd=allocate( ))==false)/*分配给建立目录的磁盘盘块dd*/{printf("建立文件失败\n");return(false);}/*填写目录项*/for(i=0;i<3;i++)buffer2[b].name[i]=dname[i];for(i=0;i<2;i++)buffer2[b].type[i]=tname[i];buffer2[b].attribute=attribute;buffer2[b].address=dd;buffer2[b].length=0;fseek(fc,d*64L,SEEK_SET);fwrite(buffer2,64L,1,fc);/*填写已打开文件表*/strcpy(,name);x.attribute=attribute;x.number=dd;x.length=0;x.flag=1;x.read.dnum=x.write.dnum=dd;x.read.bnum=x.write.bnum=0;//iopen(&x);}/*建立文件结束*/int open_file(char *name,int attribute)/*打开文件函数*///char *name;//int attribute;{OFILE x;int dnum,bnum,last,i,d;if((d=search(name,4,&dnum,&bnum))==false) {printf("文件不存在,打开操作失败\n");return(false);}fseek(fc,dnum*64L,SEEK_SET);/*读出对应目录项*/ //P178fread(buffer2,64,1,fc);if((buffer2[bnum].attribute%2==1)&& attribute==1)/*对只读文件要求写*/{printf("文件不能写,打开失败");return(false);}strcpy(,name);x.attribute=buffer2[bnum].attribute;x.number=buffer2[bnum].address;x.read.dnum=x.write.dnum=buffer2[bnum].address;x.read.bnum=x.write.bnum=0;x.flag=attribute;if(attribute==1){while(d!='\xff')/*寻找文件末尾*/{fseek(fc, d/64*64L, SEEK_SET);fread(buffer1,64L,1,fc);/*读出dnum项所在FAT*/last=d;d=buffer1[d%64];/*读出dnum块下一块内容赋给dnum*/}/*while*/x.write.dnum=last;/*填写写指针*/fseek(fc, last*64L, SEEK_SET);fread(buffer1,64L,1,fc);for(i=0;i<64&&buffer1[i]!='#';i++);x.write.bnum=i;x.length=(buffer2[bnum].length-1)*64+i;}iopen(&x);/*填写已打开文件表*/}int close_file(char *name)/*关闭文件函数*///char *name;{int i,dnum,bnum;if((i=sopen(name))==-1){printf("打开的文件中没有该文件,关闭失败\n");return(false);}if(openfile.file[i].flag==1)/*写文件的追加文件结束符*/{fseek(fc,openfile.file[i].write.dnum*64L, SEEK_SET);fread(buffer1,64,1,fc);buffer1[openfile.file[i].write.bnum]='#';fseek(fc,openfile.file[i].write.dnum*64L, SEEK_SET);fwrite(buffer1,64,1,fc);fputc('#',fc);search(name,4,&dnum,&bnum);/*查找该文件目录位置*//*修改目录中的文件长度*/fseek(fc,dnum*64L, SEEK_SET);fread(buffer2,64,1,fc);buffer2[bnum].length=openfile.file[i].length/64+1;fseek(fc, dnum*64L, SEEK_SET);fwrite(buffer2,64,1,fc);}/*在已打开文件表中删除该文件的登记项*/if(openfile.length>1) //P179copen(&openfile.file[i],&openfile.file[openfile.length-1]);openfile.length--;}int Delete(char *name)/*删除文件*///char *name;{int dnum,bnum,t;if((t=search(name,4,&dnum,&bnum))==false){printf("文件不存在\n");return(false);}if(sopen(name)!=-1){printf("该文件打开,不能删除\n");return(false);}fseek(fc,dnum*64L, SEEK_SET);fread(buffer2,64,1,fc);buffer2[bnum].name[0]='$';/*将该文件的目录置成空目录*/ fseek(fc,dnum*64L, SEEK_SET);fwrite(buffer2,64,1,fc);while(t!='\xff')/*通过FAT查找每一个盘块号,并依次删除*/ {dnum=t;fseek(fc, dnum/64*64, SEEK_SET);fread(buffer1,64,1,fc);t=buffer1[dnum%64];buffer1[dnum%64]=0;fseek(fc, dnum/64*64L, SEEK_SET);fwrite(buffer1,64,1,fc);}}/*文件删除结束*/int md(char *name)/*建立目录函数,目录路径名name*///char *name;{int i,j,k,s,d,t,b,dd,dn,bn;char dname[3],pathname[20];i=2;/* i=根目录的起始盘块号*//* 将name分成两部分,目录路径pathname和目录名dname*/for(j=0;name[j]!='\0';j++)/*查找最后一个“/”*/if(name[j]=='/')s=j;/*分离目录路径*/for(j=0;j<s;j++)pathname[j]=name[j];pathname[j]='\0';/*分离目录名*/for(k=0,j=s+1;name[j]!='\0'&&k<3&&name[j]!='.';j++,k++)dname[k]=name[j];if(k==0){printf("错误文件名或目录名\n");return(false); //P180}for(;k<3;k++)dname[k]=' ';if((d=search(pathname,8,&dn,&bn))==false)/*找到目录路径*/{printf("目录不存在,不能建立\n");return(false);}b=-1;/*确认该目录不存在的同时查找空目录项*/fseek(fc,d*64L,SEEK_SET);fread(buffer2,64L,1,fc);/*读出d盘块的内容*/for(t=0;t<8;t++){if(buffer2[t].name[0]==dname[0]&&buffer2[t].name[1]==dname[1]&&buffer2[t].name[2]==dname[2]&&buffer2[t].attribute==8){/*找到名字dname的目录,建立失败*/printf("目录已经存在,不能建立\n");return(false);}if(buffer2[t].name[0]=='$'&&b==-1)b=t;}/*for*/if(b==-1)/*没有空目录项,不能建立*/{printf("目录无空间\n");return(false);}if((dd=allocate( ))==false)/*分配给建立目录的磁盘盘块dd*/{printf("目录不能建立\n");return(false);}/*填写目录项*/for(i=0;i<3;i++)buffer2[b].name[i]=dname[i];buffer2[b].type[0]=buffer2[b].type[1]=' ';buffer2[b].attribute=8;buffer2[b].address=dd;buffer2[b].length=0;fseek(fc,d*64L,SEEK_SET);fwrite(buffer2,64L,1,fc);/*分给新建目录的盘块初始化*/for(t=0;t<8;t++)buffer2[t].name[0]='$';fseek(fc, dd*64L, SEEK_SET);fwrite(buffer2,64L,1,fc);}/*建立目录结束*/int dir(char *name)/*显示目录内容*///char *name;{int t,dnum,dn,bn;if((dnum=search(name,8,&dn,&bn))==false)/*找到目录路径,返回该目录所在块号dn和盘块内项数bn*/{printf("目录不存在\n");return(false);}printf("名称扩展名起始盘块长度\n"); //P181/*显示目录内容*/fseek(fc,dnum*64L, SEEK_SET);fread(buffer2,64L,1,fc);for(t=0;t<8;t++)/*显示该盘块中目录项的内容*/if(buffer2[t].name[0]!='$')printf(" %c%c%c %c%c %4d%7d\n", buffer2[t].name[0],buffer2[t].name[1],buffer2[t].name[2], buffer2[t].type[0],buffer2[t].type[1],buffer2[t].address, buffer2[t].length);}/*显示目录函数结束*/char typefile(char *name)/*显示文件内容*///char *name;{int dnum,dn,bn,t;if((dnum=search(name,1,&dn,&bn))==false){printf("文件不存在\n");return(false);}if(sopen(name)!=-1){printf("该文件打开,不能显示\n");return(false);}while(dnum!='\xff'){fseek(fc,dnum*64L,SEEK_SET);fread(buffer1,64,1,fc);/*读一个盘块到缓冲*/for(t=0;t<64&&buffer1[t]!='#';t++)/*显示缓冲中内容*/putchar(buffer1[t]);printf("\n");/*获得下一个盘块*/fseek(fc, dnum/64*64L, SEEK_SET);fread(buffer1,64,1,fc);dnum=buffer1[dnum%64];}}/*显示文件函数结束*/int change(char *name,int attribute)/*改变文件name的属性为attribute*///char *name;//int attribute;{int dnum,bnum;if(search(name,1,&dnum,&bnum)==false)/*查找文件目录*/{printf("文件不存在\n");return(false);}if(sopen(name)!=-1) //P182{printf("该文件打开,不能改变文件属性\n");return(false);}fseek(fc,dnum*64L,SEEK_SET);fread(buffer2,64,1,fc);/*读出该目录所在盘块*/buffer2[bnum].attribute=attribute;/*修改属性*/fseek(fc,dnum*64L,SEEK_SET);fwrite(buffer2,64,1,fc);/*写回磁盘*/}/*改变文件属性函数结束*/int main( ){char name[20];//FILE*x1,*x2;//errno_t err;//char err;int attribute,type,length,i,a,j;char buffer[64];/*建立文件,模拟磁盘*/if((fc=fopen("c:\c","w+"))==NULL)//{printf("无法打开文件\n");exit(0);}/*初始化已打开文件表*/openfile.length=0;/*初始化磁盘*//*初始化文件分配表*/buffer1[0]=buffer1[1]=buffer1[2]=255;/*磁盘第0、1块存放FAT表,第2块存放跟目录*/for(i=3;i<64;i++)buffer1[i]=0;buffer1[13]=buffer1[49]=254;/*假定模拟磁盘中有两个坏盘块:第13块和49块*/ //P183fwrite(buffer1,64L,1,fc);for(i=0;i<64;i++)buffer1[i]=0;fwrite(buffer1,64L,1,fc);/*初始化根目录*/for(i=0;i<8;i++)buffer2[i].name[0]='$';/*若目录项的第一个字符为“$”表示该目录项为空*/fwrite(buffer2,64L,1,fc);/*初始化已打开文件表*/while(1){printf("\n 0 - 结束\n");printf(" 1 - 建立文件\n");printf(" 2 - 打开文件\n");printf(" 3 - 读文件\n");printf(" 4 - 写文件\n");printf(" 5 - 关闭文件\n");printf(" 6 - 删除文件\n");printf(" 7 - 建立目录\n");printf(" 8 - 显示目录内容\n");printf(" 9 - 显示文件内容\n");printf(" 10 - 改变文件属性\n");printf(" 选择功能项(0~9):");scanf("%d",&a);switch(a){case 0: /*a=0程序结束*/fclose(fc);exit(0);case 1: /*a=1建立文件*/printf("输入文件路径名和文件属性(1-只读文件,3-只读系统文件,4-普通文件):");scanf("%s%d",name,&attribute);create_file(name,attribute); /*建立文件*/break;case 2: /*a=2打开文件*/printf("输入文件路径名和操作类型(0-读文件,1-写文件):");scanf("%s%d",name,&type);open_file(name,type); /*打开文件*/break;case 3: /*a=3读文件*/printf("输入文件路径名和读长度");scanf("%s%d",name,&length);read_file(name,length); /*读文件*/break;case 4: /*a=4写文件*/printf("输入文件路径名:");scanf("%s",name);printf("输入写的内容和和写长度");scanf("%s%d",buffer,&length);write_file(name,buffer,length); /*写文件*/break;case 5: /*a=5关闭文件*/ //P184printf("输入文件路径名");scanf("%s",name);close_file(name); /*关闭文件*/break;case 6: /*a=6删除文件*/printf("输入文件路径名");scanf("%s",name);Delete(name); /*删除文件*/break;case 7: /*a=7建立目录*/printf("输入目录路径名");scanf("%s",name);md(name); /*建立目录*/break;case 8: /*a=8显示目录*/printf("输入目录路径名");scanf("%s",name);dir(name); /*显示目录*/break;case 9: /*a=9显示文件*/printf("输入文件路径名");scanf("%s",name);typefile(name); /*显示文件*/break;case 10:/* a=10改变文件属性 */printf("输入文件路径名和文件属性(1-只读文件,3-只读系统文件,4-普通文件):");scanf("%s%d",name,&attribute);change(name,attribute);}/* switch */}/* while */}/*main( )结束*/ //P185六、结束语:通过对磁盘文件操作,使我了解了基本的磁盘文件的知识,再加上对程序流程的理解,更加明白了Windows对磁盘管理的方式,首先程序查找绝对路径名name,然后从name中分离出“/”后下一个目录(或文件名);若是文件,分离出类型名type,再进行之后的判断操作。
磁盘管理的实训报告
一、实训背景随着信息技术的飞速发展,数据存储需求日益增长,磁盘管理作为维护计算机系统稳定运行的重要环节,显得尤为重要。
为了提高我对磁盘管理的实际操作能力,我参加了本次磁盘管理实训,通过实际操作掌握了磁盘的基本管理方法。
二、实训目标1. 熟悉磁盘分区的基本概念和操作方法。
2. 掌握磁盘格式化、挂载、卸载等基本操作。
3. 了解磁盘性能优化方法。
4. 能够解决磁盘故障。
三、实训内容1. 磁盘分区(1)使用fdisk工具进行磁盘分区:首先,通过lsblk命令查看当前磁盘及分区表类型,确定分区管理工具。
然后,使用fdisk命令对系统当前磁盘进行分区。
进入fdisk交互工作模式,依次完成以下操作:查看当前磁盘的分区情况、创建新分区、设置分区大小、设置分区类型、写入分区表、退出fdisk。
(2)使用parted工具进行磁盘分区:通过parted命令查看磁盘分区表类型(MBR 或GPT),根据需要选择相应的分区工具。
进入parted交互工作模式,依次完成以下操作:查看磁盘分区表、创建新分区、设置分区大小、设置分区类型、写入分区表、退出parted。
2. 磁盘格式化使用mkfs命令对磁盘分区进行格式化。
根据需要选择相应的文件系统类型,如ext4、xfs等。
3. 磁盘挂载与卸载使用mount命令将磁盘分区挂载到文件系统中,使用umount命令卸载磁盘分区。
4. 磁盘性能优化(1)使用swap分区:在内存不足的情况下,使用swap分区可以释放内存,提高系统性能。
(2)调整文件系统参数:根据实际情况调整文件系统参数,如inode数量、块大小等。
(3)使用磁盘缓存:通过调整缓存参数,提高磁盘访问速度。
5. 磁盘故障处理(1)使用fsck命令检查文件系统错误:当文件系统出现问题时,使用fsck命令检查并修复错误。
(2)备份磁盘数据:定期备份磁盘数据,以防数据丢失。
(3)使用磁盘克隆工具:在磁盘出现故障时,使用磁盘克隆工具恢复数据。
磁盘管理实训报告
磁盘管理
任务一创建磁盘
1.删除旧磁盘分区;
2.创建一个主磁盘分区,两个扩展磁盘分区,主磁盘分区占整个磁盘1/5,扩展磁盘分区各占2/5;
3.三个磁盘的驱动器名分别为F、H、G;
4.把F、H、G盘文件格式设置为NTFS;
5.创建F盘为简单卷,H盘为带区卷,G盘为镜像卷
操作过程:单击开始进入程序,选择附件,进入管理工具,选择计算机管理,进行任务一的相关操作,最终结果如下图:
任务二磁盘管理
1.将F盘级为动态磁盘;
2.将F、H、G磁盘驱动器号分别更改为C、D、E;
分别选中F 、H、G磁盘,单击右键,出现更改磁盘驱动号,一次把磁盘驱动器号分别更改为C、D、E。
3.把C盘文件格式更改为FA T;
4.把C盘顶端和底端的查看方式分别设置为磁盘列表和图形视图;
5.写出C、D、E盘磁盘的属性、状态、类型、容量、空闲等详细信息;
分别选中C、D、E盘,单击右键,打开属性,只截取C盘属性查看详细信息:
6.指定CD-ROM设备的驱动器名名为H;
打开虚拟机的“我的电脑”把CD-ROM设备的驱动器名名为H。
7.写出未指派、主磁盘分区、逻辑磁盘分区、简单区、带卷区、镜像卷分别是用什么样的颜色表示;
主磁盘分区是深蓝色,逻辑分区是浅蓝色。
磁盘管理技术实验报告
一、实验目的本次实验旨在使学生掌握磁盘管理的基本原理和方法,熟悉Linux操作系统中磁盘管理的常用命令和工具,了解磁盘分区、格式化、挂载等操作,提高学生在实际工作中处理磁盘问题的能力。
二、实验环境1. 操作系统:Linux Ubuntu 20.042. 硬件环境:虚拟机环境,至少一块硬盘3. 软件环境:fdisk、parted、mkfs、mount、df、du等磁盘管理工具三、实验内容1. 磁盘分区(1)使用fdisk命令创建磁盘分区首先,通过fdisk命令进入磁盘分区编辑模式,然后输入n创建新分区,选择分区类型(主分区或扩展分区),指定分区大小,最后输入t修改分区类型。
(2)使用parted命令创建磁盘分区parted命令可以用于创建、删除、修改磁盘分区。
首先,通过parted命令进入磁盘分区编辑模式,然后输入mkpart创建新分区,指定分区类型、大小和文件系统。
2. 磁盘格式化使用mkfs命令对磁盘分区进行格式化,指定分区类型(如ext4、ext3、ext2、fat32等)。
3. 磁盘挂载使用mount命令将磁盘分区挂载到文件系统,指定挂载点。
4. 磁盘使用情况查看使用df命令查看磁盘使用情况,包括总空间、已用空间、可用空间等信息。
5. 磁盘空间占用情况查看使用du命令查看文件或目录占用空间大小。
6. 磁盘配额设置使用quota命令设置磁盘配额,限制用户或用户组在磁盘上的使用量。
7. 逻辑盘配置使用lvm(逻辑卷管理)工具配置逻辑盘,包括创建物理卷、卷组、逻辑卷,以及拓展和缩小逻辑卷的大小。
四、实验步骤1. 创建磁盘分区首先,使用fdisk命令创建磁盘分区,然后使用parted命令创建磁盘分区。
2. 格式化磁盘分区使用mkfs命令对磁盘分区进行格式化,指定分区类型。
3. 挂载磁盘分区使用mount命令将磁盘分区挂载到文件系统,指定挂载点。
4. 查看磁盘使用情况使用df命令查看磁盘使用情况。
5. 查看磁盘空间占用情况使用du命令查看文件或目录占用空间大小。
实训:操作系统安装和磁盘管理实训报告
答案
实训内容
安装操作系统,利用操作系统自带工具进行磁盘分区、格式化。
实训要求
1.熟悉操作系统安装方法
2.熟练利用操作系统自带工具进行磁盘分区和格式化
3.了解操作系统安装过程中各项设置的含义
实 训 数 据 记 录
实训操作系统版本:
一、安装操作系统
1.设置BIOS,将CD-ROM设为第一启动设备。
2、点击进行自动安装。按着提示进行操作
1)复制安装文件,重新启动
2)设置安装信息 输入语言中文 完成后单击 下一步
3)填写个人信息 完成后单击下一步
4)填写产品密钥
5)设置计算机名和密码 完成后单击 下一步
6)选择日期、时间和所在时区
7)选择 典型设置 单击 下一步
8)设置工作组
3、安装组件
等待安装程序进行各种组件、控制面板等项目的安装,各组件安装完成后,电脑重启
步骤简述:
开机,按DEL进入BIOS,点击BOOT,进入后,选择第一启动项为CD-ROM,按F10,保存,确定后,重启
2.安装过程(复制文件、安装设置等)
步骤及安装过程中的设置项目记录:
1、进入后先进入磁盘软件进行磁盘全盘格式化,分区,分第一主分区为10G,设置为活动盘。设置扩展分区为剩下的所有容量。再进行分区。
1)右击D盘分区,选择删除逻辑驱动器命令,单击是
2)观察并记录磁盘分区状态的变化
3)同样的方法对其他进行分区
4)右击可用空间的磁盘空间选择删除磁盘分区单击是
创建扩展磁盘分区
1)右击未指派的磁盘分区选择新建磁盘分区命令,打开新建磁盘分区向导
2)选择创建扩展磁盘分区
3)设置分区的容量为全部剩余空间
操作系统磁盘空间管理实验报告
操作系统磁盘管理一、实验目的怎样有效地管理磁盘存储空间是操作系统应解决的一个重要问题,通过本实习使学生掌握磁盘存储空间的分配和回收算法。
二、实验内容模拟磁盘空闲空间的表示方法,以及模拟实现磁盘空间的分配和回收。
本实习模拟用位示图管理磁盘存储空间的管理方法。
设计申请一块磁盘空间和归还一块磁盘空间的程序。
要求能显示或打印程序运行前和运行后的位示图;分配时把分配到的磁盘空间的物理地址显示或打印出来,归还时把归还块对应于位示图的字节号和位数显示或打印出来。
假定已有如表1的磁盘空间被占用了,现在要申请五块磁盘空间,运行分配程序,显示或打印运行的结果。
然后再归还如表2的空间,运行回收程序,显示或打印运行结果。
三、实验步骤本实验在Visual C++ 6.0编程平台下进行编程实现,详见实验内容。
1.算法设计流程,及源代码;算法思想,及算法流程:磁盘存储空间的分配有两种方式,一种是分配连续的存储空间,另一种是可以分配不连续的存储空间。
为了表示哪些磁盘空间已被占用,哪些磁盘空间是空闲的,可用位示图来指出。
位示图由若干字节构成,每一位与磁盘上的一块对应,“1”状态表示相应块已占用,“0”状态表示该块为空闲。
当申请一块磁盘空间时,由分配程序查位示图,找出一个为“0”的位,计算出这一位对应块的磁盘物理地址,且把该位置成占用状态“1”。
假设现在有一个盘组共80个柱面,每个柱面有两个磁道,每个磁道分成4个物理记录。
那么,当在位示图中找到某一字节的某一位为“0”时,这个空闲块对应的磁盘物理地址为:柱面号=字节号磁道号=[位数/4] 物理记录号={位数/4} 当归还一块磁盘空间时,由回收程序根据归还的磁盘物理地址计算出归还块在位示图中的对应位,把该位置成“0”。
归还块在位示图中的位置计算如下:字节号=柱面号位数=磁道号 4+物理记录号源程序:#include<iostream.h>#include<stdlib.h>#include<iomanip.h>#define A 10#define B 2#define C 4int koko[A][B][C];int M,N;int i,j,k;char ch;void i_koko(){for(i=0;i<A;i++){for(j=0;j<B;j++){for(k=0;k<C;k++){koko[i][j][k]=1;}}}}void Dispense(){do{cout<<"请输入字节号:"<<'\t';cin>>M;cout<<"请输入位数:"<<'\t';cin>>N;i=M;j=N/4;k=N%4;koko[i][j][k]=0;cout<<"是否继续输入(Y/N):"<<'\t';cin>>ch;}while(ch=='Y'||ch=='y');}void Recycle(){do{cout<<"请输入柱面号"<<'\t';cin>>i;cout<<"请输入磁盘号"<<'\t';cin>>j;cout<<"请输入逻辑记录号"<<'\t';cin>>k;koko[i][j][k]=1;cout<<"是否继续输入(Y/N):"<<'\t';cin>>ch;}while(ch=='Y'||ch=='y');}void Display(){int i,j,k;int flag=0;cout<<"**位示图**"<<endl;cout<<"字\位"<<setw(3);for(i=0;i<B*C;i++){cout<<i<<setw(3);}cout<<endl;for(i=0;i<A;i++){cout<<setw(3)<<i<<setw(6);for(j=0;j<B;j++){for(k=0;k<C;k++){cout<<koko[i][j][k]<<setw(3);flag++;if(flag%8==0)cout<<endl;}}}cout<<endl;cout<<"**磁盘分配图**"<<endl;cout<<"柱面号"<<'\t'<<"磁道号"<<'\t'<<"物理记录号"<<endl;for(i=0;i<A;i++){for(j=0;j<B;j++){for(k=0;k<C;k++){if(koko[i][j][k]==0)cout<<i<<'\t'<<j<<'\t'<<k<<endl;}}}cout<<endl<<endl;}void KOKO(){cout<<"**********************************"<<endl;cout<<"* 1.分配"<<"2.回收"<<"3.显示"<<"4.退出*"<<endl;cout<<"**********************************"<<endl;cout<<"选择所要执行的功能:"<<'\t';int x;cin>>x;cout<<endl;switch(x){case 1:Dispense(); break;case 2:Recycle();break;case 3:Display();break;case 4:exit(1);break;default:cout<<"Error! 该功能不存在请重新输入"<<endl<<endl;}}void main(){i_koko();while(1){KOKO();}}2.编译、调试程序;3.运行程序,记录结果。
实训报告 磁盘管理
实训报告磁盘管理一、实训目的掌握磁盘管理的知识与技能二、实训环境装有Windows Server 2003 操作系统计算机三、实训内容及步骤:1、对硬盘进行分区。
2、修改硬盘逻辑驱动器、光驱、移动硬盘、U 盘等设备的盘符。
四、实训过程1、在操作系统中利用磁盘管理对硬盘进行分区。
Windows 本身自带有一个磁盘管理工具,可以对未安装操作系统的那些分区或是另外一块硬盘重新配置分区。
下面几种情况都可以用磁盘管理工具搞定重新分区的操作。
(1)硬盘原来已经划了两个或是更多的分区,C 盘不想变动,但是想把后面的分区删掉,重新划成一个或是几个分区。
(2)装系统的时候只用硬盘的一部分空间划了个C 盘,还有一些空间没有划成分区。
(3)电脑又新加了一块硬盘上去,想要对新加的这块硬盘进行重新分区的操作。
不过,磁盘管理的分区功能也是一种破坏性的操作,凡是操作中涉及到的分区数据都会全部丢掉。
只是这个办法既不用借助于其它的工具,而且在Windows 下就可以进行操作,所以还是有些用处的。
下面这个例子是属于上述的第二种情况,装系统的时候我只划了一个40GB 的C 盘,别的空间都没有分区。
现在我想要在系统中把剩余的空间划分成两个分区,步骤如下:1、右键点击『我的电脑』,选择『管理』,打开计算机管理窗口。
2、在打开的计算机管理窗口中点击屏幕左侧的『磁盘管理』,进入如下图所示的磁盘管理界面。
大家可以看到屏幕右侧,磁盘0 右边有一块黑色的未指派空间,右键点击之,选择『新建磁盘分区』。
3、弹出新建磁盘分区向导。
直接点『下一步』。
4、然后让选择创建的磁盘分区。
这里我们应该选择『主磁盘分区』,然后点击『下一步』。
除了主磁盘分区,其余的空间需要划分成一个扩展磁盘分区,然后再在扩展磁盘分区上来划分逻辑磁盘分区。
扩展磁盘分区是无法直接引导操作系统的,而且一块硬盘,只能划分一个扩展磁盘分区。
举例来说,如果一块硬盘划分成了C、D、E、F 四个分区,此时C 是主磁盘分区,D、E、F 是逻辑磁盘分区,这三个逻辑磁盘分区又都是建立在这个硬盘的扩展磁盘分区上的。
磁盘管理实训报告心得
一、实训背景随着信息技术的飞速发展,磁盘管理在计算机系统中扮演着至关重要的角色。
为了提高自己的计算机操作技能,我参加了磁盘管理实训课程。
通过本次实训,我对磁盘管理有了更加深入的了解,以下是我在实训过程中的心得体会。
二、实训内容本次实训主要围绕以下几个方面展开:1. 磁盘分区管理:了解磁盘分区的概念、类型和分区工具,学习使用fdisk、parted等命令进行磁盘分区。
2. 磁盘格式化:掌握磁盘格式化的方法,了解不同格式化方式的优缺点。
3. 磁盘挂载与卸载:学习磁盘挂载与卸载的原理和操作方法,了解挂载点的作用。
4. 磁盘空间管理:掌握磁盘空间管理的技巧,包括磁盘清理、压缩、分区等。
5. 磁盘备份与恢复:了解磁盘备份的重要性,学习使用tar、rsync等工具进行磁盘备份与恢复。
三、实训心得1. 磁盘分区的重要性通过实训,我深刻认识到磁盘分区对于计算机系统的重要性。
合理的磁盘分区可以提高系统性能,方便数据管理和备份。
在实训过程中,我学会了如何使用fdisk、parted等工具进行磁盘分区,并对分区类型、分区大小等有了更深入的了解。
2. 磁盘格式化的技巧实训中,我学习了磁盘格式化的不同方法,如MBR、GPT等。
了解到不同格式化方式对磁盘性能和兼容性的影响。
在实际操作中,我掌握了如何根据需求选择合适的格式化方式,并学会了使用fdisk、mkfs等命令进行磁盘格式化。
3. 磁盘挂载与卸载的操作实训过程中,我学习了磁盘挂载与卸载的操作方法。
通过挂载磁盘,可以使系统访问磁盘中的文件,提高数据传输效率。
同时,卸载磁盘可以避免误操作导致的数据丢失。
在实际操作中,我熟练掌握了挂载与卸载命令,并了解了挂载点的作用。
4. 磁盘空间管理的技巧实训让我了解到磁盘空间管理的重要性。
通过实训,我学会了使用du、df等命令查看磁盘空间使用情况,掌握了磁盘清理、压缩、分区等技巧。
在实际操作中,我能够根据需求对磁盘空间进行合理管理,提高系统运行效率。
磁盘分区实验报告
磁盘分区的实验报告实验目的:1,熟练并掌握磁盘管理命令。
2,正确应用磁盘管理命令。
中。
环境:windows sever 2008 中。
实验内容:1,先查看磁盘管理中的磁盘信息2,关闭电源,在虚拟机设置中在添几块硬盘:3,运行总命令dispart,4,运行并认识第一个命令运行并认识第一个命令 select 5,认识并掌握第二个命令(查看磁盘状态) 认识并掌握第二个命令 list (查看磁盘状态)6,学习并掌握学习并掌握 online 的使用(将脱机磁盘变成联机磁盘)7,再一次园中磁盘,并查看磁盘信息,创建主分区:再一次园中磁盘,并查看磁盘信息,创建主分区: 8,命令的使用给当前分区分配驱动器号。
命令 assign le er= 的使用给当前分区分配驱动器号。
7,formart 的使用(快速格式化当前分区)的使用(快速格式化当前分区)9,creat par on extended size= (扩展分区的创建)(扩展分区的创建)10,逻辑分区的创建逻辑分区的创建 11,查看分区详情:查看分区详情:12,给当前驱动器进行编号:给当前驱动器进行编号: 13,快速格式化当前分区:快速格式化当前分区:14,附加给驱动器一个名字:附加给驱动器一个名字: 15,删除当前分区:删除当前分区:16,清理磁盘的所有分区:清理磁盘的所有分区:的基本操作 有关par on的基本操作17脱机当前磁盘(offline),18联机当前磁盘(online) 19清除磁盘(clean) 20选中当前磁盘(select) 21删除当前磁盘(delete) 22basic基础primary重要的创建 extended 扩展扩展重要的 creat创建extend size=1000---拓展拓展1000MB assign le er=D 给分区加驱动器号为D format fs=NTFS quick compress (压缩)(格式化)(格式)(快速)(压缩)extend filesystem--拓展文件系统拓展文件系统detail par on---查看分区查看分区查看分区format fs=NTFS label=TT quick (分区名)(分区名)delet par on ----删除当前分区删除当前分区。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N10TH陈松2010.10.18
【实验名称】
windows server2008磁盘管理
【实验目标】
1.了解磁盘的基本概念。
2.动态磁上的5中常见卷的配置。
3.利用案例来对常见卷的配置。
【实验环境及拓扑】
XAPC----L6机房
【实验步骤】
一.磁盘的基本概念。
二.在基本磁盘上创建分区(案例)
三.动态磁盘的概念以及分类。
四.在动态磁盘上创建简单卷、跨区卷、带去卷、镜像卷以及RAID—5卷(案例)。
具体实验步骤如下:
第一步:磁盘的基本概念。
(计算机硬件的组成是处理器、主板、内存、硬盘、显示器、键盘、鼠标、显卡……但是其中最重要的是硬盘,也就是磁盘。
磁盘主要应用场合:工作站对磁盘的要求—客户机;服务器对磁盘的要求—企业、公司、银行。
)
(磁盘的定义就是:一台用来存储数据的物理设备。
)
(我们平时使用的磁盘类型基本上都是“基本磁盘”。
包含了基本分区,扩展分区和逻辑驱动器。
可以被Microsoft MS-DOS、Windows NT的所有版本访问。
基本磁盘不可容错。
磁盘的接口类型主要有三种:IDE硬盘、SATA硬盘、SCSI硬盘。
)
第二步:在基本磁盘上创建分区
(其磁盘分区可为:主分区、扩展分区;主分区---也称为主磁盘分区,和扩展分区、逻辑分区一样,是一种分区类型,基本磁盘上可以有1到3个主分区,只能有一个主分区处于激活状态。
扩展分区---扩展分区不能直接使用,必须分成若干逻辑分区。
不能直接存储文件,扩展分区最多一个,主分区和扩展分区的数量不能超过4个。
)
第三步:动态磁盘的概念以及分类。
(动态磁盘就是被磁盘管理工具升级并管理的物理磁盘;微软Windows2K03、VISTA/2K08等系统支持动态磁盘优点。
动态磁盘可以分为五个卷:简单卷、跨区卷、带区卷、镜像卷、RALD-5卷。
)(我们在对动态磁盘分区时首先要知道怎样使基本磁盘升级成动态磁盘;升级之前,备份要升级磁盘中所有文件;升级磁盘之前,先关闭该磁盘运行的所有程序;当前操作系统或者引导文件所在的磁盘升级需要重启后才能完成;基本磁盘的分区被转换为简单卷;一旦磁盘被升级成动态磁盘后,如果需要回转成普通磁盘,全部数据将会丢失。
)
1.基本磁盘升级成动态磁盘。
选择需要转换为动态磁盘的磁盘。
转换成功。
第四步:在动态磁盘上创建简单卷、跨区卷、带去卷、镜像卷以及RAID—5卷。
1.简单卷
(单块动态磁盘中的一个卷,它与基本磁盘的分区较相似;没有空间的限制、数量的限制;可以被扩展。
)
根据向导安装简单卷。
为简单卷设置大小。
为简单卷分配盘符。
格式化。
完成。
2.跨区卷
(一个包含多块磁盘上的空间的卷;每块磁盘可以提供不同的磁盘空间;提高磁盘空间使用效率,不具有高性能或容错;可以被扩展;两块以上的磁盘组成。
)
根据向导安装跨区卷。
选择磁盘。
为跨区卷分配盘符。
格式化。
成功。
3.带区卷
(2块或多块磁盘中的空余空间组成;成员空间大小相同;数据被分割成64KB的数据块,向带区卷中并行写入,读写效率高;不具有容错性。
)
根据向导安装带区卷。
选择磁盘。
为带区卷分配盘符。
格式化。
成功。
4.镜像卷
(具有容错能力的动态卷;两块硬盘上的空余空间组成;成员空间大小相同;磁盘空间利用率只有1/2。
)
根据向导安装镜像卷。
选择磁盘。
为镜像卷分配盘符。
格式化。
成功。
5.RAID-5卷(具有容错作用的带区卷;三块以上硬盘空余空间组成;成员空间大小相同;具有容错作用;磁盘空间利用率(n-1)/n,随磁盘数的增加,利用率也随之提高。
)例如:西安某中行服务器上由4块容量为100G的SCSI磁盘组成,为了保护磁盘上用户存储数据安全性,请你以管理员的身份将4块磁盘升级为动态磁盘,磁盘创建RAID-5卷,某天一块磁盘坏掉了,如何修复受损的数据。
根据向导安装RAID-5卷。
选择磁盘。
为RAID-5分配盘符。
格式化。
成功。
(如果磁盘损坏的话,我们可以对其进行修复。
)
【实验总结】
1.计算机硬件的组成是处理器、主板、内存、硬盘、显示器、键盘、鼠标、显卡……但是其中最重要的是硬盘,也就是磁盘。
磁盘主要应用场合:工作站对磁盘的要求—客户机;服务器对磁盘的要求—企业、公司、银行。
磁盘的定义就是:一台用来存储数据的物理设备。
我们平时使用的磁盘类型基本上都是“基本磁盘”。
包含了基本分区,扩展分区和逻辑驱动器。
可以被Microsoft MS-DOS、Windows NT的所有版本访问。
基本磁盘不可容错。
磁盘的接口类型主要有三种:IDE硬盘、SATA硬盘、SCSI硬盘。
2.磁盘分区可为:主分区、扩展分区;主分区---也称为主磁盘分区,和扩展分区、逻辑分区一样,是一种分区类型,基本磁盘上可以有1到3个主分区,只能有一个主分区处于激活状态。
扩
展分区---扩展分区不能直接使用,必须分成若干逻辑分区。
不能直接存储文件,扩展分区最多一个,主分区和扩展分区的数量不能超过4个。
3.动态磁盘就是被磁盘管理工具升级并管理的物理磁盘;微软Windows2K03、VISTA/2K08等系统支持动态磁盘优点。
动态磁盘可以分为五个卷:简单卷、跨区卷、带区卷、镜像卷、RALD-5卷。
4.我们在对动态磁盘分区时首先要知道怎样使基本磁盘升级成动态磁盘;升级之前,备份要升级磁盘中所有文件;升级磁盘之前,先关闭该磁盘运行的所有程序;当前操作系统或者引导文件所在的磁盘升级需要重启后才能完成;基本磁盘的分区被转换为简单卷;一旦磁盘被升级成动态磁盘后,如果需要回转成普通磁盘,全部数据将会丢失。
5.五个常见卷--简单卷:单块动态磁盘中的一个卷,它与基本磁盘的分区较相似;没有空间的限制、数量的限制;可以被扩展。
跨区卷:一个包含多块磁盘上的空间的卷;每块磁盘可以提供不同的磁盘空间;提高磁盘空间使用效率,不具有高性能或容错;可以被扩展;两块以上的磁盘组成。
带区卷:2块或多块磁盘中的空余空间组成;成员空间大小相同;数据被分割成64KB的数据块,向带区卷中并行写入,读写效率高;不具有容错性。
镜像卷:具有容错能力的动态卷;两块硬盘上的空余空间组成;成员空间大小相同;磁盘空间利用率只有1/2。
RAID-5卷:具有容错作用的带区卷;三块以上硬盘空余空间组成;成员空间大小相同;具有容错作用;磁盘空间利用率(n-1)/n,随磁盘数的增加,利用率也随之提高。
N10TH陈松2010.10.18。