网站大量收购闲置独家精品文档,联系QQ:2885784924

linux 文件系统实验.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux 文件系统实验

二.程序实现 main( )函数 此函数的主要功能是在确认设备及文件系统正确后,打开并初始化超级块,然后显示菜单。可以根据自己的需要来选择使用其中的功能,流程图如图9-23。 super( )函数 此函数的主要功能是显示超级块的数据结构中每条字段的信息,程序流程图如图9-24。 图9-24 super()函数程序流程图 show_group( )函数 //显示第一块组的信息 for(i=0;igroup_blocks;i++) { printf(\n\nGroup %d of %d,i,group_blocks-1); count=i; group(i); i=count; //询问是否查看下一块组信息 if(i(group_blocks-1)) { while(1) { printf(\n\nDo you want to view the next block? (y/n) ); scanf(%s,tmp); 此函数的主要功能是显示每块组的数据结构各字段的信息,并且可以根据需要查看块位图和索引节点位图的信息,程序流程图如图9-25和图9-26, 下面为部分代码: str=(char *)malloc(strlen(tmp)); strcpy(str,tmp); if((strcmp(str,n)==0)||(strcmp(str,N)==0)||(strcmp(str,Y)==0)|| (strcmp(str,y)==0)) break; //不查看下一块组信息,退出 if((strcmp(str,rep1)==0)||(strcmp(str,rep2)==0)) break; } } 图9-25 group()函数程序流程图 图9-26 show_group()函数程序流程图 directory( )函数 此函数的主要功能是根据输入的路径显示其目录下所有文件的内核目录数据结构字段信息. //路径文件名分析 while(search(ptr,ch) != -1) { if(i1==0) { ptr++; continue; } else if(i10) { dir_name=(char *)malloc(i1+1); n1=0; while(n1i1) { dir_name[n1]=*ptr; ptr++; n1++; } dir_name[n1]=\0; if(strlen(dir_name) == strlen(root)) { if(strcmp(dir_name,root)==0) { ptr++; full_dir_name=ptr; } } } } x=find_block_no(2); //2号节点为根目录保留节点 x=x*4096; i1=0; while(search(full_dir_name,ch)!=-1) { if(i1==0) { full_dir_name++; continue; } else if(i10) { dir_name=(char *) malloc(i1+1); n1=0; while(n1i1) { dir_name[n1]=*full_dir_name; full_dir_name++; n1++; } dir_name[n1]=\0; full_dir_name++; i1=0; show(); if(file==1) { printf(\n%s is not a directory\n,dir_name); file=0; return; }

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档