原文:MIT 6.S081 2021: Lab file system

i node xv 文件系统是使用inode来管理文件,先上一张图来解释一个文件的inode是怎么管理它的磁盘块的: xv 文件系统里定义了 个版本的inode。一个是硬盘上面存储的版本struct dinode,在fs.h里定义 另一个是内存里存储的版本struct inode,起到缓存的作用,在file.h里定义。两个结构都有成员ref和nlink。nlink是inode在文件系统里面的链接 ...

2021-11-19 22:48 0 148 推荐指数:

查看详情

MIT 6.S081 Lab8 File System

的知识点、lab,以及6.S081想写的东西都写完。今天先做个复健,码一下刚做完的lab8,以及xv6的f ...

Tue Feb 02 21:58:00 CST 2021 0 633
MIT 6.S081 2021: Lab traps

RISC-V assembly Which registers contain arguments to functions? For example, which register holds 13 in main's call to printf ...

Sat Nov 20 06:42:00 CST 2021 1 740
MIT 6.S081 2021: Lab mmap

mmap mmap就是把指定的文件fd映射到进程内存空间的某一个部分,映射建立之后,进程读写这块内存就像是在读写文件一样。按照提示来做实验: Implement mmap: find an unused region in the process's address space ...

Tue Nov 23 07:15:00 CST 2021 2 920
MIT 6.S081 2021: Lab Lock

Memory allocator xv6是使用linked list来管理空余内存块,我们先看一下kalloc.c究竟是怎么工作的: 首先是2个结构体,匿名 ...

Sat Nov 20 06:47:00 CST 2021 7 1243
MIT 6.S081 2021: Lab page tables

Speed up system calls 这个实验的目的是要“加速系统调用”,怎么加速呢?在内核和用户程序之间创建一个共享的只读页,这样内核往这个页里写入数据的时候,用户程序就可以不经复杂的系统调用直接 ...

Sat Nov 20 06:40:00 CST 2021 1 2425
MIT 6.S081 Lab Allocator 聊聊buddy allocator

前言 Lab Allocator代码量很少,主要是用xv6已经写好的buddy allocator替换掉kallocator。kallocator简单的将内存分为4096bytes(下简称PGSIZE)页面,将空闲页面串接成双向链表。这种方式很简洁,可以很好的应用First Fit算法 ...

Thu Oct 29 18:26:00 CST 2020 0 490
MIT 6.S081 Lab5 Copy-On-Write Fork

前言 最近绝大多数的空闲时间都拿来锤15-445了,很久没动6.S081。前几天回头看了一下一个月前锤完的Lazy Allocation,自己写的代码几乎都不认识了.......看来总结之类的东西最好还是趁着热乎的时候写啊。 不过15-445的内容实在太多了,我只是为了锤Lab粗略的看了看课件 ...

Fri Nov 06 00:00:00 CST 2020 0 527
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM