江苏大学京江学院操作系统课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言:
这是我自己按照自己理解的设计方法设计的一份简易的Java操作系统的程序内容比较简单,目前互联网上还没有此类的课程设计报告,因为我也去查了的,哪些打着Java的名头,裤子穿着C++/C#,坑人。
之前我是准备用Java的Swing组件来写的,搞了三天,验证出现了问题,问老师,老师也不知道,故而我直接在console(控制台)里面输出,大家可以自由发挥,我不想有人直接原文照搬,参考是可以的,复制是学术的大忌,大家自觉遵守。我目前只会放PDF版的,Word版我博客中会放,不过还没建成。
2017年9月8日
于江苏大学
江苏大学京江学院
JIANGSU UNIVERSITY
操作系统课程设计
文件管理系统
学院名称:京江学院
专业班级:J计算机1401
学号:4141110023
学生姓名:谢舟
指导教师:林琳
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;