- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本文档分别包含linux和windows两套程序
>课程设计的目的
二、 课程设计的内容及要求
内容
要求
三、 实现原理
流程图
关键算法
软件运行环境及限制
结果输出及分析
心得体会
参考文献
课程设计的目的
本课程设计是学习完《计算机操作系统》课程后,进行的一次全而的综合训 练,通过课程设计,让我更好地掌握操作系统的原理及实现方法,加深对操作系 统基础理论和重要算法的理解,加强了我的动手能力。
课程设计的内容及要求
内容:为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 argO) {
try {
String
Name=JOpt ion Pane ? show Input Di a log (”仓建目录名称:n ); if (!Name.equals(””)) {
//得到树状视图的被选择节点路径
TreePath path =
tree ? getSelectionPath();
//得到树状视图的被选择节点
MutableTreeNode node =
(MutableTre一Node) path
? getLastPathcomponent();
II得到树状视图的模型类变量
DefaultTreeModel model
(DefauItTreeModel) tree-getModel();
//新建子节点,标题为新目录名称
MutableTreeNode newNode = new
DefaultMutableTr一一Node(Name);
//先展开树状视图,触发展开树状视图事件,给 当前节点追加下级节点
tree ? fireTreeExpanded(path);
//如果当前节点允许存在下级节点,则在树状视 图的模型类变量中插入新子节点,位置是第一个,否则显示消息并退 出该函数
if (node ? getAllowsChildren ())
model? insertNodelnto(newNode, node
0);
else {
JOptionPane ? showMessageDialog(nullr
,不能给文件追加下级冃录!”);
return;
}
//得到被选择节点对应文件的完整路径信息
String fullPath = H ;
for (Object obj : path.getPath()) {
String str = obj?toString ();
//处理盘符根目录问题
if (str.endsWith(n\\n))
str = str.substring(O, str ?length() - 1);
if (fullPath.equals(n))
fullPath += str;
else
fullPath += n\\n + str;
}
//System.out.printin(n fullpath=n +fullPath);
//生成被选择节点对应的文件类
文档评论(0)