模拟磁盘文件系统实现

  • 前言
  • 实现
  • 代码
  • 后记

前言

操作系统的课程设计,设计一个简单的文件系统,要求:
(1) 支持多级目录结构,支持文件的绝对读路径;
(2) 文件的逻辑结构采用流式结构,物理结构采用链接结构中的显式链接方式;
(3) 采用文件分配表FAT;
(4) 实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、读文件、写文件、关闭文件、改变文件属性。可以采用命令行界面执行这些命令,也可以采用“右击快捷菜单选择”方式执行命令;
(5) 最后编写主函数对所作工作进行测试。
(6)支持多级树型目录,支持相对路径

实现

很久以前的课程设计了,当初参考了了这个实现,有些直接拿来用了。 界面和操作模仿一般桌面操作系统,全部用java实现,ui使用javafx。其实和操作系统文件系统好像没什么关系,没用到什么算法,就是一个图形界面的小实验作品,大部分时间用来写ui了,偏离了课程设计中对操作系统和文件系统进一步学习研究的初衷。如果有同学找到我这篇博客,如果你们对操作系统有学习热情的话,我还是建议你们借助课设的机会去了解操作系统文件系统的底层原理和算法,学习一下linux,手写一些算法。
虽然我这个项目只是流于表面,但是学习Java的各位可以在我代码的基础之上增加一些自己的理解,规范化代码,用软件工程和面向对象的思想,项目结构、类层次、抽象、耦合内聚、设计模式等等都可以改进。或者添加或重构部分功能,甚至可以改写成真正的文件系统算法。好好写代码还是能学到一些东西的。
比如我当时写完的时候文件数据是不能持久化的,最近在复习java se,重新用序列化将数据保存到磁盘,顺便放上博客,希望能收获几个star。其他就不赘述了,代码里都有,下面放截图

主界面,右击空白区域可以新建,上边的地址栏可以输路径跳转和返回上一级,左边目录树可以直接点击跳转

右键菜单

打开文件

属性查看

重命名

代码

喜欢的话请给我一个star,希望对你有帮助

后记

有同学不知道怎么导入ide,本着助人为乐的精神,特意把eclipse下回来试验了一下

首先在github下载zip包


然后在eclipse选择File选项卡 -> Import -> General -> Projects from Folder or Archive 点next


点Archive选择zip包,把那个勾勾上,点Finish就可。(图中因为我导入过所以才会失败)

成功之后就可以打开项目运行啦

用eclipse导zip包就是这么简单,其实还可以用自带的git工具直接clone下来
会用idea的同学怎么导入就不用教了吧

感谢观看,能给我一个star吗

操作系统课程设计 模拟磁盘文件系统实现相关推荐

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

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

  2. 操作系统课程设计文件管理二级文件系统

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

  3. 操作系统课程设计--模拟时间片轮转法

    课程设计题目 设计一个按照时间片轮转法实现处理机调度的程序. 实验内容 (1) 假设系统有n个进程,每个进程用一个进程控制块(PCB)来代表.进程控制块的格式如下表所示,且参数意义也相同. 进程名 链 ...

  4. 华南农业大学操作系统课设(模拟磁盘文件系统实现)(JavaFX)(单人课设)

    文章目录 展示效果的视频 题目要求+代码+报告+展示视频的下载地址 实验报告 一.需求分析 (1)输入的形式和输入值的范围: 1.输入的形式 2.输入值的范围 (2)输出的形式: (3)程序所能达到的 ...

  5. 操作系统课程设计---实验七 磁盘调度算法的模拟与实现

    实验七 磁盘调度算法的模拟与实现 完整课程设计源码及其报告查看:陈陈的操作系统课程设计 1.实验目的 (1) 了解磁盘结构以及磁盘上数据的组织方式. (2) 掌握磁盘访问时间的计算方式. (3) 掌握 ...

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

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

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

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

  8. 操作系统课程设计---实验六 银行家算法的模拟与实现

    实验六 银行家算法的模拟与实现 完整课程设计源码及其报告查看:陈陈的操作系统课程设计 1.实验目的 (1) 进一步理解进程的并发执行. (2) 加强对进程死锁的理解,理解安全状态与不安全状态的概念. ...

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

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

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

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

最新文章

  1. 机器学习与高维信息检索 - Note 4 - 主成分分析及其现代解释(Principal Component Analysis, PCA)及相关实例
  2. 百度云满速下载(转)
  3. MySql8.0.16安装
  4. matlab reshape函数_numpy中的np.ascontiguousarray()函数
  5. linux emule 编译 wx-config --libs,linux下编译wxwidgets所写程序所遇到的问题
  6. 安装 VMware Workstation Pro 16 并创建 ubuntu 20.04 虚拟机
  7. 隐藏画质代码_和平精英120帧率怎么设置?和平精英120帧率代码介绍!
  8. editplus来编写SQL
  9. 力扣704,二分查找(JavaScript)
  10. 数据库创建存储过程_创建存储过程来修复孤立的数据库用户
  11. python pdfminer中文字体问题_在python中使用pdfminer处理连字
  12. 《她身之欲》(珠三角阅流动人口社群特殊职业研究)阅读感想
  13. 移动端 h5和原生交互的方式
  14. 石墨烯具有非常良好的光学特性,可能拥有一个非线性相移的光学非线性克尔效应-供应石墨烯/生态炭复合材料 聚苯乙烯/氧化石墨烯(PS/GO)复合微球 石墨烯-四氧化三铁(Fe_3O_4)微球复合材料
  15. 强迫症的 LaTeX 学习笔记
  16. 技术前沿---5G技术的实现原理
  17. Kubernetes 污点与容忍
  18. 解决: Attribute meta-data#package_name@value at AndroidManifest.xml:23:13-44 requires a placeholder 错误
  19. WebService测试工具介绍及下载
  20. Oracle闪回恢复区(fast recovery area,FRA)

热门文章

  1. 用计算机录制声音让音质更好,电脑有什么好用的录音软件吗
  2. 两个平面的位置关系和判定方程组解_高一数学必修二平面知识点详解
  3. linux上的MySQL默认端口,linux下mysql 查看默认端口号与修改端口号方法
  4. 图片处理view - 成图,
  5. springboot进行微信公众号相关开发:(二)获取微信公众号access_token用以微信公众号各功能接口的调用
  6. 计算机控制实验报告组态软件学习,单片机与MCGS组态综合实验系统 教学软件 实训系统...
  7. java 回调函数的写法
  8. 无人机如何通过GB28181协议接入视频会议
  9. 分享一个好用无广告无水印的绿色录屏软件
  10. P2P网络及节点发现机制