⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 操作系统实验,文件系统,c语言实现的
💻 C
字号:
#include <stdio.h>
#include "filesys.h"
struct hinode hinode[NHINO];
struct dir dir;
struct file sys_ofile[SYSOPENFILE];
struct filsys filsys;
struct pwd pwd[PWDNUM];
struct user user[USERNUM];
FILE *fd;
struct inode *cur_path_inode;
int user_id,file_block;

main()
{
  unsigned short ab_fd1,ab_fd2,ab_fd3,ab_fd4;
  unsigned short bhy_fd1;  
  char *buf;
  int i;
/*printf("\nDo you want to format the disk \n");
  if(getchar()=='y')
     printf("\nFormat Will erase all context on the disk. Are You Sure!!\n");
  if(getchar()=='y')*/
  format();
/*printf("in---->install\n");*/
  install();
/*printf("in---->dir\n");*/

/*printf("in---->login\n");*/
  login(2118,"abcd");
dirlt(2);  /*自编程序,供调试用*/
_dir();  /*供调试用*/
pause();  /*供调试用,1*/

       /*调试1后,显示结果1*/


 /* user_id=0;*/
printf("in---->mkdir\n");
 mkdir("a2118");
printf("in---->chdir\n");
 chdir("a2118");
dirlt(2);  /*自编程序,供调试用*/
_dir();  /*供调试用*/
pause();  /*供调试用,2*/

       /*调试2后,显示结果2。注意:先删除调试1中的pause();语句。*/

file_block=BLOCKSIZ*6+5;
printf("in---->creat:ab_file0.c\n");
  ab_fd1=creat(user_id,"ab_file0.c",01777);
  buf=(char*)malloc(BLOCKSIZ*6+5);
  write(ab_fd1,buf,BLOCKSIZ*6+5);
  close(user_id,ab_fd1);
  free(buf);
dirlt(2);  /*自编程序,供调试用*/
_dir();  /*供调试用*/
pause();  /*供调试用,3*/

      /*调试3后,显示结果3。注意:先删除调试2中的pause();语句。*/


printf("\nin---->mkdir:subdir\n");

   mkdir("subdir");
   chdir("subdir"); 
dirlt(2); /*供调试用*/
_dir(); /*供调试用*/

pause();  /*供调试用,4*/

      /*调试4后,显示结果4。注意:先删除调试3中的pause();语句。*/


file_block=BLOCKSIZ*4+20;
   ab_fd2=creat(user_id,"ab_file1.c",01777);
   buf=(char *)malloc(BLOCKSIZ*4+20);
   write(ab_fd2,buf,BLOCKSIZ*4+20);
   close(user_id,ab_fd2);
   free(buf); 
dirlt(2);  /*供调试用*/
_dir();  /*供调试用*/

pause();  /*供调试用,5*/

      /*调试5后,显示结果5。注意:先删除调试4中的pause();语句。*/


printf("\nin---->chdir:..\n");
 chdir(".."); 
dirlt(2);  /*供调试用*/
_dir();  /*供调试用*/
printf("\nin---->creat(ab_file2.c)\n");
file_block=BLOCKSIZ*3+255;
   ab_fd3=creat(user_id,"ab_file2.c",01777);
   buf=(char*)malloc(BLOCKSIZ*3+255); 
   write(ab_fd3,buf,BLOCKSIZ*3+255);
   close(user_id,ab_fd3);
   free(buf); 
dirlt(2);  /*供调试用*/
_dir();  /*供调试用*/
pause();  /*供调试用,6*/

      /*调试6后,显示结果6。注意:先删除调试5中的pause();语句。*/


printf("\nin---->delete\n");
   delete("ab_file0.c");
dirlt(2);  /*供调试用*/
_dir();  /*供调试用*/
pause();  /*供调试用,7*/ 

      /*调试7后,显示结果7。注意:先删除调试6中的pause();语句。*/


printf("\nin---->creat(ab_file3.c)\n");
file_block=BLOCKSIZ*8+300;
   ab_fd4=creat(user_id,"ab_fi1e3.c",01777);
   buf=(char *)malloc(BLOCKSIZ *8+300);
   write(ab_fd4,buf,BLOCKSIZ*8+300);
   close(user_id,ab_fd4);
   free(buf);

dirlt(2);  /*供调试用*/
_dir();  /*供调试用*/
pause();  /*供调试用,8*/ 

      /*调试8后,显示结果8。注意:先删除调试7中的pause();语句。*/

  
printf("\nin---->open(ab_file2.c)\n");
file_block=BLOCKSIZ*3+100;
   ab_fd3=open(user_id,"ab_file2.c",FAPPEND);
   buf=(char *)malloc(BLOCKSIZ*3+100);
   write(ab_fd3,buf,BLOCKSIZ*3+100);
   close(user_id,ab_fd3);
   free(buf); 
dirlt(2);  /*供调试用*/
_dir();  /*供调试用*/
pause();  /*供调试用,9*/

      /*调试9后,显示结果9。注意:先删除调试8中的pause();语句。*/


printf("\nin---->chdir()\n");
   chdir ("..");

printf("\nin---->logout()\n");

     logout(user_id); 


dirlt(2);  /*供调试用*/
_dir();  /*供调试用*/
pause();  /*供调试用,10*/ 

      /*调试10后,显示结果10。注意:先删除调试9中的pause();语句。*/


printf("\nin---->halt()\n");
     halt( );
      /*注意:先删除调试10中的pause();语句。*/ 
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -