前言 前面我們知道在 xv6 啟動後,Shell 會輸出 $ 到 Console 上,而我們可以追蹤產生 $ 的行為了解 UART 的運作,以及介紹一下 Dr...
大家好,在本系列文中,將以 RISC-V xv6 以主要的學習目標來學習作業系統,希望本文可以達到以下幾個目標 藉由 top-down 的方式學習 xv6 的...
前言 我們簡單的回顧來自於 user mode 的 trap 的流程,整個流程為 uservec 到 usertrap() 再到 usertrapret()...
前言 繼續前面 UART TOP 的部分,下面將介紹 UART Bottom 的部分,也就是關於 Interrupt 的處理,並從 Interrupt 的處理...
前言 前面我們看到了整個 Switch Thread 的運作,首先會有 Timer Interrupt 產生 trap,接著 yield() 會將 Proce...
作業系統L2-系統結構 ## 作業系統服務 使用者介面 命令行介面(Command Line Interface, CLI) 可直接輸入命令-shell...
強型闖入DenoLand[24] - 使用 Deno 打造多線程應用(1) 本篇章會分為三大部分,一步一步教大家多線程的概念與實務: 什麼是 Multi-t...
前言 在前面我們介紹了 page fault 以及 lazy page allocation 的概念,而我們在 usertrap() 中通過 scause C...
前言 前面我們介紹了多 Process 會遇到的 race condition 的問題,以及如何使用 lock 的機制進行處理,後面提到了 xv6 中 Spi...
前言 在前面我們看過了整個 trap 的流程,而在今天我們將以 exec() 這個 System call 來追蹤實際 trap 發生的情況。 exec()...
前言 昨天我們簡單的介紹了 Thread 的一些基本概念,以及 Thread 是如何進行切換的,最後通過一個簡單的實驗去證明 compute bound th...
前言 前面我們提到了 Process 的概念,我們知道一個位於 user space 執行中的程式為 Process,而 Process 有虛擬記憶體的概念,...
每年全球富豪榜幾乎榜上有名的 微軟創辦人 比爾蓋茲,便是以作業系統(例: Windows)起家並聞名於世,接下來幾天就要來跟大家介紹「作業系統」的基本概念和不...
延續昨天的「作業系統的簡介」,今天要來講作業系統的分類和進化史然後剛好看到一張梗圖,分享給大家XDD 網友真有才 ▋作業系統類型 一、主機型系統 ▪ 手動操作階...
應該沒有人會不知道作業系統是什麼吧?我們使用的電腦/筆電上會安裝Windows、macOS 或Linux,而手機/平板上不是Android 就是iOS;作業系統...