6.17umask操作
七. 实验总结
经过4周的共同努力,我们将程序按要求编写、修改完善,使其能实现课程设计要求的基本功能并增加了一个新的功能(新建文件)。
操作系统是计算机科学与技术专业中的一门重要基础课,目的是让我们了解操作系统的基本概念,理解计算机系统的资源如何组织,操作系统如何有效地管理这些系统资源,用户如何通过操作系统与计算机系统打交道。通过课程设计,可以进一步理解在计算机系统上运行的其它各类操作系统,并懂得在操作系统的支持下建立自己的应用系统。操作系统课程设计,对于训练我们掌握程序设计、熟悉上机操作和程序调试技术都有重要作用。重点培养我们的思维能力、创新能力和排错能力。
通过课程设计,进一步融会贯通教材内容,掌握程序各功能模块的工作原理,相互联系和来龙去脉,完整地建立系统的概念。激发我的学习热情和主动性,培养我的独立工作能力,在实践活动中,将所学知识综合运用,增长才干,并积累经验。对编程语言C又有了更深一层次的认识,并对其的编程能力有所加强,但还是很多的不足有待改进,对于编程来说还需要大量的实践,才能在发现问题和解决问题中前进与提高。
最后,祝老师新年快乐,身体健康,工作顺利,万事如意!
八. 代码
/*
* block.c *
* Created on: 2014?1′12???27??¥ * Author: sunb */
#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.dssize 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
相关推荐: