王道計(jì)算機(jī)考研 操作系統(tǒng)

中斷和異常(一)
1.中斷機(jī)制的誕生
早期的計(jì)算機(jī)只能單道地管理程序執(zhí)行,各程序之間只能串行執(zhí)行,對(duì)于硬件的利用不夠充分,計(jì)算機(jī)效率低下。
于是,操作系統(tǒng)作為計(jì)算機(jī)的管理者,引入了中斷機(jī)制,實(shí)現(xiàn)了多道批處理。
2.中斷的本質(zhì)
發(fā)生中斷就意味著需要操作系統(tǒng)介入,開(kāi)展管理工作。
3.中斷的過(guò)程
這里引用了時(shí)間片的概念。
大意就是說(shuō),如果有多道程序等著CPU去執(zhí)行的話,操作系統(tǒng)可以給每道程序一點(diǎn)它能夠執(zhí)行的時(shí)間,時(shí)間到了之后即使該程序沒(méi)有執(zhí)行完也會(huì)收到操作系統(tǒng)通過(guò)計(jì)時(shí)器告訴它需要中止(即中斷信號(hào)),CPU會(huì)切換成核心態(tài),由操作系統(tǒng)來(lái)完成進(jìn)程的切換。然后繼續(xù)開(kāi)始下一個(gè)程序,一直到所有的程序都執(zhí)行完了其給定的時(shí)間。當(dāng)這個(gè)時(shí)間無(wú)限?。▽?shí)際上CPU是用ms為單位給的時(shí)間)的時(shí)候,就好像一個(gè)CPU同時(shí)在執(zhí)行多個(gè)程序一樣。
CPU給定的這個(gè)時(shí)間就被稱作時(shí)間片。
這樣的好處就是:CPU一刻也不停歇,像個(gè)永動(dòng)機(jī)。并且真的就“并發(fā)”地執(zhí)行了多道程序。
簡(jiǎn)單來(lái)說(shuō),進(jìn)程發(fā)生中斷的時(shí)候CPU呈現(xiàn)核心態(tài),此時(shí)由操作系統(tǒng)切換進(jìn)程,進(jìn)程完成切換了之后,當(dāng)進(jìn)程開(kāi)始運(yùn)行稱為用戶態(tài)。
進(jìn)程在運(yùn)行的時(shí)候有可能會(huì)發(fā)生內(nèi)中斷,這種內(nèi)中斷不可屏蔽,是需要操作系統(tǒng)進(jìn)行處理的。
同時(shí)也有可能會(huì)發(fā)生外中斷。外中斷由I/O設(shè)備發(fā)出,一般在進(jìn)程運(yùn)行的同時(shí)外設(shè)會(huì)同時(shí)準(zhǔn)備輸出或者其他進(jìn)程的數(shù)據(jù)輸入,就會(huì)發(fā)出請(qǐng)求中斷接入外設(shè)的信號(hào)。這種信號(hào)一般是可屏蔽的。