- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 1
江苏大学京江学院
JIANGSU UNIVERSITY
操 作 系 统 课 程 设 计
文件管理系统
学 院 名 称 : 京江学院
专 业 班 级 : J计算机1401
学 号 : 4141110020
学 生 姓 名 : 潘 庆
指 导 教 师 : 林 琳
2017 年 1 月
课设目的
操作系统是计算机专业的一门专业课,也是计算机专业考研课程,但操作系统比较抽象,有的同学一学期完了都还很难理解进程、内存管理等一些概念和原理,操作系统课程设计的目的就是通过设计的实验,让同学们真正理解进程的实现,内存管理的机制,达到理解概念,了解实现原理。同时也进一步巩固程序设计与数据结构的实践技能,实现整个大学阶段实践技能不断线的目的。
课设题目
实现一个简单的文件管理系统
(1)具有文件目录(一级或者多级)
(2)对指定大小的磁盘(设共1GB,每个块为1MB),建立位示图进行管理
(3)文件操作,包括新建、查看属性、删除
新建文件:给出文件名、大小、建立时间等信息,系统为其分配硬盘空间,并记录在文件目录中
查看属性:给出文件名,可以输出该文件的所有属性,以及该文件所占用的物理块号。
删除文件:给出文件名,实现文件的删除
(4)文件系统操作:显示文件列表、显示磁盘空间剩余大小、输出位示图。
三、系统功能结构
主要数据结构
创建文件:creatfile文件名,即创建一个指定名字的新文件,在目录中增加一项,不考虑文件的内容,对于重名文件,给出错误信息。
删除文件:deltefile文件名,即删除一个指定名字的已创建文件,若文件不存在则给出错误信息。
输出文件列表:disp(),即显示指定目录下的全部文件和第一级子目录,若无指定目录,则显示当前目录下的相应内容。
输出文件属性:disp2(),即给出文件名,可以输出该文件的所有属性,以及该文件所占用的物理块号。
输出位示图:bit_map(),即输出当前状态下磁盘盘块的使用情况。
系统使用说明
文件管理系统主菜单界面(通过输入对应数字进入相应功能子菜单)
“新建文件”功能(需要输入文件名、文件大小和创建时间)
“查看属性”功能(输入文件名后,会显示其大小,所占盘块数,所占盘块号和创建时间)
“显示文件列表”功能
“显示磁盘空间剩余大小”功能
“输出位示图”功能
“删除文件”功能(输入文件名即可将其删除)
课程设计中遇到的问题及解决方法
刚开始做这个实验时,考虑的因素并没有很周全,比如创建文件和删除文件均没有考虑例外因素,都是在后期检查时发现的疏漏,另外,将文件管理的理论用C++来实现也需要自己从巩固书本概念做起,虽然书上并没有给出完整的算法,但是通过类比及网上查阅相关算法,自己也便可以写出以C++实现的各个功能模块,然后将其整合到文件类和文件库类两个大类中,使整个程序的结构更清晰,主函数用来实现界面和选择功能,用简单的switch-case语句便可以实现,值得注意的是,这边很容易会忽视清屏,导致输出结果很繁杂,用简单的system(cls)命令即可实现清屏。
这次课程设计不仅是对自己掌握的操作系统知识的检验,更是对实践能力的检验,在这次课程设计过程中,我发现了许多课堂上或考试中并没有留意的知识点,通过翻阅书本,查阅网络才将它们重拾,这充分说明了我在学习这门课时还是偏向了课堂上的要点,但毕竟课堂上老师不可能强调所有知识点,自己还是要注意课后的复习以及动手实践,才能更好地巩固知识点,而且我也意识到自己并不能仅仅拘泥于课本上的知识,很多学科前沿的知识也要去了解,这样对以后的就业才有帮助。
七、带注释的代码
#includeiostream
#includeiomanip
#includestring
using namespace std;
int i=0,j=0,sum=0,tt=0,ii,ss;//i,j是位视图行列,sum是位视图存储到的盘块数,tt是文件已占用块数,ii是文件编号,ss是磁盘剩余块数
int a[32][32];
//*****************************************************************************************************
class file //文件类
{
private:
string name; //文件名
pu
文档评论(0)