原文:MIT 6.S081 聊聊xv6的文件系統(中)日志層與事務

前言 我本想把上篇中沒講完的剩余層全部在本篇中講完,但沒想到越寫越多。日志層的代碼不多,其思想和解決問題的手段也不算難以理解,但其背后涉及的原理和思想還是非常值得回味的,因此我打算用一整篇完整的blog來講解日志層,並對其作出一點擴展。 本篇內容應該也會幫你對事務的擁有一個更好地理解。 聊聊xv 的文件系統 上篇 :https: www.cnblogs.com KatyuMarisaBlog p ...

2021-02-07 16:47 0 295 推薦指數:

查看詳情

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