欢迎光临散文网 会员登陆 & 注册

xv6文件系统3,end(inode之上,以及exec)

2023-03-19 17:31 作者:米诺斯人  | 我要投稿

一层directory抽象:

1、file并不知道自己的name或者path,这些信息都储存在directory里面;

2、dir是一个特殊的file,里面有通向其他file或dir的数组inum,这些dir entry被抽象为结构体,结构体中有他们的字符串名称name,以及他们的inumber;

3、这层提供了一些路径处理的接口,基本就是string操作,不多赘述

————————

在往上,是path抽象,基本就是对dir层的有一层封装,也不多说(可以用于查找path对应的inode【文件查找的本质】)

——————————

最后是file抽象。file提供的基本抽象也就是write、read两种权限。【值得注意的是没有exec文件。不过作为简易系统,无伤大雅。】

write file和read file底层都是inode的接口+log的接口:begin_op+writei+end_op完成

————————

最后回顾一下之前的进程部分重要的一个接口—— exec()

exec涉及到文件加载入内存。这里【并没有区分file是否可以exec,因为xv6并没有储存文件类型?】此处用的仍然是inode+log两层的接口。

然后进行的就是老生常谈的 旧页表清理+新页表映射的进程初始化工作了。


xv6文件系统3,end(inode之上,以及exec)的评论 (共 条)

分享到微博请遵守国家法律