当前位置:  技术问答>linux和unix

请教 大家帮帮忙啊 Nachos的文件管理模块升级

    来源: 互联网  发布时间:2016-03-24

    本文导语:  【背景描述】 文件系统是负责管理和存取文件信息的子系统,是操作系统中与用户关系最为密切的部分。目前Nachos的文件系统中实现的是单级目录,目录中的文件个数有限。文件的索引结构采用了直接索引,使得文...

【背景描述】
文件系统是负责管理和存取文件信息的子系统,是操作系统中与用户关系最为密切的部分。目前Nachos的文件系统中实现的是单级目录,目录中的文件个数有限。文件的索引结构采用了直接索引,使得文件的最大长度不能大于4K。文件大小在创建时指定,并不是根据文件内容动态分配,而且文件大小不可变。描述文件的信息有限,并无文件类型、文件创建时间之类的信息。没有实现同步操作,多个进程同时访问磁盘位图、目录文件等临界资源时就会出现错误。
【实践要求】
本实习项目希望通过修改Nachos系统平台的底层源代码来实现以下目标:
1. 增加对Nachos现有文件系统的多线程访问机制,目前的Nachos系统同时只允许一个线程访问文件系统,请实现多个线程可同时访问文件系统的机制。
2. 扩充Nachos的目录体系,使其能够支持多级目录(最多4级)。每个目录下的文件个数没有限制。
3. 扩充Nachos下的文件管理功能,也就是编写几个完整的系统调用函数,它们可以实现文件的更名、删除、拷贝。
4. (可选),更改Nachos中文件空间分配机制,使其能够支持最大2MB的文件,目前Nachos只能支持最大不超过4KB的文件。
【提交形式】
针对以上实践要求,实践小组必须提交符合以下规范的实践成果。
1. 项目实践文档
一份Word或PDF格式的文档,在文档中说明以下内容:
 实践小组的人员组成、各自的分工;
 对实践要求的满足程度,本项目有五项要求,请注明共满足了几项;
 对实践过程的详细说明,针对已经满足的实践要求,采用了何种算法或思想,对Nachos平台的哪些代码进行了什么样的修改。
2. 修改后的Nachos平台源码备份
本文档描述的实践环境均基于VMWare虚拟机,在第一章中已经描述了如何将Nachos源码包备份为可在Windows环境下传递的磁盘文件。请将修改后的Nachos源码打包备份提交。
3. 内部评测过程描述文档
在完成实践后,需要进行适当的内部评测来验证实践的效果。请以文档的形式说明设计了什么样的评测过程,在评测过程中发现了哪些问题。
3.3.2 实践的过程和步骤
本项目在实践的过程中需要注意以下要点:
1. 数据结构的修改和维护:
文件管理的升级基于对原有Nachos数据结构的修改。对于增加文件的描述信息需对文件头结构进行简单修改。多级目录中可创建目录也可创建文件,应根据实际的文件类型初始化文件头信息。
2. 实现多级目录应注意的地方:
 理解目录文件的含义,每个目录对应一个文件,通过此文件可了解其子目录及父目录的信息,正是通过目录文件记录了目录结构。
 Nachos的目录模块中由于是单级目录且子目录项个数有限,因此目录文件大小是预先定义的,但是要达到实践要求,目录文件的大小应是根据内容确定的,且能改变。
 实现多级目录后,添加、删除目录项要根据具体的路径,因此对树的遍历要有深刻的理解。
3. 为了实现文件长度无限,要采取混合索引分配方式,必须对此概念有所了解。

|
mark

    
 
 

您可能感兴趣的文章:

  • 请大家帮帮忙吧!我是新手请教个问题
  • 请教熟悉JavaMail的大虾请帮帮忙,多谢了!
  • 菜鸟请教:请帮帮忙!
  • 请教一个文本写入的问题。请大家帮帮忙。。。。
  • 入门,请教线程编程的问题,请各路高手帮帮忙
  • 请教一些JAVA的基本问题,初学JAVA有些迷糊,帮帮忙!总迷糊实在受不了了!
  • 请教在哪里可以学习IBM AS/400,怎样学习较好?各位帮帮忙,这是一个关系到小弟前程的问题!重谢!!!
  • 新手刚学vi,有一问题请教,望大家帮帮忙!谢谢
  • 初学jsp,请教各位帮帮忙!谢谢。。。
  • (高分请教)刚接到一个项目,请大家帮我看看我所认为的技术难点该如何解决?Andrew.老weidegong?.....帮帮忙
  • 请教一个简单的问题啊,帮帮忙哈,在线————————
  • 高分求助,请教关于在ARM Linux下启动goahead服务器的问题。很急,在线等待,希望各位大虾帮帮,万分感激
  • 请教:各位大哥,我下面这段程序有几个错误,请帮帮我,谢谢!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教linux中如何自动加载自己的模块
  • 请教,如何知道内存中某个驱动模块是否已经被加载??
  • 高分请教一个串口驱动模块加载的问题
  • ===============请教大虾关于unix下开发模块的报价====================================
  • 请教!两模块之间如何互相调用
  • 请教一下 编译出来的 模块很大
  • 请教!出现这个提示是什么原因..是模块版本问题,还是其他问题..http://220.114.102.28/xitong/ProductShow.asp?ArticleID=82
  • 关于Linux下模块编程的问题请教,急急急急急急
  • 请教:在linux内核中加入一个模块
  • 请教在linux中如何动态的增加一个系统调用(模块中)
  • 请教内核模块编程中的小问题.
  • 关于一个简单内核模块的编译,新手请教
  • 我用的是atmel一个成熟的开发板。有一个触摸屏驱动程序,以<M>的方式编译为模块,编译时提示某个外部函数没有定义,但如果以<*>的方式编译进内核,则不会出错。请教下可能是什么原因?
  • 请教使用arm-linux-gcc 3.4.1 如何交叉编译linux 2.6的内核模块?
  • 请教!netfilter内核模块编程问题
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3