一、UNIX文件系统的基本原理    UNIX采用树型目录结构,每个目录表称为一个目录文件。
一个目录文件是由目录项组成的。
每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。
在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;
后14B为文件名,是该文件的外部标识。
所以,文件目录项记录了文件内、外部标识的对照关系。
根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。
UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。
本次课程设计是要实现一个简单的模拟UNIX文件系统。
我们在磁盘中申请一个二进制文件模拟UNIX内存,依次初始化建立位示图区,I节点区,数据块区。
二、基本要点思路     1、模拟磁盘块的实现:因为文件系统需要从磁盘中读取数据操作数据,在实现时是使用文件来模拟磁盘,一个文件是一块磁盘,在文件中以划分磁盘块那样划分不同的区域,主要有三个区域:位图区,inode索引节点区,磁盘块区。
位图区我是使用一个512byte的数组存放,inode区和磁盘块区我采用一种自认为比较巧妙的方法,就是存放对象列表,之前说过,在本次实验的所有的结构都使用对象进行存储,而inode节点和磁盘块就是两个重要的数据结构,在初始化时我实例化32个inode对象和512个block对象(至于这些类的具体定义下面会提到),然后将这些对象加入各自对应的对象列表中,在存储时,使用java的对象序列化技术将这个对象数组存到磁盘中。
当使用文件系统时,程序会先从磁盘文件中读取出位图数组,inode对象列表,block对象列表,之后的操作就是通过对这些列表进行修改来实现。
使用这种方法可以减小存储的空间(对象序列话技术)而且不需要在使用时进行无用的查找,只要第一次初始化中将这些对象都读取出来。
    2、界面的实现:在实现这个文件系统时使用了两种方案,一种是直接在java控制台来进行输入输出,因为原本想着UNIX文件系统原本也是使用的命令行语句,所以在控制台上实现也很接近。
后来在老师的建议下又将整个程序重新修改,改成在UI界面上进行输入输出,这样确实界面美观舒服了不少,只不过两者用的技术很不一样,前者主要使用的是系统的输入输出流,后者使用java监听器。
    3、权限的实现:在实现多用户的权限方面,我给文件和文件夹各定义了三级权限1、访问:在文件中是可以查看文件的内容,在文件夹中是可以进入该文件夹。
2、修改:文件中是可以对文件进行编辑,文件夹中是可以在该文件夹中创建新的文件或目录。
3、删除:顾名思义。
文件或文件夹的创建者拥有最高级别的权限,只有拥有最高级权限的用户才可以给其他用户针对该文件或文件夹进行授权和授权操作。
在每次对文件或文件夹进行访问修改删除操作时都会检查当前用户在该文件或文件夹所拥有的权限,只有拥有的权限大于想要实现的权限时才可以进行该操作。
2024/2/1 11:25:27 9KB java UNIX操作系统 课程设计
1
一个物流管理系统的UML建模分析流程,包括用例图,活动图,序列图,部署图,类图,协作图等。
2024/2/1 5:29:30 485KB 物流管理系统 UML建模
1
论文提出了一种新的融合空间尺度特征的时空序列预测建模方法。
2024/2/1 0:15:38 5.11MB time series
1
2020年五一数学建模A题解题思路最容易建模的是秦皇岛港动力煤价格的主要因素的影响,分别统计2019年5月1日至2020年4月30日一年内影响煤炭价格数据变化,(主要因素包括气候变化、出行方式、能源消耗方式、国际煤炭市场)。
建立预测模型(时间序列预测模型,Elman神经网络预测模型等),预测煤炭价格变化。
2024/1/31 23:08:18 21.98MB 数学建模
1
SecureCRT7.3.4注册机破解教程:1.安装SecureCRT7.3.x官方安装程序,。
2.以系统管理员身份运行打开SecureCRT7.3.X的破解文件KEY.EXE3.先选择【Patch】,找到SecureCRT的安装路径,并找到SecureCRT.exe,紧接着需要找到LicenseHelper.exe,破解完毕之后不要关闭注册机软件,点击【Generate】获取信息。
4.这时候打开SecureCRT7.3程序,会提示你需要输入授权文件,这时候你就可以放心输入了,其中的用户名、公司、序列号和激活码参考注册机里面的文件就可以了。
5.破解成功之后在关闭key.exe,重新打开SecureCRT7.3.X就可以了。
2024/1/30 2:04:05 33.2MB CRT 7.3 CRT破解版
1
本程序是采用带头结点的单向循环链表写成的,当指针指到要出列的结点时,先输出结点的序列号,再删除之,直到所有结点都出列完
2024/1/29 22:55:48 834B 有头结点 单向循环链表
1
内含2021美赛C题第一问代码。
内涵数据整理、可视化、回归、时间序列分析、生长季节的建模实现代码;
第二问代码。
内涵图像处理、词云图、词频统计、回归模型、变量选择、判别分析的建模实现代码。
感兴趣的可以下载学习。
声明:只可自己使用,不可商用。
违者必究。
具体思路分析见下面链接:https://tjxwz.blog.csdn.net/article/details/113722054
2024/1/28 18:58:08 683.58MB 2021美赛C 时间序列 图像处理
1
摄像测量学(Videometrics或Videogrammetry)是近十几年来国际上迅速发展起来的新兴交叉学科。
它主要是由传统的摄影测量学(Photogrammetry)、光学测量(OpticalMeasurement)与现代时尚的计算机视觉(ComputerVision)和数字图像处理分析(DigitalImageProcessingandAnalysis)等学科交叉、融合,取各学科的优势和长处而形成的。
它的处理对象以数字(视频)序列图像为主。
2024/1/27 21:46:56 4.46MB 摄像 测量学
1
MATLAB数字基带信号仿真,对基带信号进行仿真,产生随机序列,定义序列的基带信号,对进行数字基带信号调制的仿真是关键
2024/1/26 14:52:58 1KB MATLAB 基带信号
1
使用TCN模型实现MNIST数据集分类,就最后一层一维空洞卷积的输出是否为序列,使用两种方法实现,分别接Flatten层和Lambda层
2024/1/26 1:35:53 11.06MB TCN 时域卷积网络 MNIST
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡