第一范文网 - 专业文章范例文档资料分享平台

模拟Unix文件系统实验报告

来源:用户分享 时间:2025/5/28 23:47:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

6.17umask操作

七. 实验总结

经过4周的共同努力,我们将程序按要求编写、修改完善,使其能实现课程设计要求的基本功能并增加了一个新的功能(新建文件)。

操作系统是计算机科学与技术专业中的一门重要基础课,目的是让我们了解操作系统的基本概念,理解计算机系统的资源如何组织,操作系统如何有效地管理这些系统资源,用户如何通过操作系统与计算机系统打交道。通过课程设计,可以进一步理解在计算机系统上运行的其它各类操作系统,并懂得在操作系统的支持下建立自己的应用系统。操作系统课程设计,对于训练我们掌握程序设计、熟悉上机操作和程序调试技术都有重要作用。重点培养我们的思维能力、创新能力和排错能力。

通过课程设计,进一步融会贯通教材内容,掌握程序各功能模块的工作原理,相互联系和来龙去脉,完整地建立系统的概念。激发我的学习热情和主动性,培养我的独立工作能力,在实践活动中,将所学知识综合运用,增长才干,并积累经验。对编程语言C又有了更深一层次的认识,并对其的编程能力有所加强,但还是很多的不足有待改进,对于编程来说还需要大量的实践,才能在发现问题和解决问题中前进与提高。

最后,祝老师新年快乐,身体健康,工作顺利,万事如意!

八. 代码

/*

* block.c *

* Created on: 2014?1′12???27??¥ * Author: sunb */

#include #include\#include \#include\#include

int bread(int b,unsigned short seek,unsigned short m,void *buf ) { //

off_t ls=(b-1)*B_size+D_beg*B_size+seek; size_t co=m;

int l = pread(fd, buf, co, ls); return l; } int bwrite(int b,unsigned short seek,unsigned short m,const void *buf) {

//

off_t ls=(b-1)*B_size+D_beg*B_size+seek; size_t co=m;

int l = pwrite(fd, buf, co, ls); return l; }

unsigned int balloc() {

unsigned int block=0; if(sup.dssize+1>0){

block=sup.dss[sup.dssize]; sup.dssize--; sup.demp--; }

if(sup.dss[0]!=0&&sup.dssize+1==0){ block=sup.dss[0];

bread(block,0,DS_size*4,&(sup.dss)); sup.dssize=DS_size-1; sup.demp--;

}else if(sup.dss[0]==0&&sup.dssize+1==0){ puts(\?′?·2?”¨???\ }

return block; }

int brelse(unsigned int b ) {

if(b<=D_size){

if(sup.dssize

sup.dss[sup.dssize]=b; sup.demp++;

return b; }

else if(sup.dssize==DS_size-1){

bwrite(b,0,DS_size*4,&(sup.dss)); sup.dss[0]=b; sup.dssize=0; sup.demp++; return b; }

return 0; }

return -1; }

int set_ds()// {

sup.dssize=0; sup.dss[0]=0; int i=D_size; while(i>0) {

int ft=brelse(i); /*printf(\ if(ft0==0)

puts(\

/*while(sup.dssize0){ sup.dss[sup.dssize]=i; sup.dssize++; i--; }

if(sup.dssize==DS_size){

//bwrite(int b,unsigned short seek,unsigned short m,const char *buf)

int f=DS_size; while(f--){

printf(\ }

if(i>0){

bwrite(i,0,4*DS_size,&(sup.dss)); sup.dssize=0; } }

}

}

if(sup.dssize!=0){ sup.dssize--; }*/

i--; }

puts(\return 0;

/*

* block.h *

* Created on: 2014年12月27日 * Author: sunb */

#ifndef BLOCK_H_ #define BLOCK_H_

#ifndef ZBLOCK struct zblock{

unsigned int dss[100];//(400) }; #endif

unsigned int balloc();//块分配

//int iballoc(struct inode *,unsigned int); int brelse(unsigned int b);//块回收

int bread(int b,unsigned short seek,unsigned short m,void *buf);//块读

int bwrite(int b,unsigned short seek,unsigned short m,const void *buf);//块写 int set_ds();

#endif /* BLOCK_H_ */ /*

* file.c *

* Created on: 2015年1月2日 * Author: sunb */

#include #include\#include\

搜索更多关于: 模拟Unix文件系统实验报告 的文档
模拟Unix文件系统实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6q2638vyy68mpoi7oh1u_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top