看板 Grad-ProbAsk 關於我們 聯絡資訊
洪逸題庫第一份作業 6. choose the wrong statements e) when a system call is executed, it is treated by the software as a hardware interrupt. 答案有e請問e錯在哪裡 我翻了一下原文書interrupt放在蠻後面的也不知道這句哪裡有問題 21. For each instruction below, is it a protected instruction? B. modify the PC register (Program Counter) C. modify the SP register (stack pointer) 這兩個都是NO 可是如果PC跟SP被改到指向不屬於自己的memory space怎麼辦 還是memory protect的機制是實際上去存取的時候才會發生 這個只是間接改動,到時候真的存取的時候才會去啟動保護的機制 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.0.169 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1510717969.A.ED6.html
nat99up: 6e覺得寫的太混淆了 11/15 11:58
nat99up: 硬要說不同也只是trap大部分可以mask而已 11/15 11:59
nat99up: 21的話用計組角度去看就比較清楚 11/15 11:59
nat99up: 不可能每次branch或invoke subroutine都叫Os出來 11/15 12:00
nat99up: MMU會幫擋 11/15 12:00
shownlin: 21.如果這兩個是特權指令那jump跟activation record 都 11/15 12:01
shownlin: 不能了 11/15 12:01
21我想一想大概知道了畢竟只是寫reg,這樣j跟beq都要os做 6.e)因為我記得我前面才回過一個文的選項類似這樣 然後答案說TQQ ※ 編輯: TMDTMD2487 (134.208.0.169), 11/15/2017 12:05:21
shownlin: memory protection是在講base和limit register 11/15 12:03
etesia329: T大 6e就是我之前問的類似題,我自己的理解是:此題問 11/15 23:17
etesia329: 法是說,把syscall 當作software interrupt來「看待」 11/15 23:17
etesia329: 才對,而之前那題應該是單純說syscall的中斷發生後 其 11/15 23:17
etesia329: 所產生之hardware interrupt,不知道這樣說正不正確... 11/15 23:17
TWkobe: 21的想法你可以用組與看 sp當你呼叫procedure call需要保 11/22 22:18
TWkobe: 存參數時 你當然可以在user level改 11/22 22:19
TWkobe: 至於pc值 你使用jmp,branch也就是間接改了 11/22 22:19