05操作系统实验_磁盘管理实验要点
操作系统磁盘管理实验报告
实验报告课程名称:操作系统院系:信息与控制工程学院专业班级:计算机0801姓名:指导老师:2010年 12月 31日目录一、实验目的 2二、需求分析 2三概要设计 3四、详细设计 4(1)先来先服务算法(FCFS) 4(2)最短寻道时间优先算法(SSTF) 5(3)电梯算法(SCAN) 7五、调试过程 8六、结论与体会 8七、附件:源程序清单 9一、实验目的本实验的目的是通过设计一个磁盘调度模拟系统,以加深对FCFS、最短寻道时间以及电梯等磁盘调度算法的理解。
让我们更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强动手能力。
二、需求分析1、模拟一个磁盘调度算法;Visual C++ 6.0平台2、输入为一组作业的磁道请求;作业的寻到请求可以用一个数组模拟3、要求能够模拟FCFS、最短寻道时间、电梯算法三个磁盘调度算法;FCFS (First Come First Served )先来先服务,在计算机并行任务处理中,被视为最简单的任务排序策略,即是无论任务大小和所需完成时间,对先到的任务先处理,后到的任务后处理。
按照此算法,数组顺序输出即可。
最短寻道时间优先(ShortestSeekTimeFirst,SSTF)要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,确定当前磁道,选择距离当前最近的。
电梯算法,磁臂仅移动到请求的最外道就回转。
反方向查找服务。
确定当前磁道以及运动方向,排序后的数组当前磁道以后的磁道顺序序输出,在将剩余反向输出。
4、输出为按选择的算法执行时的磁头移动轨迹和移动的总道数。
三概要设计系统流程图四、详细设计(1)先来先服务算法(FCFS)先来先服务(FCFS)调度:按先来后到次序服务,未作优化。
最简单的移臂调度算法是“先来先服务”调度算法,这个算法不必考虑当前移臂所在的位置,而只是考虑访问者提出访问请求的先后次序。
.先来先服务算法流程图(2)最短寻道时间优先算法(SSTF)最短寻找时间优先调度算法总是从等待访问者中挑选寻找时间最短(距离当前移臂最近)的那个请求先执行的,而不管访问者到来的先后次序。
实验报告 磁盘管理
实验报告磁盘管理实验磁盘管理【实验理论基础】以教材作为实验的理论基础【实验环境】1、完成Windows 2000 server安装的计算机。
2、某磁盘已格式化为NFTS5.0文件系统 3、 Windows 2000 Server安装光盘。
【实验内容】1. Windows 2000 Server数据加密与解密.2. Windows 2000 Server数据压缩。
3. Windows 2000 文件与目前权限设置。
4. Windows 2000磁盘配额。
【实验步骤】(一)数据的加密与解密 1. 数据加密欲做数据加密,先做一个xtvtc文件夹以方便说明,然后以上一章所建立的一个用户账户(Chujl)来登录。
登陆之后打开xtvtc文件夹属性对话框,在该对话框中击“高级”按钮,弹出文件夹的“高级属性”对话框,在此对话框中,必须勾选“加密内容以便保护数据”选项来为该文件夹与文件加密,按“确定”按钮返回“文件夹属性”对话框。
完成数据加密。
注意:加密文件夹可说是一个加密的容器,因此任何人都可以将数据放入该文件夹之中,且这些数据都会自动加密,但是只有用户本人(或数据加密代理者)才能读取该文件。
2. 数据解密经过数据加密之后,如果想要将数据解密,则可以在文件夹高级属性对话框中将“加密内容以便保护数据”选项解除勾选即可。
解密之后系统会要求给予解密的范围,如果在解密的范围内有不属于该用户加密的文件,略过无法解密的文件后,系统会将可解密的文件属性还原成正常。
3、数据压缩为了提高磁盘的存储数据量,可以压缩内容一边节省磁盘空间。
文件夹的“高级属性”对话框中,有一“压缩内容以便节省磁盘空间”选项,如果点击该选项,则当文件数据储存至该文件夹时会自动压缩,且当您要读取数据时系统又会自动解压缩,因此可以节省磁盘空间。
(二)数据安全性设置由于windows 2000 Server 可以当作文件服务器,所以会有多人同时使用的状况,因此对于文件或目录就必须有一套规则来管理。
操作系统 磁盘空间管理的实验报告
实验五磁盘存储空间的管理一、实验目的磁盘格式化时,系统把磁盘存储空间分成许多磁道。
每个磁道又分成若干个扇区(又叫做磁盘块)。
之后用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. 光盘或U盘3. 电脑硬件三、实训内容1. 操作系统安装操作系统的安装是操作系统课程中的重要内容之一,监视实训过程的准确性与完整性,确保实训效果达到最佳。
在实训前,我们需要选择合适的操作系统,建议选择Windows系统(XP/7/8/10)。
硬件环境满足系统要求后,我们首先需要将光盘或U盘插入电脑,然后在电脑开机启动时按F12键进入BIOS设置,设置为从光盘或U盘启动,然后按F10保存。
接下来,就可以按照提示操作,进行操作系统的安装。
在安装过程中,需要注意选择安装位置和类型,设置相关用户信息,还需要进行激活等操作。
2. 硬盘分区与格式化硬盘分区与格式化是操作系统安装前的必要步骤。
它的目的是将硬盘分成几个逻辑分区,实现文件、程序及其他数据的存储与管理。
在Windows系统中,我们可以通过磁盘管理工具进行操作。
首先打开“我的电脑”,右键选择“管理”,进入“磁盘管理”界面。
在该界面中,我们可以重新分配硬盘的空间,创建新分区或删除已有的分区。
若硬盘没有被分区,则将会显示出一个未分配的磁盘区域,我们可以右键此区域进行新建分区,或选择已有分区进行删除、格式化等操作。
3. 硬盘控制器、文件系统等基本概念硬盘控制器是计算机硬件的一部分,用于连接计算机主机和硬盘驱动器,同时帮助控制硬盘的读写。
文件系统则是将计算机中的数据、文件及其他媒体都组织起来进行存储、分配和访问的一种机制。
从操作系统的角度看,文件系统使得访问文件、移动文件等操作非常简单,同时确保计算机中的数据有组织的存储,保证计算机的安全性和可靠性。
常见的文件系统有FAT32、NTFS等,不同的文件系统对于计算机的功能和性能也有不同的影响。
磁盘管理 实验报告
磁盘管理实验报告磁盘管理实验报告概述:磁盘管理是计算机操作系统中的重要组成部分,它负责管理计算机系统中的磁盘存储空间,确保数据的高效存取和安全性。
本实验旨在通过实际操作和测试,探究磁盘管理的原理和技术,并评估其对系统性能的影响。
实验目标: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个磁盘请求,并分别使用以上算法进行处理。
在每次处理完一个请求后,我们记录下当前的磁道位置,并计算出寻道时间、旋转延迟和传输时间。
最后,我们计算出每种算法的平均寻道时间、平均旋转延迟和平均传输时间,并进行对比分析。
四、实验结果和分析根据实验结果,我们得到了每种算法的平均寻道时间、平均旋转延迟和平均传输时间。
实训报告 磁盘管理
实训报告磁盘管理一、实训目的掌握磁盘管理的知识与技能二、实训环境装有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 是逻辑磁盘分区,这三个逻辑磁盘分区又都是建立在这个硬盘的扩展磁盘分区上的。
实训7_操作系统安装和磁盘管理实训报告
实训7_操作系统安装和磁盘管理实训报告一、实训目的本次实训的主要目的是让我们熟悉操作系统的安装过程以及掌握磁盘管理的基本技能。
通过实际操作,深入了解计算机系统的底层运作原理,提高我们对计算机硬件和软件的综合应用能力,为今后解决计算机相关问题打下坚实的基础。
二、实训环境1、硬件环境计算机主机:具备足够的性能来支持操作系统的安装和运行。
存储设备:如硬盘、U盘等,用于存储操作系统安装文件和数据。
显示器、键盘、鼠标等外设,以方便进行操作和监控。
2、软件环境操作系统安装光盘或镜像文件:如 Windows 操作系统、Linux 操作系统等。
磁盘管理工具:如 Windows 系统中的磁盘管理工具、第三方磁盘分区软件等。
三、实训内容及步骤(一)操作系统安装1、准备工作备份重要数据:在安装操作系统之前,首先需要备份计算机中的重要数据,以免在安装过程中丢失。
制作安装介质:可以通过下载操作系统镜像文件,并将其刻录到光盘或制作成启动 U 盘。
进入 BIOS 设置:重启计算机,在开机过程中按下相应的按键(通常是 Del、F2 等)进入 BIOS 设置界面,将启动顺序设置为首先从安装介质启动。
2、安装操作系统插入安装介质,重启计算机,按照提示进入操作系统安装界面。
选择安装语言、时区、键盘布局等基本设置。
选择安装类型,如全新安装、升级安装等。
对磁盘进行分区和格式化:可以根据需要创建系统分区、数据分区等,并选择合适的文件系统(如 NTFS、FAT32 等)进行格式化。
等待操作系统安装完成:安装过程中,计算机会自动进行文件复制、系统配置等操作,需要耐心等待。
安装驱动程序和更新:操作系统安装完成后,需要安装计算机硬件的驱动程序,以确保硬件能够正常工作。
同时,还需要连接网络,进行系统更新,以修复漏洞和获取最新功能。
(二)磁盘管理1、磁盘分区打开磁盘管理工具:在 Windows 系统中,可以通过右键点击“我的电脑”,选择“管理”,然后在“计算机管理”窗口中选择“磁盘管理”来打开磁盘管理工具。
操作系统安装和磁盘管理实训报告
操作系统安装和磁盘管理实训报告实训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格式。
磁盘管理_实验报告
一、实验目的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. 磁盘的基本结构和工作原理。
操作系统安装和磁盘管理实训报告(详细完整版)
操作系统安装和磁盘管理实训报告
一、引言
1.介绍实训报告的目的和范围。
2.提供背景信息,包括实训的操作系统和版本等。
二、实训概要
1.总结实训的目标、方法和策略。
2.列出实训的范围、时间和资源等。
三、实训环境
1.描述实训过程中使用的硬件和软件环境。
2.包括计算机配置、操作系统版本、磁盘管理工具等。
四、操作系统安装
1.详细描述操作系统安装的步骤和流程。
2.包括制作安装介质、选择安装选项、分区和格式化磁盘等。
五、磁盘管理
1.介绍磁盘的基本概念和术语。
2.描述磁盘的分区、格式化和挂载等操作。
3.说明磁盘配额和磁盘空间管理的方法。
六、实训过程
1.详细记录实训过程中的操作步骤和操作结果。
2.包括操作系统安装的每个步骤和磁盘管理的各项操作。
七、实训总结
1.总结实训过程中的主要问题和经验教训。
2.综合评估实训的结果和效果。
3.提出改进建议和优化措施。
八、附录
1.包括实训所用的配置文件、脚本和截图等。
2.提供其他补充信息,如实训的参考资料和学习资源。
通过编写这样一个详细完整的实训报告,可以记录实训的过程和结果,帮助学生和教师总结实训的经验和教训,评估学生的学习成果和能力,并提供改进建议和优化措施。
同时,实训报告也是与指导老师和同学们分享实训经验的重要方式,促进知识交流和技能提升。
希望这份报告对您有所帮助!。
《操作系统》实验报告四-磁盘文件操作
名称
磁盘文件操作
实验
目的及要求
实验预备知识
1、文件的操作。
2、文件的逻辑结构和物理结构
3、磁盘空间的管理
4、磁盘目录结构
实验
内容
1、设计一个简单的文件系统,用文件模拟磁盘,用数组模拟缓冲区,要求实现;
2、支持多级目录结构,支持文件的绝对路径;
3、文件的逻辑结构采用流式结构,物理结构采用链接结构中的显示链接方式;
4、采用文件分配表;
5、实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、读文件、写文件(追加方式)、关闭文件、改变文件属性。
6、最后编写主函数对所做工作进行测试。
实验步骤
为了正确地实现文件的存取,文件系统设计了一组与存取文件有关的功能模块,用户可以用“访问指令”调用这些功能模块,以实现文件的存取要求。我们把文件系统设计的这一组功能模块称为“文件操作“,实验就是要模拟实现一些文件操作。文件操作不是独立的,它和文件系统的其他部分密切相关,若要实现文件操作就离不开文件的目录结构、文件的组织结构和磁盘空间的管理。因此,这个实验虽然是文件操作的模拟实现,但还是必须模拟一部分文件的组织结构、目录结构和磁盘空间管理的实现。
流程图:
使用绝对路径查找文件(目录):
在已打开文件表中查找某文件:
将某文件从已打开的表中删除:
将某文件插入某已打开文件表:
模拟建立文件:
打开文件:
读文件:
写文件:
实验环境
Windows XP、visualstudio 2005
实验结果与
分析
运行结果:
注:可根据实际情况加页
《操作系统》实验报告四磁盘文件操作
《操作系统》实验报告四磁盘文件操作实验目的:1.学会使用文件系统的相关API进行磁盘文件的创建、读写和删除。
2.加深对文件系统组织结构的理解。
实验内容:1.创建一个磁盘文件,并向文件中写入一定内容。
2.在磁盘文件中读取数据,并进行输出。
3.删除磁盘文件。
实验步骤:实验步骤一:创建磁盘文件在实验前,我们首先要分配一块磁盘空间来存放文件。
在操作系统中,通常会有一个文件系统来管理磁盘上的数据。
我们可以通过文件系统的相关API来创建磁盘文件。
在实验开始前,调用文件系统的API函数create(file_name)创建一个新文件,并将其命名为file_name。
实验步骤二:向磁盘文件中写入数据在创建磁盘文件之后,我们可以通过文件系统的write(file_name, data)函数来向文件中写入数据。
其中,file_name是要写入的文件名,data是要写入的内容。
实验步骤三:从磁盘文件中读取数据并输出在文件写入操作之后,我们可以通过文件系统的read(file_name)函数来读取文件中的数据,并进行输出。
其中,file_name是要读取的文件名。
实验步骤四:删除磁盘文件在实验结束后,我们可以使用文件系统的delete(file_name)函数来删除磁盘文件。
其中,file_name是要删除的文件名。
实验结果:经过以上实验步骤操作后,我们可以观察到以下结果:1. 在实验步骤一中,磁盘空间上创建了一个新文件,并赋予了文件名file_name。
2.在实验步骤二中,我们向磁盘文件中写入了一定的数据。
3.在实验步骤三中,我们成功地从磁盘文件中读取了数据,并进行了输出。
4.在实验步骤四中,我们成功地删除了磁盘文件。
实验心得:通过这次实验,我学会了如何使用文件系统的相关API进行磁盘文件的创建、读写和删除操作。
实验中,我们了解到了文件系统的组织结构,以及如何通过API函数来对磁盘文件进行操作。
在实验过程中,我深入理解了文件系统是如何将文件组织存储在磁盘上的,从而更好地理解了操作系统的内部机制。
操作系统实验报告5——目录与文件管理
实验序号: 05 实验项目名称: linux下文件管理
学 号
2009406012
姓 名
吴松娇
Hale Waihona Puke 专业、班09计本(1)实验地点
32404
指导教师
汤敏丽
时间
2012.6.6
一、实验目的
1.加深对操作系统文件管理功能的理解。
2.熟练掌握linux下文件管理命令。
二、实验环境
装有linux系统的计算机。
(4)再次输入命令“ls -1”,确认两个目录和一个文件是否成功创建。
(5)输入命令“mv–f dir2 dir1”,将dir2目录移动到dirl目录;输入命令“mv–f cs.txt dir1”,将cs.txt目录移动到dirl目录。
(6)输入命令“cd dirl”,切换到dirl目录,再输入“ls”命令,查看到dir2目录。
13、分屏显示文件内容:more例子:ls | more /说明:每次分屏地查看由ls命令显示的/下子目录清单。
14、磁盘操作工具:du例子:du -sh .说明:列出当前目录下的所有子目录和文件占用的空间。
15、查找文件所在目录命令:which例子:which rm说明:查找rm命令保存在哪个目录。
(7)删除dir2目录,输入命令“rmdir dir2。”
2.文件操作
1.创建命令: touch例子: touch skxiao.xml说明:创建文件skxiao.xml
2.删除命令: rm例子: rm -r /home/shenkxiao/说明:删除/home/shenkxiao/下的所有文件
3.复制命令: cp例子: cp skxiao.xml /home/shenkxiao说明:将当前目录下的skxiao.xml文件拷贝到/home/shenkxiao目录下
操作系统磁盘空间管理实验报告
操作系统磁盘管理一、实验目的怎样有效地管理磁盘存储空间是操作系统应解决的一个重要问题,通过本实习使学生掌握磁盘存储空间的分配和回收算法。
二、实验内容模拟磁盘空闲空间的表示方法,以及模拟实现磁盘空间的分配和回收。
本实习模拟用位示图管理磁盘存储空间的管理方法。
设计申请一块磁盘空间和归还一块磁盘空间的程序。
要求能显示或打印程序运行前和运行后的位示图;分配时把分配到的磁盘空间的物理地址显示或打印出来,归还时把归还块对应于位示图的字节号和位数显示或打印出来。
假定已有如表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.运行程序,记录结果。
实验五-磁盘管理
实验五磁盘管理一、实验目的掌握文件系统的权限设置,保护文件系统的安全性。
二、实验原理1.磁盘配额是指限定用户对磁盘空间的使用。
(例:电子邮件用户,普通用户等);配额是基于卷完全分开独立的;同一用户若在同一磁盘的不同卷上都获得了配额,则他对该磁盘的最大使用空间为这些配额之和。
2.基本磁盘是包含主磁盘分区、扩展磁盘分区或逻辑驱动器的物理磁盘。
3 .动态磁盘是包含动态卷的磁盘。
三、实验设备Windows 2000 系统和计算机四、实验内容基本磁盘管理、动态磁盘管理、配额管理五、实验步骤(一) 配额管理1.可以为每个人设置通用的配额(1)打开“我的电脑”(2)右击要启用磁盘配额的磁盘卷,然后单击“属性”按钮;(3)在“属性”对话框中,单击“配额”选项卡;(4)在“配额”属性页上,单击“启用配额管理”复选框,然后单击“确定”按钮。
2.为那些需要多一些或少一些的人设置特定的配额(1)在上述的“配额”选项卡上单击“配额项目”按钮(2)在“配额项目”窗口中单击“配额”菜单上的“新配项目”;(3)选择用户(4)在“添加新配额项目”对话框中,指不定期一个选项,单击“确定”(二)基本磁盘管理1 .创建主磁盘分区(1)打开“磁盘管理”。
(2)在基本磁盘上,用鼠标右键单击一个未指派的空间,然后在弹出菜单中单击“创建磁盘分区”。
(3)在创建磁盘分区向导的欢迎页上,单击“下一步”按钮。
(4)在“选择分区类型”页上,单击“主磁盘分区”,然后单击“下一步”按钮。
(5)在“指定分区大小”页上,键入该主磁盘分区的容量,然后单击“下一步”按钮。
(6)在“指派驱动器号和路径”页上,选中“指派驱动器号”,并选择一个字母来代表该主磁盘分区,然后单击“下一步”按钮。
(7)在“格式化分区”页上,单击“不要格式化这个磁盘分区”,然后单击“下一步”按钮。
(8)在“完成创建磁盘分区向导”页上,单击“完成”按钮。
回到“磁盘管理”窗口,可以看到新创建的分区 F: ,同时在窗口中的驱动器列表中也有了这个驱器。
操作系统 课程实验-实验五 磁盘文件操作
实验五磁盘文件操作一、实验目的深入了解磁盘文件系统的实现。
二、实验预备知识文件的操作;文件的逻辑结构和物理结构;磁盘空间的管理;磁盘目录结构。
三、实验内容设计一个简单的文件系统,用文件模拟磁盘,用数组模拟缓冲区,要求实现:支持多级目录结构,支持文件的绝对读路径;文件的逻辑结构采用流式结构,物理结构采用链接结构中的显示链接方式;采用文件分配表;实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、读文件、写文件(追加方式)、关闭文件、改变文件属性。
最后编写主函数对所做工作进行测试。
四、提示与讲解为了正确地实现文件的存取,文件系统设计了一组与存取文件有关的功能模块,用户可以用“访管指令”调用这些功能模块,以实现文件的存取要求。
我们把文件系统设计的这一组功能模块称为“文件操作”,实验就是要模拟实现一些文件操作。
文件操作不是独立的,它和文件系统的其他部分密切相关,若要实现文件操作就离不开文件的目录结构、文件的组织结构和磁盘空间的管理。
因此,这个实验虽然是文件操作的模拟实现,但是还必须模拟一部分文件的组织结构、目录结构和磁盘空间管理的实现。
(1)文件的组织结构文件的逻辑结构有两种形式:流式文件和记录式文件。
实验中只支持流式文件,采用称为显示链接的物理文件结构,把磁盘中每一块的指针部分提出来,组织在一起,形成文件分配表(FAT)。
文件分配表的作用不仅如此,其他的作用下面将提到。
磁盘有多少块,文件分配表就有多少项,若某文件的一个磁盘块号为i,则这个文件的下一个磁盘的块号应该记录在文件分配表第i项。
例如,某系统文件分配表前几项值如图10所示。
某个文件的起始盘块号为3,则该文件的磁盘块号依次为3、4、9、12、13。
图10 某磁盘文件分配表部分内容(2)磁盘空间的管理首先要模拟一个磁盘。
因为是实验,不使用真正的磁盘,所以实验中用一个文件模拟一个小磁盘。
假设模拟磁盘有128个物理块,每个物理块大小为64字节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广州大学学生实验报告(***报告只能为文字和图片,老师评语将添加到此处,学生请勿作答***)一、实验目的要求模拟先来先服务法(First-Come, First-Served,FCFS),最短寻道时间优先法(Shortest Seek Time First, SSTF),电梯法(SCAN),循环扫描算法(CSCAN)四种磁盘调度算法,输入为一组请求访问磁道序列,输出为每种调度算法的磁头移动轨迹和移动的总磁道数。
二、实验内容编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度:1、先来先服务算法(FCFS)2、最短寻道时间优先算法(SSTF)3、扫描算法(SCAN)4、循环扫描算法(CSCAN)三、实验设备带Linux操作系统的电脑一台。
四、实验过程原始数据记录实验代码:#include <iostream>#include <fstream>#include <iomanip>#include <stdio.h>using namespace std;const int MaxNumber=100;int TrackOrder[MaxNumber];//磁盘访问序列int MoveDistance[MaxNumber];//磁头每次移动的距离double AverageDistance;//平均寻道长度bool direction;//SCAN和CSCAN算法的磁头移动方向int M;//开始磁道号int N;//磁道个数void inputData(){cout<<"请输入磁道个数N: ";cin>>N;cout<<"\n请输入磁盘访问顺序(此部分由文件读入)。
"<<endl;fstream fin("F://磁盘调度文件.txt");for(int i=0;i<N;i++)fin>>TrackOrder[i];cout<<"\n请输入开始磁盘号M: ";cin>>M;}void showData(){cout<<"\n===============================显示配置信息=============================\n";cout<<"\n输入磁道个数N为:"<<N<<",开始磁盘号M:"<<M<<endl;cout<<"\n磁盘访问序列为: ";for(int i=0;i<N;i++)cout<<TrackOrder[i]<<" ";cout<<endl;}void FCFS(){int i,j;int sum=0;float avg;int Fcfs[MaxNumber];int sumArray[MaxNumber];for(i=0;i<N;i++)Fcfs[i]=TrackOrder[i];//sum=0;sumArray[0]=abs(M-Fcfs[0]);//cout<<"FCFS磁盘调度算法:"<<endl;cout<<"\n从"<<M<<"号磁道开始"<<endl;cout<<"被访问的下一个磁道号: ";for(i=0;i<N;i++)cout<<Fcfs[i]<<" ";cout<<endl;cout<<"对应移动距离(磁道数): "<<sumArray[0]<<" ";for(i=0,j=1;j<N;i++,j++){sumArray[j]=abs(Fcfs[j]-Fcfs[i]);cout<<sumArray[j]<<" ";}for(i=0;i<N;i++)sum=sum+sumArray[i];avg=(float)sum/N;cout<<"\n总寻道长度:"<<sum;cout<<"\n平均寻道长度:"<<setprecision(3)<<avg<<endl<<endl; }void SSTF(){int i,j;int k=1;int s=0;int temp;int l,r;int sum=0;float avg=0;int Sstf[MaxNumber];int sumArray[MaxNumber];int Mnow;Mnow=M;for(i=0;i<N;i++)Sstf[i]=TrackOrder[i];//sum=0;//sumArray[0]=abs(M-Fcfs[0]);for(i=0;i<N;i++){for(j=i+1;j<N;j++){if(Sstf[i]>Sstf[j])//将磁道号从小到大排序{temp=Sstf[i];Sstf[i]=Sstf[j];Sstf[j]=temp;}}}//cout<<"SSTF磁盘调度算法:"<<endl;cout<<"\n从"<<Mnow<<"号磁道开始"<<endl;cout<<"被访问的下一个磁道号: ";if(Sstf[N-1]<=Mnow)//若被访问的下一个最大的磁道号不大于当前的磁道号{for(i=N-1,s=0;i>=0;i--,s++){cout<<Sstf[i]<<" ";sumArray[s]=Mnow-Sstf[i];sum+=Mnow-Sstf[i];Mnow=Sstf[i];}}else{if(Sstf[0]>=Mnow){for(i=0,s=0;i<N;i++,s++){cout<<Sstf[i]<<" ";sumArray[s]=Sstf[i]-Mnow;sum+=Sstf[i]-Mnow;Mnow=Sstf[i];}}else{while(Sstf[k]<Mnow){k++;}l=k-1;r=k;if(Mnow-Sstf[l]<=(Sstf[r]-Mnow)){while(l>=0){cout<<Sstf[l]<<" ";sumArray[s]=Mnow-Sstf[l]; s=s+1;sum=sum+Mnow-Sstf[l];Mnow=Sstf[l];l=l-1;}Mnow=Sstf[0];for(j=r;j<N;j++){cout<<Sstf[j]<<" ";sumArray[s]=Sstf[j]-Mnow;s=s+1;sum+=Sstf[j]-Mnow;Mnow=Sstf[j];}}else{while(r<N){cout<<Sstf[r]<<" ";sumArray[s]=Sstf[r]-Mnow;s=s+1;sum+=Sstf[r]-Mnow;Mnow=Sstf[r];r=r+1;}Mnow=Sstf[N-1];for(j=1;j>=0;j--){cout<<Sstf[j]<<" ";sumArray[s]=Mnow-Sstf[j];s=s+1;sum+=Mnow-Sstf[j];Mnow=Sstf[j];}}}}cout<<endl;cout<<"对应移动距离(磁道数): ";for(i=0;i<N;i++){cout<<sumArray[i]<<" ";}avg=(float)sum/N;cout<<"\n总寻道长度:"<<sum;cout<<"\n平均寻道长度:"<<setprecision(3)<<avg<<endl<<endl; }void SCAN(){int i,j;int k=1;int s=0;int temp;int c,l,r;int sum=0;float avg=0;int Scan[MaxNumber];int sumArray[MaxNumber];int Mnow;Mnow=M;for(i=0;i<N;i++)Scan[i]=TrackOrder[i];for(i=0;i<N;i++){for(j=i+1;j<N;j++){if(Scan[i]>Scan[j]){temp=Scan[i];Scan[i]=Scan[j];Scan[j]=temp;}}}cout<<"请选择磁头移动方向[1-增加方向、0-减小方向]: ";cin>>c;//cout<<endl;//cout<<"SCAN磁盘调度算法:"<<endl; cout<<"\n从"<<M<<"号磁道开始"<<endl; cout<<"被访问的下一个磁道号: ";if(Scan[N-1]<=Mnow){for(i=N-1,s=0;i>=0;i--,s++){cout<<Scan[i]<<" ";sumArray[s]=Mnow-Scan[i];sum+=Mnow-Scan[i];Mnow=Scan[i];}}else{if(Scan[0]>=Mnow){for(i=0,s=0;i<N;i++,s++){cout<<Scan[i]<<" ";sumArray[s]=Scan[i]-Mnow;sum+=Scan[i]-Mnow;Mnow=Scan[i];}}else{while(Scan[k]<Mnow){k++;}l=k-1;r=k;switch(c){case 0:{while(l>=0){cout<<Scan[l]<<" ";sumArray[s]=Mnow-Scan[l];s=s+1;sum=sum+Mnow-Scan[l];Mnow=Scan[l];l=l-1;}Mnow=Scan[0];for(j=r;j<N;j++){cout<<Scan[j]<<" ";sumArray[s]=Scan[j]-Mnow;s=s+1;sum+=Scan[j]-Mnow;Mnow=Scan[j];}break;}case 1:{while(r<N){cout<<Scan[r]<<" ";//这一步没错sumArray[s]=Scan[r]-Mnow;s=s+1;sum+=Scan[r]-Mnow;Mnow=Scan[r];r=r+1;}Mnow=Scan[N-1];for(j=l;j>=0;j--){cout<<Scan[j]<<" ";//这一步也没错sumArray[s]=Mnow-Scan[j];s=s+1;sum+=Mnow-Scan[j];Mnow=Scan[j];}break;}default:cout<<"输入有误,请重新输入. ";//goto}}}cout<<endl;cout<<"对应移动距离(磁道数): ";for(i=0;i<N;i++){cout<<sumArray[i]<<" ";}avg=(float)sum/N;cout<<"\n总寻道长度:"<<sum;cout<<"\n平均寻道长度:"<<setprecision(3)<<avg<<endl<<endl; }void CSCAN(){int temp;int k=1;int s;int Mnow,l,r,c;int i,j;int sum=0;float avg=0;int Cscan[MaxNumber];int sumArray[MaxNumber];Mnow=M;for(i=0;i<N;i++)Cscan[i]=TrackOrder[i];for(i=0;i<N;i++){for(j=i+1;j<N;j++){if(Cscan[i]>Cscan[j]){temp=Cscan[i];Cscan[i]=Cscan[j];Cscan[j]=temp;}}}cout<<"\n请选择磁头移动方向[1-增加方向、0-减小方向]: ";cin>>c;//cout<<endl;//cout<<"CSCAN磁盘调度算法:"<<endl;cout<<"从"<<M<<"号磁道开始"<<endl;cout<<"被访问的下一个磁道号: ";if(Cscan[N-1]<=Mnow){for(i=0,s=0;i<N;i++,s++){cout<<Cscan[i]<<" ";//sumArray[s]=Mnow-Cscan[0]+Cscan[N-1];sum=Mnow-Cscan[0]+Cscan[N-1];}}else{if(Cscan[0]>=Mnow){for(i=0,s=0;i<N;i++,s++){cout<<Cscan[i]<<" ";//sumArray[s]=Scan[i]-Mnow;sum=Cscan[N-1]-Mnow;}}else{while(Cscan[k]<Mnow){k++;}l=k-1;r=k;switch(c){case 0:{for(j=l;j>=0;j--)cout<<Cscan[j]<<" ";for(j=N-1;j>=r;j--)cout<<Cscan[j]<<" ";sum=2*(Cscan[N-1]-Cscan[0])-Cscan[r]+Mnow;break;}case 1:{for(j=r;j<N;j++)cout<<Cscan[j]<<" ";for(j=0;j<r;j++)cout<<Cscan[j]<<" ";sum=2*(Cscan[N-1]-Cscan[0])+Cscan[r-1]-Mnow;break;}default:cout<<"输入有误,请重新输入. ";}}}avg=(float)sum/N;cout<<"\n总寻道长度:"<<sum;cout<<"\n平均寻道长度:"<<setprecision(3)<<avg<<endl<<endl;}int main(){char choice;cout<<"\n===========================虚拟内存页面配置算法=========================\n\n";inputData();showData();cout<<endl;while(1){cout<<"====1-FCFS 磁盘调度算法====\n";cout<<"====2-SSTF 磁盘调度算法====\n";cout<<"====3-SCAN 磁盘调度算法====\n";cout<<"====4-CSCAN磁盘调度算法====\n";cout<<"======其他任意键退出=======\n\n";cout<<"请输入功能键:";cin>>choice;switch(choice){case '1':cout<<"\nFCFS磁盘调度算法==>";FCFS();//cout<<endl;break;case '2':cout<<"\nSSTF磁盘调度算法==>";SSTF();//cout<<endl;break;case '3':cout<<"\nSCAN磁盘调度算法==>";SCAN();//cout<<endl;break;case '4':cout<<"\nCSCAN磁盘调度算法==>";CSCAN();//cout<<endl;break;default:return 1;}}cin>>choice;getchar();return 1;}图1 图2图3 图4五、实验结果分析实验结果:如图1~4所示,创建一个c文件,使用g++编译器编译并执行程序后,成功运行程序并且按照提示输入功能,即可以计算不同的磁盘调度算法的输出结果。