云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 模拟Unix文件系统实验报告

模拟Unix文件系统实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/12/3 5:57:51

//内存用户信息

#ifndef MUSER struct muser{

struct user us: //读入内存的外存用户信息; int off_t://用户信息在外存etc文件中的位置; int fd;//当前目录在文件表中的位置: }mus; #endif

五. 模块详解

5.1文件、目录和文件表操作

(经过i节点模块封装后这一层的所有操作都感觉是对文件中的每一个字节进行操作) int search(char *,int);//查找单个目录下文件或子目录的函数 int iname(char *);//从根目录查找整个目录函数

int readf(int fd, char *buf, int count);//读文件中的内容d

int writef(int fd, const char *buf, int count);//将内容写入文件e

int openf(const char *pathname, int flags);//查找目录找到文件后写入文件表n int creatf(const char *pathname, int mode);//创建文件或目录t int linkf(const char *oldpath, const char *newpath);//联接文件k int unlinkf(const char *pathname);//删除联接k int closef(int fd);//关闭文件e

5.2 i节点操作

(1、主要负责将所有上层对字节的操作转化为对块的操作 2、文件的底层建立和删除)

int iread(int i,struct inode * ); 读入外存inode; int iwrite(int i,struct inode * );写出外存inode; int ialloc(struct iuser ius);申请inode; int ifree(int i);释放inode;

struct minode * i_get(int i);//获取内存inode int i_put(struct minode *);//删除内存inode;

int getblock(unsigned int offset,struct inode);//寻找文件物理块函数

int ifadd(unsigned int size,struct minode *);//将文件的字节的加长转化为对物理块的增加了

int ifsub(unsigned int size,struct minode *);//文件的减短改变为对物理块的减少 int subblock(unsigned int offset,struct inode in);//删除文件块子函数

5.3 块操作

unsigned int balloc();//分配一个块

int brelse(unsigned int b);//回收一个块

int bread(int b,unsigned short seek,unsigned short m,void *buf);//读取块中的内容 int bwrite(int b,unsigned short seek,unsigned short m,const void *buf);//写入块

中的内容

int set_ds();//成组链接的初始化函数;

5.4具体命令操作

void ls();//显示文件目录

void cd(char *);//改变当前目录 void u_umask(int);//文件创建屏蔽码

void passwd(const char *);//修改用户口令 void u_chmod(char *,int);//改变文件权限 void pwd();//显示当前目录

void u_chown(char *,char);//改变文件拥有者 void u_chgrp(char *,char);//改变文件所属组 void u_touch(char *);//新建文件 void rm(char*);//文件删除

void u_mkdir(char *);//创建子目录 void u_rmdir(char *);//删除子目录 void vi(char *);//编写文件内容

void u_cat(char*);//连接显示文件内容 void u_mv(char*,char*);//改变文件名 void u_ln(char*,char*);//建立文件联接 void u_cp(char*,char*);//文件拷贝

5.5主函数和所有命令操作的函数

int bash(char * );// 所有命令操作的函数exit 退出命令操作函数;

int main(void);//主函数进行登录和格式化或进入所有命令操作的函数

5.6其他函数

int init();初始化函数/ int login();登录函数/

int shutdown();/退出系统的函数/

六. 实验演示

6.1登录

6.2cat操作

6.3cd操作

6.4ls操作

6.5chgrp操作

6.6chown操作

6.7chmod操作

6.8touch操作

6.9mkdir操作

6.10rmdir操作

6.11rm操作

6.12ln操作

6.13mv操作

6.14cp操作

6.15passwd操作

6.16pwd操作

搜索更多关于: 模拟Unix文件系统实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

//内存用户信息 #ifndef MUSER struct muser{ struct user us: //读入内存的外存用户信息; int off_t://用户信息在外存etc文件中的位置; int fd;//当前目录在文件表中的位置: }mus; #endif 五. 模块详解 5.1文件、目录和文件表操作 (经过i节点模块封装后这一层的所有操作都感觉是对文件中的每一个字节进行操作) int search(char *,int);//查找单个目录下文件或子目录的函数 int iname(char *);//从根目录查找整个目录函数 int readf(int fd, char *buf, int count);//读文件中的内容d int writef(int fd, con

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com