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