114 年 國立中央大學資訊工程學系碩士班《作業系統與計算機組織》

📄 試題原卷 免費註冊後即可對照原始考卷 PDF免費註冊

第 1 題

Virtual memory is a fundamental concept in modern operating systems that provides an abstraction of the physical memory available in a computer system. Which of the following are true about virtual memory systems?
A. Virtual memory eliminates the need for physical memory.
B. Virtual memory swap uses a portion of secondary storage as if it were main memory.
C. Page tables are used to map virtual addresses to physical addresses.
D. Virtual memory improves the system's security and isolation.
E. None of the above

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查作業系統中**虛擬記憶體(Virtual Memory)**的核心機制與設計目的。
虛擬記憶體的主要功能包含:

  1. 記憶體空間擴充(Memory Abstraction & Swapping):藉由次級儲存裝置(Secondary Storage,如 SSD/HDD)劃分出的置換空間(Swap Space),使程式能夠執行容量大於實際實體記憶體(Physical Memory)的處理序(Process)。
  2. 位址轉譯(Address Translation):由記憶體管理單元(MMU)配合作業系統維護的頁表(Page Table),將處理序產生的虛擬位址(Virtual Address)動態轉譯為實際的實體位址(Physical Address)。
  3. 記憶體保護與隔離(Protection & Isolation):每個處理序皆擁有獨立且連續的虛擬位址空間,無法擅自存取其他處理序或系統核心(Kernel)的記憶體,大幅提升系統的穩定度與安全性。

解題方法

本題屬於作業系統觀念題,採用虛擬記憶體三大機能對照法切入分析:

  1. 實體層面:虛擬記憶體為實體記憶體的抽象化層,CPU 執行指令與讀寫資料仍必須於實體記憶體中進行,故抽象層無法取代硬體實體。
  2. 機制層面:確認置換(Swapping/Paging)與頁表(Page Table)在虛擬位址轉譯實體位址中的角色。
  3. 安全層面:確認獨立位址空間與頁表權限位元(R/W/X、User/Kernel)帶來的記憶體隔離效果。

選項分析

  • (A) 錯誤:虛擬記憶體(Virtual Memory)是對實體記憶體的抽象與延伸,CPU 執行任何指令與資料讀寫,最終都必須載入實體主記憶體(RAM)中才能運作。因此,虛擬記憶體並無法消滅(eliminate)對實體記憶體的需求。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 2 題

Which of the following statements regarding ECC (Error-Correcting Code) memory are accurate?
A. ECC memory modules have an extra memory chip compared to non-ECC modules, which stores the parity bits used for error detection and correction.
B. DRAM-based memory systems usually employ advanced ECC mechanisms, like LDPC or BCH codes, capable of detecting and correcting multiple-bit errors to ensure data integrity and reliability.
C. The performance overhead introduced by ECC memory is negligible in modern systems due to advancements in memory controllers.
D. ECC memory relies on redundancy in data encoding to perform error detection and correction.
E. None of the above

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題評測電腦組織與架構中 ECC(Error-Correcting Code,錯誤更正碼)記憶體 的實體架構、編碼原理、常見演算法與系統效能影響。關鍵觀念包含:

  1. 資訊冗餘性(Redundancy):所有錯誤偵測與修正機制的基礎皆為引進冗餘位元(Redundant Bits),拉大合法碼字之間的漢明距離(Hamming Distance)。
  2. 硬體模組結構(DRAM Module Architecture):標準非 ECC 記憶體模組的資料匯流排寬度為 64 bits64\text{ bits};ECC 記憶體模組則擴充至 72 bits72\text{ bits}(64 bits64\text{ bits} 資料 + 8 bits8\text{ bits} ECC 檢查碼),因而比非 ECC 模組額外配備記憶體晶片。
  3. 編碼演算法分類:
    • DRAM 主記憶體:強調極低延遲,主要採用 SECDED(Single Error Correction, Double Error Detection),如漢明碼(Hamming Code)。
    • NAND Flash(SSD)/ 通訊系統:允許較高計算延遲以處理高位元錯誤率,主要採用 BCH 碼 或 LDPC(Low-Density Parity-Check)碼。
  4. 效能開銷(Performance Overhead):現代處理器的內建記憶體控制器(IMC)具備專用硬體邏輯,編解碼過程高度平行化與管線化,效能影響極微。

解題方法

本題為觀念判斷題,解題切入點如下:

  1. 比較記憶體實體規格:確認 ECC 與 Non-ECC DIMM 在匯流排寬度與晶片數量上的差異。
  2. 比對演算法適用場景:分清 DRAM 主記憶體(低延遲、低錯誤率,使用 SECDED)與 Flash / 通訊(高錯誤率,使用 BCH/LDPC)的技術選型。
  3. 評估硬體加速效益:判斷現代記憶體控制器處理 ECC 檢查碼對系統延遲與頻寬的影響程度。
  4. 檢視資訊理論定義:判定 ECC 的運作原理是否符合編碼冗餘性本質。

選項分析

  • A. 正確
    非 ECC 的 DRAM 記憶體模組(如 DDR4/DDR5 Unbuffered DIMM)資料匯流排寬度為 64 bits64\text{ bits},通常由 88 顆 ×8\times 8 的 DRAM 晶片組成。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 3 題

A system employs various techniques to maximize memory bandwidth and minimize latency, including memory banks, interleaving, and multiple memory channels. Given this context, which of the following statements accurately describe the interaction and impact of memory banks and related memory parallelism techniques on overall system performance?
A. Memory banks allow for simultaneous access to different memory locations, increasing memory bandwidth.
B. More memory banks always result in higher performance, regardless of access patterns.
C. Interleaving distributes consecutive addresses across banks to maximize parallel access during sequential reads/writes.
D. Memory parallelism techniques, such as using multiple memory channels, are independent of the concept of memory banks.
E. None of the above

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查計算機組織與結構中**記憶體平行度(Memory Parallelism)與記憶體階層(Memory Hierarchy)**優化技術,核心觀念包含:

  1. 記憶體庫(Memory Banks):將主記憶體分割成多個獨立的可定址子模組(Bank)。當存取不同 Bank 時,各 Bank 的控制電路與記憶陣列可平行或重疊(Overlapped)處理讀寫要求,從而提供更高的記憶體頻寬(Memory Bandwidth)。
  2. 記憶體交錯(Memory Interleaving):將連續的記憶體位址交錯分配至不同的 Bank(如位址 kk 映射至 Bank k mod Nk \bmod N),使連續存取(Sequential Access)能落入不同 Bank,最大化並行存取能力並降低平均存取延遲(Latency)。
  3. 記憶體衝突(Bank Conflict):若存取模式(Access Pattern)使得多次請求集中在同一個 Bank,則後續請求必須等待前一次存取的預充電(Precharge)與活化(Activate)週期結束,導致平行度喪失與效能瓶頸。
  4. 多通道架構(Multiple Memory Channels):記憶體平行度呈現多層次架構(Channel →\rightarrow Rank →\rightarrow Bank →\rightarrow Row/Column)。Memory Channels 擁有獨立的實體位址、資料與控制匯流排(Bus),與 Bank 共同構成整體記憶體系統的平行存取機制,兩者在位址解碼與系統設計上密切相關。

解題方法

針對記憶體平行性技術的觀念題,解題切入點如下:

  1. 分析 Memory Banks 的基本物理特性與運作機制:評估是否能對不同 Bank 進行同步/重疊存取以提升頻寬。
  2. 檢驗「極端化量詞」(如 always, regardless of):評估存取模式(Access Pattern)、Bank Conflict 及硬體開銷對效能的影響。
  3. 確認 Memory Interleaving 的定義與目標:檢查其是否透過將連續位址散佈至不同 Bank 來發揮空間局部性(Spatial Locality)。
  4. 剖析 Memory Hierarchy 平行度架構:評估 Memory Channels 與 Memory Banks 在系統設計上的階層關係與關聯性。

選項分析

  • A. 正確。Memory Banks 是記憶體內部的獨立儲存陣列,擁有各自獨立的存取解碼電路與暫存器。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 4 題

Which of the following statements are true?
A. The number of bits in a virtual address determines the maximum addressable memory space.
B. Usually, a single-level page table is more memory-efficient than a multi-level page table.
C. For a system with a 32-bit virtual address and 8 KB page size, the page table must store 2^20 entries in a single-level page table.
D. Multi-level page tables increase address translation time compared to single-level page tables.
E. None of the above

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查作業系統(Operating System)中「分頁記憶體管理(Paging Memory Management)」的核心觀念與計算,包含以下四項重點:

  1. 虛擬位址與定址空間關係:若虛擬位址(Virtual Address)長度為 n bitsn\text{ bits},則該程序(Process)可定址的最大虛擬記憶體空間(Maximum Addressable Virtual Memory Space)為 2n2^n 個定址單位(通常為 Byte)。
  2. 頁表項目(Page Table Entries, PTE)數量計算:
    Page Offset Bits (d)=log⁡2(Page Size)\text{Page Offset Bits } (d) = \log_2(\text{Page Size})
    Page Number Bits (p)=Virtual Address Bits (N)−d\text{Page Number Bits } (p) = \text{Virtual Address Bits } (N) - d
    Single-level Page Table Entries=2p=2NPage Size\text{Single-level Page Table Entries} = 2^p = \frac{2^N}{\text{Page Size}}
  3. 頁表階層架構的空間效率(Memory Efficiency):單層頁表需配置連續且完整的頁表空間;多層頁表(Multi-level Page Table)採用動態階層結構,未使用的虛擬記憶體區域無需配置對應的下層頁表,能大幅節省記憶體。
  4. 位址轉換時間(Address Translation Time):當 TLB(Translation Lookaside Buffer)發生 Miss 時,單層頁表只需 11 次記憶體存取;kk 層頁表則需進行 kk 次記憶體存取(Page Table Walk),因此會增加轉譯延遲。

解題方法

  1. 邏輯判斷:針對觀念性選項(A、B、D、E),利用虛擬記憶體架構特徵與「以時間換取空間(Trade time for space)」的 Trade-off 原理進行分析。
  2. 數值推導:針對計算性選項(C),帶入給定數據推導單層頁表所需之 Entry 總數:
    • 虛擬位址位數 N=32 bitsN = 32\text{ bits}
    • 頁面大小 Page Size=8 KB=8×1024 Bytes=213 Bytes\text{Page Size} = 8\text{ KB} = 8 \times 1024\text{ Bytes} = 2^{13}\text{ Bytes}
    • 頁內偏移量位數 d=13 bitsd = 13\text{ bits}
    • 頁碼位數 p=32−13=19 bitsp = 32 - 13 = 19\text{ bits}
    • 單層頁表 Entry 數量為 2192^{19} 個。

選項分析

  • A. The number of bits in a virtual address determines the maximum addressable memory space.
    【正確】 虛擬位址的位數 nn 決定了 CPU 所能產生的最大虛擬位址組合數 2n2^n,因此決定了該程序最大可定址的虛擬記憶體空間大小。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 5 題

In modern computer architecture, the increasing gap between CPU processing speeds and the rate at which data can be accessed from main memory has created a significant bottleneck. This bottleneck impacts overall system performance and has led to the development of various techniques to mitigate its effects. Considering the challenges posed by this bottleneck, which of the following statements are correct?
A. The memory wall is solved by simply increasing the amount of RAM in a system.
B. The memory wall refers to the increasing disparity between CPU processing speed and memory access speed.
C. In-memory computing is only applicable to small datasets that can fit entirely within the CPU cache.
D. Both in-memory computing and near-data processing aim to reduce the impact of the memory wall by minimizing data movement.
E. None of the above

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

  • 記憶體牆(Memory Wall):指 CPU 處理速度(Clock Rate / Instruction Throughput)的成長率遠高於動態隨機存取記憶體(DRAM)存取速度(Latency / Bandwidth)的成長率,導致 CPU 在執行過程中頻繁等待資料傳輸,形成系統效能瓶頸。
  • 馮紐曼瓶頸(von Neumann Bottleneck)與資料搬移:在傳統馮紐曼架構下,處理器與記憶體分開,資料搬移(Data Movement)所消耗的延遲與功耗已遠高於算術邏輯運算本身。
  • 近資料處理(Near-Data Processing, NDP)與記憶體內計算(In-Memory Computing, IMC / Processing-in-Memory, PIM):新型非馮紐曼計算架構,兩者核心思維皆為「計算靠近資料(Bringing Computation to Data)」,透過直接在記憶體內部或邊緣執行運算,最小化匯流排上的資料搬移量。

解題方法

本題屬於計算機組織與結構中關於「記憶體階層(Memory Hierarchy)」與「前沿計算架構」的觀念理解題。解題切入點如下:

  1. 區分「速度落差」與「容量限制」:記憶體牆本質上是「時間/延遲(Latency)」與「頻寬(Bandwidth)」問題,而非記憶體「容量(Capacity)」問題。
  2. 掌握新型架構之設計目的:IMC 與 NDP 均為了解決 CPU-Memory 之間的匯流排傳輸瓶頸而設計,其基本手段即為「減少資料搬移(Minimizing Data Movement)」。

選項分析

  • A. 錯誤。
    記憶體牆問題源於 CPU 運算速度與 DRAM 存取延遲之間的成長率落差。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 6 題

What is the primary purpose of forwarding (bypassing) in a pipelined processor?
A. To reduce the clock cycle time.
B. To eliminate structural hazards.
C. To reduce data hazard stalls.
D. To predict branch outcomes more accurately.
E. None of the above.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查計算機組織中管線化處理器(Pipelined Processor)處理解決**資料冒險(Data Hazard)**的核心機制——前遞 / 前轉(Forwarding / Bypassing)。

在傳統的 RISC 5 階段管線(IF, ID, EX, MEM, WB)中,當後續指令需要的來源運算元(Source Operand)尚未由前面指令寫回暫存器檔案(Register File)時,即發生「讀先於寫」(Read-After-Write, RAW)的資料相依性。若完全仰賴暫存器寫回與讀取,將產生數個時脈週期的管線停頓(Stalls / Bubbles)。

前遞(Forwarding) 的定義與機制:

  • 運作方式:利用額外的多工器(Multiplexers)與控制邏輯(Forwarding Unit),將前面指令在執行階段(EX)或記憶體存取階段(MEM)產生的運算結果,拉出一條專用資料路徑(Bypassing Path),直接傳送給後續指令在 EX 階段作為輸入運算元。
  • 主要目的:避免或減少因 RAW 資料相依所引發的管線停頓(Stalls),使指令平均時脈週期數(CPI\text{CPI})儘可能接近理想值 11。

解題方法

解題切入點在於精確區分管線處理器三大冒險類型(Structural, Data, Control Hazards)及其對應的解決方案:

  1. 結構冒險(Structural Hazard):硬體資源衝突 →\rightarrow 解決方式為增加獨立硬體元件(如哈佛結構:獨立的指令記憶體與資料記憶體、多埠暫存器檔案)。
  2. 資料冒險(Data Hazard):運算元尚未更新 →\rightarrow 解決方式為**前遞(Forwarding)**與管線插入停頓(Stall)。
  3. 控制冒險(Control Hazard):分支指令決策未定 →\rightarrow 解決方式為分支預測(Branch Prediction)、延遲分支(Delayed Branch)或清空管線(Flush)。

由此可知,Forwarding 的核心作用為解決資料冒險並減少其所造成的停頓,因此選項 C 為正確答案。


選項分析

  • A. To reduce the clock cycle time.(錯誤)
    前遞機制需要在 ALU 的輸入端加入多工器與比較邏輯電路,這會微幅增加關鍵路徑(Critical Path)的電路延遲,可能使時脈週期時間(Clock Cycle Time
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 7 題

Which of the following is a characteristic of a structural hazard?
A. It occurs when an instruction depends on the result of a previous instruction.
B. It arises when the pipeline needs to fetch the wrong instruction.
C. It occurs when multiple instructions require the same hardware resource at the same time.
D. It occurs when an instruction modifies the PC.
E. None of the above

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

在計算機組織(Computer Architecture)中,管線冒險(Pipeline Hazards)是指在指令管線化執行過程中,導致下一條指令無法在預定的時脈週期(Clock Cycle)內順利執行的狀況。冒險主要分為三大類:

  1. 結構冒險(Structural Hazard):當硬體資源不符合指令組合的需求時發生。亦即在同一個時脈週期內,多條指令試圖同時使用同一個硬體資源(例如單一埠記憶體、單一 ALU)。
  2. 資料冒險(Data Hazard):當指令在管線中執行時,其所依賴的資料尚未準備好(即存在資料相依性 Data Dependency)。
  3. 控制冒險(Control Hazard):當管線需要根據分支指令的結果來決定下一條要執行的指令,但在結果確定前已經讀取了其他指令,導致可能擷取並執行錯誤指令。

解題方法

本題切入點為精確對照管線冒險的三種定義:

  • 關鍵字「資源競爭 / 硬體資源(Hardware Resource)」對應 結構冒險。
  • 關鍵字「資料相依 / 依賴結果(Depends on result)」對應 資料冒險。
  • 關鍵字「分支 / 擷取錯誤指令 / 修改 PC(Fetch wrong instruction / Modify PC)」對應 控制冒險。

直接對應選項敘述即可判斷。


🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 8 題

Which of the following are common techniques for resolving data hazards in pipelined processors?
A. Forwarding (bypassing)
B. Stalling (inserting bubbles)
C. Branch prediction
D. Code scheduling
E. None of the above

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題評量處理器管線化(Pipelining)設計中,針對**資料冒險(Data Hazard)**的解決技術。

管線冒險(Pipeline Hazard)主要分為三大類:

  1. 結構冒險(Structural Hazard):硬體資源不足,無法同時支援多條指令執行。
  2. 資料冒險(Data Hazard):指令間存在資料相依性(Data Dependency),後續指令需讀取尚未更新的暫存器資料(最常見為寫後讀 RAW, Read After Write)。
  3. 控制冒險(Control Hazard):分支指令(Branch/Jump)尚未確定跳躍與否,導致無法確定下一條取指(Fetch)位址。

在計算機組織中,消除或緩解資料冒險的主要技術包含硬體技術(前傳與停頓)與軟體技術(編譯器程式碼排程)。


解題方法

本題的解題核心在於精確區分「資料冒險」與「控制冒險」的解決對策:

  • 解決資料冒險:目標是讓運算結果儘快傳遞給依賴該結果的後續指令,或暫緩後續指令的執行。包含 Forwarding(硬體)、Stalling(硬體/軟體)與 Code Scheduling(軟體編譯器)。
  • 解決控制冒險:目標是預測或儘早確定分支結果。包含 Branch Prediction、Delayed Branch 與 Branch Target Buffer (BTB)。

比對各選項技術所適用之冒險類型,即可判斷其正確性。


選項分析

  • A. Forwarding (bypassing):正確。
    前傳(或稱旁路技術)是在硬體中建立額外的資料路徑與多工器(Multiplexer)。當 ALU 計算出結果(EX 階段)或記憶體讀取完成資料(MEM 階段)後,直接將資料轉發給下一條指令的 ALU 輸入端,無須等待資料寫回暫存器檔案(Register File),是解決 RAW 資料冒險最主要且高效的硬體手段。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 9 題

Why is it important to consider associativity in parallel programming when working with floating-point arithmetic?
A. Because integer arithmetic is not associative.
B. Because the order of floating-point operations can affect the results.
C. To optimize the execution on multiple cores.
D. To reduce the amount of data to be exchanged between threads.
E. None of the above

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考驗計算機組織與平行程式設計中的核心觀念:IEEE 754 浮點數算術不滿足結合律(Non-associativity of Floating-Point Arithmetic)。

在計算機系統中,整數算術(如二補數運算)滿足加法與乘法的結合律;但浮點數由於受限於有限的尾數位元數(Finite-precision Mantissa/Significand),每次算術運算後都必須進行捨入(Rounding)。因此,浮點數加法與乘法在一般情況下不滿足結合律:

(a+b)+c≠a+(b+c)(a + b) + c \neq a + (b + c)

在平行程式設計中(如多執行緒歸約運算 Parallel Reduction),資料被拆分至不同核心執行,其計算順序往往會根據執行緒排程或樹狀歸約結構而改變。若忽略結合律的影響,不同的平行執行順序將導致中間捨入結果不同,進而產生不同的最終結果(非確定性結果,Non-deterministic results)。


解題方法

  1. 浮點數有限精確度與捨入誤差:
    浮點數採用 IEEE 754 標準格式表示(例如單精確度 Float32 包含 23 位尾數)。當兩個數量級懸殊的數相加時,指數較小的數必須進行對階(Alignment)向右移位,超出的低位位元會被捨棄,這稱為大數吃小數(Absorption)或截斷/捨入誤差。

  2. 平行運算順序對結果的影響:
    在單執行緒序列程式中,累加運算通常由左至右依序進行:
    Sumseq=((a1+a2)+a3)+a4\text{Sum}_{\text{seq}} = ((a_1 + a_2) + a_3) + a_4
    但在多執行緒平行程式中,為了提升平行度,常採用樹狀歸約(Tree Reduction):
    Sumpar=(a1+a2)+(a3+a4)\text{Sum}_{\text{par}} = (a_1 + a_2) + (a_3 + a_4)
    由於浮點數不具結合律,Sumseq\text{Sum}_{\text{seq}} 與 Sumpar\text{Sum}_{\text{par}} 的中間運算捨入點不同,最終計算結果會產生微幅差異。

  3. 切入點判斷:
    平行程式設計時必須考量結合律的根本原因,是為了避免因為執行緒分配或平行架構改變了操作順序(Order of Operations),從而影響最終算術結果的精確性與可重複性(Reproducibility)。


選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 10 題

What is the purpose of adding a bias to the exponent in a floating-point representation?
A. To increase the range of representable numbers.
B. To simplify the arithmetic operations.
C. To reduce the amount of storage space needed for exponents.
D. To allow easy comparison of floating-point numbers as if they were integers.
E. None of the above

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

在 IEEE 754 浮點數標準表示法中,一個二進位浮點數 VV 的數值計算公式為:
V=(−1)S×(1+F)×2E−BiasV = (-1)^S \times (1 + F) \times 2^{E - \text{Bias}}

其中各欄位與定義如下:

  • SS(Sign):符號位元,占 11 位元(00 表示正數,11 表示負數)。
  • EE(Biased Exponent):偏置指數欄位,為一個無符號整數(Unsigned Integer)。
  • FF(Fraction / Mantissa):尾數欄位。
  • Bias\text{Bias}(偏置量):固定常數。以單精度(Single Precision, 32-bit)為例,指數欄位占 88 位元,Bias=28−1−1=127\text{Bias} = 2^{8-1} - 1 = 127;雙精度(Double Precision, 64-bit)指數欄位占 1111 位元,Bias=210−1=1023\text{Bias} = 2^{10} - 1 = 1023。
  • E−BiasE - \text{Bias}:實際的指數值(Actual Exponent)。

偏置指數(Biased Exponent / Excess-k Notation)設計目的:
實際指數(Actual Exponent)包含正數與負數(例如單精度正規化數的實際指數範圍為 −126-126 到 +127+127)。若採用二補數(Two's Complement)來儲存負指數,在比較兩個浮點數的大小時,負指數的高位元為 1,正指數的高位元為 0,這會破壞二進位數值大小與位元串大小的單調對應關係。

為了讓硬體能以最快速的方式比較浮點數大小,IEEE 754 透過加上一個固定偏置量 Bias\text{Bias},將可能的負指數全部平移(Shift)為非負的無符號整數。如此一來,偏置指數 EE 的大小順序即代表真實指數的大小順序。


解題方法

分析浮點數在記憶體中的位元配置(Bit Layout):
MSB[ 符號位元 S∣ 偏置指數 E∣ 尾數 F]LSB\text{MSB} \quad [ \text{ 符號位元 } S \mid \text{ 偏置指數 } E \mid \text{ 尾數 } F ] \quad \text{LSB}

比較兩個同符號的浮點數大小時,邏輯順序為:

  1. 先比較指數的大小(數量級)。
  2. 若指數相同,再比較尾數的大小。

由於 IEEE 754 將符號位元放在最高位(MSB)、偏置指數放在中段、尾數放在最低位(LSB),且偏置指數 EE 是一個非負的無符號整數:

  • 實際指數越大 →\rightarrow 偏置指數 EE 的二進位數值越大。
  • 實際指數越小 →\rightarrow 偏置指數 EE 的二進位數值越小。

這種設計使得兩個正浮點數的二進位位元串順序,與將該位元串直接視為「一般二進位整數」時的比較結果完全一致。因此,計算機硬體可以直接復用現成的**整數比較器(Integer Comparator)**來比較浮點數的大小,無需額外設計複雜的解碼電路。


選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 11 題

Choose the correct statements from the multiple choices
A. A TLB caches translations from frame numbers to page numbers.
B. TLBs are more beneficial with multi-level page tables than with single-level page tables.
C. The number of pages is always identical to the number of frames.
D. Each thread has its own page table.
E. None of the above.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題旨在測驗作業系統中虛擬記憶體(Virtual Memory)、**分頁機制(Paging)與轉譯後備緩衝區(Translation Lookaside Buffer, TLB)**的運作原理與設計考量,涵蓋以下關鍵概念:

  1. TLB 的角色與對射方向:TLB 是一種高速快取(Cache),儲存「虛擬頁碼(Virtual Page Number, VPN)」到「實體頁框號碼(Physical Frame Number, PFN)」的對應關係。
  2. 多層頁表(Multi-level Page Table)與 TLB 的效益:多層頁表可節省頁表佔用的記憶體空間,但代價是增加 TLB Miss 時存取記憶體的次數。因此階層數越多,TLB Hit 所帶來的效能提升越顯著。
  3. 虛擬定址空間與實體記憶體空間之獨立性:虛擬頁(Page)與實體頁框(Frame)大小雖然相同,但頁(Pages)的總數取決於虛擬位址空間大小,頁框(Frames)的總數則取決於實體記憶體(RAM)的大小,兩者無必然相等的關係。
  4. 行程(Process)與執行緒(Thread)的資源共享:同一行程內的所有執行緒共享相同的虛擬位址空間與同一張頁表(Page Table),只有行程切換(Context Switch)時才會更換頁表。

解題方法

解決本題的關鍵切入點在於逐一比對記憶體管理單元(MMU)的標準架構與設計邏輯:

  1. 定義轉譯對應關係:虛擬位址由 CPU 產生,包含 Page Number;實體位址傳給主記憶體,包含 Frame Number。TLB 的目的為加速「虛擬位址 →\rightarrow 實體位址」的轉換,即由 Page Number 查出 Frame Number。
  2. 定量分析記憶體存取延遲:
    • 設實體記憶體存取時間為 tmt_m,TLB 搜尋時間為 ttlbt_{tlb}。
    • 單層頁表(Single-level Page Table):
      • TLB Miss 時,需先存取 1 次頁表,再存取 1 次目標資料,總共花費 2tm2 t_m。
    • NN 層頁表(NN-level Page Table):
      • TLB Miss 時,需走訪 NN 層頁表(存取 NN 次記憶體),再存取 1 次目標資料,總共花費 (N+1)tm(N + 1) t_m。
    • 由此可見,階層數 NN 越大,TLB Miss 的懲罰(Memory Access Overhead)越高;反之,TLB Hit 能避免掉的記憶體存取次數就越多(從 NN 次降為 00 次),故 TLB 在多層頁表系統中的效益更為顯著。
  3. 辨析 Thread 與 Process 的結構差異:Thread 的定義為輕量級進程(Lightweight Process),其關鍵特徵即為與同行程的其他執行緒共享 Address Space(包括 Code segment, Data segment, Page Table 等)。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 12 題

Choose the correct statements from the multiple choices
A. The Banker's Algorithm is an example of a technique for deadlock avoidance.
B. A deadlock-free solution is guaranteed to be starvation-free.
C. A context switch always involves updating the page table, whether it is between processes or threads.
D. Average context switching overhead for threads is usually less than average context switching overhead for processes.
E. None of the above.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查死結處理、飢餓,以及行程與執行緒切換的成本。

  • 死結避免(deadlock avoidance):系統在授予資源前,先判斷授予後是否仍處於安全狀態;若會進入不安全狀態,就延後授予。
  • 死結自由(deadlock-free):系統不會讓一組行程永久互相等待而形成死結。這不代表每個行程都能在有限時間內取得資源。
  • 行程(process)與執行緒(thread):同一行程內的執行緒通常共享位址空間;不同行程通常有各自的位址空間。切換時需要保存與還原執行狀態,而切換位址空間可能需要更新頁表相關狀態。

解題方法

逐項檢查敘述是否符合作業系統的定義與一般機制:

  1. 判斷演算法是否在資源分配前檢查安全狀態。
  2. 區分「避免死結」與「避免飢餓」:兩者保證的性質不同。
  3. 判斷執行緒切換是否跨越行程位址空間。
  4. 比較行程切換與同一行程內執行緒切換通常需要處理的狀態。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 13 題

Choose the correct statements from the multiple choices
A. Little's Law cannot be applied to a system with multiple queues.
B. Pull migration occurs when an idle processor pulls a waiting task from a busy processor.
C. Push migration and pull migration do not need to be mutually exclusive on load-balancing systems.
D. Push migration often enhances the benefits of processor affinity.
E. None of the above.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題主要考查作業系統與計算機組織中的兩大核心主題:

  1. 多處理器排程中的負載平衡(Load Balancing in Multiple-Processor Scheduling):包含推式遷移(Push Migration)、拉式遷移(Pull Migration)的定義與互動機制,以及負載平衡與處理器親和性(Processor Affinity)之間的權衡(Trade-off)。
  2. 排程與佇列理論中的利特爾法則(Little's Law):理解 Little's Law 的適用條件與一般性(Generality)。

解題方法

  1. 利特爾法則(Little's Law)之適用性:
    利特爾法則公式為 N=λ×WN = \lambda \times W(其中 NN 為系統內平均任務數,λ\lambda 為平均到達率,WW 為任務在系統內的平均停留時間)。此定理在系統達到穩定狀態(Steady State)下成立,其極強的一般性在於完全不限制系統內部的結構(不論是單一佇列、多佇列系統,或是複雜的網路佇列均適用)。
  2. 推式與拉式遷移機制(Push vs. Pull Migration):
    在對稱多處理器(SMP)系統中,負載平衡主要有兩種策略:
    • Pull Migration(拉式遷移):當某個處理器進入閒置(Idle)狀態時,主動從其他繁忙處理器的執行佇列中「拉取(Pull)」等待中的任務過來執行。
    • Push Migration(推式遷移):系統透過定期執行的背景任務或監控程序,主動檢查各處理器的負載狀況;若發現負載不均,則將任務從過載處理器「推向(Push)」較空閒的處理器。
      此兩者在實際作業系統(如 Linux 多核心排程器)中常同時並存與配合使用,並非互斥關係。
  3. 處理器親和性(Processor Affinity):
    當程序在特定處理器上執行時,快取記憶體(Cache Memory)會累積該程序的資料(Warm Cache)。若發生程序遷移(Migration,無論 Push 或 Pull),程序被搬移至另一處理器執行時將面臨快取失誤(Cache Miss),導致快取必須重新加載(Cold Cache)。因此,負載平衡引起的遷移會削弱(Counteract/Diminish)處理器親和性所帶來的效能效益。

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 14 題

Choose the correct statements from the multiple choices
A. The virtual memory manager runs the guest operating systems, manages their resource use, and protects each guest from the others.
B. In paravirtualization, the guest operating system has direct control over hardware resources.
C. Paravirtualization presents the guest with a system that is identical to the guest's preferred system.
D. The guest must be modified to run on the paravirtualized virtual hardware.
E. None of the above.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查作業系統中**虛擬化技術(Virtualization)**的基本架構與分類,主要涵蓋以下核心觀念:

  1. 虛擬機器監視器(Virtual Machine Monitor, VMM / Hypervisor):負責管理實體硬體資源、建立虛擬機器並提供 Guest OS 隔離保護機制的關鍵核心元件。
  2. 完全虛擬化(Full Virtualization):提供與底層實體硬體完全相同(identical)的虛擬介面,Guest OS **無須修改(Unmodified)**即可直接執行。
  3. 半虛擬化(Paravirtualization):提供與硬體相似但不完全相同(similar, but not identical)的虛擬介面,Guest OS **必須修改(Modified)**原始碼,將敏感或非虛擬化指令改以 Hypercall(超級呼叫) 方式傳遞給 VMM 處理,藉此換取更高的執行效率。

解題方法

解答本題的切入點在於精確區分虛擬化管理層的專有名詞以及各類虛擬化架構的設計差異:

  1. 區分管理軟體名稱:作業系統中用於管理 Guest OS 並進行資源隔離的元件為 Virtual Machine Monitor(VMM) 或 Hypervisor;而 Virtual Memory Manager 是傳統作業系統中負責分頁與記憶體映射的「虛擬記憶體管理員」,兩者功能截然不同。
  2. 比對半虛擬化(Paravirtualization)特質:半虛擬化放棄了「對 Guest OS 完全隱藏虛擬化層」的想法,改為讓 Guest OS 知曉自身的虛擬化狀態。因此 Guest OS 必須經過修改,以便與 VMM 透過 Hypercall 進行協作,且硬體掌控權仍歸 VMM 所有。

選項分析

  • A. 錯誤:負責執行 Guest OS、分配資源並確保各 Guest OS 相互隔離的軟體層是 **Virtual Machine Monitor(VMM,虛擬機器監視器)
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 15 題

Choose the correct statements from the multiple choices
A. Buffer-overflow attacks can occur within communication protocols.
B. Breach of confidentiality involves unauthorized modification of data.
C. A worm is a process that uses the spawn mechanism to duplicate itself.
D. The DOS attacks are aimed at breaking a target host and stealing its resources.
E. None of the above.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查**作業系統安全(Operating System Security)與程式與系統威脅(Program and System Threats)**的核心概念,涵蓋以下關鍵定義:

  1. 緩衝區溢位攻擊(Buffer-Overflow Attack):發生於程式未正確檢查輸入資料長度,導致寫入資料超越預留緩衝區邊界。此類漏洞不僅存在於單機應用程式,亦廣泛存在於通訊協定(Communication Protocols)的實作與解析 logic 中。
  2. 資訊安全三要素(CIA Triad):
    • 機密性(Confidentiality):防止未授權的資料讀取與洩漏(Unauthorized Reading/Disclosure)。
    • 完整性(Integrity):防止未授權的資料修改或破壞(Unauthorized Modification)。
    • 可用性(Availability):確保授權使用者能正常存取系統資源。
  3. 蠕蟲(Worm):一種能獨立運作的惡意程序(Process),利用作業系統的衍生機制(Spawn Mechanism)建立自身的複製本,並透過網路自我傳播。
  4. 阻斷服務攻擊(Denial of Service, DoS):旨在耗盡目標系統資源以癱瘓服務(使合法使用者無法存取),而非以竊取系統資源或資料為目的。

解題方法

本題為觀念辨析題,切入點為比對作業系統經典教材(Silberschatz《Operating System Concepts》)中關於系統安全與惡意軟體的標準定義:

  1. 審視各選項敘述是否符合作業系統安全的標準定義與威脅分類。
  2. 辨識考題常見的混淆手法(如:將「完整性」的定義誤植為「機密性」;將 DoS 的「癱瘓服務」誤植為「資源竊取」)。
  3. 對每一選項進行逐一嚴密分析與核對。

選項分析

  • (A) 正確:緩衝區溢位攻擊可發生於通訊協定中。當通訊協定實作(如 TCP/IP 協定堆疊解析器、TLS/SSL 協定、RPC 服務)未適當檢查傳入封包長度標頭時,攻擊者可傳送特製過長封包引發緩
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 16 題

Choose the correct statements from the multiple choices
A. Each container includes the application, the necessary binaries and libraries and an entire guest operating system.
B. Containers running on a single machine all share the same operating system kernel.
C. Virtual machine run as an isolated process in user space on the host operating system.
D. Containers are lightweight than virtual machines.
E. None of the above.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查作業系統中**虛擬化技術(Virtualization)與容器化技術(Containerization)**的架構差異與核心特性比較。

  1. 虛擬機器(Virtual Machine, VM):

    • 屬於硬體層級的虛擬化(Hardware-level Virtualization)。
    • 由 Hypervisor(虛擬機器監視器, VMM) 在實體硬體與虛擬機器之間建立抽象層,為每個 VM 模擬獨立的硬體環境(如 CPU、RAM、I/O 裝置)。
    • 每個 VM 內部皆須安裝獨立且完整的 Guest Operating System(客體作業系統),並在 Guest OS 上執行應用程式。
  2. 容器(Container):

    • 屬於作業系統層級的虛擬化(OS-level Virtualization)。
    • 容器不需要 Hypervisor 來模擬硬體,亦不需要獨立的 Guest OS。
    • 所有容器在同一台主機上運作時,皆共享底層 Host Operating System Kernel(主體作業系統核心)。
    • 容器透過 Linux 核心提供的 Namespaces(提供 PID、Network、Mount 等資源隔離)與 Control Groups (cgroups)(提供 CPU、Memory 等資源限額)技術,將應用程式及其相依的 binaries/libraries 包裝成在使用者空間(User Space)中隔離執行的程序(Isolated Process)。

解題方法

比較虛擬機器與容器時,可從以下三個關鍵維度切入判斷:

  1. 作業系統核心(Kernel):VM 各自擁有獨立的 Guest OS Kernel;Container 則共享 Host OS Kernel。
  2. 隔離與架構層級:VM 隔離於硬體抽象層;Container 隔離於 OS 的 User Space 程序層級。
  3. 資源開銷與效能(Overhead & Lightweight):VM 因載入完整 Guest OS 且需硬體模擬,檔案體積大(數 GB)、啟動慢(數十秒)、資源消耗較高;Container 僅含應用程式與相依庫,體積小(數 MB)、啟動快(數毫秒至秒級),具備顯著的**輕量化(Lightweight)**特點。

對照各選項敘述,逐一審視其對 Container 與 VM 特性的描述是否正確。


選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 17 題

What are the purpose of the separation of mechanism and policy?
A. Easy to programming
B. Systems are easy to modify
C. Flexibility to suit its needs
D. Increasing utilization
E. Quick and fast system response

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查作業系統設計(System Design)中極為重要的架構原則——機制與政策的分離(Separation of Mechanism and Policy):

  • 機制(Mechanism):回答「How to do(如何做)」,代表系統提供某項基本功能所需的底層工具、結構與硬體控制程式碼。例如:Context Switch 的執行流程、 Timer Interrupt 的觸發機制、 Page Table 的轉換過程。
  • 政策(Policy):回答「What to do(做什麼)」,代表在特定情境下系統決定如何運作的決策邏輯、規則與演算法。例如:CPU 排程演算法選擇(SJF、Round Robin)、快取淘汰策略(LRU、FIFO)。

將政策與機制解耦(Decoupling),是打造一般用途作業系統(General-Purpose OS)與可擴展模組化架構的核心設計思想。


解題方法

根據作業系統權威教材(Silberschatz 等著《Operating System Concepts》)的定義,分離 Mechanism 與 Policy 的主要優點包含:

  1. 提供系統適應需求的彈性(Flexibility):不同的應用場景(例如:即時系統 vs. 伺服器批次處理系統)對於資源分配的需求截然不同。將機制與政策分離後,系統可在不改動底層機制的前提下,靈活切換或替換政策以滿足不同需求。
  2. 提高系統維護與修改的便利性(Easy to Modify):當政策隨著時間或需求發生變更時,開發者僅需修改高層的政策規則,不必重新設計或重新編譯龐大的底層機制 code,降低系統維護成本與風險。

本題切入點即為檢視上述兩大核心好處與選項的對應關係。


選項分析

  • A. Easy to programming(錯誤)
    將機制與政策分離需要在架構設計上引進額外的抽象層(Abstraction Layer)與介面(Interface),這增加了初期開發的設計複雜度,並不會直接使程式撰寫變簡單(Easy to programming)。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 18 題

Choose the correct statements from the multiple choices
A. Process-contention scope involves the decision of which kernel thread to schedule onto which CPU.
B. PCS will typically preempt the thread currently running in favor of a higher-priority thread.
C. Priority inversion occurs when lower-priority process holds a lock needed by higher-priority process.
D. A race condition results when several threads try to access the same data concurrently.
E. None of the above.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查作業系統(Operating System Concepts)中執行緒排班範圍(Thread Scheduling Scopes)、**優先權逆轉(Priority Inversion)與競態條件(Race Condition)**的標準定義與運作機制:

  1. 執行緒排班範圍(Thread Scheduling Scopes):
    • 行程爭用範圍(Process-Contention Scope, PCS):在多對一(M:1)或多對多(M:N)的執行緒模型中,由使用者層級的執行緒程式庫(Thread Library)負責將使用者執行緒(User-level thread)排班調度到可用的 LWP(Lightweight Process)或核心執行緒上。
    • 系統爭用範圍(System-Contention Scope, SCS):由作業系統核心(Kernel)負責將核心執行緒(Kernel thread)排班調度到實體 CPU 核心上執行。
  2. 優先權逆轉(Priority Inversion):
    • 當高優先權行程(或執行緒)因為等待低優先權行程所持有的鎖(Lock)或資源而被迫進入阻塞狀態時,若此時中優先權行程搶佔了低優先權行程,將導致高優先權行程被迫等待中優先權行程執行完畢。此種「高優先權受制於低/中優先權」的現象即為優先權逆轉。
  3. 競態條件(Race Condition):
    • 多個執行緒或行程同時存取**並且修改(Manipulate/Write)**共享資料,且最後的執行結果取決於執行存取的特定時間與順序(Order of Execution)。

解題方法

本題依據經典作業系統權威教科書(Silberschatz et al., Operating System Concepts)之嚴謹定義切入,逐項剖析各陳述之正確性:

  1. 比對 PCS 與 SCS 在排班對象與硬體資源層級上的差異。
  2. 檢視 PCS 的排班與搶佔機制(Preemption)。
  3. 判定優先權逆轉發生的必要條件與鎖定(Lock)資源之因果關係。
  4. 審視競態條件定義中「存取(Access)」與「修改(Manipulate)」的邊界關係。

選項分析

  • (A) 錯誤
    • 原文:Process-contention scope involves the decision of which kernel thread to schedule onto which CPU.
    • 解析:決定將哪一個核心執行緒(Kernel thread)排班到哪一個 CPU 上的決策屬於系統爭用範圍(System-Contention Scope, SCS),而非行程爭用範圍(PCS)。PCS 僅發生在使用者空間(User Space),由執行緒庫將使用者執行緒調度至 LWP。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 19 題

Choose the correct statements from the multiple choices
A. The valid-invalid bit is adopted to reduce the overhead of page transfers.
B. Only one process may be active within the monitor at a time.
C. The Banker's Algorithm is an example of a technique for deadlock prevention.
D. Copy-on-Write allows more efficient process creation.
E. None of the above.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題涵蓋作業系統(Operating Systems)四大重要主題:

  1. 虛擬記憶體與頁表控制位元(Paging & Control Bits):區分 Valid-invalid bit(有效/無效位元)與 Modify bit / Dirty bit(修改位元)的功能與設計目的。
  2. 行程同步機制(Process Synchronization):Monitor(管程)的高階抽象化定義與內建互斥(Mutual Exclusion)特性。
  3. 死鎖處理策略(Deadlock Handling Strategies):區分死鎖預防(Deadlock Prevention)與死鎖避免(Deadlock Avoidance)的定義差異及代表性演算法。
  4. 行程建立優化(Process Creation & Management):Copy-on-Write(寫時複製,COW)技術對 fork() 效能的提升機制。

解題方法

本題為觀念判斷題(多選題/複選題性質)。切入點在於精確檢視各選項英文敘述中的關鍵專有名詞與作業系統機制是否相符:

  • 選項 A:檢查 Valid-invalid bit 的真實作用。Valid-invalid bit 用於標示頁面是否在記憶體中或是否合法,減少分頁傳輸開銷的應為 Dirty bit(Modify bit)。
  • 選項 B:依據 Monitor 的經典定義,Monitor 內部保證同一時間最多僅有一個 active process 執行。
  • 選項 C:釐清死鎖四大處理策略分類。Banker's Algorithm(銀行家演算法)屬於死鎖避免(Avoidance)而非預防(Prevention)。
  • 選項 D:檢視 Copy-on-Write (COW) 運作原理。COW 延後實體頁面複製的時間點,大幅節省 fork() 時的記憶體複製開銷,讓行程建立更有效率。

選項分析

  • A. 錯誤。
    Valid-invalid bit(有效/無效位元)的主要作用是記憶體保護與位址合法性檢查。在 Page Table 中,v 表示該頁面合法且已載入實體記憶體(Physical Memory),i 則表示該頁面不在行程的邏輯位址空間內,或尚未載入記憶體(引發 Page Fault)。
    真正用於**減少分頁傳輸開銷(reduce the overhead of page transfers)**的控制位元是 Modify bit(又稱 Dirty bit)。Dirty bit 紀錄該頁面自載入後是否曾被寫入修改;若頁面未被修改(Clean Page),在發生 Page Replacement 進行頁面淘汰時,可直接覆蓋而不需將其寫回(Write-back)磁碟,從而大幅減少 I/O 頁面傳輸開銷。

  • B. 正確。
    Monitor(管程)是一種高階同步抽象化構造(High-level Synchronization Construct)。

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 20 題

Which of the following instructions should be privileged?
A. Set value of timer.
B. Read the clock.
C. Clear memory.
D. Issue a trap instruction.
E. Turn off interrupts.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查作業系統與計算機組織中的**雙模式操作(Dual-Mode Operation)與特權指令(Privileged Instruction)**機制。

  • 雙模式操作(Dual-Mode Operation):現代 CPU 透過硬體旗標(如 Mode Bit)提供至少兩種執行模式:
    1. 使用者模式(User Mode):執行一般應用程式,存取權限受到限制。
    2. 核心模式(Kernel Mode / Supervisor Mode / Monitor Mode):作業系統核心執行的模式,具備對硬體資源的完全控制權。
  • 特權指令(Privileged Instruction):僅能在核心模式下執行的指令。若使用者模式下的程序試圖執行特權指令,CPU 硬體會立刻觸發陷阱(Trap / Exception),將控制權移交給作業系統核心處理並終止該違規程序。
  • 設計目的:保護作業系統核心與其他程序不受惡意或錯誤程序的破壞,確保系統的安全、記憶體隔離與多工搶佔能力。

解題方法

判斷一條指令是否應該被設計為特權指令,核心切入點在於評估:「若開放給一般使用者程序(User Mode)自由執行,是否會威脅系統安全或搶佔系統資源?」

具體評估標準如下:

  1. 資源獨佔性:該指令是否能阻止作業系統進行 CPU 排程或搶佔(Preemption)?
  2. 記憶體安全性:該指令是否能繞過記憶體保護機制,修改或破壞其他程序/核心的記憶體空間?
  3. 硬體控管權:該指令是否能直接更改系統關鍵硬體設定(如中斷控制器、計時器、I/O 裝置)?

若滿足上述任一條件,則該指令必須為特權指令;反之,若僅為讀取非敏感資訊或請求 OS 服務,則可為非特權指令。


選項分析

  • A. Set value of timer(設定計時器數值):應為特權指令(Privileged)

    • 原因:計時器(Timer)是作業系統實作搶佔式多工(Preemptive Multitasking)與時間分割(Time-sharing)的硬體基礎。當計時器倒數至 00 時會觸發中斷,讓 OS 進行上下文切換(Context Switch)。若使用者程序能隨意設定計時器,惡意程序即可將計時器設為極大值或關閉倒數,從而永久獨佔 CPU。因此設定計時器必須是特權指令。
  • B. Read the clock(讀取時鐘/系統時間):不應為特權指令(Non-privileged)

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

其他考古題