摘要:操作系統(tǒng)教學(xué)中有很多重點(diǎn)以及難點(diǎn)問題,既有硬件方面,也有軟件方面,筆者重點(diǎn)對(duì)硬件方面的重點(diǎn)與難點(diǎn)問題進(jìn)行講解。操作系統(tǒng)中與硬件相關(guān)的疑難問題有中斷與異常的差別、原語與P.V.操作實(shí)現(xiàn)等。這些問題的存在影響了操作系統(tǒng)的操作,所以相關(guān)人員應(yīng)該加以。本文主要從三方面介紹了操作系統(tǒng)教學(xué)中與硬件相關(guān)的疑難問題,希望有所幫助。
關(guān)鍵詞:操作系統(tǒng);硬件;疑難問題
無論是教師,還是學(xué)生可以對(duì)操作系統(tǒng)中與硬件相關(guān)的某些問題都存在著誤區(qū),這使得操作系統(tǒng)教學(xué)質(zhì)量大大折扣,同時(shí)也影響了學(xué)生的后期操作,而筆者對(duì)此進(jìn)行討論,主要是為了能夠讓教師與學(xué)生從誤區(qū)中走出來,對(duì)操作系統(tǒng)硬件方面有一個(gè)系統(tǒng)的認(rèn)識(shí)。有些誤區(qū),可能教師非常清楚,但是在課堂上卻沒有向?qū)W生進(jìn)行灌輸,這就導(dǎo)致學(xué)生一直對(duì)操作系統(tǒng)中與硬件方面相關(guān)的問題一知半解,筆者對(duì)此番討論,也可以為教師提供教學(xué)參考。
一、中斷與異常的差別
1、中斷與異常
操作系統(tǒng)教學(xué)中會(huì)遇到很多的疑難問題,而其中大部分都與硬件相關(guān),因此在操作系統(tǒng)教學(xué)中,很多人都將重點(diǎn)的放在硬件相關(guān)的疑難問題上。中斷與異常就是其中一個(gè)比較難以解決問題,因?yàn)閮烧呤窒嗨?,?jīng)驗(yàn)不豐富的人員很有可能會(huì)出現(xiàn)誤判斷。
所謂中斷,也可以稱之為外中斷,其主要是指指令并不是來自于中央處理器,比較常見的有I/O結(jié)束中斷,這種中斷主要標(biāo)準(zhǔn)I/O已經(jīng)將所有的任務(wù)處理完成,處理機(jī)應(yīng)該向其他設(shè)備發(fā)出I/O請(qǐng)求,與此同時(shí)讓已經(jīng)完成中斷操作的設(shè)備能夠不間斷運(yùn)行。除此之外,還有時(shí)鐘中斷,此種中斷表示工作人員設(shè)定的固定時(shí)間已經(jīng)到,處理機(jī)應(yīng)該對(duì)此進(jìn)行計(jì)時(shí),同時(shí)再啟動(dòng)相應(yīng)的運(yùn)行任務(wù)等,時(shí)鐘中斷與現(xiàn)行運(yùn)行的程序并沒有多大關(guān)系。中斷類型的不同,其優(yōu)先級(jí)也有差異,也就是說其事件的緊急程度也有很大的差異性,如果有高級(jí)中斷需要處理,低級(jí)中斷可以暫時(shí)被忽略。
異常,也可以被稱之為內(nèi)中斷、陷入等,其與中斷最大的區(qū)別就是在于其是中央處理器所執(zhí)行的指令發(fā)生的事件。比較常見的有地址越界、算術(shù)溢出等。異常與中斷的另一個(gè)差別就是不能中斷,如果出現(xiàn)了異常,要馬上處理,在處理異常期間,中斷會(huì)隨之響應(yīng)。
2、PC和PSW切換
如果硬件上出現(xiàn)了中斷或者異常,任何一種情況下,都需要切換PC,與此同時(shí)還需要切換PSW,這樣控制就會(huì)有所轉(zhuǎn)移。新的PC以及PSW值都在中斷表中。相關(guān)人員通常都會(huì)選擇使用硬件切換的方式,因?yàn)檫@種方式可以保證處理程序始終在核態(tài)上,以此保證合適的處理機(jī)運(yùn)行能夠達(dá)到優(yōu)先級(jí)。相關(guān)人員需要注意的是系統(tǒng)調(diào)用時(shí),其所對(duì)應(yīng)的處理機(jī)優(yōu)先級(jí)應(yīng)該是0,所以在系統(tǒng)調(diào)用時(shí),中斷可以被響應(yīng)。如果屬于外部中斷,則其優(yōu)先級(jí)應(yīng)該與對(duì)應(yīng)中斷優(yōu)先級(jí)相同。
二、原語與P.V.操作實(shí)現(xiàn)
原語也可以被稱之為原子操作,其是一種操作序列,其在邏輯不能分割與中斷。原語也可以用解決臨界段問題的元方法實(shí)現(xiàn)邏輯上不被分割、不被中斷執(zhí)行的特性。原語之所以不能被中斷執(zhí)行,是因?yàn)樵Z對(duì)變量的操作過程如果被打斷,可能會(huì)去運(yùn)行另一個(gè)對(duì)同一變量的操作過程,從而出現(xiàn)臨界段問題。如果能夠找到一種解決臨界段問題的元方法,就可以實(shí)現(xiàn)對(duì)共享變量操作的原子性。還有一種說法,原語通過系統(tǒng)調(diào)用實(shí)現(xiàn),但系統(tǒng)調(diào)用也必須通過解決界段問題的元方法或P.V.操作實(shí)現(xiàn)操作原子性。
解決臨界段問題的元方法,屏蔽中斷方法。這種方法只能用于單處理機(jī)情形。在進(jìn)入臨界段之前屏蔽中斷,在出臨界段時(shí)開放中斷。在單機(jī)情形下,屏蔽中斷使得臨界段程序不可能被打斷執(zhí)行,從而實(shí)現(xiàn)了臨界段操作的原子性;利用“Test and-Set”和“Swap”硬指令解決臨界段問題。這可以解決多處理機(jī)情形下的臨界段問題。
三、虛存地址變換過程
理論上,頁式虛存系統(tǒng)對(duì)頁表項(xiàng)的內(nèi)容進(jìn)行了擴(kuò)充,首先因?yàn)樘摽臻g以輔存為基礎(chǔ),故必須增加一個(gè)欄目以存放對(duì)應(yīng)頁駐留在輔存空間的塊號(hào)。增加一個(gè)合法位用于標(biāo)志對(duì)應(yīng)頁是否在主存。若在主存,則合法位為,并稱該頁合法,同時(shí),頁表項(xiàng)中指出該頁所在的主存頁幀號(hào),否則合法位為0,稱該頁不合法,頁表項(xiàng)此時(shí)應(yīng)指出該頁所在的輔存塊號(hào)。下面介紹一種頁表項(xiàng)結(jié)構(gòu)、硬件動(dòng)態(tài)地址轉(zhuǎn)換過程。通過這些可了解一條訪存指令由硬件及操作系統(tǒng)的處理過程。
1、頁表頂結(jié)構(gòu)
修改位是為了在將頁面所占用的主存頁幀釋放回系統(tǒng)時(shí),指明該頁是否要回寫到輔存塊中。如果修改位已被置上,則表示該頁面自上次從輔存調(diào)入主存以來,頁面中的數(shù)據(jù)已經(jīng)被修改過,若沒有置位,則說明該頁自上次從輔存調(diào)入主存以來,未被對(duì)其進(jìn)行寫操作。因此,在該頁幀回收到系統(tǒng)時(shí),也不必將頁面回寫到輔存中。修改位置上的頁一旦回寫到輔存后,即可以釋放頁幀,并將修改位、頁幀號(hào)和合法位都清零。一般來說。程序文件中包含了程序的二進(jìn)制目標(biāo)碼。以及程序所要處理數(shù)據(jù)的初始值和初值為、的工作區(qū)說明。程序在進(jìn)程的運(yùn)行過程中。數(shù)據(jù)的初始值頁面被調(diào)入主存使用。而且存放初始值的主存單元可能被修改,這時(shí)。系統(tǒng)不能夠?qū)⑿薷倪^的頁面回寫到執(zhí)行程序文件中去。因?yàn)閳?zhí)行程序文件中的初始值不能被改變,為此引入了專用的交換區(qū)用于存放那些可讀寫的進(jìn)程頁面,只讀的進(jìn)程頁面所在輔存的塊號(hào)。在進(jìn)程生存周期內(nèi)是不改變的。都指向執(zhí)行程序文件所在的輔存空間。但上述的可讀寫的進(jìn)程頁面。初始值從執(zhí)行程序文件中獲得。一旦修改。
2、硬件動(dòng)態(tài)地址轉(zhuǎn)換
硬件執(zhí)行訪存指令的大致過程如下,當(dāng)CPU執(zhí)行訪存操作時(shí)。首先從快表查找要訪問地址的邏輯頁號(hào)對(duì)應(yīng)的物理頁幀號(hào),注意??毂碇械捻?xiàng)都是合法頁的頁表項(xiàng)。在進(jìn)程被調(diào)度運(yùn)行時(shí)由操作系統(tǒng)置入,若能夠在快表中獲得要訪問頁的頁幀號(hào)。則合成物理地址并進(jìn)行訪問,若要查頁表。須先檢查該頁頁表項(xiàng)的合法性,若合法位已被置上。則從頁表項(xiàng)中獲得頁幀號(hào)。合成物理地址并進(jìn)行訪問,若合法位未被置上。則馬上產(chǎn)生一個(gè)頁故障、或稱為缺頁異常,進(jìn)入操作系統(tǒng)核心。操作系統(tǒng)要馬上進(jìn)行頁面調(diào)入處理,操作系統(tǒng)處理完成后。返回剛產(chǎn)生頁故障的指令運(yùn)行現(xiàn)場(chǎng)。重新執(zhí)行訪存指令,這時(shí)。訪存指令可以合成物理地址并進(jìn)行訪存,由此可見。頁故障的開銷會(huì)非常大。
四、結(jié)語
綜上所述,可知對(duì)操作系統(tǒng)教學(xué)中與硬件相關(guān)的幾個(gè)疑難問題進(jìn)行探討十分重要。操作系統(tǒng)中與硬件相關(guān)的教學(xué)難點(diǎn)實(shí)際上就是這些誤區(qū),學(xué)生掌握了這些誤區(qū),不僅對(duì)操作系統(tǒng)有了更為深入的了解,對(duì)操作系統(tǒng)的操作也會(huì)更加的熟練。實(shí)際上,操作系統(tǒng)教學(xué)中有關(guān)硬件方面的疑難問題還有很多,有待其他學(xué)者進(jìn)行進(jìn)一步的研究,以便使我國(guó)的操作系統(tǒng)能夠與時(shí)俱進(jìn)。
參考文獻(xiàn):
[1] 徐曉.關(guān)于高職計(jì)算機(jī)操作系統(tǒng)教學(xué)的探討[J].職業(yè)教育研究.2006(04)
[2] 楊恒伏,孫光,田祖?zhèn)?類比教學(xué)模式在操作系統(tǒng)教學(xué)中的應(yīng)用[J].計(jì)算機(jī)教育.2008(24)
[3] 熊衛(wèi)民.計(jì)算機(jī)學(xué)科操作系統(tǒng)教學(xué)與學(xué)習(xí)探討[J].科技信息.2009(34)
[4] 劉瑩,趙海濤.操作系統(tǒng)教學(xué)之實(shí)驗(yàn)內(nèi)容探索[J].科技信息.2010(17)
[5] 楊慧珍.電子信息工程專業(yè)的操作系統(tǒng)教學(xué)探索[J].價(jià)值工程.2010(17)