一、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
1.安装独立根CA2.为IE浏览器申请证书3.为Web服务器申请证书4.在Web服务器上配置SSLSniffer捕获数据包
2024/1/31 9:25:30 1.23MB CA Web HTTP https
1
模拟实现动态可变分区存储管理系统,内存资源的分配情况用一个单链表来表示,每一个节点表示一个可变分区,记录有内存首地址、大小、使用情况等,模拟内存分配动态输入构造空闲区表,键盘接收内存申请尺寸大小,根据申请,实施内存分配,并返回分配所得内存首址。
分配完后,调整空闲区表,并显示调整后的空闲区表和已占用的区表。
如果分配失败,返回分配失败信息。
模拟内存回收。
根据空闲区表,从键盘接收回收区域的内存作业代号。
回收区域,调整空闲区表,并显示调整后的空闲区表。
对于内存区间的分配,移出,合并就是相应的对链表节点信息进行修改,删除和创建相应的节点。
在模拟实现动态可变分区存储管理系统中用到的是“最佳适应算法”与“最坏适应算法”。
所谓“最佳”是指每次为作业分配内存时,总是把满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。
因此保证每次找到的总是空闲分区中最小适应的,但这样会在储存器中留下许多难以利用的小的空闲区。
最坏适应分配算法是要扫描整个空闲分区表或链表,总是挑选最大的一个空闲分区割给作业使用。
进入系统时我们需要内存首地址和大小这些初始化数据。
成功后我们可以自由的使用首次适应算法与最佳适应算法对内存进行分配。
内存经过一系列分配与回收后,系统的内存分配情况不再连续。
首次适应算法与最佳适应算法的差异也就很容易的体现在分配时。
动态可变分区存储管理模拟系统采用最佳适应算法、最坏适应算法内存调度策略,对于采用不同调度算法,作业被分配到不同的内存区间。
1
基于逻辑回归的评分卡技术研究,硕士论文,很实用。
数据预处理部分很详实。
2024/1/28 23:33:51 4.15MB 评分卡
1
基于ASP的网上选课系统的设计与实现的源代码,包括用户登录,学生选课,教师申请课程,教务人员的审核等功能
2024/1/28 18:37:21 50KB ASP,ACCESS
1
使用fastjson和xUtils框架来获取聚合笑话数据,请自己申请聚合笑话key放入就可以运行使用androidstudio工具开发[注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。
]
2024/1/27 1:10:01 20.35MB android源码 xutils 框架
1
本次课程设计通过编写和调试一个仿真模拟银行家算法避免死锁的程序,观察产生死锁的条件,并采用银行家算法,有效地避免死锁的发生。
这是我们的操作系统课程设,用.net做的。
银行家算法避免死锁,其中有三个模块,欢迎界面、主窗体、安全性检查窗体。
略过欢迎界面不说,主窗体包括可利用资源的初始化、添加进程、申请资源。
在申请资源后点击确定,会进入副窗体,父窗体上面显示分配资源的分配情况,可以进行安全性检查,如果存在安全序列,则分配资源,否则不分配资源。
点击父窗体的返回按钮就会回到主窗体,可以再次申请资源,或者添加进程。
2024/1/24 19:06:41 1.95MB 操作系统 课程设计 银行家算法 C#
1
搭建综合缴费系统,为用户提供加盟的首选系统。
综合缴费系统快捷的优点,为您提供综合缴费、统一管理的应用方案。
将移动、联通、电信、等多家运营商的缴费业务集成,为用户提供的是一个方便、快捷的综合缴费平台。
是您搭建综合缴费平台的最佳选择!全能充全国综合缴费营业厅系统功能:缴费业务1、缴纳多项话费,一站式完成。
2、号码智能识别,只需输入号码和金额,系统自动选择缴费渠道完成缴费。
3、语音播报电话号码,二次确认,避免输错号码。
4、自动显示手机号码归属地及所属网络商,立即分辩本地号码和外地号码。
5、可选择先打印票据给顾客,等顾客确认后再缴费。
6、支持自定配置打印票样,可自由设定品牌形象,连锁运营。
7、后台自动缴费与人工值班相结合,有新定单需要处理时,可自定音乐提醒。
8、后台自设定代理商登录欢迎界面,可统一形象并宣传最新业务。
9、QQ币自动闪电充值,充值前免费查询QQ昵称。
10、批量缴费,一次上传自动缴费。
联合运营1、联合多个运营商资源,联合运行、全自动通道与人工通道并存运行。
2、可配置移动、联通、网通、电信的空中充值业务接入,包括短信和语音方式。
3、可配置充值卡面额合成自动缴费,13800138000、10010、11888等接入。
4、各缴费通道自由控制,可查询各通道的当前余额,缴费明细。
5、空中充值短信和语音通道最多可以配置300路,适合空中充值通道的大规模系统。
6、充值金额限制功能,自由设定单笔充值金额。
7、自由设置缴费佣金。
8、重复缴费时间控制功能,有效防止误操作引起的重复缴费。
在线售卡1、在线销售卡密形式的充值卡。
2、同时管理多种卡密,可批量导入卡密数据。
3、按代理商、日期等统计卡密销售情况。
4、单张快速购卡,一键出票。
5、保存购卡记录,随时可查历史记录。
预选号开户1、各网点可查询系统中的所有号源,选择需要的号码申请开户。
2、在线提交开户资料,如机主名称、身份证号码,地址等。
3、多家运营商号码同时放号。
4、号码售价自由调整,竞拍抢号功能。
查询缴费1、缴费前自动查询顾客号码的机主姓名及余额,100%避免充错号码。
2、系统保存机主余额并且打印在缴费票据上,缴前余额,缴费金额。
3、管理端可按缴前余额、缴费金额、当前余额进行缴费核对。
短信系统1、系统运行中的所有短信均保存、可查看、打印,2、由缴费记录对应的短信,为代理商提供可查凭证。
3、发送普通短信、接收短信。
4、短信群发广告,充值成功同时自动发送你编辑的广告给充值的用户。
代理商帐务管理1、代理商开户、分配工号,基本资料管理,权限分配。
系统可以无限发展代理商。
2、代理商电脑配件邦定,重复利用,无需另外投入。
3、代理商预存款、结转佣金。
4、可设置开通关闭、客户端自动提取佣金。
5、可以按月手动给代理商返还佣金。
6、按代理商、缴费项目组合设置不同的佣金比例。
7、代理商可查询本人的实时帐单,缴费记录、实际扣款、所得佣金。
8、按日期、项目、状态、代理商帐户查询缴费记录并导出数据。
9、分类统计代理商帐单,按日期统计日清单,月清单。
10、最低余额提醒功能,代理余额低于设定值时,系统自动提醒代理商加款。
11、银行短信全自动加款,代理商在银行存款后系统自动给代理商加款。
数据安全1、客户端与服务器的数据传输使用电脑硬件加密传输,有效防止网络修改数据。
2、系统登录由代理商帐号、密码、可以设置短信随机密码、电脑硬件码(硬盘、CUP、主板BIOS加密后生成的串码)组成,安全可靠。
消息系统1、系统跑马灯滚动公告栏,可公布各项通知,收款帐号,促销活动等。
2、缴费定单成功、失败弹出通知消息。
3、代理商与管理员之前互发内部消息。
4、管理员向所有代理商广播消息。
5、代理商向管理员发送存款上帐催促单。
号码归属地显示全国最新号段库,准确查询号码归属地。
服务器相互供货1、在供货服务器互相开通一个缴费账号。
可以互相供货2、可以招募全国各地为您供货,形成强大的联合缴费系统.3、免费提供三方供货接口。
2024/1/19 5:33:24 8.14MB 应用软件-信息管理
1
3DSMAX2014注册机,我自己也是用的这个。
序列号为:666-69696969,产品密钥:128E1。
将申请码填入,点击“Patch”后点击“Generate”。
2024/1/13 22:28:44 713KB 3DSMAX2014 注册机
1
这是一个关于申请国外博士的个人简历文档。
2024/1/13 5:24:32 25KB study
1
共 582 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡