前言 今天將複習 C 語言中對於檔案的基本操作,以及檔案中一些重要的概念,如重新導向,資料流等等,最後看到 xv6 中檔案的一些操作,System call,...
前言 在昨天我們已經順利的啟動 xv6 了,而在 xv6 中實現了 21 種 System call,今天我們將看到一些與 process 有關的 Syste...
前言 昨天我們快速地看過作業系統需要達成的主要目標,包含抽象,多工等等。而在這一篇章,我們將了解作業系統的主要服務以及 xv6 作業系統的相關背景,以及 xv...
前言 首先在最一開始,將藉由 Hello World 範例程式,引入一些作業系統的基本部件。以及作業系統的概念與目標,抽象性的實現,最後引入 System c...
大家好,在本系列文中,將以 RISC-V xv6 以主要的學習目標來學習作業系統,希望本文可以達到以下幾個目標 藉由 top-down 的方式學習 xv6 的...
在先前的文章中,我們已經探討過: 中斷與異常的處理 UNIX-Like Shell 的實作方式 在本篇文章中,作者會嘗試實作基本的系統呼叫以及 Shell...
作業系統L7-死結 死結特性 互斥:一次一個行程占用資源 占用與等候:至少一個行程佔用資源且正等待其他資源 不可搶先:一個資源完成工作後才會被釋放 循...
作業系統L6-同步 臨界區間(critical section) 每一行程中的部分程式碼,可以共同改變變數,更新表格,寫入檔案 區間結構 入口區段(ent...
作業系統L5-行程排班 CPU-I/O分割 簡介:CPU分割後接著IO分割 CPU排班程式 短程排班程式(Short-term scheduler):就...
Process VS Thread 行程: 適合一次最多一個工作(unix shell) 優點: 缺點: 不同行程不會共享記憶體 行程間一部份停止,整個行...
作業系統L3-行程 行程(Process)–正在執行的程式 行程(Process) VS 程式(Program) 行程(Process):執行中的程式,主動個...
作業系統L2-系統結構 ## 作業系統服務 使用者介面 命令行介面(Command Line Interface, CLI) 可直接輸入命令-shell...
Background 程式會在記憶體與硬體中間搬移,但最後會在記憶體內執行,且在執行時會使用到register,才能到控制unit中做硬體的process。...
在學習並行程式設計之前,我們需要先了解 Program 、 Process 、 Thread 的定義,這邊筆者舉一個簡單的例子: 當我們開啟 APP 時,AP...
Mircokernel (微核心) 是作業系統核心架構的一種,其設計理念是盡可能的精簡作業系統核心的體積,只保留最必要的基礎功能: 記憶體管理 系統呼叫 行程...
恐龍書上的 User Mode 與 Kernel Mode 在恐龍書中有提到,作業系統一般會在 User Mode 與 Kernel Mode 之間切換,Ker...
本文目標 學習 Shell 的基本操作 Shell 的執行流程 Shell 的實作 進入正題 Shell 是一套能夠監聽使用者命令、解析命令再告知作業系統...
你是否想過: 電腦是如何儲存我們所建立的檔案? 為什麼要做磁碟重組? 如果不知道問題的答案,就跟著筆者一起閱讀作業系統追尋問題的答案吧! 進入正題 參考 O...
今天要來分享的是我最喜歡的一門學科 - 作業系統! 進入正題 作業系統是資訊學系中的一門進階課程,內容會涵蓋: 作業系統簡介與常見的類型 中斷、I/O、系統呼...
本文目標 理解作業系統與外部硬體的溝通方式 學習 xv6 作業系統是如何順利讀取到硬碟的資訊 本篇文章將會帶讀者探討 Virtio 以及作業系統如何處理各種...
本文目標 學習基本的排程演算法 閱讀原始碼以理解排程器的實際運作 常見的排程演算法 FCFS (First-Come First-Served) FCFS...
課前複習: RISC-V 暫存器 在先前的文章已經有詳細介紹 RISC-V 的暫存器。由於本篇文章有閱讀原始碼的需求,所以將暫存器的對照表貼上方便讀者使用。...
資料傳輸 常見的資料傳輸方式有兩種: Serial將一串資料拆成多個資料,一次傳一個資料。 pros: 成本低 Parallel有多條傳輸線,因此可以...
前言 寫一個 OS 是多麼美好的事,在有限的生命中千萬不要遺漏了它。-- 王佑中博士 筆者在開始撰寫本系列文前不曾接觸過嵌入式系統開發,也很少觸碰 C 語言...
大家好,我是 Ian,因為一些原因,我在年初的時候接觸到嵌入式系統開發與系統軟體實作。在這一年來也寫了許多文章記錄學習歷程,希望這篇系列文可以激起讀者對 CS...
前言 哈囉大家好,6.S081是麻省理工的一門作業系統的課程,小弟我在寒假時有聽說這們課程很厲害,但是才寫了一個lab就沒有繼續寫下去了XD 想說趁暑假閒閒沒事...
強型闖入DenoLand[24] - 使用 Deno 打造多線程應用(1) 本篇章會分為三大部分,一步一步教大家多線程的概念與實務: 什麼是 Multi-t...
隨身攜帶的作業系統 ~安裝Linux作業系統於隨身碟~ (最終更新:2018-03-02) 想隨時隨地都有一套自己的作業系統可以使用嗎?Linux作...
當您在<檔案總管>或<區域網路>找到分享印表機的主機時,無法新增連線到印表機的狀況!不管您是在裝置和印表機中 點選<新增印表機&g...
郵件伺服器重新開機找不到home資料夾。 原因︰系統安裝時,初始設定/home為其中一個分割區。在安裝完成郵件伺服器後,發現/home並不需要單獨使用50G,因...