iT邦幫忙

xv6相關文章
共有 40 則文章
鐵人賽 Software Development DAY 20

技術 Day-19 Page Fault Lazy Page Allocation Implementation

前言 在前面我們介紹了 page fault 以及 lazy page allocation 的概念,而我們在 usertrap() 中通過 scause C...

鐵人賽 Software Development DAY 24

技術 Day-23 Spinlock 在 UART 使用與實作

前言 前面我們介紹了多 Process 會遇到的 race condition 的問題,以及如何使用 lock 的機制進行處理,後面提到了 xv6 中 Spi...

鐵人賽 Software Development DAY 17

技術 Day-16 xv6 Trap (user mode): Trace exec()

前言 在前面我們看過了整個 trap 的流程,而在今天我們將以 exec() 這個 System call 來追蹤實際 trap 發生的情況。 exec()...

鐵人賽 Software Development DAY 27

技術 Day-26 xv6 Switch Thread, yield, sched

前言 昨天我們簡單的介紹了 Thread 的一些基本概念,以及 Thread 是如何進行切換的,最後通過一個簡單的實驗去證明 compute bound th...

鐵人賽 自我挑戰組 DAY 29
C 語言筆記 系列 第 29

技術 [C 語言筆記--Day29] 6.S081 Lab syscall: Sysinfo ( III )

接續昨天的題目 原本今天打算寫完這題的,但一直卡在一個地方, 就先貼出我寫到一半的成果吧 // kernel/sysproc.c uint64 sys_sysi...

鐵人賽 自我挑戰組 DAY 27
C 語言筆記 系列 第 27

技術 [C 語言筆記--Day27] 6.S081 Lab syscall: Sysinfo ( I )

這個題目一樣是需要新增一個 system call 一開始的步驟跟之前的這個題目差不多 這篇文章就先單純的紀錄一開始的幾個步驟 困難的地方就留到明天再說吧 Ma...

技術 [OS自學筆記] 於ubuntu 安裝 xv6-riscv

重新複習operating system,但卻發現nachos真的太舊了,還只能安裝在32位元的linux上,因此轉向改裝xv6-riscv。 在64位元Ubu...

鐵人賽 Software Development DAY 25

技術 Day-24 xv6 Process, Init Process

前言 前面我們提到了 Process 的概念,我們知道一個位於 user space 執行中的程式為 Process,而 Process 有虛擬記憶體的概念,...

鐵人賽 自我挑戰組 DAY 24
C 語言筆記 系列 第 24

技術 [C 語言筆記--Day24] sleep

題目:https://pdos.csail.mit.edu/6.S081/2021/labs/util.html Write a concurrent ver...

鐵人賽 自我挑戰組 DAY 28
C 語言筆記 系列 第 28

技術 [C 語言筆記--Day27] 6.S081 Lab syscall: Sysinfo ( II )

接續昨天寫到一半的題目, 昨天還留下了 sys_sysinfo() 沒有完成, 先來大致上分析一下這個 function 應該要做什麼, 首先他會接收到 u...