江苏大学京江学院操作系统课程设计报告书

上传人:人*** 文档编号:489321301 上传时间:2022-10-23 格式:DOCX 页数:20 大小:493.24KB
返回 下载 相关 举报
江苏大学京江学院操作系统课程设计报告书_第1页
第1页 / 共20页
江苏大学京江学院操作系统课程设计报告书_第2页
第2页 / 共20页
江苏大学京江学院操作系统课程设计报告书_第3页
第3页 / 共20页
江苏大学京江学院操作系统课程设计报告书_第4页
第4页 / 共20页
江苏大学京江学院操作系统课程设计报告书_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《江苏大学京江学院操作系统课程设计报告书》由会员分享,可在线阅读,更多相关《江苏大学京江学院操作系统课程设计报告书(20页珍藏版)》请在金锄头文库上搜索。

1、前言 :这是我自己按照自己理解的设计方法设计的一份简易的Java操作系统的程序内容比较简单,目前互联网上还没有此类的课程设计报告,因为我也去查了的,哪些打着Java的名头,裤子穿着C+/C#,坑人。之前我是准备用Java的Swing组件来写的,搞了三天,验证出现了问题,问老师,老师也不知道,故而我直接在console控制台里面输出,大家可以自由发挥,我不想有人直接原文照搬,参考是可以的,复制是学术的大忌,大家自觉遵守。我目前只会放PDF版的,Word版我博客中会放,不过还没建成。2017年9月8日于XX大学文件管理系统学院名称:京江学院专业_J计算机1401 _ 4141110023 学生XX

2、:谢舟指导林琳 2017年1月目录一、课设目的1二、课设题目1三、系统功能结构2四、主要数据结构3五、系统使用说明4六、课程设计中遇到的问题及解决方法8七、带注释的代码9 / 一、课设目的操作系统是计算机专业的一门专业课,也是计算机专业考研课程,但操作系统比较抽象,有的同学一学期完了都还很难理解进程、内存管理等一些概念和原理,操作系统课程设计的目的就是通过设计的实验,让同学们真正理解进程的实现,内存管理的机制,达到理解概念,了解实现原理。同时也进一步巩固程序设计与数据结构的实践技能,实现整个大学阶段实践技能不断线的目的。二、课设题目实现一个简单的文件管理系统1具有文件目录一级或者多级2对指定大

3、小的磁盘设共1GB,每个块为1MB,建立位示图进行管理3文件操作,包括新建、查看属性、删除新建文件:给出文件名、大小、建立时间等信息,系统为其分配硬盘空间,并记录在文件目录中查看属性:给出文件名,可以输出该文件的所有属性,以及该文件所占用的物理块号。删除文件:给出文件名,实现文件的删除4文件系统操作:显示文件列表、显示磁盘空间剩余大小、输出位示图。三、系统功能结构使用语言或者图形方式表示所实现的所有功能进入Java简单的文件管理系统界面。输入1,调用CiPan函数,设置磁盘大小,指定大小的磁盘设共1GB,每个块为1MB,建立位示图进行管理。分块 n = disksize*1024/blocks

4、ize;输入2,调用ChuangJian函数,创建新文件,输入文件名和大小,剩余内存等于原有内存减去创建的文件的大小,并在位示图中把占用的块置为1,标记插入的开头和结尾。输入3,调用Delelte函数,删除文件,输入要删除的文件名,在已经创建的文件中查找是否存在此文件,如果有则释放对应的文件及所占有的内存,剩余内存等于原有内存加上删除的文件的大小,并把位示图中对应的块置为0。输入4,输出目录信息。输入5,输出文件属性。输入6,输出剩余的内存大小。输入7,输出位示图。四、主要数据结构说明各种管理中所采用的方法,设计的数据结构的含义设置磁盘大小和盘块大小时,需要对初始的变量进行赋值,对文件字符数组

5、赋初值为空,创建的文件有数量限制。创建文件时,需要对文件的名字进行标记,标记插入的位置和大小,剩余内存等于原有内存减去此文件的大小,中间的插入需要在位示图中寻找是否有空的盘块,如果有的话,则把对应的盘块置为1。删除文件时,需要先去寻找要删除的文件所对应的块的位置和文件名所对应的数组。如果找到了,显示删除成功,删除对应的块、名字,释放对应的内存空间,把对应的位示图所使用的盘块置为0;若果没找到,则显示此文件不存在。目录,直接把name字符串数组里面的东西按顺序输出。文件属性,把对应的name和arr输出。剩余磁盘大小,在创建文件时,需要减去对应的文件的大小,在删除文件时,需要加上所删除的文件的大

6、小。输出位示图,在创建文件时,把对应的大小的数量在位示图上标记出来,使用了就标记为1,没有就是0;在删除文件时,把对应的文件的所使用的内存所对应的位示图的位置置为0,这样就在位示图上弄好了。五、系统使用说明通过文字和主要功能截图的方式,大致说明系统的使用方法1、初始化,建立环境,输入磁盘大小和盘块大小此处使用磁盘大小1GB和盘块大小1MB,用户可以随意改变参数2、新建文件,输入文件名,大小。建立多个文件3、输出目录4、输出属性5、输出剩余磁盘大小6、输出位示图7、删除文件六、课程设计中遇到的问题及解决方法刚开始我拿到这个操作系统课程设计的题目时是很迷茫的,感觉什么都不会,开始花了大量的时间用在

7、做Java图形界面上,试了很多次,发现用Java做图形界面时,输入的文字保存有问题,但是单个模块测试却是没有问题的,点击确认按钮时,创建文件是跳不出来主界面的,试了3天后我已经放弃用图形界面,转换为控制台里输入和显示,这样就避免了跨类调用等的问题。虽然是这样,但也是在之前的程序上把图形界面的程序删除了,然后精简到一个类中。在这之中也遇到了一些小问题,输入的问题,我跟老师、同学交流了一下,那个同学用C语言做的,给了我很大的启发。我就对着程序添添补补,把那些不要的程序删除了,加上一些好的程序。就这样花了几个小时就完成了,虽然功能不是很完善,但是我已经尽力了!这次课程设计对我的影响很大,我第一次凭借

8、自己的努力用Java写出来一个规模较小程序,累是累但是收获很大。对我的人生产生了前进的动力。在此感谢老师,感谢那位同学的意见!七、带注释的代码package a;import java.util.Scanner;publicclass M staticintdisksize; /磁盘容量staticintblocksize; /块的大小staticintrow; /初始要插入位示图的行staticintcolumn; /初始要插入位示图的列staticintn; /块的数目staticintr; /剩余大小staticintk = 0; /目录级staticintd = 10;staticin

9、tkk = -1;/做删除找到的标记staticinta = 0; /创建的数目存放,最大10个staticintb = 0; /删除的数目存放staticint c = newintd;/标记1为有文件,0为空的staticint arr = newintd1;/标记插入的大小staticint wst = newint2048;/位示图static String name = new Stringd;/文件名字存放的位置static String name1 = new Stringd;/文件名字删除存放的位置staticint k1 = newintd; /记录文件开始存放的位置stat

10、icint k2 = newintd; /记录文件结束的位置staticint k3 = newint1;staticint k4 = newint1;staticint k5 = newint1;staticint k6 = newint1;staticint p1 = newintd; /记录目录下文件夹子目录是否为空publicvoid CiPan/设置磁盘大小的模块System.out.println;System.out.print磁盘容量:;Scanner rea1 = new Scanner;disksize = rea1.nextInt;System.out.print块的大小

11、:;Scanner rea2 = new Scanner;blocksize = rea2.nextInt;System.out.print;Scanner rea3 = new Scanner;column = rea3.nextInt; n = disksize*1024/blocksize;r = n;row = disksize*1024/column;forint i = 0; i namei = ;forint j = 0; j wstj = 0;publicvoid MuLu /显示目录的模块System.out.println;forint i = 0; i ifSystem.

12、out.println;publicvoid ChuangJian /创建文件的模块System.out.println;Scanner rsda = new Scanner;/ 获得新文件的名称namea = rsda.nextLine;ifk if / 创建新文件p1k = 1;System.out.println请输入要插入的其大小;Scanner re3 = new Scanner;arra0 = re3.nextInt; System.out.println;ca = 1;k30 = 1;k60 = 1;forint j = 0; j ifif 0k40 = j;k60 = 0;k60 = 1;r = r-arra0;forint i = k40; i = ; i+ ifwsti = 1;k1a=i;k30-;elseifwsti= 1;k50-;k2a=i;k30=1;k+;a+;publicvoid Delete/删除文件的模块System.out.println;Scanner rcds = new Scanner;/ 获得新文件的名称name1b = rcds.nextLine;if / 删除文件for int i = 0; i 10; i

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号