欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    操作系统课程设计-文件管理系统(10页).docx

    • 资源ID:38728163       资源大小:129.17KB        全文页数:10页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统课程设计-文件管理系统(10页).docx

    -操作系统课程设计-文件管理系统-第 8 页文件管理系统学院名称: 京 江 学 院 专业班级: J计算机1401 学号: 学生姓名: 指导教师: 2017年1月目 录一、课设目的1二、课设题目1三、系统功能结构2四、主要数据结构3五、系统使用说明4六、课程设计中遇到的问题及解决方法8七、带注释的代码9一、课设目的操作系统是计算机专业的一门专业课,也是计算机专业考研课程,但操作系统比较抽象,有的同学一学期完了都还很难理解进程、内存管理等一些概念和原理,操作系统课程设计的目的就是通过设计的实验,让同学们真正理解进程的实现,内存管理的机制,达到理解概念,了解实现原理。同时也进一步巩固程序设计与数据结构的实践技能,实现整个大学阶段实践技能不断线的目的。二、课设题目实现一个简单的文件管理系统(1)具有文件目录(一级或者多级)(2)对指定大小的磁盘(设共1GB,每个块为1MB),建立位示图进行管理(3)文件操作,包括新建、查看属性、删除新建文件:给出文件名、大小、建立时间等信息,系统为其分配硬盘空间,并记录在文件目录中查看属性:给出文件名,可以输出该文件的所有属性,以及该文件所占用的物理块号。删除文件:给出文件名,实现文件的删除(4)文件系统操作:显示文件列表、显示磁盘空间剩余大小、输出位示图。三、系统功能结构(使用语言或者图形方式表示所实现的所有功能)进入Java简单的文件管理系统界面。输入1,调用CiPan()函数,设置磁盘大小,指定大小的磁盘(设共1GB,每个块为1MB),建立位示图进行管理。分块 n = disksize*1024/blocksize;输入2,调用ChuangJian()函数,创建新文件,输入文件名和大小,剩余内存等于原有内存减去创建的文件的大小,并在位示图中把占用的块置为1,标记插入的开头和结尾。输入3,调用Delelte()函数,删除文件,输入要删除的文件名,在已经创建的文件中查找是否存在此文件,如果有则释放对应的文件及所占有的内存,剩余内存等于原有内存加上删除的文件的大小,并把位示图中对应的块置为0。输入4,输出目录信息。输入5,输出文件属性。输入6,输出剩余的内存大小。输入7,输出位示图。四、主要数据结构(说明各种管理中所采用的方法,设计的数据结构的含义)设置磁盘大小和盘块大小时,需要对初始的变量进行赋值,对文件字符数组赋初值为空,创建的文件有数量限制。创建文件时,需要对文件的名字进行标记,标记插入的位置和大小,剩余内存等于原有内存减去此文件的大小,中间的插入需要在位示图中寻找是否有空的盘块,如果有的话,则把对应的盘块置为1。删除文件时,需要先去寻找要删除的文件所对应的块的位置和文件名所对应的数组。如果找到了,显示删除成功,删除对应的块、名字,释放对应的内存空间,把对应的位示图所使用的盘块置为0;若果没找到,则显示此文件不存在。 目录,直接把name字符串数组里面的东西按顺序输出。 文件属性,把对应的name和arr输出。剩余磁盘大小,在创建文件时,需要减去对应的文件的大小,在删除文件时,需要加上所删除的文件的大小。 输出位示图,在创建文件时,把对应的大小的数量在位示图上标记出来,使用了就标记为1,没有就是0;在删除文件时,把对应的文件的所使用的内存所对应的位示图的位置置为0,这样就在位示图上弄好了。五、系统使用说明(通过文字和主要功能截图的方式,大致说明系统的使用方法)1、初始化,建立环境,输入磁盘大小和盘块大小(此处使用磁盘大小1GB和盘块大小1MB,用户可以随意改变参数)2、新建文件,输入文件名,大小。(建立多个文件)3、输出目录4、输出属性5、 输出剩余磁盘大小6、输出位示图7、删除文件六、课程设计中遇到的问题及解决方法 刚开始我拿到这个操作系统课程设计的题目时是很迷茫的,感觉什么都不会,开始花了大量的时间用在做Java图形界面上,试了很多次,发现用Java做图形界面时,输入的文字保存有问题,但是单个模块测试却是没有问题的,点击确认按钮时,创建文件是跳不出来主界面的,试了3天后我已经放弃用图形界面,转换为控制台里输入和显示,这样就避免了跨类调用等的问题。虽然是这样,但也是在之前的程序上把图形界面的程序删除了,然后精简到一个类中。在这之中也遇到了一些小问题,输入的问题,我跟老师、同学交流了一下,那个同学用C语言做的,给了我很大的启发。我就对着程序添添补补,把那些不要的程序删除了,加上一些好的程序。就这样花了几个小时就完成了,虽然功能不是很完善,但是我已经尽力了!这次课程设计对我的影响很大,我第一次凭借自己的努力用Java写出来一个规模较小程序,累是累但是收获很大。对我的人生产生了前进的动力。在此感谢老师,感谢那位同学的意见!七、带注释的代码package a;import java.util.Scanner;public class M static int disksize; /磁盘容量static int blocksize; /块的大小static int row; /初始要插入位示图的行static int column; /初始要插入位示图的列static int n; /块的数目static int r; /剩余大小static int k = 0; /目录级static int d = 10;static int kk = -1;/做删除找到的标记static int a = 0; /创建的数目存放,最大10个static int b = 0; /删除的数目存放static int c = new intd;/标记1为有文件,0为空的static int arr = new intd1;/标记插入的大小static int wst = new int2048;/位示图static String name = new Stringd;/文件名字存放的位置static String name1 = new Stringd;/文件名字删除存放的位置static int k1 = new intd; /记录文件开始存放的位置static int k2 = new intd; /记录文件结束的位置static int k3 = new int1;static int k4 = new int1;static int k5 = new int1;static int k6 = new int1;static int p1 = new intd; /记录目录下文件夹子目录是否为空public void CiPan()/设置磁盘大小的模块System.out.println("设置磁盘大小");System.out.print("磁盘容量(G):");Scanner rea1 = new Scanner(System.in);disksize = rea1.nextInt();System.out.print("块的大小(M):");Scanner rea2 = new Scanner(System.in);blocksize = rea2.nextInt();System.out.print("请输入您所需要的系统多少位:");Scanner rea3 = new Scanner(System.in);column = rea3.nextInt(); n = disksize*1024/blocksize;r = n;row = disksize*1024/column;for(int i = 0; i < d; i+)namei = ""for(int j = 0; j < disksize*1024/blocksize; j+)wstj = 0;public void MuLu() /显示目录的模块System.out.println(" 目录 ");for(int i = 0; i < 10; i+)if(p1i = 1)System.out.println(" "+namei);public void ChuangJian() /创建文件的模块System.out.println("请输入要创建的文件名称:");Scanner rsda = new Scanner(System.in);/ 获得新文件的名称namea = rsda.nextLine();if(k < 10)if (namea != null) / 创建新文件p1k = 1;System.out.println("请输入要插入的其大小(M)");Scanner re3 = new Scanner(System.in);arra0 = re3.nextInt(); System.out.println("文件: "+namea+"序列是:"+a+"大小:"+arra0+"M");ca = 1;k30 = 1;k60 = 1;for(int j = 0; j < n; j+)if(wstj = 0)if(k60 > 0)k40 = j;k60 = 0;k60 = 1;r = r-arra0;for(int i = k40; i <= (k40+arra0-1) ; i+ )if(k30 = 1)wsti = 1;k1a=i;k30-;else if(k30 = 0)wsti= 1;k50-;k2a=i;k30=1;k+;a+;public void Delete()/删除文件的模块System.out.println("请输入要删除的文件名称:");Scanner rcds = new Scanner(System.in);/ 获得新文件的名称name1b = rcds.nextLine();if (name1b != null) / 删除文件for (int i = 0; i < 10; i+) / 查看删除的文件是否存在if(name1b.equals(namei)kk = i;r = r+arrkk0;if(kk!=-1&&p1kk=1)p1kk = 0;ckk = 0;namekk = ""for(int j = k1kk; j <= k2kk; j+)wstj = 0;System.out.println("删除成功!");kk = -1;else if(kk = -1)System.out.println("此文件不存在!");public void Show() /查看属性System.out.println("文件名"+" "+"大小(M)");for(int i = 0 ; i < d ; i+) if(ci = 1)System.out.println(" "+namei+" "+arri0);public void Remained()/剩余大小System.out.println("剩余大小为: "+r);public void Bitmap() /输出位示图System.out.println("位示图");for(int i = 0 ; i < n ; i+) if(i+1) % column != 0 )System.out.print(wsti+" ");else if(i+1) % column = 0)System.out.println(wsti);public static void main(String args) /主函数模块int k;while(true) System.out.println(" Java简单的文件管理系统 ");System.out.println(" 1.设置磁盘大小");System.out.println(" 2.创建文件");System.out.println(" 3.删除文件");System.out.println(" 4.文件目录");System.out.println(" 5.查看属性");System.out.println(" 6.显示磁盘剩余大小");System.out.println(" 7.输出位示图");System.out.println();System.out.print("请输入上面的编号:");Scanner sc = new Scanner(System.in);k = sc.nextInt();switch(k)case 1: M m1 = new M();m1.CiPan();break;case 2:M m2 = new M(); m2.ChuangJian();break;case 3: M m3 = new M();m3.Delete();break;case 4:M m4 = new M();m4.MuLu();break;case 5:M m5 = new M();m5.Show();break;case 6: M m6 = new M(); m6.Remained();break; case 7: M m7 = new M(); m7.Bitmap();break;

    注意事项

    本文(操作系统课程设计-文件管理系统(10页).docx)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开