花費 30 ms
XV6學習(9)Lab cow: Copy-on-write fork

代碼在github上。總體來說如果理解了COW機制的話,這個實驗的完成也沒有很復雜。 這一個實驗是要完成COW(copy on write)fork。在原始的XV6中,fork函數是通過直接對進程的 ...

Sun Jan 31 20:19:00 CST 2021 0 1017
XV6學習(6)Lab: traps

這一個實驗主要是對RISC-V的匯編、棧幀結構以及陷阱進行簡單的了解,難度並不大。 代碼放在github上。 RISC-V assembly (easy) Q1: Which registers ...

Wed Jan 06 18:37:00 CST 2021 0 957
XV6學習(11)Lab thread: Multithreading

代碼放在github上。 這一次實驗感覺挺簡單的,特別是后面兩個小實驗。主要就是對多線程和鎖進行一個學習。 Uthread: switching between threads 這一個實驗是要實 ...

Sat Feb 06 05:24:00 CST 2021 1 775
XV6學習(2)Lab syscall

實驗的代碼放在了Github上。 第二個實驗是Lab: system calls。 這個實驗主要就是自己實現幾個簡單的系統調用並添加到XV6中。 XV6系統調用 添加系統調用主要有以下幾步: ...

Mon Dec 21 18:28:00 CST 2020 0 917
XV6學習(15)Lab mmap: Mmap

代碼在Github上。 這一個實驗是要實現最基礎的mmap功能。mmap即內存映射文件,將一個文件直接映射到內存當中,之后對文件的讀寫就可以直接通過對內存進行讀寫來進行,而對文件的同步則由操作系統來 ...

Wed Feb 10 20:04:00 CST 2021 0 695
XV6學習(3)Page tables

頁表是操作系統中非常重要的一部分,用於將虛擬地址轉化為物理地址。虛擬內存是操作系統實現進程隔離的關鍵技術。 在 XV6 中通過 RISC-V 的頁表機構完成了虛擬地址向物理地址的轉換。 分頁硬件機構 ...

Mon Dec 21 18:32:00 CST 2020 0 743
XV6學習(1) Lab util

正在學習MIT的6.S081,把做的實驗寫一寫吧。 實驗的代碼放在了Github上。 第一個實驗是Lab util,算是一個熱身的實驗,沒有涉及到系統的底層,就是使用系統調用來完成幾個用戶模式的小 ...

Tue Dec 22 01:21:00 CST 2020 0 727
XV6學習(14)Lab fs: File system

代碼在github上。 這次實驗是要對文件系統修改,使其支持更大的文件以及符號鏈接,實驗本身並不是很復雜。但文件系統可以說是XV6中最復雜的部分,整個文件系統包括了七層:文件描述符,路徑名,目錄,i ...

Wed Feb 10 04:12:00 CST 2021 0 500
XV6源代碼閱讀-文件系統

Exercise1 源代碼閱讀 文件系統部分 buf.h fcntl.h stat.h fs.h file.h ide.c bio.c log.c fs.c file.c sysfile.c exe ...

Mon Jun 10 00:33:00 CST 2019 0 746
XV6學習(12)Lab lock: Parallelism/locking

代碼在github上 這一次實驗是要對XV6內部的鎖進行優化,減少鎖爭用,提高系統的性能。 Memory allocator (moderate) 第一個實驗是對XV6內核的內存頁面分配器進行改 ...

Sun Feb 07 03:01:00 CST 2021 0 484

 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM