编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
 
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

[求助]模拟一个小型UNIX文件系统

[求助]模拟一个小型UNIX文件系统

文件系统应具有的基本功能

1)多用户 usr1,usr2 (2个用户)

2)多级目录:具有树形目录结构;

3)具有login (用户登录)和用户身份认证功能;

4)文件的创建: create

5)文件的打开:open

6)文件的读:read

7)文件的写:write

8)文件关闭:close

9)删除文件:delete

10)创建目录(建立子目录):mkdir

11)改变当前目录:cd

12)列出文件目录:dir(列目录时要列出文件名、物理地址和文件长度)

13)退出:logout

14)有文件保护机制,如对文件设置访问权限等(如用户usr1不能对usr2创建的文件进行修改等)。

2.选用程序设计语言:CC++等。

3.注意界面友好,有提示信息!


没思路啊~~~

TOP

没人会?
菜鸟学习中.......

TOP

什么样才算模拟啊?
如果要真的写个文件系统那可是很麻烦的.
要写索引区,
我上次想把内存做硬盘来模拟一下.不知道符合不符合你的要求.
如果要真的用硬盘来写的话那就只能用windows的格式化过的来写.我觉得那样就没有什么意思了
如果那样的话说白了其实就是写一个unix的shell

TOP

不是真的文件系统,只是模拟一下过程而已~

菜鸟学习中.......

TOP

那你可以用也些dos命令啊.
比如删除就用
systerm("del")什么的
文件权限windos里也有.
至于用户什么的可以把ID密码放在文件里
然后读取比较

TOP

1.本次课程设计为模拟UNIX文件系统来设计一个多用户多目录的文件系统。

1)课程设计所利用的空间为1M的内存(模拟外存文件系统存储空间)。这1M内存分成512块,每块为512个字节,这512块就是文件系统总共的可用块数,文件系统的分配就是以块为单位来分配的,空闲块的管理利用位示图的方法来管理。申请1M的内存的方法可以利用malloc()等。

2)在构造文件系统空间时,不用做引导块;专用块中只包含对空闲块和空闲磁盘i节点进行管理的信息,即位示图和记录空闲磁盘i节点号的数组;要做磁盘i节点区和文件存储区;不用做进程对换区。注意:仔细计算,合理分配各区域。

3)磁盘i节点可以利用在内存中生成链表或者数组的方法来生成,并且限制磁盘i节点数的最大值。同样内存i节点也可以利用链表的方法在内存中生成。

4)在往文件中写或者读的时候我们都是对内存中内容进行读写。例如你在文件中写的时候,其实是对分配的文件块中对应的内存赋值。当程序运行结束的时候,文件的内容都会丢失。我们这个文件系统只是一个模拟文件系统功能的虚拟文件系统。

5)不用实现文件共享。

2. 主要数据结构

1)目录结构

2)磁盘i节点结构

3)系统打开文件表结构

4)用户打开文件表结构

5)内存活动i节点结构(提示:可设计成与磁盘i节点结构相同的数据结构)

菜鸟学习中.......

TOP

这个容易

我做过这个多个版本的,需要的请联系:13553697314

TOP

发新话题