一.课程设计的目的

本课程设计是学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让我更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强了我的动手能力。

­

二.课程设计的内容及要求

内容:为LINUX 设计一个简单的二级文件系统。要求做到以下几点:

1、可以实现下列几条命令(至少4条)。

Login        用户登录

Dir          列文件目录

Create       创建文件

Delete       删除文件

Open        打开文件

Close        关闭文件

Read        读文件

Write        写文件

2、列目录时要列出文件名、物理地址、保护码和文件长度。

3、源文件可以进行读写保护。

从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:

1、鼓励并优先个人独立选题设计,可从下面设计题目中选择,也可以自拟相关题目;如要合作,每组最多两名同学,且设计文档不能相同;

2、可以在我们实验课最后布置的实验设计基础上进行完善和改进,但不能相同。

3、题目选定后报给班长,班长要注意班级内题目的平衡,根据所选题目进行协调,不要都选一样的题。

4、设计完成后报请老师答辩,答辩时不能对自己提供的设计进行讲解的同学,视为抄袭;

5、要求写出一份详细的设计报告(A4纸)。

6、每位同学在周五将自己的设计报告和电子文档(包括报告和源程序)交给学习委员,并由学习委员统一刻盘后上交。

三.实现原理

首先,实现Login用户登录,(用户名:admin 密码:admin)必须登录成功才能进入文件系统进行查看,进入后,通过树状展示文件目录(默认文件目录是C:\Program Files),右侧显示文件夹图标或者文件图标,选中节点鼠标右击弹出菜单,有新建目录,新建文件,删除文件,打开文件,属性菜单项,并分别实现其功能。

四.关键算法实现流程图

流程图:

关键算法:

1.新建目录功能的实现。

private class MenuAction2  implements ActionListener {public void actionPerformed(ActionEvent arg0) {try {String Name=JOptionPane.showInputDialog("创建目录名称:");if (!Name.equals("")) {// 得到树状视图的被选择节点路径TreePath path = tree.getSelectionPath();// 得到树状视图的被选择节点MutableTreeNode node = (MutableTreeNode) path.getLastPathComponent();// 得到树状视图的模型类变量DefaultTreeModel model = (DefaultTreeModel) tree.getModel();// 新建子节点,标题为新目录名称MutableTreeNode newNode = new DefaultMutableTreeNode(Name);// 先展开树状视图,触发展开树状视图事件,给当前节点追加下级节点tree.fireTreeExpanded(path);// 如果当前节点允许存在下级节点,则在树状视图的模型类变量中插入新子节点,位置是第一个,否则显示消息并退出该函数if (node.getAllowsChildren())model.insertNodeInto(newNode, node, 0);else {JOptionPane.showMessageDialog(null, "不能给文件追加下级目录!");return;}// 得到被选择节点对应文件的完整路径信息String fullPath = "";for (Object obj : path.getPath()) {String str = obj.toString();// 处理盘符根目录问题if (str.endsWith("\\"))str = str.substring(0, str.length() - 1);if (fullPath.equals(""))fullPath += str;elsefullPath += "\\" + str;}//System.out.println("fullpath="+fullPath);// 生成被选择节点对应的文件类变量File parentDir = new File(fullPath);// 如果是目录,则新建相应的子目录if (parentDir.isDirectory()) {File currentFile = new File(fullPath + "\\" + Name);currentFile.mkdir();}}else{JOptionPane.showMessageDialog(null, "文件名不能为空!");}} catch (HeadlessException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

完整代码在word文档

下载链接:完整代码下载链接。

操作系统课程设计文件管理二级文件系统相关推荐

  1. java编写文件系统的方法_操作系统课程设计模拟文件系统Java

    [实例简介] 一个操作系统课程设计,使用java语言模拟磁盘文件系统实现,实现了FAT算法 [实例截图] [核心代码] e692cc3b-c785-40f6-babe-2f9d5383f034 └── ...

  2. 计算机操作实践的课程描述,计算机操作系统课程设计实践报告-Read.DOC

    计算机操作系统课程设计实践报告-Read <计算机操作系统>课程设计实践报告 班级:计科31班第二组 组长:吕岭 小组成员:邢自成.叶林.张鹰 [问题描述] 模拟二级以上的多级文件目录管理 ...

  3. GeekOS操作系统课程设计 project1

    GeekOS操作系统课程设计 project1 项目设计1 一.项目设计目的 二.项目设计要求 三.步骤 1.修改project1/src/geekos/elf.c文件 1.1 在函数Parse_EL ...

  4. 操作系统课程设计pintos project1实验摘记

    前言: 本篇意在记录本学期结束的操作系统课程设计pintos project1实验报告和实现过程.整个实验参考了多篇文章也查阅了一些代码,其中部分内容或与其他文章相同,还请见谅.同时,也为了测试CSD ...

  5. 操作系统课程设计geekos project1-3

    概述 实验环境 GeekOS-0.3.0 Bochs和Vmware介绍 开发过程 编译运行 配置文件 前导知识 一.全局描述符表GDT(Global Descriptor Table) 二.段选择子( ...

  6. linux课程设计题目主存空间的分配与回收,可变分区分配与回收,哈尔滨理工大学操作系统课程设计报告.doc-资源下载在线文库www.lddoc.cn...

    可变分区分配与回收,哈尔滨理工大学 操作系统课程设计报告.doc 哈 尔 滨 理 工 大 学 课 程 设 计 ( 操 作 系 统 ) 题 目 可变分区分配与回收 (首次适应算法) 班 级 计算机科学与 ...

  7. 华南理工大学计算机操作系统课程设计大作业银行家死锁避免算法模拟,2016春操作系统大作业银行家死锁避免算法模拟.doc...

    文档介绍: 2016春操作系统大作业银行家死锁避免算法模拟20160501华南理工大学"计算机操作系统"课程设计大作业计算机科学与技术专业:春2015班级:号:2015047420 ...

  8. linux课程设计死锁避免,linux操作系统课程设计—车辆死锁.doc

    linux操作系统课程设计-车辆死锁.doc 键入文字"操作系统原理"课程设计BX090709吴沛儒操作系统原理课程设计报告姓名吴沛儒班级BX0907学号9指导老师胡静二〇一一年十 ...

  9. 操作系统课程设计--使用多线程模拟时间片轮转法调度

    本篇博文分享操作系统课程设计–使用多线程模拟时间片轮转法调度的思路及代码. 实验环境:虚拟机ubuntu18.04 ,VS Code 博主分享仅为互相学习之用,不懂的地方可以留言提问,谨防抄袭!!!谢 ...

最新文章

  1. Reduce Join介绍及案例
  2. 数据对比国内外电影票房,国产剧差在哪?
  3. 对现代软件工程开发看法
  4. 记录 之 tensorflow中几个常用的函数:tf.unstack,tf.concat() 和 tf.stack() 等
  5. ios跨线程通知_一种基于Metal、Vulkan多线程渲染能力的渲染架构
  6. 转载:WPF binding
  7. 枚举类型 实现一个enumeration对于类的加工的函数
  8. Junit中的异常测试
  9. Django运行服务报NameError: name ‘os‘ is not defined-已解决
  10. 正态分布某一点的概率怎么算_笔记|复习金融计量中概率随笔1(样本推整体)
  11. pip太慢豆瓣下载地址
  12. 苹果Mac 下 Parallels Desktop “无法连接到 Parallels 服务”的解决方法
  13. 数字带通传输系统matlab仿真实验,基于MATLAB的数字带通传输系统设计
  14. 计算机网络工程师中级软考试题及答案,软考中级历年真题+章节题库
  15. maven下手动导入ojdbc6.jar
  16. 图像和视频语义分割的深度学习技术综述
  17. 软著申请详细图文步骤(附模板)
  18. 公司股权结构设计的原则与因素
  19. python大众点评霸王餐_如何抽中大众点评霸王餐?
  20. 动作电位的产生和动作电位的长距离高速传导

热门文章

  1. matlab中scope是什么,关于simulink中scope参数设置的总结
  2. 关于保险理赔业务中的退赔
  3. 爱签电子合同携手远景艺术,赋能摄影教育高效发展
  4. Linux——什么是inode
  5. 通过A记录与隐形URL将二级域名绑定非80端口
  6. WinCE识别触摸笔的右键点击
  7. 2022-08-02 第二小组 张明旭 Java基础学习记录
  8. 消息队列的消息大量积压怎么办
  9. 消息消费积压问题排查实战
  10. 把本地电脑的mysql数据库迁移到服务器