作業系統›Ch3 System Call 與虛擬機器第 2 題/共 10 題
2. System Call、Interrupt、DMA
#OS-03-002易System CallInterruptDMA
System calls are the interface between application programs and kernel. What descriptions about system calls are correct?
參考答案與解析
(a) System call的標準實作方式是透過一個特殊的trap(軟體中斷)指令,讓CPU切換到kernel mode並跳轉到中斷處理常式,這與硬體裝置產生的interrupt走的是相同機制,教科書(如Silberschatz)明確以「software interrupt」描述system call,正確。(b) 承(a),trap/software interrupt與硬體interrupt共用同一份interrupt vector table,不同的中斷/系統呼叫編號對應不同的服務常式(ISR),正確。(c) 當system call參數過多、暫存器不夠用時,標準作法就是把所有參數放進記憶體中的一個table,再把該table的位址當作單一參數傳給system call,這是教科書明確列出的三種參數傳遞方式之一,正確。(d) 當kernel與user program之間的記憶體搬移量很大時,確實可以借助DMA(或其衍生的memory-copy engine)來卸載搬移工作、降低CPU負擔,屬於zero-copy/減少CPU拷貝負擔的常見架構技巧,正確。
📄 交大110
▤完整推導請見《WH 資工筆記 · 作業系統》Ch3 System Call 與虛擬機器