原文:MIT 6.S081 xv6调试不完全指北

前言 今晚在实验室摸鱼做 .S 的Lab Allocator,并立下flag,改掉一个bug就拍死一只在身边飞的蚊子。在击杀 只蚊子拿到Legendary后仍然没能通过usertest,人已原地裂解开来。遂早退实验室滚回宿舍,捡起自己已经两年没写的blog,码点自己用vscode调试xv 的心得和小tips,如果对同样在码xv 但无法忍受gdb调试界面的小伙伴们有帮助那就太好了,积点功德,但愿明天 ...

2020-09-25 14:43 3 4081 推荐指数:

查看详情

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 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 聊聊xv6中的文件系统(上)

前言 Lab一做一晚上,blog一写能写两天,比做Lab的时间还长( 这篇博文是半夜才写完的,本来打算写完后立刻发出来,但由于今天发现白天发博点击量会高点,就睡了一觉后才发(几十的点击量也是点击量啊T_T).... 我个人计划采用bottom-up的方式,用两篇blog配合源码讲解xv6 ...

Wed Feb 03 19:36:00 CST 2021 2 639
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
MIT 6.S081 2021: Lab Lock

Memory allocator xv6是使用linked list来管理空余内存块,我们先看一下kalloc.c究竟是怎么工作的: 首先是2个结构体,匿名结构体kmem就是我们访问空余内存的凭据了,kmem里面有一个自旋锁和一个链表头部指针 ...

Sat Nov 20 06:47:00 CST 2021 7 1243
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM