资源简介
Linux文件系统模拟,很不错的,很全,课程设计专用
代码片段和文件信息
import java.io.BufferedReader;
import java.io.Console;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.objectInputStream;
import java.io.objectOutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Administrator
*/
class super_block implements java.io.Serializable {
short inode_counts;// i结点数
short logic_counts;// 逻辑块数
short logic_length;//逻辑块长度
int maxFileLength;// 最大文件长度
short dirblock_counts;//目录块个数
}
class inode implements java.io.Serializable {
byte i_mode;// 文件类型
char[] Permission = new char[9];//权限
short i_num;// i结点号
int i_size;// 文件长度
String username;// 用户名
Date c_time;// 创建时间
Date m_time;// 最后一次修改时间
short[] i_zone = new short[9];// 磁盘序列表
}
class dir_block implements java.io.Serializable {
String name;// 文件或目录名
short i_num;// i结点号
public dir_block(String str short num) {
name = str;
i_num = num;
}
public dir_block() {
}
}
class user implements java.io.Serializable {
String username;
String passwd;
//int proriority;
}
public class file_system2 implements java.io.Serializable {
/**
* @param args
* the command line arguments
*/
String current_path;// 当前目录
super_block superBlock;// 超级块
inode[] inodes;// i结点数组
short[][] data;// 数据块数组
short[] inode_map;// i结点位图
short[] logic_map;// 逻辑块位图
dir_block[][] dirblockes;// 目录块数组
short current_inode;//当前i结点号
String current_user;//登陆用户
user[] alluser;//系统的所有用户
public final void initialize(short i_counts short l_counts int max short l_length String name) {
superBlock = new super_block();
superBlock.inode_counts = i_counts;
superBlock.logic_counts = l_counts;
superBlock.maxFileLength = max;
superBlock.logic_length = l_length;//
superBlock.dirblock_counts = 100;
inodes = new inode[i_counts];
data = new short[l_counts][superBlock.logic_length];
inode_map = new short[i_counts];
logic_map = new short[l_counts + superBlock.dirblock_counts];
dirblockes = new dir_block[superBlock.dirblock_counts][superBlock.logic_length];
current_path = “/“;
current_inode = 0;
alluser = new user[8];
inode_map[0] = 1;
logic_map[0] = 1;
current_user = name;
inodes[0] = new inode();
inodes[0].c_time = new Date();
inodes[0].m_time = new Date();
inodes[0].username = name;
inodes[0].i_num = 0;
inodes[0].i_mode = 1;
inode
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-21 17:29 Linux文件系统\
目录 0 2011-06-24 07:52 Linux文件系统\java\
文件 393 2011-06-24 07:51 Linux文件系统\java\dir_block.class
文件 49349 2011-06-23 22:23 Linux文件系统\java\file.txt
文件 566325 2011-06-24 07:53 Linux文件系统\java\files_system2
文件 22308 2011-06-24 07:51 Linux文件系统\java\file_system2.class
文件 52584 2011-06-24 07:47 Linux文件系统\java\file_system2.java
文件 466 2011-06-24 07:51 Linux文件系统\java\inode.class
文件 352 2011-06-24 07:51 Linux文件系统\java\super_block.class
文件 275 2011-06-24 07:51 Linux文件系统\java\user.class
文件 137 2011-06-23 22:45 Linux文件系统\java\运行说明.txt
文件 47616 2011-06-23 16:54 Linux文件系统\Linux文件系统模拟任务书.doc
文件 799744 2012-05-21 17:28 Linux文件系统\操作系统实验周课程设计说明书.doc
文件 187904 2012-05-21 17:28 Linux文件系统\概要设计.doc
文件 229376 2012-05-21 17:29 Linux文件系统\详细设计.doc
文件 99840 2012-05-21 17:29 Linux文件系统\需求分析.doc
评论
共有 条评论