# Background CPU 可直接存取 register 和 memory,但不能直接存取 disk Process 等待 Loader 將程式從 disk 載入到 memory 中才能執行(執行期間可在 memory 和 disk 間移動) 多個 process 被載入 memory 中以提升資源使用率和反應時間 How to refer memory in a program? # address binding Compile Time(還不知道地址,只給個變數(BASE)) program 改成 symbolic code 地址:compiler 將 symbolic...

# Deadlock Characterization Deadlock 意思是系統中存在一組 process 陷入互相等待對方所擁有的資源的情況,造成所有的 process 無法往下執行,使得 CPU 利用度大幅降低 Deadlock 發生須符合以下四項充要條件(四個條件都要成立 for possible deadlock): Mutual Exclusion : 資源不可共享 Hold and Wait : 已分配資源的 process 可再請求其他資源 No Preemption : 資源不可被強制奪取 Circular Wait : 存在一個 waiting processes...

# Background 共享的資料同時被不同 Process /threads 存取時可能導致 data 的不一致性 (inconsistency)。為了維持 data 的一致性,需要有機制去確保合作的 process 的執行的順序 # Consumer & Producer Problem 之前使用 in, out position ,現在使用 count value # Concurrent Operations on counter 除了 Buffer 之外 Counter 也是 share variable instruction level...

# Basic Concepts # Multiprogramming OS 用 multiprogramming 方法 keep 多個 process 在 memory 中 一次只有一個 process 在 CPU 執行,其他的 process 處於 waiting 狀態 當執行狀態的行程必須等待資源才能往下執行(I/O request),作業系統拿回 CPU 的控制權交給等待的行程 目的:CPU 隨時有執行狀態的行程,使 CPU 使用率最大化 # CPU-I/O Burst Cycle Process 基本上不是在執行 instruction,就是在執行 I/O,執行一連串的...

# Thread Introduction Motivation Benefits of Multithreading Responsiveness:允許程式中的某部份被中斷或是執行得非常久時,該程式仍然可以繼續執行 Resource Sharing:分享 code、data 和 OS 資源 Economy:輕量化的 process。 (context switch 一個 thread 比 process 快約 5 倍,建立一個 thread 比 process 快約 13 倍) Utilization of MP arch:多個 thread 能在多個處理器平行處理 #...

# Process Concept # Program vs Process vs Threads Program (Passive entity) 被動、儲存於 disk 中等待被執行的程式碼 Process (Active entity) 主動、正在記憶體裡面執行的程式。包含: Code Segment (text section) Data Section (global variables) Stack (暫時的 local variables 和 functions) Heap (動態分配的 variables 或 classes) Current Activity...

# OS Services # User Interface CLI (Command Line Interface) Command Interpreter / Shell 不屬於 OS,打的指令不是直接交給 OS 而是交給 Shell,方便使用者使用指令 一台電腦根據每個使用者的喜好不同,可以做一些客製化的調整 Text-based interface Examples: Bash, Zsh, PowerShell 下指令的介面,允許使用者透過文字指令與系統互動 優點:靈活、資源消耗低 缺點:學習曲線較陡峭,不適合初學者 GUI (Graphical User...

# What is an Operating System? 一個特別管理電腦硬體與軟體資源的系統程式。 Permanent Software:電腦啟動後永遠存在,沒有它電腦就不會運作 Abstracts 硬體資源:把底層的各種資源變成一堆 API 給使用者方便使用 OS 主要功能 / 系統觀點 資源分配者 (resource allocator) manages 和 allocates resources 來確保公平性和效率 是一套控制程式 (control program) 監控使用者與程式的行為防止不正常的運作造成對系統的危害 目標 /...

# Mainframe Systems 大型電腦系統 世界最早電腦之一,擁有很大的體積 I/O 慢、做的事情單一 提供較好的可靠性與安全性。 以下列的順序做進展: Batch 批次處理 Multi-programming 多元程式系統 Time-sharing 分時處理系統 # Batch 批次處理 運作方式: 電腦管理者 (operator)...

# 作業系統 (Operating System) 筆記版面介紹 2026/1 開始的為期作業系統筆記統整計畫。 經由參考書的資料與前輩大佬們的筆記取經,也是給自己的一個作業和交代。力求 深入淺出 考點討論 練習題探討 若有 PDF 筆記也會開放在文末下載參考。 此篇目主要介紹筆記的版面結構和內容安排,更好地導航和利用這些資源。 .right-text { text-align: right; /* 文本右对齐 */ } -2026/01/09 by 棉花糖 # 筆記總覽 # 作業系統筆記目錄 # 基本筆記架構介紹 # 資源 # 參考書目 Silberschatz, Galvin,...