1、 操作系统原理课程设计报告 简单二级文件系统 学院(系) : 计算机科学与工程学院 时间:时间: 从从 2009 年年 6 月月 29 日日 到到 2009 年年 7 月月 3 日日 目 录 一、一、课程设计的目的课程设计的目的 二、二、课程设计的内容及要求课程设计的内容及要求 内容内容 要求要求 三、三、实现原理实现原理 四、四、关键算法实现流程图关键算法实现流程图 流程图流程图 关键算法关键算法 . . 五、五、软件运行环境及软件运行环境及限制限制 六结果输出及分析六结果输出及分析 七心得体会七心得体会 八参考文献八参考文献 一课程设计的目的一课程设计的目的 本课程设计是学习完计算机操作系
2、统课程后,进行的一次全面的综合训练,通过课 程设计,让我更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法 的理解,加强了我的动手能力。 二课程设计的内容及要求二课程设计的内容及要求 内容:为 LINUX 设计一个简单的二级文件系统。要求做到以下几点: 1、可以实现下列几条命令(至少 4 条) 。 Login 用户登录 Dir 列文件目录 Create 创建文件 Delete 删除文件 Open 打开文件 Close 关闭文件 Read 读文件 Write 写文件 2、列目录时要列出文件名、物理地址、保护码和文件长度。 3、源文件可以进行读写保护。 从课程设计的目的出发,通过
3、设计工作的各个环节,达到以下教学要求: 1、鼓励并优先个人独立选题设计,可从下面设计题目中选择,也可以自拟相关题目; 如要合作,每组最多两名同学,且设计文档不能相同; 2、可以在我们实验课最后布置的实验设计基础上进行完善和改进,但不能相同。 3、题目选定后报给班长,班长要注意班级内题目的平衡,根据所选题目进行协调,不 要都选一样的题。 4、设计完成后报请老师答辩,答辩时不能对自己提供的设计进行讲解的同学,视为抄 袭; 5、要求写出一份详细的设计报告(A4 纸) 。 6、每位同学在周五将自己的设计报告和电子文档(包括报告和源程序)交给学习委员, 并由学习委员统一刻盘后上交。 三实现原理三实现原理
4、 首先,实现 Login 用户登录, (用户名:admin 密码:admin)必须登录成功才能进入 文件系统进行查看,进入后,通过树状展示文件目录(默认文件目录是 C:Program Files), 右侧显示文件夹图标或者文件图标,选中节点鼠标右击弹出菜单,有新建目录,新建文件, 删除文件,打开文件,属性菜单项,并分别实现其功能。 四关键算法实现流程图四关键算法实现流程图 流程图: 关键算法: 1新建目录功能的实现 private class MenuAction2 implements ActionListener public void actionPerformed(ActionEven
5、t arg0) 开 始 登 录 验 证 是 否 成 功 ? 新 建 目 录 删 除 目 录 右 键 进 行 选 择 操 作 属 性 打 开 文 件 结 束 是 否 新 建 文 件 try String Name=JOptionPane.showInputDialog(“创建目录名称: “); if (!Name.equals(“) / 得到树状视图的被选择节点路径 TreePath path = tree.getSelectionPath(); / 得到树状视图的被选择节点 MutableTreeNode node = (MutableTreeNode) path .getLastPathCo
6、mponent(); / 得到树状视图的模型类变量 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, “不能