Re: [理工] OS中 trap與exception有何不同?

看板Grad-ProbAsk作者 (Steven_Shie)時間12年前 (2011/08/24 00:40), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《thanksgive (乾溫)》之銘言: : 我想請問exception到底是由硬體還是軟體所引起? : 我在網路上的資料看到他說 : 依軟硬體中斷分: : software interrupt(軟體中斷):目前正執行的程式執行system call或指令有 : exceptions引起 : hardware interrupt(硬體中斷):由硬體元件透過中斷要求控制線到cpu,通知硬體中斷 : 發生 : 可是我在薛智文的作業系統書上看到 : "當使用者執行了不存在的指令、讀取不屬於此使用者的記憶體位址、 : 或是進行除以零的運算,硬體會發生錯誤訊號,使作業系統產生 : 例外中斷(exceptions),一種由硬體所觸發的中段,用來處理一些例外的狀態" : 請問到底是哪一個才是對的? : 1.除以零的運算 : 2.讀取不屬於此使用者的記憶體位址 : 是軟體還是硬體中斷?? : ※ 引述《thomsty (a happy day)》之銘言: : : 根據洪逸老師筆記中,interrupt與trap畫出一個比較表 : : 但關於exception僅在message passing簡短的被提到 : : 但還是不太明白 what is exception? : : 張凡老師所發的計組第一本裡面(p.198),有提到"例外"這一個詞 : : 但不管從哪裡看來都和洪逸筆記中的trap如出一轍 : : 請大家告訴我有什麼差別好嗎!! trap也是exception 在恐龍本裡面有講到 A trap (os an exception) is a software-generated interrupt caused either by an error (for example, division by zero or invalid memory access) or by a specific request from a user program that an operating-system service be performed 所以這些你說除以零的運算和讀取不屬於此使用者的記憶體位址 都算是軟體的中斷 希望有回答到你的疑問 =) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.133.188 ※ 編輯: steven1028 來自: 114.42.133.188 (08/24 00:42)

08/24 12:34, , 1F
就當沒看到薛的那段,thank you :)
08/24 12:34, 1F
文章代碼(AID): #1EKzW74T (Grad-ProbAsk)
文章代碼(AID): #1EKzW74T (Grad-ProbAsk)