原文: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