操作系统实验报告模板(6)
发布时间:2021-06-05
发布时间:2021-06-05
这是操作系统课程中的四次实验最终报告,内包括进程通信实验,进程同步互斥实验,文件系统模拟实验和Linux shell操作。里面的程序都是我运行过的。
设计并实现文件系统的描述结构; 显示文件系统中文件的属性;
给出文件系统最基本操作的仿真实现。
【实验程序及分析】 程序中带有详细的解释。
整体编程思路为: 首先建立文件系统的基本存储部分,包括结构体变量等等的定义,主要利用数组的存储功能模拟文件系统。除了基本的目录查看,目录创建、删除,文件创建、删除外,我还增加了文件的读写的函数,实现了文件的读出与写入。但由于用的是数组存储,所以有长度限制,具体可参加程序注释。#include <stdio.h> #include <memory.h> #include <string> #include <iostream> using namespace std;
//1代表普通文件2代表目录文件0表示空文件
//基本变量常量定义去 #define GENERAL 1 #define DIRECTORY 2 #define NULL 0 int OpenFileCount = 0; struct FCB {
char fname[16]; //文件名 char type; int size; //文件大小
int fatherBlockNum; //当前的父目录盘块号
int currentBlockNum; //当前的盘块 void initialize()
{
strcpy(fname,"/0"); type = NULL; size =0; fatherBlockNum = currentBlockNum = 0; } };
/*常量设置*/
const char* FilePath = "C://myfiles"; const int BlockSize = 512; //盘块大小 const int OPEN_MAX = 5; //能打开最多的文件数
const int BlockCount = 128; //盘块数 const int DiskSize = BlockSize*BlockCount; //磁盘大小
const int BlockFcbCount =
BlockSize/sizeof(FCB);//目录文件的最多FCB数
struct OPENLIST //用户文件打开表 {
下一篇:2014一年级数学上册减法