操作系统课程设计

发布 2022-10-05 11:58:28 阅读 9976

课程设计。

学生学院计算机学院

专业班级 12(1)班。

学号 3112006351

学生姓名吴炜文。

指导教师李敏。

2024年 1 月 10 日。

目录。1 简单文件系统。

文件系统。一、实验目的:

模拟文件管理的功能,了解各种文件的操作。

二、实验内容:

1、设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。

2、程序采用二级文件目录(即设置主目录[mfd])和用户文件目录(ued)。另外,为打开文件设置了运行文件目录(afd)。

3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。

4、算法与框图:

a、因系统小,文件目录的检索使用了简单的线性搜索。

b、文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。

c、程序中使用的主要设计结构如下:

i 主文件目录和用户文件目录( mfd、ufd)

ii 打开文件目录( afd)(即运行文件目录)

要求:用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。

要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有create、delete、open、close、read、write等命令。

文件系统算法的流程图如下:

三、源**及运行结果:

#include ""

#include ""

#include ""

#include ""

#define maxname 25 /*the largest length of mfdname,ufdname,filename*/

#define maxchild 50 /*the largest child*/

#define max (maxchild*maxchild) /the size of fpaddrno*/

typedef struct /*the structure of osfile*/

osfile;

typedef struct /*the structure of osufd*/

osufd;

typedef struct /*the structure of osufd'login*/

osufd_login;

typedef struct /*file open mode*/

osufd_openmode;

osufd *ufd[maxchild]; ufd and ufd own files*/

osufd_login ufd_lp;

int ucount=0; /the count of mfd's ufds*/

int fcount[maxchild]; the count of ufd's files*/

int loginsuc=0; /whether login successfully*/

char username[maxname]; record login user's name22*/

char dirname[maxname];/record current directory*/

int fpaddrno[max]; record file physical address num*/

osufd_openmode ifopen[maxchild][maxchild]; record file open/close*/

int wgetchar; /whether getchar()*

file *fp_mfd,*fp_ufd,*fp_file_p,*fp_file;

void main()

int i,j,choice1;

char choice[50]; choice operation:dir,create,delete,open,delete,modify,read,write*/

int choiceend=1; /whether choice end*/

char *rtrim(char *str); remove the trailing blanks.*/

char *ltrim(char *str); remove the heading blanks.*/

void loginf();login filesystem*/

void dirf();dir filesystem*/

void cdf();change dir*/

void createf();create file*/

void deletef();delete file*/

void modifyfm();modify filemode*/

void openf();open file*/

void closef();close file*/

void readf();read file*/

void writef();write file*/

void quitf();quit filesystem*/

void help();

if((fp_mfd=fopen("c:\\osfile\\mfd","rb"))null)

for(i=0;i textattr(black*16|white);

clrscr();clear screen*/

loginf();user login*/

clrscr();

if(loginsuc==1) /login successfully*/

else printf("bad command or file name.c:\\s>",strupr(username));

gets(choice);

strcpy(choice,ltrim(rtrim(strlwr(choice)))

if (strcmp(choice,"dir")=0) choice1=1;

else if(strcmp(choice,"creat")=0) choice1=2;

else if(strcmp(choice,"delete")=0) choice1=3;

else if(strcmp(choice,"attrib")=0) choice1=4;

else if(strcmp(choice,"open")=0) choice1=5;

else if(strcmp(choice,"close")=0) choice1=6;

else if(strcmp(choice,"read")=0) choice1=7;

else if(strcmp(choice,"modify")=0) choice1=8;

else if(strcmp(choice,"exit")=0) choice1=9;

操作系统课程设计

课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...

操作系统课程设计

银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...

操作系统课程设计

学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....