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

📄 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 + -