当前位置: 技术问答>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. 为了实现文件长度无限,要采取混合索引分配方式,必须对此概念有所了解。
文件系统是负责管理和存取文件信息的子系统,是操作系统中与用户关系最为密切的部分。目前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