操作系统课程设计(文件系统)

合集下载

j操作系统文件课程设计

j操作系统文件课程设计

j操作系统文件课程设计一、课程目标知识目标:1. 理解操作系统的基本概念,掌握文件系统的组成和功能。

2. 学会使用操作系统提供的文件管理命令,对文件进行基本操作。

3. 掌握文件权限和文件属性的相关知识,了解文件安全性。

技能目标:1. 能够独立使用命令行对文件进行创建、删除、复制和移动等操作。

2. 学会运用文件权限设置,保障文件安全。

3. 能够对文件系统进行简单的问题排查和故障处理。

情感态度价值观目标:1. 培养学生的团队协作精神,学会在小组讨论中分享和倾听。

2. 增强学生的信息安全和隐私保护意识,养成良好的文件管理习惯。

3. 激发学生对计算机操作系统的兴趣,提高学习积极性。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握操作系统文件管理知识的基础上,提高实际操作能力和问题解决能力。

通过课程学习,让学生能够更好地应对日常生活中的文件管理需求,同时培养良好的信息素养和团队协作精神。

后续教学设计和评估将围绕这些具体的学习成果展开。

二、教学内容1. 操作系统基本概念:介绍操作系统的定义、功能和分类,以课本第二章第一节为基础,让学生了解操作系统的基本知识。

2. 文件系统组成与功能:讲解文件系统的层次结构、存储设备和文件存储格式,对应课本第二章第二节内容。

3. 文件管理命令:教授常用的文件管理命令,如创建、删除、复制、移动、查看文件等,以课本第三章为基础,分课时逐一讲解。

4. 文件权限与属性:介绍文件权限的设置、修改和查看,以及文件属性的概念,结合课本第四章内容进行教学。

5. 文件安全与隐私保护:讲解文件权限在实际应用中的作用,如何保护文件安全,防止数据泄露,以课本第四章第三节为参考。

6. 文件系统问题排查与故障处理:教授如何识别和解决文件系统常见问题,如文件丢失、磁盘空间不足等,对应课本第五章内容。

教学内容安排和进度:第一课时:操作系统基本概念第二课时:文件系统组成与功能第三课时:文件管理命令(一)第四课时:文件管理命令(二)第五课时:文件权限与属性第六课时:文件安全与隐私保护第七课时:文件系统问题排查与故障处理教学内容确保科学性和系统性,以课本为基础,结合实际教学需求进行组织,旨在帮助学生扎实掌握操作系统文件管理的相关知识。

文件系统课程设计

文件系统课程设计

文件系统 课程设计一、课程目标知识目标:1. 理解文件系统的基本概念、组成结构与功能。

2. 掌握不同类型文件系统的特点及其适用场景。

3. 学习文件的组织、存储与访问控制方法。

技能目标:1. 能够运用所学知识对文件系统进行操作与管理。

2. 培养学生设计简单的文件系统的能力,提高解决问题的实践技能。

3. 能够分析文件系统的性能,并进行优化建议。

情感态度价值观目标:1. 培养学生积极主动探究文件系统知识的兴趣,形成良好的学习习惯。

2. 树立正确的信息管理观念,认识到文件系统在信息时代的重要性。

3. 增强学生的团队协作意识,提高沟通与交流能力。

本课程针对高年级学生,结合课程性质,注重理论与实践相结合,充分调动学生的主观能动性。

通过本章节的学习,旨在让学生掌握文件系统的基本知识与技能,同时培养他们解决实际问题的能力,提高信息素养。

教学要求注重培养学生的实践操作能力、创新思维和团队协作能力,使学生在掌握知识的同时,形成积极向上的情感态度与价值观。

二、教学内容1. 文件系统概述:介绍文件系统的基本概念、发展历程、功能与作用。

- 教材章节:第一章 文件系统概述- 内容列举:文件、目录、磁盘空间分配等基本概念;文件系统的演变与发展趋势;文件系统的主要功能与作用。

2. 文件系统的类型与结构:分析不同类型文件系统的特点、存储结构及其适用场景。

- 教材章节:第二章 文件系统类型与结构- 内容列举:磁盘文件系统、网络文件系统、分布式文件系统等;文件的逻辑结构与物理结构;文件系统的性能比较。

3. 文件操作与管理:讲解文件的组织、存储、访问控制方法以及相关操作。

- 教材章节:第三章 文件操作与管理- 内容列举:文件的创建、删除、修改、复制等操作;文件存储与访问控制权限;目录的组织与管理。

4. 文件系统性能优化:探讨文件系统性能评价方法,分析如何进行性能优化。

- 教材章节:第四章 文件系统性能优化- 内容列举:文件系统性能评价指标;文件系统性能优化策略;磁盘空间分配策略。

操作系统课程设计-文件系统

操作系统课程设计-文件系统

操作系统课程设计-文件系统一、引言文件系统是操作系统中的重要组成部分,负责对计算机中的文件进行管理和组织。

在操作系统课程设计中,文件系统的设计和实现是一个重要的任务。

本文将介绍文件系统的设计原则、功能和实现过程。

二、设计原则1. 可靠性文件系统需要确保数据的可靠性,能够有效地进行错误检测和纠正。

它应该能够处理文件的损坏、删除或丢失等情况,并能够进行数据恢复。

2. 效率文件系统需要具备高效的存取和查找功能,能够在较短的时间内完成对文件的操作。

它应该对文件进行良好的组织和管理,以提高文件的读写速度。

3. 安全性文件系统要能够保护文件的机密性和完整性,确保只有授权用户才能访问文件,并防止数据被恶意篡改或破坏。

4. 可扩展性文件系统应该能够适应不同容量和规模的存储设备,并能够随着存储需求的增长而进行扩展。

三、功能1. 存储管理文件系统需要对存储设备进行管理,包括磁盘空间的分配、回收和整理等操作,确保文件能够高效地存储和读取。

2. 目录管理文件系统需要提供目录管理功能,能够对文件进行组织和分类。

用户可以根据目录结构查找和管理文件,方便文件的查找和访问。

3. 文件操作文件系统需要支持各种文件操作,包括创建、删除、打开、关闭、读取和写入等操作。

它应该提供一组接口供用户和应用程序使用。

4. 错误处理文件系统需要对各种错误情况进行处理,包括磁盘故障、读写错误和用户操作错误等。

它应该能够识别和纠正错误,并提供相应的错误提示和恢复机制。

四、实现过程1. 文件分配文件系统需要确定如何将磁盘空间分配给文件,以实现高效的存储和检索。

常见的文件分配方式包括连续分配、链式分配和索引分配等。

2. 目录结构文件系统需要设计合适的目录结构,以方便用户查找和管理文件。

常见的目录结构包括树状目录结构、索引节点和哈希表等。

3. 文件读写文件系统需要实现高效的文件读写功能,包括将文件从磁盘读入内存和将文件从内存写入磁盘。

它应该提供缓存机制来加速读写操作。

文件系统的课程设计

文件系统的课程设计

文件系统的课程设计一、课程目标知识目标:1. 理解文件系统的基本概念,掌握文件、目录、磁盘存储等基础知识;2. 学习文件系统的组织结构,了解不同类型的文件系统及其特点;3. 掌握文件操作的基本命令,如创建、删除、复制、移动、重命名等;4. 了解文件权限和访问控制,掌握基本的文件权限设置方法。

技能目标:1. 能够运用所学知识,对文件系统进行有效管理,提高文件存储和检索效率;2. 学会使用文件系统工具进行磁盘空间分析,解决磁盘空间不足的问题;3. 能够运用文件权限设置,保障文件系统的安全性和隐私性;4. 培养学生动手操作能力,通过实践加深对文件系统知识的理解和应用。

情感态度价值观目标:1. 培养学生对计算机科学的学习兴趣,激发他们探索文件系统原理的欲望;2. 培养学生的团队合作意识,学会在团队中分享、交流、协作;3. 增强学生的信息安全和隐私保护意识,让他们认识到文件系统安全的重要性;4. 培养学生勇于尝试、克服困难的品质,提高他们解决问题的自信心。

本课程针对高年级学生,结合学科特点和教学要求,注重理论与实践相结合,旨在帮助学生掌握文件系统知识,提高实际操作能力,培养良好的信息素养和价值观。

通过具体、可衡量的课程目标,使学生在课程结束后能够达到预期的学习成果,为后续学习打下坚实基础。

二、教学内容1. 文件系统基础知识:文件、目录、磁盘存储等概念;文件系统的功能、分类及特点。

2. 文件系统组织结构:文件系统的逻辑结构、物理结构;不同类型文件系统的结构特点。

3. 文件操作命令:创建、删除、复制、移动、重命名等文件操作命令的使用方法和应用场景。

4. 文件权限和访问控制:文件权限的设置与修改;访问控制列表(ACL)的配置和应用。

5. 磁盘空间管理:磁盘空间分析工具的使用;磁盘分区、格式化、挂载等操作。

6. 文件系统安全与保护:文件系统的安全级别;加密、压缩、备份等文件保护方法。

教学大纲安排:第一课时:文件系统基础知识及组织结构第二课时:文件操作命令第三课时:文件权限和访问控制第四课时:磁盘空间管理第五课时:文件系统安全与保护教学内容关联教材章节:1. 文件系统基础知识:教材第3章第1节2. 文件系统组织结构:教材第3章第2节3. 文件操作命令:教材第4章4. 文件权限和访问控制:教材第5章5. 磁盘空间管理:教材第6章6. 文件系统安全与保护:教材第7章三、教学方法针对文件系统这一章节的内容,采用以下教学方法:1. 讲授法:通过教师系统地讲解文件系统的理论知识,使学生掌握基本概念、组织结构和文件操作命令等。

操作系统课程设计文件管理系统

操作系统课程设计文件管理系统

操作系统课程设计文件管理系统1. 引言文件管理是操作系统中的一个重要模块,负责对计算机中的文件进行管理和组织。

在操作系统课程设计中,设计一个文件管理系统是一个很有挑战性的任务,需要考虑到文件的创建、打开、读取、写入、删除等功能,并且要确保文件的安全性和可靠性。

本文将详细介绍文件管理系统的设计与实现。

2. 需求分析为了满足用户对文件管理的需要,我们需要对文件管理系统的需求进行分析。

在这个文件管理系统中,用户应该能够执行以下操作:•文件的创建和命名•文件的打开和关闭•文件的读取和写入•文件的删除和修改•文件的搜索和查找除此之外,还要考虑到对文件权限的管理,可以设置不同用户对文件的不同访问权限,以保障文件的安全性。

3. 概要设计概要设计是对文件管理系统的整体架构和功能进行规划和设计。

文件管理系统可以采用层次结构的设计方式,分为用户界面、文件管理模块和存储管理模块。

3.1 用户界面用户界面是用户与文件管理系统进行交互的接口,可以通过命令行或者图形界面来实现。

在用户界面中,用户可以输入相关指令来执行对文件的操作,如创建文件、打开文件、读取文件等。

3.2 文件管理模块文件管理模块是文件管理系统的核心模块,负责对文件进行创建、打开、读取、写入、删除等操作。

在文件管理模块中,需要维护一个文件目录表来记录文件的基本信息,如文件名、文件大小、文件权限等。

还需要考虑到文件的分配和回收,可以使用位示图等方式进行实现。

3.3 存储管理模块存储管理模块负责对文件进行存储和管理,包括磁盘空间的分配和回收。

在存储管理模块中,可以采用文件分配表或者索引节点进行存储方式的选择。

4. 详细设计在详细设计阶段,需要对概要设计中的每个模块进行详细设计,并确定各个模块之间的接口和数据结构。

4.1 用户界面设计用户界面设计可以采用命令行方式进行实现。

用户可以通过命令输入来执行相应的文件管理操作。

可以设计一系列命令,如create用于创建文件,open用于打开文件,read用于读取文件等。

文件系统演示课程设计

文件系统演示课程设计

文件系统演示课程设计一、课程目标知识目标:1. 让学生了解文件系统的基本概念,掌握文件的组织、存储和检索方式。

2. 使学生掌握不同类型的文件系统,如FAT32、NTFS等,以及它们的特点和适用场景。

3. 引导学生了解文件系统的安全性和权限设置,学会合理分配文件权限。

技能目标:1. 培养学生运用文件系统进行数据存储、管理和检索的能力。

2. 培养学生利用文件系统进行资源组织、共享和协作的能力。

3. 提高学生解决文件系统相关问题的能力,如文件丢失、磁盘空间不足等。

情感态度价值观目标:1. 培养学生对计算机科学技术的兴趣和求知欲,激发他们探索文件系统奥秘的热情。

2. 培养学生具有良好的信息素养,尊重知识产权,遵循法律法规,合理使用文件系统。

3. 培养学生具备团队协作精神,学会在文件系统管理和使用过程中与他人沟通、分享和合作。

课程性质:本课程为计算机科学与技术领域的基础课程,旨在帮助学生建立文件系统知识体系,提高实际操作能力。

学生特点:学生具备一定的计算机操作基础,对文件系统有初步了解,但缺乏系统深入的认识。

教学要求:结合学生特点,注重理论与实践相结合,以案例驱动、任务导向的教学方法,引导学生主动探究,提高综合运用能力。

通过本课程的学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。

二、教学内容1. 文件系统基本概念:文件、目录、磁盘空间分配、文件存储结构。

2. 文件系统的类型:FAT32、NTFS、EXT4等,以及它们的优缺点和适用场景。

3. 文件操作与管理:创建、删除、复制、移动、重命名文件和文件夹;文件属性和权限设置。

4. 文件系统的性能与优化:磁盘碎片整理、文件压缩、磁盘配额。

5. 文件系统安全与保护:访问控制、加密、备份与恢复。

6. 文件系统故障处理:文件丢失、磁盘损坏、系统错误等常见问题的解决方法。

教学内容安排与进度:第一课时:文件系统基本概念及类型介绍。

第二课时:文件操作与管理,如创建、删除、复制、移动文件和文件夹。

操作系统课程设计报告文件系统

操作系统课程设计报告文件系统

盘索引结点号一并组成一个新目录项,记入其父目录文件中。

文件被撤消时,系统要回收该文件的磁盘索引结点,从其父目录中删除该目录项。

随着文件的打开与关闭,系统还要为之分派和回收内存索引结点。

②磁盘索引结点中,包括有关文件的下述一系列信息:文件模式di_mode、文件所有者用户标识符di_uid、同组用户标识符di_gid、文件长度di_size、文件的联接计数di_nlink、文件的物理地址di_addr、文件的访问时刻di_atime、文件的修改时刻di_mtime和文件的成立时刻di_citime。

③内存索引结点:文件被打开后,系统为它在内存索引结点表区中建一内存索引结点,以方便用户和系统对文件的访问。

④磁盘索引结点的分派与回收分派进程ialloc:当内核创建一新文件时,要为之分派一空闲磁盘i结点。

如分派成功,便再分派一内存i结点。

其进程如下:检查超级块上锁否。

由于超级块是临界资源,诸进程必需互斥地访问它,故在进入ialloc后,要先检查它是不是已上锁,若是则睡眠等待;检查i结点栈空否。

若i结点栈中已无空闲结点编号,则应从盘中再调入一批i 结点号进栈。

若盘中已无空闲i结点,则犯错处置,返回;从空闲i结点编号栈中分派一i结点,并对它初始化、填写有关文件的属性;分派内存i结点;将磁盘i结点总数-1,置超级块修改标志,返回。

回收进程ifree:当删除文件时,应回收其所占用的盘块及相应的磁盘i结点。

具体有:检查超级块上锁否。

若是,直接返回,即不把本次回收的i结点号记入空闲i结点编号栈中;检查i结点编号栈满否。

若已满,无法再装入新回收的i结点号,当即返回,若未满,便将回收的i结点编号进栈,并使当前空闲结点数+1;置超级块修改标志,返回。

⑤内存索引结点的分派与回收分派进程iget:虽然iget用在打开文件时为之分派i结点,但由于允许文件被共享,因此,若是一文件已被其他用户打开并有了内存i结点,则现在只需将i结点中的引用计数+1。

操作系统文件系统课程设计实验

操作系统文件系统课程设计实验

《操作系统原理》课程设计任务书题目:文件系统实现学生姓名:学号:班级:________________题目类型:软件工程(R)指导教师:一、设计目的学生通过该题目的设计过程,可以初步掌握操作系统中有关文件系统的原理、软件开发方法并提高解决实际问题的能力。

二、设计任务用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。

从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。

要求设计一个n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。

三、设计要求1.分析设计要求,给出解决方案(要说明设计实现所用的原理、采用的数据结构)。

2.设计合适的测试用例,对得到的运行结果要有分析。

3.设计中遇到的问题,设计的心得体会。

4.文档:课程设计打印文档每个学生一份,并装在统一的资料袋中,资料袋前面要贴有学校统一的资料袋封面。

四、提交的成果1. 课程设计说明书内容包括(1) 封面(学院统一印制);(2) 课程设计任务书;(3) 中文摘要150字;关键词3-5个;(4) 目录;(5) 正文;(设计思想;各模块的伪码算法;函数的调用关系图;测试结果等)(6) 设计总结;(7) 参考文献;(8) 致谢等。

注:每一部分是单独的一章,要另起一页写。

2. 排版要求(1) 所有一级标题为宋体三号加粗(即上面写的2~8部分,单独一行,居中)(2) 所有二级标题为宋体四号加粗(左对齐)(3) 所有三级标题为宋体小四加粗(左对齐)(4) 除标题外所有正文为宋体小四,行间距为固定值22磅,每个段落首行缩进2字符(5) 目录只显示3级标题,目录的最后一项是无序号的“参考文献资料”。

3. 其他要求(班长负责,务必按照以下方式建文件夹)(1) 以班级为单位刻录光盘一张,光盘以班级命名,例如:“10级计算机科学与技术1班”;(2) 光盘内每人一个文件夹,以学号姓名命名——如“10730101 陈映霞”,内容包括任务书、设计文档。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统课程设计班级:姓名:学号:使用语言:C++指导老师:学院:一、系统要求1、实验目的通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。

2、实验内容为linux系统设计一个简单的二级文件系统。

要求做到以下几点:(1)可以实现下列几条命令(至少4条);login 用户登陆dir 列文件目录create 创建文件delete 删除文件open 打开文件close 关闭文件read 读文件write 写文件(2)列目录时要列出文件名、物理地址、保护码和文件长度;(3)源文件可以进行读写保护。

二、系统分析1、设计思想本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。

本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。

另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。

系统采用结构体来存储用户、文件目录、文件数据内容:0 48*5 48*5+44*50 48*5+44*50+264*200每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。

整个系统的编码构成主要分为:Allstruct.h 定义了每个分区的结构体;Mysys.h 声明了对系统操作的各种方法;Myuserfile.h 声明了对文件操作的各种方法;Mymain.cpp 整个系统的主函数,操作入口;Mysys.cpp 包含了mysys.h,实现了操作系统的各种方法;Myuserfile.cpp 包含了myuserfile.h,实现了操作文件的各种方法;2、主要数据结构Allstruct.h文件的内容:struct s_user //用户区结构体{long isuse; //是否使用char name[20]; //用户名char psd[20]; //密码long address; //目录地址};struct s_list //目录结构体{long isuse; //是否使用char name[20]; //文件名字long myaddress; //本条目录地址long pointaddress; //指向的文件的地址long isfile; //是否锁定long pointsize; //目标文件的大小long nextaddress; //下条目录的地址};struct s_file //文件结构体{long isuse; //是否使用char content[256]; //文件内容long next; //下个文件块地址};三、系统执行1、如果首次进入系统,还没有文件系统,则会提示格式化文件系统,创建分区,并初始化分区:2、刚初始化后,没有用户,提示创建用户:3、用户创建成功后出现对系统操作的菜单4、注册用户功能:5、用户登录,登录成功后显示当前用户下的所有文件及其详细信息,同时显示对文件操作的菜单:6、新注册的用户默认为没有文件,选择创建文件,并且每次对文件操作后显示当前用户的所有文件和操作菜单:7、此次新建的文件为锁定状态,不能被删除:8、对文件查看,默认创建的时候用0填充文件内容:9、修改文件内容:10、对文件的锁定进行装换:11、删除文件:12、注销登录退出系统:四、功能实现Mysys.h#include <stdio.h>#include "myuserfile.h"class MSysterm{ //封装了管理系统的方法//成员变量private:FILE *myfile;MUser myuser;//成员函数public:MSysterm(){}void outName(); //打印登陆后的用户名int cheack(); //检查虚拟文件系统跟是否存在int myformat(); //初始化虚拟磁盘int createuser(); //创建用户int login(); //用户登录void mymain(); //主控制程序int logout(); //用户注销};Myuserfile.h#include <stdio.h>class MUser //封装了管理文件的方法{//成员变量public:FILE *myfile;char name[20]; //用户名char psd[20]; //密码long listaddress; //目录地址long myaddress; //此用户的地址private:long lastaddress; //最后一个目录的地址//成员函数public:int createFile(); //增加文件int delFile(char filename[20]);//删除文件int revampFile(char filename[20]);//修改文件int mydir(); //列出当前目录的所有文件(夹)int viewFile(char filename[20]);//查看文件int myConversion(char filename[20]);//转换是否锁定状态private:int isSame(char filename_f[20],char filename_s[20]);};Mymain.cpp#include <stdio.h>#include <iostream>#include "mysys.h"#include <limits>using namespace std;int main(){char nod1;int n_select = 2 , i_1 =0;MSysterm mysys;/***********文件不存在的程序入口************/if(mysys.cheack()==-1)//磁盘空间不存在{cout<<"虚拟磁盘文件不存在,是否生成?Y/N "<<endl;cin>>nod1;cin.clear(); // 清除流的错误标记cin.ignore(numeric_limits<streamsize>::max(),'\n'); // 清空输入流if(nod1=='Y'||nod1=='y'){cout<<"正在创建。

"<<endl;if(mysys.myformat()!=1)//创建磁盘空间{cout<<"创建磁盘空间失败!即将退出。

"<<endl;cin>>nod1;return 2;}cout<<"创建完成!是否创建用户?Y/N "<<endl;cin>>nod1;cin.clear(); // 清除流的错误标记cin.ignore(numeric_limits<streamsize>::max(),'\n'); // 清空输入流if(nod1=='Y'||nod1=='y'){if(mysys.createuser()==1)//创建用户{cout<<"创建用户成功。

"<<endl;}else{cout<<"创建用户失败!即将退出。

"<<endl;return 3;}}else{cout<<"匿名用户无法进入系统,正在退出。

"<<endl;return 4;}}else{cout<<"程序已结束!按任意键退出。

"<<endl;return 1;}}/***********文件存在的程序入口**************/for (;;){cout<<"*********************"<<endl;cout<<"请选择:"<<endl;cout<<" 1. 登录"<<endl<<" 2. 注册"<<endl<<" 3. 退出"<<endl;cout<<"*********************"<<endl;cin>>n_select;cin.clear(); // 清除流的错误标记cin.ignore(numeric_limits<streamsize>::max(),'\n'); // 清空输入流if (n_select == 1){for (int i_1=0;i_1<=3;i_1++)//登录{if (mysys.login()==1){cout<<"登陆成功!欢迎您";mysys.outName();break;}else{cout<<"用户名不存在或密码错误!"<<endl;}}if (i_1==4){cout<<"非法用户!"<<endl<<"输入任意键退出。

"<<endl;cin>>nod1;return 5;}break;}if (n_select == 2){if(mysys.createuser()==1)//创建用户{cout<<"创建用户成功。

"<<endl;}else{cout<<"创建用户失败!"<<endl;}}if (n_select == 3){return 6;}}mysys.mymain();return 0;}Mysys.cpp#include "mysys.h"#include "allstruct.h"#include <iostream>#include <stdio.h>#include <limits>//用于清除残留的输入流using namespace std;int MSysterm::cheack()//检查虚拟空间是否存在{myfile=fopen("test1.txt","r");if(myfile==NULL){return -1;//返回-1,代表文件不存在}fclose(myfile);return 1;}int MSysterm::myformat(){int i =1;myfile=fopen("test1.txt","w");if(myfile==NULL){return -1;}s_user ms_user;ms_user.isuse=0;s_list ms_list;ms_list.isuse=0;s_file ms_file;ms_file.isuse=0;for (i =1 ; i<=5 ; i++){if(fwrite(&ms_user,sizeof(ms_user),1,myfile)!=1)//用户区格式化{cout<<"用户格式信息写入失败!"<<endl;fclose(myfile);return -2;}}for (i = 1; i<=50 ;i++){if(fwrite(&ms_list,sizeof(ms_list),1,myfile)!=1)//目录区格式化{cout<<"目录格式信息写入失败!"<<endl;fclose(myfile);return -3;}}for (i=0;i<=199;i++){if(fwrite(&ms_file,sizeof(ms_file),1,myfile)!=1)//数据区格式化{cout<<"数据格式信息写入失败!"<<endl;fclose(myfile);return -4;}}fclose(myfile);return 1;}int MSysterm::createuser()//创建用户{s_user ms_user,ms_user2;int nowaddress = 0 ,issame=0 ,m=0 , i =1 ;//记录当前的扫描指针,密码比对标志位,循环使用的变量cout<<"正在检查用户空间是否足够。

相关文档
最新文档