原文:MIT 6.S081 聊聊xv6中的文件系统(上)

前言 Lab一做一晚上,blog一写能写两天,比做Lab的时间还长 这篇博文是半夜才写完的,本来打算写完后立刻发出来,但由于今天发现白天发博点击量会高点,就睡了一觉后才发 几十的点击量也是点击量啊T T .... 我个人计划采用bottom up的方式,用两篇blog配合源码讲解xv 的文件系统。 xv 对文件系统的架构做出了如下的分层: 我个人倾向于将设备驱动程序也加入到文件系统的架构中,因此最 ...

2021-02-03 11:36 2 639 推荐指数:

查看详情

MIT 6.S081 聊聊xv6的trap

前言 这个星期睡眠和精神状态一直比较差,6.824很多论文没时间回顾,15-445的Lab2又耗费了我巨大的精力,实在写不动代码了。只能写点回顾总结之类的东西。我很久之前就想总结一下xv6关于进程的知识,后来发现这涉及的范围实在是太大了(废话,这在哪本OS教材里都能占完整的一章),而且无论如何 ...

Fri Nov 06 09:27:00 CST 2020 1 787
MIT 6.S081 xv6调试不完全指北

前言 今晚在实验室摸鱼做6.S081的Lab3 Allocator,并立下flag,改掉一个bug就拍死一只在身边飞的蚊子。在击杀8只蚊子拿到Legendary后仍然没能通过usertest,人已原地裂解开来。遂早退实验室滚回宿舍,捡起自己已经两年没写的blog,码点自己用vscode调试xv6 ...

Fri Sep 25 22:43:00 CST 2020 3 4081
MIT 6.S081 2021: Lab Copy-on-Write Fork for xv6

虽然Copy-on-Write原理是很显而易见的,但是在具体实现需要处理的细节特别多,经常会在莫名其妙的地方出现错误,再加上使用gdb调试内核本身就是一件不容易的事情 ...

Sat Nov 20 06:43:00 CST 2021 0 770
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
MIT6.S081/6.828准备:MacOS下搭建xv6和risc-v环境

本文介绍搭建Mit6.828/6.S081 fall2019实验环境的详细过程,包括riscv工具链、qemu和xv6,以MacOS下的实践为例,Linux系统同样可以参考。 介绍 只有了解底层原理才能写好上层应用,曾经几度想要系统地学习OS课程,尝试去看了《计算机操作系统 ...

Wed May 27 18:22:00 CST 2020 0 2093
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
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM