包括实验题目,代码及运行结果实验8文件管理(2学时)一、实验目的理解文件系统的主要概念及文件系统内部功能和实现过程。
二、实验内容采用二级文件目录结构,编写程序实现文件系统的文件存储空间的管理、文件的物理结构、目录结构管理和文件操作。
三、实验要求1、设计一个有m个用户的文件系统,每个用户最多可保存一个文件。
2、规定用户在一次运行中只能打开K个文件。
3、系统能检查键入命令的正确性,出错时应能显示出错原因。
4、对文件应能设置保护措施,如只能执行、允许读、允许写等。
5、对文件的操作设计提供一套文件操作:CREATE建立文件;
DELETE删除文件;
OPEN打开文件;
CLOSE关闭文件;
READ读文件;
WRITE写文件。
6、二级目录结构如下图所示。
用户名用户文件目录地址主文件目录MFD文件名状态(打开/建立)指针用户文件目录UFD
2025/4/10 21:34:11 120KB code
1
AXI4主机从机源码对应分析:1.首先主机会在状态机的控制下在四个状态中跳转,分别时IDLE、INIT_WRITE、INIT_READ、INIT_COMPARE,一开始处于IDLE状态,在init_txn_pulse信号的控制下可跳转到INIT_WRITE状态。
在INIT_WRITE状态,init_txn_pulse信号只控制了第一次产生start_single_burst_write信号高电平,而后面start_single_burst_write信号高电平的产生主要依靠burst_write_active信号控制
2025/3/25 10:37:13 1.7MB verilo axi4
1
200行代码实现PCM格式的WAV文件的读写,使用标准C++库实现,不依赖于其他库。
//WriteWAv文件 Wave_headerheader(1,48000,16); uint32_tlength=header.fmt_data->sample_per_sec*10*header.fmt_data->bits_per_sample/8; uint8_t*data=newuint8_t[length]; CWaveFile::write("e:\\test1.wav",header,data,length);//read //CWaveFilewave; //wave.read("e:\\test1.wav");
2025/3/20 13:35:45 7KB wav
1
#defineSJA1000_Data_PortportA000ioportunsignedintportA000;//定义数据输入/输出端口#defineSJA1000_Address_Portport8000ioportunsignedintport8000;//定义地址输入端口SJA1000_WRITE(REG_MODE,0x01);TempData=SJA1000_READ(REG_MODE);//向模式寄存器写0x01,进入复位模式while((TempData&0x01)!=0x01);//等待SJA1000复位
2025/3/2 6:07:11 85KB sja1000程序
1
Unix/Linux编程实践教程.PDF,作者:BruceMolay(美),翻译:杨宗源、黄海涛,出版:清华大学出版社。
内容预览:第一章Unix系统编程概述1.1介绍1.2什么是系统编程1.2.1简单的程序模型1.2.2系统模型1.2.3操作系统的职责1.2.4为程序提供服务1.3理解系统编程1.3.1系统资源1.3.2目标:理解系统编程1.3.3方法:通过三个问题来理解1.4从用户的角度来理解Unix1.4.1Unix能做些什么1.4.2登录-运行程序-注销1.4.3目录操作1.4.4文件操作1.5从系统的角度来看Unix1.5.1用户和程序之间的连接方式1.5.2网络桥牌1.5.3bc:Unix的计算器1.5.4从bc/dc到Web1.6动手实践1.7工作步骤和概要图1.7.1接下来的工作步骤1.7.2Unix的概要图1.7.3Unix的发展历程小结第二章用户、文件操作与联机帮助:编写who命令2.1介绍2.2关于命令who2.3问题1:who命令能做些什么2.4问题2:who命令是如何工作的2.5问题3:如何编写who2.5.1问题:如何从文件中读取数据结构2.5.2答案:使用open、read和close2.5.3编写whol,c2.5.4显示登录信息2.5.5编写who2.c2.5.6回顾与展望2.6编写cp(读和写)2.6.1问题1:cp命令能做些什么2.6.2问题2:cp命令是如何创建/重写文件的2.6.3问题3:如何编写cp2.6.4Unix编程看起来好像很简单2.7提高文件I/O效率的方法:使用缓冲2.7.1缓冲区的大小对性能的影响2.7.2为什么系统调用需要很多时间2.7.3低效率的who2.c2.7.4在who2.c中运用缓冲技术2.8内核缓冲技术2.9文件读写2.9.1注销过程:做了些什么2.9.2注销过程:如何工作的2.9.3改变文件的当前位置2.9.4编写终端注销的代码2.10处理系统调用中的错误小结第三章目录与文件属性:编写ls3.1介绍3.2问题1:ls命令能做什么3.2.1ls可以列出文件名和文件的属性3.2.2列出指定目录或文件的信息3.2.3经常用到的命令行选项3.2.4问题1的答案3.3文件树3.4问题2:ls是如何工作的3.4.1什么是目录3.4.2是否可以用open、read
1
Java操作zip压缩格式的开源项目,功能强大而且使用方便,能完全满足Java操作Zip压缩文件,官方网址为:http://www.lingala.net/zip4j/可以下载到jar包、源码和示例,好像没有提供API文档。
不过需要使用代理访问,如果读者嫌麻烦那就从这里下载吧,虽然收取3个CSDN积分,但您评论后一般就可以返还积分了,我也需要积分去下载别人的资源,请谅解!资源包括:jar包、文档、源码和一些官方示例该项目的官方说明:Keyfeatures(主要特性):Create,Add,Extract,Update,RemovefilesfromaZipfile(针对ZIP压缩文件创建、添加、抽出、更新和移除文件)Read/WritepasswordprotectedZipfiles(读写有密码保护的Zip文件)SupportsAES128/256Encryption(支持AES128/256算法加密)SupportsStandardZipEncryption(支持标准Zip算法加密)SupportsZip64format(支持zip64格式)SupportsStore(NoCompression)andDeflatecompressionmethod(支持Store(非压缩)和Deflate压缩方法---不太明白)CreateorextractfilesfromSplitZipfiles(Ex:z01,z02,...zip)(针对分块zip文件创建和抽出文件)SupportsUnicodefilenames(支持Unicode编码文件名)ProgressMonitor(进度监控)
2025/2/7 10:36:30 653KB zip zip4j 压缩 Java
1
带移植说明的xmodem源码(STM32)//移植时,需要修改该函数//串口收发,实用查询方式。
voidxm_port_write(uint8*ch){ while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET); USART1->DR=*ch;}//串口接收函数,需要移植sint8xm_port_read(uint8*ch){ if(USART_GetFlagStatus(USART1,USART_IT_RXNE)!=RESET) { *ch=USART_ReceiveData(USART1); return1; } return0;}//在定时中断里调用该函数//定时时间5msvoidxm_timer(void){ xmodem_timeout++;}
2025/1/29 3:13:31 4KB xmodem 源码 代码 移植
1
linux版本和vc++6.0版本含设计报告,流程图等。
设计一个简单的多用户文件系统。
即①在系统中用一个文件来模拟一个磁盘;
②此系统至少有:Create、delete、open、close、read、write等和部分文件属性的功能。
③实现这个文件系统。
④能实际演示这个文件系统。
基本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。
1
usb控制继电器板软件+驱动+源代码PublicFunctiontx_read_frame(leixingAsByte,data1AsByte,data2AsByte,data3AsByte,data4AsByte)StaticByteout(0To7)AsByte,iAsByte'向外发送DimsumAsIntegerByteout(0)=&H55;Byteout(1)=1Byteout(2)=leixingByteout(3)=data1Byteout(4)=data2Byteout(5)=data3Byteout(6)=data4sum=0Fori=0To6Step1sum=sum+Byteout(i)NextByteout(7)=sumMod256main_form.MSComm1.InBufferCount=0main_form.MSComm1.Output=ByteoutEndFunction
2025/1/15 10:04:27 4KB 继电器
1
Read,manage&discovernewliteraturelikeneverbefore.
2024/11/26 18:11:34 17.89MB 文献管理
1
共 89 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡