2.Lab-9 file system

1. Large files (moderate)

xv6中,一个block大小为1024b,块编号需要4b表示,所以一个块最多容纳256个块编号。

当前 xv6 单个文件最多有12个直接块和一个间接块,一个间接块最多放置256个块,一共268个块。

目标:单个文件增大到65803个块,即需要增加一个二重间接块,修改后的inode结构就是:

  • 11个直接块
  • 1个一重间接块:256块
  • 1个二重间接块:256*256 = 65536

一共就是11 + 256 + 65536 = 65803

代码地址

https://github.com/INnoVationv2/xv6-labs-2023/commit/f64c557e03eaffe3234e7fbf90bbac47fd057133

2. Symbolic links (moderate)

普通的link链接,就是两个文件指向同一个inode,需要增加inode的nlink

符号链接,就是指向目标文件,不增加nlink,目标inode不需要真实存在,只在打开时才需确认文件是否存在,类似于快捷方式。

代码地址

https://github.com/INnoVationv2/xv6-labs-2023/commit/b84e9547d1c9f8b48af6a3b24ef73be9a8addae0

3.结果

image-20240418233654525
posted @ 2024-04-21 00:16  INnoVation-V2  阅读(1)  评论(0编辑  收藏  举报