![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
6.s081
文章平均质量分 72
cyrilwong947
这个作者很懒,什么都没留下…
展开
-
MIT-6.s081-Lab: file system
第一问就不写了,其他博客也有提到。说说第二问吧,要做soft link。实质上是给file层提供一个新的inode类型,就是SYMLINK的类型,这个inode的data block存储指向的文件的路径。比如对/usr/testfile.c创建soft link,/usr/mytest/softlink用来作为软连接指向前面的c文件。当我们访问/usr/mytest/softlink的时候实际上底层打开的文件描述符指向的是c源文件。主要就是完成系统调用symlink的编写和sysopen的修改:sym原创 2021-01-26 16:52:18 · 777 阅读 · 0 评论 -
MIT-6.s081-CodeWalk-fs.c&file.c&sysfile.c
balloc要分配一个新的block,就需要根据bitmap了解block的free/allocated情况。因此,可以遍历data block,对于每一个data block查看是否是free,如果是就直接返回这个block就可以了。在Xv6中,每个data block都去查找一次bitmap block这样效率其实很低,因为data block只是bitmap block的one bit,这时候如果正好把整个bitmap block的所有bits都检查一遍,效率很提升很多。下面代码中,外层循环b表原创 2021-01-22 01:45:11 · 487 阅读 · 0 评论