“大學(xué)計算機基礎(chǔ)”中操作系統(tǒng)基礎(chǔ)知識的教學(xué)策略思考_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、集中式和分布式操作系統(tǒng)中的同步互斥比較教學(xué)摘要:本文對集中式操作系統(tǒng)和分布式操作系統(tǒng)中的同步互斥機制進行了對比分析并對這兩種系統(tǒng)中的互斥策略通過比較教學(xué)法進行了進一步研究。關(guān)鍵詞:操作系統(tǒng)集中式系統(tǒng)分布式操作系統(tǒng)同步互斥G6421引言分布計算系統(tǒng)中的各種資源是在地理上和物理上分布的這種分布會造成信號傳播過程中的延遲以及部分失效因此與單機操作系統(tǒng)相比分布計算系統(tǒng)的資源管理和資源調(diào)度更加復(fù)雜。在研究生的“分布式操作系統(tǒng)”和本科生的“操作系統(tǒng)

2、”教學(xué)過程中通過分布式系統(tǒng)和集中式系統(tǒng)中對資源的同步互斥機制進行比較教學(xué)使得學(xué)生對互斥算法的了解更為透徹分別取得了較好的教學(xué)效果。2系統(tǒng)中的同步無論集中式系統(tǒng)還是分布式系統(tǒng)中為了實現(xiàn)多進程有效共享系統(tǒng)中的各類資源都需要用同步機構(gòu)進行互斥控制系統(tǒng)進行資源的調(diào)度和管理。在單機集中式系統(tǒng)中通常使用信號燈以及PV操作進行同步控制并實現(xiàn)互斥算法而在分布式系統(tǒng)中使用報文進行通信以實現(xiàn)互斥控制。由于集中式系統(tǒng)和分布式系統(tǒng)所采用的同步機構(gòu)不同因此要求也

3、不同。集中式系統(tǒng)和分布式系統(tǒng)中實現(xiàn)同步均可以用硬件方法也可以用軟件方法通過比較教學(xué)使學(xué)生加深理解。2.1集中式系統(tǒng)中的同步集中式系統(tǒng)中同步的硬件實現(xiàn)方法是借助于TS(TestSet)、CompareSwap以及FetchAdd等硬件機器指令具體做法是通過為每個可共享的資源設(shè)置一個鎖通過進入臨界區(qū)時的關(guān)鎖和退出臨界區(qū)時的開鎖以達到對共享的臨界資源的互斥同步控制。該方法雖然可以實現(xiàn)互斥且實現(xiàn)簡單但是不符合“讓權(quán)等待”的同步機制準則。集中式系

4、統(tǒng)中同步的軟件實現(xiàn)方法通常是采用信號量機制。最簡單的是整型信號量機制通過兩個標準的P、V操作實現(xiàn)資源的互斥使用。為了使得多個同類資源能夠被有效的互斥使用在信號量機制的概念中引入記錄型信號量加以實現(xiàn)。采用型信號量可以較為有效的避免多個進程同時要求多種共享資源時發(fā)生死鎖的問題。為了讓進程能夠一次使用多個同類資源而且不用進行多次等待操作(P操作)又使用信號量集機制進行控制。實際上互斥是一種特殊的同步軟件方法中還經(jīng)常使用Dekker算法和Pet

5、erson等算法簡單的實現(xiàn)進程間的互斥。此外還有管程等同步控制機制。2.2分布式系統(tǒng)中的同步在分布式系統(tǒng)中由于沒有共享的主存因此主要使用報文進行通信以實現(xiàn)同步??偟膩碚f分布式系統(tǒng)中的同步系統(tǒng)其本質(zhì)就是使得各種使用共享資源的操作或活動形成一個有序序列或者說同步機構(gòu)的目的就是給使用資源的多個進程提供某種方法和手段使分布式系統(tǒng)保持一個一致的狀態(tài)如多副本文件系統(tǒng)的一致性等。分布式系統(tǒng)中實現(xiàn)硬件同步的方法一般是采用物理時鐘、事件計數(shù)器、順序器等。

6、物理時鐘方法中時鐘服務(wù)器從WWV或GEOS處獲得UTC根據(jù)系統(tǒng)和用戶的需要以集中式物理時鐘的方式或分布式物理時鐘的方式實現(xiàn)同步控制。在教學(xué)的過程中要給學(xué)生著重說明這里的集中式物理時鐘方式中的集中式與單機系統(tǒng)中的集中式的不同。這里所謂的集中式物理方式是指在分布式系統(tǒng)中由資源:①Pi的申請隊列中有Tm:Pi申請報文并且根據(jù)時間戳它排在所有其它進程發(fā)來的申請報文前面②Pi收到所有其它進程的承認報文其上面的時間戳值大于Tm。教學(xué)過程中請同學(xué)思考

7、:在上述算法中某進程進入一次臨界區(qū)需要交換多少個報文了解了上述互斥算法的過程學(xué)生很容易得出結(jié)論:任何進程進入一次臨界區(qū)需要3(n1)個報文。進而可以啟發(fā)學(xué)生根據(jù)規(guī)則對上述算法進行改進從而使得任何一個進程進入一次臨界區(qū)最多需要3(n1)個報文如果互斥使用臨界資源的進程數(shù)目很多時可以大大地降低交換報文的通信開銷?;诹钆频姆植际交コ馑惴ㄖ袑τ诟鬟M程更具公平性的是基于時間戳的令牌互斥算法。令牌是一個特殊的報文該報文中包含了發(fā)送該令牌的進程的進

8、程狀態(tài)表。每個進程保持一張進程狀態(tài)表記錄它所知的進程狀態(tài)進程狀態(tài)包括該進程是否為請求進程以及得到該狀態(tài)的時間。算法如下:(1)初始化時每個進程的狀態(tài)表中各個進程均為非請求狀態(tài)時鐘值為0并任意指定一個進程為令牌的持有者。(2)請求時一個進程請求進入臨界區(qū)時如果它持有令牌它不發(fā)送任何請求報文將自己的進程狀態(tài)表中相應(yīng)于自己一欄的狀態(tài)改為請求態(tài)并記錄該狀態(tài)的時鐘值直接進入臨界區(qū)。如果它不持有令牌則它向所有其它進程發(fā)送帶有時間戳的請求報文。發(fā)出請

9、求報文后將自己的進程狀態(tài)表中相應(yīng)于自己一欄的狀態(tài)改為請求態(tài)并記錄該狀態(tài)的時鐘值。(3)收到請求時當進程A收到進程B的請求報文時A將B的請求報文中的時間戳同A的進程狀態(tài)表中B的時間值進行比較。若B的請求報文中的時間戳大于A的進程狀態(tài)表中B的時間值則A修改自己的進程狀態(tài)表。將A的進程狀態(tài)表中對應(yīng)于B的一欄改為請求狀態(tài)并記錄此狀態(tài)的時間。(4)退出臨界區(qū)時進程A退出臨界區(qū)后將自己的進程狀態(tài)表中關(guān)于自己的一欄改為非請求狀態(tài)時鐘值加1并將該時鐘值

10、作為該狀態(tài)的時間。然后檢查其進程狀態(tài)表中是否記錄有某個進程處于請求狀態(tài)若有則從處于請求狀態(tài)的進程中選取一個請求最早的進程B(具有最小的時間戳)將令牌傳送給它并在令牌中附上A的進程狀態(tài)表。(5)收到令牌時收到令牌的進程把隨令牌傳來的進程狀態(tài)表和自己的進程狀態(tài)表進行比較。若隨令牌傳來的進程狀態(tài)表中某進程的時間戳大于自己的進程狀態(tài)表中相應(yīng)進程的時間戳則將自己的進程狀態(tài)表中相應(yīng)進程的狀態(tài)和時間戳改成隨令牌傳來的進程狀態(tài)表中相應(yīng)的狀態(tài)和時間戳。在

11、該算法中當進程不持有令牌時算法需要交換n個報文其中的n1個為請求報文一個用于傳送令牌。而當請求進入臨界區(qū)的進程持有令牌時互斥算法顯然不需要交換報文。3結(jié)束語通過研究生“分布式操作系統(tǒng)”和本科生“操作系統(tǒng)”的教學(xué)實踐表明在教學(xué)過程中通過這樣的比較教學(xué)容易引起學(xué)生的興趣從而能夠激發(fā)學(xué)生的學(xué)習(xí)熱情和對問題的較為深入的思考收到了較好的教學(xué)效果。本文出自:大學(xué)生論文網(wǎng)參考文獻:[1]徐高潮胡亮鞠九濱.分布計算系統(tǒng)[M].北京:高等教育出版社200

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論