一、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
本系统以同步整流电路为核心构成双向DC/DC变换器,该变换器依据Buck和Boost电路在拓扑互为对偶,实现电能的双向传输,同时采用同步整流技术,使得电路可以在两种工作状态下实现自适应换流。
本系统采用msp430单片机产生PWM信号,IR2110作为MOS管栅极驱动器,进行闭环数字PI控制,从而实现对电路的恒流、恒压控制。
测试结果表明:当变换器在充电模式下,输入电压和充电电流在较宽范围内变化时,变换器具有良好的电流调整率和优异的电流控制精度,电流步进实现10mA可调;
在放电模式下,电路具有良好的电压调整率。
同时,系统还实现了充电电流的测量与显示,测量精度达到1mA。
同时,变换器实现了非常高效的电能转换,充电模式下效率达到94%,放电模式下效率达到97%。
此外,本设计可实时监测蓄电池荷电状态(SOC)并进行显示。
2024/2/1 9:35:12 799KB 毕业设计 双向 DC/DC MSP430
1
一、求亲(求肯)男女双方有意之后,男方会选着一位能说会道的媒人(通常为女性),带上一些男方准备的糖酒、腊肉等,去女方家求亲。
此时,媒人会极力撮合,动之以情,晓之以理,完成男方的托付。
若女方家长收下了礼物就表示默许了这桩姻缘,随后就是“通族”即女方家长向父老乡亲宣布自己女儿的婚讯。
“通族”分为两种,一种是口头上的即女方父母挨家挨户告诉他人女儿的婚讯,另一种是女方办一场酒席(酒席所需的物品一律由男方提供),请父老乡亲吃一顿饭,在酒席上宣布女儿的婚讯,这顿饭是不能收父老乡亲的礼金的。
2024/1/31 10:17:03 15KB 湘西土家族传统结婚习俗
1
结合xyz点云数据,调用matlab中kdtree进行搜索近邻点,其中包括一次性对所有点进行k近邻点搜搜,以及针对单个点进行kdtree的搜搜两种情况。
2024/1/27 18:33:11 2KB kdtree matlab xyz 点云
1
使用MFC在VS2013编写的数字图象处理软件,能够实现相当强大的功能。
BMP格式读取保存DFTFFT直方图色调均化缩放模糊锐化滤镜形态学处理曲线裁剪灰度图彩色图自动阈值等等...除此之外还有很多其他小功能...建议使用VS2013打开!!!核心代码在Bmp.cpp中!!!更新文档:2014年6月18日更新说明:这次应该是上交的最后一次作业了,在今日的展示结束之后总体情况还好,但是发现了几个问题。
首先是这个程序是在win8环境下设计的,所以程序的一些大小参数以及按钮图片的位置参数是适合在win8的环境下操作,在设计报告中使用的操作系统也是win8。
而如果将该程序移动至win7系统上操作的话可以在大小与位置上会出现一些偏差,所以推荐将该程序在win8系统下运行,如果没有win8系统但是想重装的话可以找我。
然后本次更新的内容就是对设计报告中的要求的一些补充,比如图片的裁剪功能,还有一些照旧的BUG修复了。
关于这个裁剪功能,在程序中的图像裁剪中有一个说明按钮,在设计报告中有提到怎么使用的,所以在这里就不一一说明了,其实就跟在PS上用裁剪差不多,很容易用的。
关于设计的感想也写在了设计报告上了--,这里也就不多说了。
好了这个程序算是最终完成了,撒花!师姐辛苦了~!!!!!================================================================================================================================================================2014年5月13日更新说明:这次的更新比较少,主要就是自动阈值分割图像方面的更新。
实现该操作的函数依然放在Bmp.cpp里面,里面一共使用了三种方式来决定自动阈值。
其中一种是“大津法”,函数是“OtsuThreshold”,该函数最后会返回一个阈值,该阈值就是大津法得出的阈值,具体实现方式可以在cpp文件中查看。
还有一种方法就是“迭代法”,函数是“IterationThreshold”,该函数最后会返回一个阈值,该阈值就是迭代法得出的阈值,具体实现方式可以在cpp文件中查看。
前两种方法的实现方法都如老师在PPT上所说的一样,而且运算起来非常快,基本可以说是瞬时得出。
而第三种方法是我自己写的一个方法,叫做“对半分”法,函数是“HalfCutThreshold”,该函数最后会返回一个阈值,该阈值就是对半分得出的阈值,具体实现方式可以在cpp文件中查看。
其原理就是计算出一个阈值,使到阈值处理后图片的黑色像素与白色像素的数量相等或者最接近,也就是把图片按黑白像素对半分的方法来对图像进行分割。
关于程序的使用方法,可以在鼠标右键菜单中选择“调整”->“阈值”->“高级阈值”来打开高级阈值处理的对话框。
打开对话框后,默认为最直接的自己首选阈值的方法,可以通过鼠标的左键拖动直方图中的绿色竖线来调整需要设定的阈值大小,同时右边会有该图片的预览,可以很方便操作。
如果需要使用自动阈值分割,可以在阈值方式中更改,一旦选择了“直接阈值”以外的阈值方式,程序便会自动用所选择的方法帮你计算出一个阈值,同时在直方图上会显示出该阈值的位置,还有该阈值的大小,同时预览图片也会立即更新。
值得注意的是,当你选择了自动阈值的时候,你不能再通过鼠标左键在直方图上手动调整阈值大小了哦,这个时候你只需要将阈值方式调回“直接阈值”即可重新自己调整!除了有关作业的更新之外,这次更新还调整了图片备份的内存优化,加上了使用磁盘作为备份的空间,不过这些作为使用者的话是不需要怎么注意的嗯嗯,尽情使用即可!最后,再次谢谢师姐能够读完这个文档,如果还有什么问题的话就联系我吧,联系方式就在软件中了欢迎点击--,谢谢!================================================================================================================================================================2014年5月6日更新说明:这次的主要更新是形态学处理的部分,也就是膨胀、腐蚀、开与闭操作。
实现函数依然是放在Bmp.cpp这个文件里面。
名字为Morphology的函数就是该形态学操作的函数。
可以通过在函数中调入不同的参数与设置使到一个函数同时实现膨胀与腐蚀的功能,而开与闭的功能只需要连续调用两次函数,并且参数不同就行了,使用非常简单。
然后就是软件的使用部分,
1
使用TCN模型实现MNIST数据集分类,就最后一层一维空洞卷积的输出是否为序列,使用两种方法实现,分别接Flatten层和Lambda层
2024/1/26 1:35:53 11.06MB TCN 时域卷积网络 MNIST
1
1、从零件图开始,到获得数控机床所需控制介质的全过程称为程序编制,程序编制的方法有手工编程和自动编程。
2、数控机床实现插补运算较为成熟并得到广泛应用的是直线插补和圆弧插补。
3、自动编程根据编程信息的输入与计算机对信息的处理方式不同,分为数控语言编程(APT语言)、交互式图形编程。
4、数控机床由程序载体、输入装置、数控装置、伺服系统、检测装置、机床本体等部分组成。
5、数控机床按控制运动轨迹可分为点位控制、点位直线控制和轮廓控制等几种。
按控制方式又可分为开环控制、闭环控制和半闭环控制等。
6、刀具主要几何角度包括前角、后角、刃倾角、主偏角和副偏角。
7、刀具选择的基本原则:安装调整方便、刚性好、耐用度和精度高;
在满足加工要求的前提下,尽量选择较短的刀柄,以提高刀具加工的刚性。
8、刀具选择应考虑的主要因素有:被加工工件的材料、性能,加工工艺类别,加工工件信息,刀具能承受的切削用量和辅助因数。
9、铣削过程中所选用的切削用量称为铣削用量,铣削用量包括铣削宽度、铣削深度、铣削速度、进给量。
10、铣刀的分类方法很多,若按铣刀的结构分类,可分为整体铣刀、镶齿铣刀和机械夹固式铣刀。
11、加工中心是一种带刀库、自动换刀装置的数控机床。
12、FMC由加工中心和自动交换工件装置所组成。
13、切削加工时,工件材料抵抗刀具切削所产生的阻力称为切削力。
14、工件材料的强度和硬度较低时,前角可以选得大些;
强度和硬度较高时,前角选得小些。
15、常用的刀具材料主要有高速钢、硬质合金钢、陶瓷、立方碳化硼、金刚石等。
16、影响刀具寿命的主要因素有;
工件材料、刀具材料、刀具的几何参数、切削用量。
17、斜楔、螺旋、凸轮等机械夹紧机构的夹紧原理是利用机械摩擦的自锁来夹紧工件。
18、一般机床夹具主要由定位元件、夹紧元件、对刀元件、夹具体等四个部分组成。
根据需要夹具还可以含有其它组成部分,如分度装置、传动装置等。
19、切削运动就是在切削过程中刀具与工件的相对运动,这种运动有重叠的轨迹。
切削运动一般是金属切削机床通过两种以上运动单元组合而成,其一是产生切削力的运动称为主运动,剩下的运动单元保证切削工作连续进行而称为进给运动。
20、切削用量三要素是指切削速度、进给量、背吃刀量。
21、对刀点既是程序的起点,也是程序的终点。
为了提高零件的加工精度,对刀点应尽量选在零件的设计基准或工艺基准
2024/1/25 11:13:51 15.11MB 数控
1
OPNET可以图形化建模和文本方式建模(EMA),两种方式各有优势,文档是EMA建模的一个详细教程,可以帮助初学者入门,如果要精通,还需要额外的大量练习。
2024/1/24 17:46:07 395KB EMA OPNET 建模
1
用户登录权限分管理员和普通用户两种,主要操作内容有查询、添加、删除数据。
2024/1/22 19:18:41 776KB c# 数据库 设备管理系统
1
MatriXay是DBAPPSecurity公司在深入分析研究WEB-数据库构架应用系统中,典型安全漏洞以及流行的攻击技术基础上,研制开发的一款WEB应用安全评估工具。
它采用攻击技术的原理和渗透性测试的方法,对WEB应用进行深度漏洞探测,可帮助应用开发者和管理者了解应用系统存在的脆弱性,为改善并提高应用系统安全性提供依据,帮助用户建立安全可靠的WEB应用服务,对WEB应用攻击说“不!”MatriXay于2006年8月的世界安全大会BlackHat和Def-Con上首次发布,被评价为“最佳的WEB安全评估工具”。
其主要功能为:深度扫描:以风险为导向,对指定的WEB进行遍历;
配置审计:透过检测出的弱点对数据库进行配置审计;
渗透测试:尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标网络/系统/主机/应用的安全性作深入的探测分析,并实施无害攻击,取得系统安全威胁的真实证据。
MatriXay产品的主要特点:支持95%的主流数据库,包括:Oracle、DB2、Sybase、SQLServer、Access和MySQL;
支持自动扫描、被动扫描两种工作模式;
支持SSL:目前世界上唯一一款支持SSL的扫描工具;
方便易用:所有的扫描配置策略均对用户透明;
提供强大的渗透测试功能,通过渗透测试,可以直接看到应用弱点被攻击的后果,比如:获得系统权限、执行系统命令,篡改数据等等;
2024/1/22 1:17:22 849KB MatriXay最新版
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡