一、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
蚂蚁分类信息系统5.8单城市版,授权文件已完美解密,没有域名限制,安装即可使用,无需修改域名授权蚂蚁分类信息系统是分类信息源码里值得推荐的一款,源码包含四色模板(蓝、绿、橙、红)、3种风格(分类、门户、行业),并含有WAP端,推荐做本地分类信息类站点使用。
支持优惠卷上传,支持伪静态,支持论坛整合,可自定义配置支付接口,支持全站HTML生成。
2024/2/1 9:30:53 22.2MB php
1
HexWorkshop十六进制编辑器软件6.7.3版+授权文件HexWorkshop是一款非常专业的十六进制编辑器,具有文件比较、数据结构解析等多种实用功能。
2024/1/31 22:49:13 17.18MB HexWorkshop HexEdit 十六进制编辑
1
这是EndNoteX9的中科大批量授权版,包含两个文件:一个是EndNoteX9的安装文件,另一个是授权文件(License.dat)。
希望上传的东西能对有需要的童鞋有一定的帮助。
2024/1/31 6:13:48 unknown EndNote 授权版 中科大
1
直接套件中心手动安装SurveillanceStation-x86_64-8.2.7-622240授权个摄像头
2024/1/31 2:45:08 89.89MB SurveillanceStat 8.2.7-6222 8.2.7 群晖
1
《RaspberryPi入门指南》分3部分,共10章,由浅入深地介绍了树莓派的各种特性、基本使用方法及典型应用实例等多方面内容,能让读者能较全面地了解树莓派,感受到它的魅力,并顺利学会使用它。
《RaspberryPi入门指南》既适合树莓派学习者使用,也适用电子爱好者和对于树莓派有兴趣的朋友们入门阅读。
同时,树莓派作为一款Linux主机,也适合想借此机会学习Linux知识的朋友们。
作者:头条号/电子技术应用链接:http://toutiao.com/a6301924277520564482/来源:头条号(今日头条旗下创作平台)著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
2024/1/30 19:57:41 21.88MB 嵌入式 树莓派
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
企业自动发卡平台全插件版本4.6.5需要自行购买网站授权,或联系本人。
后台路径/admin账户admin密码admin888导入data.sql修改数据库配置文件application/database.php
2024/1/28 8:19:52 97.91MB 企业发卡
1
1.3寸OLED带字库()1概述GT20L16S1Y是一款内含15X16点阵的汉字库芯片,支持GB2312国标简体汉字(含有国家信标委合法授权)、ASCII字符。
排列格式为竖置横排。
用户通过字符内码,利用本手册提供的方法计算出该字符点阵在芯片中的地址,可从该地址连续读出字符点阵信息。
1.1芯片特点●数据总线:SPI串行总线接口●点阵排列方式:字节竖置横排●时钟频率:30MHz(max.)@3.3V●工作电压:2.2V~3.6V●电流:工作电流:8mA待机电流:8uA●封装:SOT23-6●尺寸SOT23-6:2.9mmX1.6mmx1.10mm●工作温度:-20℃~70℃
2024/1/26 7:15:20 6.95MB 1.3寸OLED
1
ArcGISRuntimeSDKfor.NET100.3.0直接授权版需要的自然明白,请仔细看说明后使用,无需安装,直接使用
2024/1/25 0:03:49 29.88MB ARCGIS RuntimeSDK .Net 100.3.0
1
共 593 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡