Re: [理工] OS中 trap與exception有何不同?
看板Grad-ProbAsk作者steven1028 (Steven_Shie)時間12年前 (2011/08/24 00:40)推噓1(1推 0噓 0→)留言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
08/24 12:34, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):