⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000003.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;raner&nbsp;(lilo),&nbsp;信区:&nbsp;Linux&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;NACHOS论坛(3)&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木调试站&nbsp;(Thu&nbsp;Jun&nbsp;&nbsp;4&nbsp;16:47:19&nbsp;1998)&nbsp;<BR>&nbsp;<BR>作&nbsp;&nbsp;家:&nbsp;solmon&nbsp;(所罗门王)&nbsp;on&nbsp;board&nbsp;'Unix'&nbsp;<BR>题&nbsp;&nbsp;目:&nbsp;NACHOS论坛(3)&nbsp;<BR>来&nbsp;&nbsp;源:&nbsp;&nbsp;鼓浪听涛站&nbsp;<BR>日&nbsp;&nbsp;期:&nbsp;Thu&nbsp;Mar&nbsp;&nbsp;6&nbsp;23:04:30&nbsp;1997&nbsp;<BR>出&nbsp;&nbsp;处:&nbsp;<A HREF="mailto:mysu@JingXian.xmu.edu.cn">mysu@JingXian.xmu.edu.cn</A>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第三章&nbsp;&nbsp;&nbsp;&nbsp;文件系统&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Nachos文件系统的界面类似于UNIX,有与UNIX的creat,open,close,read,write,&nbsp;<BR>lseek和unlink相似(不是完全一样)的系统调用.一个重要的不同点在于Nachos文件系&nbsp;<BR>统是用C++实现的.Creat(相当于UNIX中的creat),Open(open),和Remove(unlink)都是&nbsp;<BR>定义在FileSystem类中的,因为它们都是与正在操作的文件名和目录相联系的.&nbsp;<BR>FileSystem::Open返回一个指针,它指向一个OpenFile对象,OpenFile对象与UNIX中的&nbsp;<BR>打开文件描述符类似,可以用这个对象直接对文件进行操作,如Seek(lseek),&nbsp;Read&nbsp;<BR>(read),&nbsp;Write(write)只要把这个OpenFile对象删除(delete)就可以关闭(close)这个&nbsp;<BR>已打开文件了.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Nachos文件系统的结构如图:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┏━━━━━━━━━━━━━━━━━━━┓&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文&nbsp;&nbsp;件&nbsp;&nbsp;用&nbsp;&nbsp;户&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┣━━━━━━━━━━━━━━━━━━━┫&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃&nbsp;FileSystem&nbsp;&nbsp;&nbsp;OpenFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Directory&nbsp;&nbsp;┃&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┣━━━━━━━━━━━━━━━━━━━┫&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileHeader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┣━━━━━━━━━━━━━━━━━━━┫&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SynchDisk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┣━━━━━━━━━━━━━━━━━━━┫&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┃&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┗━━━━━━━━━━━━━━━━━━━┛&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;在Nachos文件系统中,许多数据结构既可存放在内存里,又可存放在磁盘里.为了一&nbsp;<BR>致起见,文件系统中Synchdisk以上的类都有一个FetchFrom成员函数,它把数据结构从&nbsp;<BR>磁盘读到内存;还有一个WriteBack成员函数,它与FetchFrom相反,把数据结构从内存写&nbsp;<BR>回磁盘.在内存中的数据结构与磁盘上的完全一致,没有增减数据项,给管理带来了不少&nbsp;<BR>方便.在以后的介绍中这两个函数不再重复了.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;让我们从下往上分析文件系统.Disk模拟了一个物理磁盘,它的具体实现在机器模&nbsp;<BR>拟部分已经介绍了.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;SynchDisk类在物理磁盘的基础上定义了一个同步磁盘的抽象界面.象别的I/O设备&nbsp;<BR>一样,物理磁盘是异步设备.用户提出读写请求后立即返回,这以后会有一个中断发生,&nbsp;<BR>报告磁盘操作完成.同步磁盘有些不同,进程提出读写请求后将睡眠等待,以后在磁盘

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -