二级文件系统演示
- 格式:doc
- 大小:734.58 KB
- 文档页数:27
linux中format命令的用法format命令是Linux系统中的一个命令行工具,用于格式化存储设备,比如硬盘、U盘等。
该命令可以对文件系统进行初始化,并在指定的设备上创建新的文件系统,在创建文件系统的过程中还可以指定相关的参数。
format命令的基本语法如下:shellformat [选项] 设备名其中,选项是可选的,设备名是要格式化的设备的路径或名称。
1. 前提条件在使用format命令之前,需要确保以下条件已满足:1.1 设备没有被挂载在格式化一个设备之前,需要确保该设备没有被系统挂载。
可以通过`df -h`命令查看当前系统中已挂载的设备。
1.2 对设备有相应的权限格式化设备需要有相应的权限。
一般情况下,需要具备超级用户权限。
可以通过`sudo su`命令获得超级用户的权限。
2. 格式化设备下面我们通过几个示例来演示format命令的用法。
2.1 格式化硬盘要格式化硬盘,首先需要确定要格式化的设备名。
可以使用`fdisk -l`命令查看当前系统中所有的硬盘设备。
shellfdisk -l示例输出:Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors ...Disk /dev/sdb: 500 GiB, 536870912000 bytes, 1048576000 sectors ...以上输出中,`/dev/sda`和`/dev/sdb`是两个待格式化的硬盘设备。
接下来,我们可以使用`format`命令对硬盘进行格式化。
例如,以下命令将格式化`/dev/sda`设备并创建ext4文件系统:shellsudo format -t ext4 /dev/sda2.2 格式化U盘与格式化硬盘类似,格式化U盘的步骤也是先确定设备名,然后使用format 命令进行格式化。
使用`fdisk -l`命令查看当前系统中的U盘设备,通常以`/dev/sd`开头,后面跟有一个字母标识(例如`/dev/sdc`)。
计算机等级考试大纲(二级VFP)计算机基础部分一、计算机基础知识1、计算机发展史2、计算机分类3、计算机应用领域4、计算机常用数制的转换5、计算机系统结构6、计算机病毒与安全7、计算机网络8、Internet基础及应用二、Windows1、计算机键盘2、输入法3、Windows操作系统简介4、Windows桌面5、任务栏6、开始菜单7、文件系统与文件管理(新建、选择、复制、移动、删除、重命名、设置属性、创建快捷方式、搜索文件熟练操作)8、控制面板9、Windows中的常用工具(记事本、画图、写字板、计算器)10、Windows中的多媒体功能三、WORD1、WORD 的应用领域2、WODR的界面介绍3、创建、打开及保存4、WORD中的视图方式5、页面设置6、字体与段落7、查找与替换8、工具栏的调用9、页眉和页脚的设置10、常用符号与特殊符号的输入11、项目符号与编号12、边框与底纹13、分栏排版14、文本框的使用15、艺术字的使用16、表格17、图片、剪贴画的插入与编辑四、EXCEL1、EXCEL的应用领域2、EXCEL的界面介绍3、序列填充4、EXCEL工作表的操作5、单元格名称定义6、单元格格式对话框7、公式计算及常用函数8、excel图表9、数据排序10、数据筛选11、数据分类汇总12、数据透视表的使用13、工作表的预览与打印五、POWERPOINT1、POWERPOINT的应用领域2、POWERPOINT的界面介绍3、POWERPOINT幻灯片制作的一般流程4、POWERPOINT中几个基本概念(演示文稿、幻灯片、模板和版式)5、创建演示文稿的三种方法6、POWERPOINT 的视图方式7、幻灯片中各种对象的输入与编辑8、对象的动画设置9、幻灯片的切换与跳转10、幻灯片的打包与打印VISUAL FOXPRO数据库一、VISUAL FOXPRO基础知识1、基本概念数据库、数据模型、数据库管理系统、类和对象、事件、方法。
linux操作系统文件类型有哪几种,有什么区别一、Linux文件结构文件结构是文件存放在磁盘等存贮设备上的组织方法。
主要体现在对文件和目录的组织上。
目录提供了管理文件的一个方便而有效的途径。
Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。
/根目录┃┏━━┳━━━┳━━━┳━━━╋━━━┳━━━┳━━━┳━━━┓┃┃┃┃┃┃┃┃┃bin home dev etc lib sbin tmp usr var┃┃┏━┻━┓┏━━┳━━┳━━┳━┻━┳━━┓┃┃┃┃┃┃┃┃rc.d cron.d X11R6 src lib local man bin┃┏━━━┳━━┳━┻━┳━━━┓┃┃┃┃┃init.d rc0.d rc1.d rc2.d …… linux bin lib srcLinux采用的是树型结构。
最上层是根目录,其他的所有目录都是从根目录出发而生成的。
微软的DOS和windows也是采用树型结构,但是在DOS和windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。
但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。
从结构上讲,各个磁盘分区上的树型目录不一定是并列的。
如果这样讲不好理解的话,我来举个例子:有一块硬盘,分成了4个分区,分别是/;/boot;/usr和windows下的fat 对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。
如果我把windows下的fat分区挂载到/mnt/winc下,(挂载??哦,别急,呵呵,一会就讲,一会就讲。
)那么对于/mnt/winc和/usr或/mnt/winc和/boot 来说,它们是从属于目录树上没有任何关系的两个分支。
因为linux是一个多用户系统,制定一个固定的目录规划有助于对系统文件和不同的用户文件进行统一管理。
Linux ext2ext2文件系统是早期Linux发布版的基础,Linux默认直接支持的文件系统。
该文件系统非常优势,也是ext3文件系统的基础。
ext2文件系统和其他现代Unix 使用的文件系统非常相似,但更接近于BSD(Berkeley Software Distribution:Berkeley 软件分发版)系统所用的Berkeley Fast Filesystem。
ext2文件系统除了具有标准功能外,还支持一般Unix文件系统中所没有的高级功能,如设置文件属性、支持数据更新时同步写入、允许磁盘管理员在创建文件系统时选择逻辑数据块的大小、实现快速符号链接以及提供两种定期强迫进行文件系统工具等。
1.ext2文件系统的物理结构ext2文件系统像多数文件系统一样,建立在文件数据存放在数据中的前提下。
ext2文件系统中的数据块具有相同的长度,虽然不同的ext2文件系统的块长度可以不同,但是对于某个特定的ext2文件系统,它的块长度在创建的时候就已经确定了。
每一个文件的长度都会按照块取整,例如,存在一个文件1025字节,而一个块的大小为1024字节时,该文件就会占用两个1024字节的块,这就意味着平均每一个文件都有可能浪费一部分磁盘空间。
每个块包含了相同的信息如:超级块、块组描述结构、块位图索引节点、索引点表和数据块等内容,图4-2演示了ext2文件系统的物理结构。
图4-2 ext2物理结构2.块组的构造从图4-2中可看到每一个块组都重复保存着一些有关整个文件系统的关键信息,以及真正的文件和目录的数据块。
超级块包含有文件系统本身的大小和形式的基本信息,系统管理员可以利用这些信息使用和维护文件系统。
在安装文件系统时,系统只读取数据块组1中的超级块,将其放入内存直到该文件系统被卸载,超级块中包含了以下内容。
●块数用于确认安装的文件系统是否为ext2的超级块。
●修订级别这是文件系统的主版本号和次版本号。
计算机二级基础知识总结计算机二级基础知识总结计算机二级基础知识是计算机类考试的一项重要内容,主要涵盖了计算机硬件、操作系统、网络、数据库、办公应用等方面的知识。
下面是对这些内容的总结,希望能够对大家的学习和备考有所帮助。
一、计算机硬件计算机硬件是计算机系统的基本组成部分,包括中央处理器(CPU)、存储器、输入/输出设备等。
其中,CPU是计算机的核心,负责执行计算机指令和控制计算机运行。
存储器分为主存和辅助存储器,主存用于存储计算机运行时的数据和指令,而辅助存储器则用于长期存储和备份数据。
输入/输出设备包括键盘、鼠标、显示器、打印机等,用于与计算机进行信息输入和输出。
二、操作系统操作系统是计算机系统中的核心软件,负责管理计算机的硬件和软件资源,提供用户与计算机之间的接口。
常见的操作系统有Windows、Linux、UNIX等。
操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理等。
进程管理是指在操作系统中对进程的创建、调度和结束进行管理。
内存管理是指对计算机中的内存空间进行分配和管理,确保各个进程能够正常运行。
文件系统管理是指对计算机中的文件进行管理,包括文件的存储、查找和删除等操作。
设备管理是指对计算机中的硬件设备进行管理和控制,包括对输入/输出设备的驱动和控制。
三、网络网络是计算机之间进行通信和数据交换的一种技术,常见的网络有局域网(LAN)、广域网(WAN)和互联网等。
局域网是指在一个区域内建立起来的计算机网络,常见的局域网建设方式有以太网、无线局域网等。
广域网是指跨越较大区域的计算机网络,主要用于连接不同地区的计算机系统。
而互联网则是全球范围内的计算机网络,通过互联网可以实现不同地区、不同网络之间的连接和通信。
网络中常用的协议有TCP/IP协议,HTTP协议等。
四、数据库数据库是计算机中用于存储和管理数据的软件,常用的数据库有关系数据库和非关系数据库。
关系数据库是以表格的形式来组织和存储数据,SQL是常用的操作关系数据库的语言。
虚拟机数据恢复技术之VMFS文件系统VMwareVirtualMachineFileSystem(VMFS)是一种高性能的群集文件系统,它使虚拟化技术的应用超出了单个系统的限制。
VMFS的设计、构建和优化针对虚拟服务器环境,可让多个虚拟机共同访问一个整合的群集式存储池,从而显著提高了资源利用率。
VMFS是跨越多个服务器实现虚拟化的基础,它可启用VMwareVmotionTM、DistributedResourceScheduler和VMwareHighAvailability等各种服务。
VMFS还能显著减少管理开销,它提供了一种高效的虚拟化管理层,特别适合大型企业数据中心。
采用VMFS 可实现资源共享,使管理员轻松地从更高效率和存储利用率中直接获益。
VMFS的特性确保VMFS适用于虚拟环境的技术特性包括:具有分层目录结构的自动文件系统针对群集环境中的虚拟机进行优化锁定管理和分布式逻辑卷管理跨越多个存储盘区,动态扩展数据存储区具有日志记录的群集式文件系统可迅速恢复将整个虚拟机状态封装在单个目录中VMFS的优势作为虚拟机(VM)环境的智能化和自动化存储接口,VMFS提供了自动的群集文件系统功能和智能的群集卷管理功能。
VMFS所具有的大量优点使其特别适合作为虚拟环境中的群集文件系统。
支持可确保应用程序服务级别的独特功能传统文件系统在给定时间只允许一台服务器读写同一文件,而VMwarevStorageVMFS是一种集群文件系统,它利用共享存储来允许多个VMwareESX实例同时读写相同存储位置。
VMwarevStorageVMFS允许您:在一个中心位置高效存储整个虚拟机状态,从而极大地简化虚拟机的部署和管理。
支持独特的基于虚拟化的功能,例如,将正在运行的虚拟机从一台物理服务器实时迁移到另一台服务器、自动在单独的物理服务器上重启发生故障的虚拟机,以及跨不同物理服务器建立虚拟机集群等等。
无缝管理虚拟机存储通过动态控制虚拟存储卷,即使要处理大量数据的应用程序也能实现接近本机SCSI的虚拟磁盘性能。
计算机二级常考知识点计算机二级考试是一项对计算机基础知识和应用能力的全面考核。
下面将介绍一些常考的知识点,包括计算机硬件与软件、操作系统、网络和互联网、办公软件等方面。
一、计算机硬件与软件1. 计算机的组成:计算机由中央处理器(CPU)、内存、硬盘、显卡、主板等组件组成。
CPU是计算机的核心部件,负责执行指令和进行数据处理。
2. 计算机的分类:根据用途和功能,计算机可以分为超级计算机、大型机、小型机、微型计算机和嵌入式计算机等。
3. 计算机的工作原理:计算机通过输入、处理和输出三个步骤实现信息的处理。
输入设备接收输入信息,处理器对输入信息进行处理,输出设备将处理结果输出。
4. 计算机网络:计算机网络是指将多台计算机通过通信线路连接起来,实现信息共享和资源共享。
常见的计算机网络包括局域网、广域网和互联网等。
二、操作系统1. 操作系统的功能:操作系统是计算机系统中的核心软件,负责管理计算机的硬件资源、控制程序的执行和提供用户界面等功能。
2. 常见的操作系统:常见的操作系统有Windows、Linux、Unix、Mac OS等。
其中,Windows是最常用的个人计算机操作系统,Linux和Unix主要用于服务器和嵌入式设备,Mac OS用于苹果电脑。
3. 文件管理:操作系统提供了文件管理功能,包括文件的创建、复制、移动、删除和重命名等操作。
文件系统是操作系统用来组织和管理文件的一种机制。
4. 进程管理:操作系统通过进程管理来控制程序的执行。
进程是程序在计算机中的一次执行过程,包括程序的代码、数据和执行状态等。
三、网络和互联网1. 网络协议:网络协议是计算机在网络中通信时所遵循的规则和标准。
常见的网络协议有TCP/IP协议、HTTP协议、FTP协议等。
2. IP地址和域名:IP地址是计算机在网络中的唯一标识,用于寻找目标计算机。
域名是用于代替IP地址的一种方便记忆的标识符。
3. 网络安全:网络安全是保护计算机网络免受未经授权的访问、使用、泄露、破坏和干扰的一种综合性保护措施。
计算机二级知识点总结计算机二级知识主要包括计算机组成原理、操作系统、数据库原理与应用、网络原理与应用、多媒体技术与应用、计算机外部设备维护、计算机应用基础等内容。
下面将对这些知识点进行总结。
一、计算机组成原理1. 计算机的基本组成- 计算机由硬件和软件两部分组成,硬件包括中央处理器(CPU)、内存、存储设备、输入设备和输出设备,软件包括系统软件和应用软件。
2. 中央处理器(CPU)- CPU是计算机的核心部件,主要功能是进行数据处理和控制指令的执行。
CPU包括运算器和控制器两部分。
3. 存储设备- 存储设备分为内存和外存,内存用于临时存储程序和数据,外存用于长期存储数据。
4. 输入设备和输出设备- 输入设备用于将数据输入到计算机中,例如键盘、鼠标、扫描仪等;输出设备用于将计算机处理的数据输出给用户,例如显示器、打印机等。
5. 计算机的工作原理- 计算机的工作过程包括取指、译码、执行、存储四个步骤,这是计算机进行数据处理的基本流程。
二、操作系统1. 操作系统的概念和作用- 操作系统是计算机系统的核心组成部分,它负责管理计算机的资源和控制应用软件的执行,提供用户接口,实现对计算机系统的有效管理和控制。
2. 操作系统的功能- 操作系统的功能包括进程管理、内存管理、文件系统管理、输入输出设备管理、安全性和保护等。
3. 常见的操作系统- 常见的操作系统包括Windows、Linux、Unix、MacOS等,每种操作系统都有自己的特点和适用场景。
4. 操作系统的启动过程- 操作系统的启动过程包括硬件自检、引导程序加载、内核加载等步骤,这些步骤是计算机系统启动的基本流程。
三、数据库原理与应用1. 数据库的概念和特点- 数据库是存储数据的仓库,它具有数据结构化、独立性、持久性、安全性、有效性等特点。
2. 数据库的组成- 数据库由数据、数据库管理系统(DBMS)和应用程序组成,其中DBMS是数据库的核心部分。
3. 关系数据库- 关系数据库是一种基于关系模型的数据库,它使用一张或多张关系表存储数据。
了解电脑文件系统和文件管理电脑文件系统和文件管理是我们在日常使用电脑时必须了解的基本知识。
作为现代人,我们离不开电脑,而在电脑上进行各种操作时,我们需要了解电脑的文件系统和如何进行有效的文件管理。
本文将介绍电脑文件系统的基本概念、文件的分类和组织以及一些文件管理的技巧。
一、电脑文件系统的基本概念电脑文件系统是指操作系统用于管理和存储文件的一组规则和数据结构。
在计算机硬盘上存储的文件都需要通过文件系统来进行管理。
常见的电脑文件系统有FAT32、NTFS、exFAT等。
电脑文件系统通过文件和文件夹的组织方式来管理数据。
文件是存储在计算机上的具体内容,而文件夹则是用来组织和管理文件的容器。
文件系统还提供了一些功能例如,创建、复制、删除和移动文件等。
二、文件的分类和组织根据文件的类型和用途,我们可以将文件进行分类和组织。
常见的文件类型有文档、图片、音频、视频等。
1. 文档类文件文档类文件主要包括各种文本文件、电子表格、演示文稿等。
这些文件通常用于存储和处理文字、数字和组织形式的数据。
为了更好地组织文档类文件,我们可以按照不同的主题或者项目来创建文件夹。
例如,在工作中我们可以为每个项目创建一个独立的文件夹,将相关文件放置在该文件夹下,以便于查找和管理。
2. 图片和音频类文件图片和音频类文件主要包括照片、音乐和录音等。
这些文件通常用于保存和展示图像和声音。
对于图片类文件,我们可以按照时间、地点或者事件来进行分类。
例如,我们可以在电脑上创建一个照片库文件夹,然后在文件夹下按照年份和月份来创建子文件夹,将照片分门别类地存放。
对于音频类文件,我们可以按照音乐类型或者歌手名字进行分类。
例如,我们可以在电脑上创建一个音乐文件夹,然后在文件夹下按照流派或者歌手名字来创建子文件夹,便于快速定位和播放音乐文件。
3. 视频类文件视频类文件主要包括电影、电视剧和录像等。
这些文件通常用于播放和观看视频内容。
为了更好地管理视频类文件,我们可以按照不同的电影或者电视剧来进行分类。
使用mount命令进行文件系统挂载文件系统挂载是操作系统中常见的一项任务,通过将一个文件系统链接到指定位置,使得该文件系统能够被访问和使用。
mount命令是Linux系统中用于进行文件系统挂载的基本命令之一。
本文将介绍如何使用mount命令进行文件系统挂载,并提供一些相关示例以帮助读者更好地理解和应用该命令。
一、mount命令概述mount命令是Linux系统中用于挂载文件系统的命令,它的基本语法如下所示:mount [-t fstype] [-o options] device dir其中,各选项的含义如下:-t:指定待挂载的文件系统类型,如果不指定该选项,则mount命令将尝试根据设备文件的格式自动推断文件系统类型。
-o:指定挂载选项,比如读写权限、访问控制等。
device:待挂载的设备文件或设备文件名。
dir:指定挂载点目录,即将文件系统挂载到哪个目录下。
二、示例接下来,我们将通过一些示例来演示如何使用mount命令进行文件系统的挂载。
1. 挂载一个磁盘分区假设我们需要将/dev/sdb1这个磁盘分区挂载到/mnt目录下,可以使用如下命令:$ sudo mount /dev/sdb1 /mnt2. 挂载一个光盘镜像文件有时候,我们可能需要将一个光盘镜像文件挂载到系统中。
以ISO 镜像文件为例,可以使用如下命令:$ sudo mount -t iso9660 -o loop /path/to/image.iso /mnt3. 挂载一个网络文件系统在Linux中,通过网络协议(如NFS、Samba等)可以将远程主机上的文件系统挂载到本地系统中。
以NFS为例,可以使用如下命令:$ sudo mount -t nfs server:/share /mnt4. 挂载一个临时文件系统有时候,我们需要将一个临时文件系统挂载到指定目录,以便进行一些特定的操作。
比如,我们可以将tmpfs挂载到/tmp目录下,从而创建一个基于内存的临时文件系统:$ sudo mount -t tmpfs none /tmp以上仅为几个常见的示例,mount命令还可以用于其他更多的文件系统挂载场景。
湖南工业大学课程设计资料袋学院(系、部)学年第学期课程名称计算机操作系统指导教师职称学生姓名专业班级学号题目文件系统演示成绩起止日期年月日~年月日目录清单课程设计任务书—学年第学期学院(系、部)专业班级课程名称:计算机操作系统学生姓名:设计题目:文件系统演示指导教师:完成期限:自年月日至年月日共周内容及任务一、设计内容设计一个简单的多用户文件系统。
即①在系统中用一个文件来模拟一个磁盘;②此系统至少有:Create、delete、open、close、read、write等和部分文件属性的功能。
③实现这个文件系统。
④能实际演示这个文件系统。
基本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。
二、设计任务课程设计说明书(纸质+电子版),内容包括:设计内容、系统分析(包括可行性分析、需求分析等)及功能分析;系统设计(要求画出系统整体功能框图、流程图、并给出相应地关键的代码且对所使用的主要数据结构进行说明等。
)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。
三、设计要求1. 按功能要求开发系统,能正确运行。
程序代码书写规范,有充足的注释。
2. 课程设计所使用的编程语言任选,但建议使用C或C++;3. 绿色软件:程序运行不需安装,避免写系统和注册表;进度安排起止日期工作内容完成选题、课题分析、课题设计、编写程序程序调试、完善代码优化测试系统、程序答辩撰写并提交课程设计说明书 (含电子文档)、源程序等。
主要参考资料[1] 胡志刚,谭长庚等. 《计算机操作系统》.中南大学出版社. 2005[2] 罗宇,邹鹏,邓胜兰.操作系统[M].北京:电子工业出版社,2012.[3] 面向对象程序设计与C++语言.朱战立,宋新爱.电子工业出版社,2010.7[4] C++面向对象程序设计.谭浩强.清华大学出版社,2006.1[5] 任爱华,李鹏,刘方毅.操作系统实验指导, 清华大学出版社,2004.[6] 徐虹.操作系统实验指导-基于LINUX内核, 清华大学出版社, 2004.指导教师(签字):年月日系(教研室)主任(签字):年月日计算机操作系统课程设计设计说明书文件系统演示起止日期:年月日至年月日学生姓名班级学号成绩指导教师(签字)计算机与通信学院年月日目录1 课程设计简介 (1)1.1 课程设计的目的 (1)1.2 课程设计内容 (1)2 数据结构的设计 (1)2.1全局变量设计 (1)2.2结构体设计 (1)2.3函数设计 (3)3 功能模块(或算法)描述 (3)4 程序运行结果 (6)5心得体会 (8)参考文献 (9)附源代码 (10)1 课程设计简介1.1 课程设计的目的课程设计目的使学生熟悉文件管理系统的设计方法;加深对所学各种文件操作的了解及其操作方法的特点。
通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。
同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。
1.2 课程设计内容设计一个简单的多用户文件系统。
即:①在系统中用一个文件来模拟一个磁盘;②此系统至少有:Create、delete、open、close、read、write等和部分文件属性的功能。
③实现这个文件系统。
④能实际演示这个文件系统。
基本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。
2 数据结构的设计2.1全局变量设计#define MaxDisk 512*1024 //一个扇区512字节,假设有1024个扇区int Max_User=10; //支持的最大用户数int Max_Open=5; //文件的最大打开数int Max_End=0; //存放最大的末点UFD_ptr pufd=NULL; //UFD的头结点MFD_ptr pmfd=NULL; //MFD的头结点AFD_ptr pafd=NULL; //AFD的头结点char User_name[30]; //存放当前用户的用户名char flag='n';char Disk_Size[MaxDisk]; //模拟磁盘Disk_Node Disk_Head; //磁盘空间控制结点2.2结构体设计typedef struct UFD{string File_name; //文件名int Start; //文件在磁盘存储空间的起始地址int Protect; //文件的属性int File_length; //文件的长度int Max_File_length; //文件的最大长度struct UFD *next;}UFD,*UFD_ptr;typedef struct MFD{string User_name; //用户名string User_passwd; //用户密码UFD *Ufd_next; //UFD指针int End; //用户空间分配的末尾struct MFD *next; //MFD指针}MFD,*MFD_ptr;typedef struct AFD{string File_name;int File_length;int Start; //文件在磁盘存储空间的起始位置int Protect; //文件权限int Pointer; //根据这个指针的值去完成用户的要求,读写指针int Max_File_length; //文件的最大长度struct AFD *next; //AFD指针}AFD,*AFD_ptr;typedef struct Disk_Table{int Max_length; //最大长度int Start; //开始位置}Disk_Node;2.3函数设计void Init_Disk();磁盘初始化函数bool Init_MFD();MFD链表初始化函数void Print_UFD();UFD文件打印输出函数bool Init_UFD(char *name);UFD链表初始化函数bool User_Check();用户检索函数void Init_AFD();AFD链表初始化函数bool Create_MFD();MFD文件创建函数bool Create_UFD();UFD文件创建函数bool Delete_UFD();UFD文件删除函数bool Open();UFD文件打开函数void Close();UFD文件关闭函数bool Read_File();UFD文件读取函数bool Write_File();UFD文件写入函数void Destroy_Space();系统释放资源函数void Save_MFD();MFD文件保存函数void Save_UFD(char *name);UFD文件保存函数void Quit_System();系统退出函数void Print_Help();用户帮助菜单函数void System_Init();系统初始化函数void File_System();系统操作函数3 功能模块(或算法)描述3.1图3.1文件系统总体数据结构图3.2文件系统算法的流程图如图3.2所示。
开始输入用户名在MFD中查找该用户报告无此用户文件显示该用户目录表UFD中所有的文件初始化运行文件表AFD输入操作命令是什么命令?建立文件处理程序删除文件处理程序打开文件处理程序关闭文件处理程序读取文件处理程序写入文件处理程序显示文件处理程序修改文件处理程序保存当前文件目录打印当前文件目录结束create delete open read write renameclose ls图3.2文件系统算法流程图3.3 login 登录用户输入用户名和密码,在MFD文件中查找是否有此用户,核对密码。
正确则登录成功,当前目录设定到当前用户文件夹下。
如果用户密码输错3次,系统结束。
3.4 create 创建文件查找当前用户目录下是否有同名文件,是则退出,否则让用户输入新建文件的相关属性;并为之模拟分配磁盘空间。
3.5 delete 删除文件查找文件是否已经打开,打开则退出,因为打开代表该资源正被占用,无法释放或者删除;没有打开则检查该文件是否存在,显然,你是不可以删除一个不存在的文件的,存在便将该文件删除,并回收相应的资源。
3.6 ls 查看文件的属性将用户目录下的所有文件相关信息显示出来;其中包括文件名、、最大文件长度、文件权限、起始位置、文件长度信息。
3.7 open 打开用户文件首先判断用户欲打开的文件是否已经打开,已经打开自然不需要打开了。
再是判断用户欲打开的文件是否属于该用户的文件;排除以上两点后,将用户指定的文件打开来。
3.8 close 关闭用户文件首先判断用户欲打开的文件是否已经打开,如果文件是关闭的,自然就不需要再进行关闭操作了,直接返回退出函数的调用即可;再就是判断用户欲关闭的文件是否属于该用户的文件,排除以上两点后,将用户指定的文件关闭掉。
3.9 read 读取文件内容首先判断欲读取的文件是否已经打开,按照常理来讲,要想先读文件,自然得先打开文件,好比office里的word一样。
紧接着根据用户的要求完成文件内容的读取操作,显然读取操作得要求文件至少有读取的权限,关于这点,我们程序是通过open命令功能来判断的。
3.10 write写入文件内容同样,用户要求写入文件的话,首先该文件要先打开,并且具有可写入信息的权限;而且文件的属主自然是该用户,用户可以根据自己的需要写入指定长度内容的数据,在我们的程序中,一个字符代表一个字节。
3.11 logout 登出用户可以达到间接切换用户的功效,既然是登出用户,上一次登录用户的操作变化自然是需要保存的,并且所占用的资源也需要释放掉。
用户登出后实则再次转入到用户的登录界面。
图3.3 登录模块流程图图3.4 读取模块流程图图3.5 写入模块流程图注释:在读取和写入数据时,其实还要有文件是否打开判断的,这里没画出来而已。
4 程序运行结果4.1 显示帮助信息并登录4.2 显示UFD的相关信息4.3 创建用户文件文件保护类型说明:0代表不可操作,1代表可读,2代表可读可写4.4 删除用户文件对比4.3,显然可以知道,程序的确将HQ3文件给删除了。
4.5 打开文件操作根据上下两图的对比,HQ1的确是打开了,以致于再次打开失败。
4.6 关闭文件操作由上图可知,HQ1文件的确是被关闭了,以致于再次关闭失败。
4.7 写入文件内容和我们之前说的一样,要对一个文件进行写入操作,你自然要先打开这个文件,用户可以根据自己写入数据大小的需要对该文件写入指定大小的内容。
但这也是不能超过文件的分配容量的,否则数据溢出了。