亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        集中式和分布式操作系統(tǒng)中的同步互斥比較教學

        2009-08-28 09:09:14武秀川翟一鳴任滿杰
        計算機教育 2009年14期
        關鍵詞:同步操作系統(tǒng)

        武秀川 翟一鳴 任滿杰

        摘要:本文對集中式操作系統(tǒng)和分布式操作系統(tǒng)中的同步互斥機制進行了對比分析,并對這兩種系統(tǒng)中的互斥策略通過比較教學法進行了進一步研究。

        關鍵詞:操作系統(tǒng);集中式系統(tǒng);分布式操作系統(tǒng);同步;互斥

        中圖分類號:G642 文獻標識碼:B

        1引言

        分布計算系統(tǒng)中的各種資源是在地理上和物理上分布的,這種分布會造成信號傳播過程中的延遲以及部分失效,因此與單機操作系統(tǒng)相比,分布計算系統(tǒng)的資源管理和資源調度更加復雜。

        在研究生的“分布式操作系統(tǒng)”和本科生的“操作系統(tǒng)”教學過程中,通過分布式系統(tǒng)和集中式系統(tǒng)中對資源的同步互斥機制進行比較教學,使得學生對互斥算法的了解更為透徹,分別取得了較好的教學效果。

        2系統(tǒng)中的同步

        無論集中式系統(tǒng)還是分布式系統(tǒng)中,為了實現(xiàn)多進程有效共享系統(tǒng)中的各類資源,都需要用同步機構進行互斥控制系統(tǒng)進行資源的調度和管理。在單機集中式系統(tǒng)中通常使用信號燈以及P-V操作進行同步控制并實現(xiàn)互斥算法,而在分布式系統(tǒng)中使用報文進行通信以實現(xiàn)互斥控制。由于集中式系統(tǒng)和分布式系統(tǒng)所采用的同步機構不同,因此要求也不同。

        集中式系統(tǒng)和分布式系統(tǒng)中實現(xiàn)同步均可以用硬件方法也可以用軟件方法,通過比較教學使學生加深理解。

        2.1集中式系統(tǒng)中的同步

        集中式系統(tǒng)中同步的硬件實現(xiàn)方法是借助于TS(Test and Set)、Compare-and-Swap以及Fetch-and-Add等硬件機器指令,具體做法是通過為每個可共享的資源設置一個鎖,通過進入臨界區(qū)時的關鎖和退出臨界區(qū)時的開鎖以達到對共享的臨界資源的互斥同步控制。該方法雖然可以實現(xiàn)互斥且實現(xiàn)簡單,但是不符合“讓權等待”的同步機制準則。

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

        實際上互斥是一種特殊的同步,軟件方法中還經常使用Dekker算法和Peterson等算法簡單的實現(xiàn)進程間的互斥。此外還有管程等同步控制機制。

        2.2分布式系統(tǒng)中的同步

        在分布式系統(tǒng)中由于沒有共享的主存,因此主要使用報文進行通信以實現(xiàn)同步??偟膩碚f,分布式系統(tǒng)中的同步系統(tǒng)其本質就是使得各種使用共享資源的操作或活動形成一個有序序列,或者說同步機構的目的就是給使用資源的多個進程提供某種方法和手段使分布式系統(tǒng)保持一個一致的狀態(tài),如多副本文件系統(tǒng)的一致性等。

        分布式系統(tǒng)中實現(xiàn)硬件同步的方法一般是采用物理時鐘、事件計數(shù)器、順序器等。物理時鐘方法中,時鐘服務器從WWV或GEOS處獲得UTC,根據(jù)系統(tǒng)和用戶的需要以集中式物理時鐘的方式或分布式物理時鐘的方式實現(xiàn)同步控制。在教學的過程中,要給學生著重說明這里的集中式物理時鐘方式中的集中式與單機系統(tǒng)中的集中式的不同。這里所謂的集中式物理方式是指在分布式系統(tǒng)中由時鐘服務器統(tǒng)一的以基于廣播的方式和請求驅動的方式向整個分布式系統(tǒng)提供同步所需要的時鐘。在基于廣播的方式中,集中的時鐘服務員定期的向分布式系統(tǒng)中的各個成員廣播當前的時間,由接收到廣播時間的各個成員對時間進行處理。與此不同的是在集中式物理時鐘的請求驅動方式中,由系統(tǒng)中的各個成員向集中式的時鐘服務員發(fā)出請求以求獲得當前的時間。分布式系統(tǒng)中的集中式物理時鐘服務員的可靠性差,同時也是系統(tǒng)的瓶頸,因為時鐘服務員的崩潰可能導致系統(tǒng)的崩潰。分布式系統(tǒng)中的分布式物理時鐘與上述集中式物理時鐘的方法不同,它是由系統(tǒng)中的各個成員在規(guī)定的時間內向其它成員廣播它的當前時間并按照約定的方法進行時間的校正。

        由于分布式系統(tǒng)中資源的廣泛分布性,很難準確地獲得系統(tǒng)中每個機器確切的時鐘值,因此實際上很難做到準確地同步,所以一般在分布式系統(tǒng)中更多的采用基于Lamport“在先發(fā)生關系”的邏輯時鐘進行邏輯時鐘校正以給分布式系統(tǒng)中的各個事件一個惟一的排序,從而達到同步的目的。

        分布式系統(tǒng)中實現(xiàn)互斥同步控制的最簡單的方法是在并發(fā)執(zhí)行的各個進程中選定一個進程作為協(xié)調者。當任一個進程想進入臨界區(qū)時,首先要向協(xié)調者進程發(fā)送請求報文申請臨界區(qū)進入許可。協(xié)調者進程根據(jù)目前臨界區(qū)中的進程情況或者同意或者拒絕請求者進程進入臨界區(qū)。這樣的過程是通過報文的傳遞進行的。如果目前臨界區(qū)內已有進程的話協(xié)調者或者拒絕或者不回答請求的進程。無論是哪種方式,系統(tǒng)都要設置一個緩沖隊列用來存放被阻塞的請求進程。當臨界區(qū)被退出后,由退出進程向協(xié)調者進程發(fā)送一個釋放報文,協(xié)調者進程將進入臨界區(qū)許可報文發(fā)送給相應的被阻塞隊列中的第一個進程,使其退出等待隊列進入臨界區(qū)。顯然該算法的實現(xiàn)機制保證不會出現(xiàn)餓死和死鎖現(xiàn)象。該方法實際上是在分布式系統(tǒng)中模仿單機集中式系統(tǒng)的實現(xiàn)方式,存在同樣的問題即性能效率低,可靠性差。

        分布式互斥算法中的所有進程都是平等的,沒有協(xié)調者進程的角色。互斥算法一般分為基于令牌的和非基于令牌的兩大類。

        在教學過程中主要介紹具有代表性的兩個算法,以使學生對分布式互斥算法有清晰的理解。

        非基于令牌的分布式互斥算法,典型的是Lamport時間戳算法。為了討論上的簡單,假定消息是按它們被發(fā)送的順序被接收,而且發(fā)出的消息最后一定會被接收到。每個進程均可向其他任何進程直接發(fā)送報文,每個進程均有一個申請隊列,隊列中最初只有一項T0:P0申請,這里的P0是最初獲得資源的進程,T0是比其他任何邏輯時鐘值均小的初值。

        Lamport時間戳分布式互斥算法由以下5條規(guī)則組成。

        (1) 一個進程Pi如果為了申請資源,它向其它各個進程發(fā)送具有時間戳Tm:Pi的申請資源的報文,并把此報文也放到自己的申請隊列中;

        (2) 一個進程Pj如果收到具有時間戳Tm:Pi的申請資源的報文,它把此報文放到自己的申請隊列中,并將向Pi發(fā)送一個帶有時間戳的承認報文。如果Pj正在臨界區(qū)或正在發(fā)送自己的申請報文,則此承認報文要等到Pj從臨界區(qū)中退出之后或Pj發(fā)送完自己的申請報文之后再發(fā)送,否則立即發(fā)送;

        (3) 一個進程Pi如果想釋放資源,它先從自己的申請隊列中刪除對應的Tm:Pi申請報文,并向所有其他進程發(fā)送具有時間戳的Pi釋放資源的報文;

        (4) 一個進程Pj如果收到Pi釋放資源的報文,它從自己的申請隊列中刪除Tm:Pi申請報文;

        (5) 當滿足下述兩個條件時,申請資源的進程Pi獲得資源:

        ①Pi的申請隊列中有Tm:Pi申請報文,并且根據(jù)時間戳它排在所有其它進程發(fā)來的申請報文前面;

        ②Pi收到所有其它進程的承認報文,其上面的時間戳值大于Tm。

        教學過程中請同學思考:在上述算法中,某進程進入一次臨界區(qū)需要交換多少個報文?了解了上述互斥算法的過程,學生很容易得出結論:任何進程進入一次臨界區(qū)需要3*(n-1)個報文。進而可以啟發(fā)學生根據(jù)規(guī)則對上述算法進行改進從而使得任何一個進程進入一次臨界區(qū)最多需要3*(n-1)個報文,如果互斥使用臨界資源的進程數(shù)目很多時,可以大大地降低交換報文的通信開銷。

        基于令牌的分布式互斥算法中對于各進程更具公平性的是基于時間戳的令牌互斥算法。令牌是一個特殊的報文,該報文中包含了發(fā)送該令牌的進程的進程狀態(tài)表。每個進程保持一張進程狀態(tài)表,記錄它所知的進程狀態(tài),進程狀態(tài)包括該進程是否為請求進程,以及得到該狀態(tài)的時間。

        算法如下:

        (1) 初始化時,每個進程的狀態(tài)表中各個進程均為非請求狀態(tài),時鐘值為0,并任意指定一個進程為令牌的持有者。

        (2) 請求時,一個進程請求進入臨界區(qū)時,如果它持有令牌,它不發(fā)送任何請求報文,將自己的進程狀態(tài)表中相應于自己一欄的狀態(tài)改為請求態(tài),并記錄該狀態(tài)的時鐘值,直接進入臨界區(qū)。如果它不持有令牌,則它向所有其它進程發(fā)送帶有時間戳的請求報文。發(fā)出請求報文后,將自己的進程狀態(tài)表中相應于自己一欄的狀態(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)表中對應于B的一欄改為請求狀態(tài),并記錄此狀態(tài)的時間。

        (4) 退出臨界區(qū)時,進程A退出臨界區(qū)后,將自己的進程狀態(tài)表中關于自己的一欄改為非請求狀態(tài),時鐘值加1,并將該時鐘值作為該狀態(tài)的時間。然后檢查其進程狀態(tài)表中是否記錄有某個進程處于請求狀態(tài),若有,則從處于請求狀態(tài)的進程中選取一個請求最早的進程B(具有最小的時間戳),將令牌傳送給它,并在令牌中附上A的進程狀態(tài)表。

        (5) 收到令牌時,收到令牌的進程把隨令牌傳來的進程狀態(tài)表和自己的進程狀態(tài)表進行比較。若隨令牌傳來的進程狀態(tài)表中某進程的時間戳大于自己的進程狀態(tài)表中相應進程的時間戳,則將自己的進程狀態(tài)表中相應進程的狀態(tài)和時間戳改成隨令牌傳來的進程狀態(tài)表中相應的狀態(tài)和時間戳。

        在該算法中,當進程不持有令牌時算法需要交換n個報文,其中的n-1個為請求報文,一個用于傳送令牌。而當請求進入臨界區(qū)的進程持有令牌時,互斥算法顯然不需要交換報文。

        3結束語

        通過研究生“分布式操作系統(tǒng)”和本科生“操作系統(tǒng)”的教學實踐表明,在教學過程中通過這樣的比較教學容易引起學生的興趣,從而能夠激發(fā)學生的學習熱情和對問題的較為深入的思考,收到了較好的教學效果。

        參考文獻:

        [1] 徐高潮,胡亮,鞠九濱. 分布計算系統(tǒng)[M]. 北京:高等教育出版社,2004.

        [2] 張堯學,史美林,張高. 計算機操作系統(tǒng)教程[M]. 3版. 北京:清華大學出版社,2006.

        [3] 龐麗萍. 操作系統(tǒng)原理[M].3版.武漢:華中科技大學出版社,2000.

        [4] Andrew S. Tanenbaum. Distributed Operating Systems[M]. 陸麗娜,伍衛(wèi)國,劉隆國,等譯. 北京:電子工業(yè)出版社,1999.

        [5] 湯子氵贏,哲鳳屏,湯小丹. 計算機操作系統(tǒng)教程(修訂版)[M]. 西安:西安電子科技大學出版社,2001.

        [6] 任滿杰,劉樹剛,李軍紅.操作系統(tǒng)原理實用教程[M].北京:電子工業(yè)出版社,2006.

        [7] Andrew S. Tanenbaum,Albert S. Woodhull. Operating Systems Design and Implementation[M]. 2nd ed. Upper Saddle River,NJ. Prentice- Hall International,Inc. 1996.

        [8] Lamport L. Time,clock,and the order of events in a distributed system[J]. Communications of the ACM,July 1978,21(7):558-568.

        猜你喜歡
        同步操作系統(tǒng)
        智能手機操作系統(tǒng)的分析與比較
        卷宗(2016年10期)2017-01-21 14:04:15
        國產桌面操作系統(tǒng)中虛擬化技術應用研究
        素質教育理念下藝術教育改革的思路
        政府職能的轉變與中國經濟結構調整的同步
        商情(2016年42期)2016-12-23 14:26:58
        計算機維護中操作系統(tǒng)還原技術的分析
        對計算機進行操作系統(tǒng)重裝的維護
        公共藝術與城市設計的協(xié)調與同步
        基于單片機的嵌入式系統(tǒng)的開發(fā)研究
        “操作系統(tǒng)原理”實驗教學設置初探
        有源應答器DBPL解碼算法研究及FPGA實現(xiàn)
        日产精品高潮一区二区三区5月| 国产免费破外女真实出血视频| 亚洲人成人99网站| 国产香蕉一区二区三区| 日本高清视频一区二区| 精品熟人妻一区二区三区四区不卡 | 91精品国产综合久久国产| 蜜桃视频网站在线观看一区 | 日本女u久久精品视频| 日本熟女中文字幕在线| av无码av天天av天天爽| а√天堂资源8在线官网在线 | 国产自拍精品在线免费观看| 亚洲国产综合久久精品| 日本一区二区三区亚洲| 国产亚洲成av人片在线观黄桃| 国产成人av性色在线影院色戒| 97精品依人久久久大香线蕉97| 成在线人视频免费视频| 亚洲视频观看一区二区| 国产精品黑丝高跟在线粉嫩| 日产学生妹在线观看| 人人妻人人添人人爽日韩欧美| 岛国精品一区二区三区| 亚洲免费av第一区第二区| 综合久久一区二区三区| 精品国产成人av久久| 国产精品∧v在线观看| 妺妺窝人体色www在线图片| 精品黑人一区二区三区| 精彩视频在线观看一区二区三区| 人妻丰满熟av无码区hd| 五月天激情婷婷婷久久| 日韩中文字幕不卡网站| 丝袜美腿一区二区在线观看| 久久精品伊人久久精品伊人| 又黄又刺激的网站久久| 色偷偷噜噜噜亚洲男人| 精品熟女少妇免费久久| 久久婷婷免费综合色啪| av一区二区在线网站|