------ 文章開始 ------

 作者  steven1028 (Steven_Shie)                            看板  Grad-ProbAsk 
 標題  Re: [理工] OS中 trap與exception有何不同?                               
 時間  Wed Aug 24 00:40:32 2011                                               
───────────────────────────────────────

※ 引述《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)


------ 文章結尾 ------

[複製網址] [開新視窗] [加到我的最愛] [檢舉短網址] [QR條碼]



服務條款 - 完全手冊 - 加入會員(免費) - 聯絡偶們 -

© PPT.cc