眾賞文庫(kù)
全部分類
  • 抗擊疫情 >
    抗擊疫情
    病毒認(rèn)知 防護(hù)手冊(cè) 復(fù)工復(fù)產(chǎn) 應(yīng)急預(yù)案 防控方案 英雄事跡 院務(wù)工作
  • 成品畢設(shè) >
    成品畢設(shè)
    外文翻譯 畢業(yè)設(shè)計(jì) 畢業(yè)論文 開(kāi)題報(bào)告 文獻(xiàn)綜述 任務(wù)書(shū) 課程設(shè)計(jì) 相關(guān)資料 大學(xué)生活 期刊論文 實(shí)習(xí)報(bào)告
  • 項(xiàng)目策劃 >
    項(xiàng)目策劃
    土地準(zhǔn)備 規(guī)劃設(shè)計(jì) 開(kāi)工開(kāi)盤 項(xiàng)目綜合 竣工移交 售后移交 智慧方案 安全專項(xiàng) 環(huán)境影響評(píng)估報(bào)告 可行性研究報(bào)告 項(xiàng)目建議書(shū) 商業(yè)計(jì)劃書(shū) 危害評(píng)估防治 招投標(biāo)文件
  • 專業(yè)資料 >
    專業(yè)資料
    人文法律 環(huán)境安全 食品科學(xué) 基礎(chǔ)建設(shè) 能源化工 農(nóng)林牧畜 綜合待分類 教育經(jīng)驗(yàn) 行政人力 企業(yè)管理 醫(yī)學(xué)衛(wèi)生 IT技術(shù) 土木建筑 考研專題 財(cái)會(huì)稅務(wù) 公路隧道 紡織服裝
  • 共享辦公 >
    共享辦公
    總結(jié)匯報(bào) 調(diào)研報(bào)告 工作計(jì)劃 述職報(bào)告 講話發(fā)言 心得體會(huì) 思想?yún)R報(bào) 事務(wù)文書(shū) 合同協(xié)議 活動(dòng)策劃 代理加盟 技術(shù)服務(wù) 求職簡(jiǎn)歷 辦公軟件 ppt模板 表格模板 融資協(xié)議 發(fā)言演講 黨團(tuán)工作 民主生活
  • 學(xué)術(shù)文檔 >
    學(xué)術(shù)文檔
    自然科學(xué) 生物科學(xué) 天文科學(xué) 醫(yī)學(xué)衛(wèi)生 工業(yè)技術(shù) 航空、航天 環(huán)境科學(xué)、安全科學(xué) 軍事 政學(xué) 文化、科學(xué)、教育、 交通運(yùn)輸 經(jīng)濟(jì) 語(yǔ)言、文字 文學(xué) 農(nóng)業(yè)科學(xué) 社會(huì)科學(xué)總論 藝術(shù) 歷史、地理 哲學(xué) 數(shù)理科學(xué)和化學(xué) 綜合性圖書(shū) 哲學(xué)宗教
  • 經(jīng)營(yíng)營(yíng)銷 >
    經(jīng)營(yíng)營(yíng)銷
    綜合文檔 經(jīng)濟(jì)財(cái)稅 人力資源 運(yùn)營(yíng)管理 企業(yè)管理 內(nèi)控風(fēng)控 地產(chǎn)策劃
  • 教學(xué)課件 >
    教學(xué)課件
    幼兒教育 小學(xué)教育 初中教育 高中教育 職業(yè)教育 成人教育 高等教育 考研資源 試題真題 作業(yè)習(xí)題 課后答案 綜合教學(xué)
  • 土木建筑 >
    土木建筑
    專項(xiàng)施工 應(yīng)急預(yù)案 建筑規(guī)范 工藝方案 技術(shù)交底 施工表格 圖片圖集
  • 課程導(dǎo)學(xué) >
    課程導(dǎo)學(xué)
    醫(yī)學(xué)綜合 中醫(yī)養(yǎng)生 醫(yī)學(xué)研究 身心發(fā)展 醫(yī)學(xué)試題 影像醫(yī)學(xué) 醫(yī)院辦公 外科醫(yī)學(xué) 老年醫(yī)學(xué) 內(nèi)科醫(yī)學(xué) 婦產(chǎn)科 神經(jīng)科 醫(yī)學(xué)課件 眼鼻喉科 皮膚病科 腫瘤科 兒科醫(yī)學(xué) 康復(fù)醫(yī)學(xué) 全科醫(yī)學(xué) 護(hù)理學(xué)科 針灸學(xué)科 重癥學(xué)科 病毒學(xué)科 獸醫(yī) 藥學(xué)
  • 資源分類:
    全部 抗擊疫情 成品畢設(shè) 項(xiàng)目策劃 專業(yè)資料 共享辦公 學(xué)術(shù)文檔 經(jīng)營(yíng)營(yíng)銷 教學(xué)課件 土木建筑 課程導(dǎo)學(xué)
    二級(jí)分類:
    全部 自然科學(xué) 生物科學(xué) 天文科學(xué) 醫(yī)學(xué)衛(wèi)生 工業(yè)技術(shù) 航空、航天 環(huán)境科學(xué)、安全科學(xué) 軍事 政學(xué) 文化、科學(xué)、教育、體育 交通運(yùn)輸 經(jīng)濟(jì) 語(yǔ)言、文字 文學(xué) 農(nóng)業(yè)科學(xué) 社會(huì)科學(xué)總論 藝術(shù) 歷史、地理 哲學(xué) 數(shù)理科學(xué)和化學(xué) 綜合性圖書(shū) 哲學(xué)宗教
    三級(jí)分類:
    全部 天文學(xué)、地球科學(xué) 數(shù)理科學(xué)和化學(xué) 歷史、地理 社會(huì)科學(xué)總論 航空、航天 哲學(xué) 自然科學(xué)總論 生物科學(xué) 環(huán)境科學(xué)、安全科學(xué) 文化、科學(xué)、教育、體育 交通運(yùn)輸 政學(xué) 工業(yè)技術(shù) 農(nóng)業(yè)科學(xué) 醫(yī)學(xué)、衛(wèi)生 經(jīng)濟(jì) 語(yǔ)言、文字 藝術(shù) 軍事 文學(xué) 哲學(xué)、宗教 綜合性圖書(shū)
    四級(jí)分類:
    全部 系統(tǒng)科學(xué)
    上傳類型:
    全部 互聯(lián)網(wǎng)共享 作者原創(chuàng) 獨(dú)家資料
    資源格式:
    不限 doc ppt pdf 圖片 flash 視頻 音頻 壓縮包
    上架時(shí)間:
    不限 三天內(nèi) 一周內(nèi) 一個(gè)月內(nèi) 一年內(nèi)
    特色搜索:
    不限 文件包巨大 瀏覽量超巨 購(gòu)買量排行 子文件超多好評(píng)如潮
    • 下載積分: 9 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 73
      4人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-04
      頁(yè)數(shù): 22
      4人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 19
      7人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:高級(jí)操作系統(tǒng)ADVANCEDOPERATINGSYSTEM,熊焰YXIONGUSTCEDUCN05513600689中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系,第六章分布式程序設(shè)計(jì),分布式程序設(shè)計(jì)的特點(diǎn)分布式進(jìn)程分布式進(jìn)程遷移,61分布式程序設(shè)計(jì)的特點(diǎn)分布式程序設(shè)計(jì)的特點(diǎn),在分布式計(jì)算機(jī)系統(tǒng)出現(xiàn)后,為了應(yīng)用這種系統(tǒng),在七十年代后期提出了分布式程序設(shè)計(jì)的概念,即設(shè)計(jì)運(yùn)行于分布式計(jì)算機(jī)系統(tǒng)上的分布式程序。分布式程序設(shè)計(jì)有三個(gè)特點(diǎn)分布性、通信性和魯棒性。一個(gè)分布式程序由若干可以獨(dú)立執(zhí)行的程序模塊組成,這些程序模塊分布于一個(gè)分布式計(jì)算機(jī)系統(tǒng)中若干臺(tái)計(jì)算機(jī)上同時(shí)執(zhí)行。分布于各臺(tái)計(jì)算機(jī)上的程序模塊是相互關(guān)聯(lián)的,它們?cè)趫?zhí)行中需要交換數(shù)據(jù)(即通信)。只有通過(guò)通信,各程序模塊才能協(xié)調(diào)執(zhí)行,以完成一個(gè)共同的計(jì)算任務(wù)。此外,進(jìn)行分布式程序設(shè)計(jì)時(shí),還常常要考慮魯棒性,當(dāng)某幾臺(tái)計(jì)算機(jī)發(fā)生故障時(shí),程序仍可以執(zhí)行下去。,61分布式程序設(shè)計(jì)的特點(diǎn)分布式程序設(shè)計(jì)語(yǔ)言,為了進(jìn)行分布式程序設(shè)計(jì),必須提供分布式程序設(shè)計(jì)語(yǔ)言。分布式程序設(shè)計(jì)語(yǔ)言和其它程序設(shè)計(jì)語(yǔ)言的主要區(qū)別它具有程序分布和通信的功能。有時(shí)它還具有便于實(shí)現(xiàn)魯棒性的一些功能。一般來(lái)說(shuō),一種順序程序設(shè)計(jì)語(yǔ)言或并發(fā)程序設(shè)計(jì)語(yǔ)言,增加了分布和通信功能后,就可以成為分布式程序設(shè)計(jì)語(yǔ)言了。,61分布式程序設(shè)計(jì)的特點(diǎn)分布式程序,分布式功能可使程序分為若干個(gè)可獨(dú)立執(zhí)行的程序模塊。這些程序模塊的產(chǎn)生方式可以在程序開(kāi)始執(zhí)行前就按要求分布于各臺(tái)計(jì)算機(jī)上,也可以在程序執(zhí)行過(guò)程中逐個(gè)產(chǎn)生出來(lái),即開(kāi)始執(zhí)行時(shí)只有一個(gè)程序模塊,它在執(zhí)行中不斷產(chǎn)生出新的程序模塊,被產(chǎn)生的程序模塊在執(zhí)行中又可以產(chǎn)生程序模塊。由于不同的程序模塊是在不同的計(jì)算機(jī)上執(zhí)行的,故它們之間不能有共享數(shù)據(jù)或公用變量。程序模塊之間的數(shù)據(jù)交換只能依靠通信。分布式程序設(shè)計(jì)的通信功能就是用來(lái)實(shí)現(xiàn)程序模塊間的數(shù)據(jù)交換的。目前已有十幾種分布式程序設(shè)計(jì)語(yǔ)言的建議。,62分布式進(jìn)程基于PASCAL的分布式程序設(shè)計(jì)語(yǔ)言,漢森于1978年提出了分布式進(jìn)程的概念。它將并發(fā)PASCAL語(yǔ)言作了一些修改,并增加了分布式進(jìn)程的概念,從而構(gòu)成了一個(gè)分布式程序設(shè)計(jì)語(yǔ)言。分布式進(jìn)程是分布于系統(tǒng)的若干臺(tái)計(jì)算機(jī)上的進(jìn)程,它們之間沒(méi)有公用變量。一個(gè)程序是由數(shù)量固定的若干分布式進(jìn)程組成,它們同時(shí)被啟動(dòng),并行地在各臺(tái)計(jì)算機(jī)上執(zhí)行。,62分布式進(jìn)程進(jìn)程定義,一個(gè)進(jìn)程定義了自己的變量、公用過(guò)程和初始語(yǔ)句序列PROCESS(進(jìn)程名)一個(gè)進(jìn)程執(zhí)行兩類操作執(zhí)行初始語(yǔ)句序列和由其它進(jìn)程提出的外需求(即調(diào)用它定義的公用過(guò)程)。,62分布式進(jìn)程分布式進(jìn)程的執(zhí)行,一個(gè)進(jìn)程被啟動(dòng)后,1)先執(zhí)行初始語(yǔ)句序列,直至執(zhí)行完畢。2)在進(jìn)程執(zhí)行中因?yàn)榈却硞€(gè)條件而暫時(shí)不能執(zhí)行下去時(shí),如果有外需求,它就執(zhí)行相應(yīng)的公用過(guò)程。當(dāng)此過(guò)程執(zhí)行完畢或執(zhí)行到等待某個(gè)條件而暫時(shí)不能繼續(xù)執(zhí)行時(shí),它或者去執(zhí)行初始語(yǔ)句序列,或者執(zhí)行另一個(gè)外需求的過(guò)程。一個(gè)進(jìn)程在執(zhí)行初始語(yǔ)句序列或某個(gè)過(guò)程時(shí),總是連續(xù)地執(zhí)行下去,除非它因?yàn)榈却硞€(gè)條件而暫時(shí)不能繼續(xù)執(zhí)行下去,或者它向其它進(jìn)程提出了過(guò)程調(diào)用。當(dāng)一個(gè)進(jìn)程由于上述原因不能執(zhí)行語(yǔ)句序列或某個(gè)過(guò)程時(shí),它就可以接收其它進(jìn)程的需求,執(zhí)行相應(yīng)的一個(gè)過(guò)程。因此,一個(gè)進(jìn)程從執(zhí)行某一個(gè)過(guò)程轉(zhuǎn)向另一個(gè)過(guò)程,這不是由時(shí)鐘來(lái)控制的,而是由程序本身的執(zhí)行來(lái)確定的。,因此,一個(gè)分布式進(jìn)程的執(zhí)行過(guò)程可用下圖來(lái)表示,A簡(jiǎn)單情況(B復(fù)雜情況,62分布式進(jìn)程過(guò)程的定義,一個(gè)進(jìn)程可以定義若干個(gè)過(guò)程。一個(gè)過(guò)程定義了它的輸入輸出參量、局部變量和語(yǔ)句序列PROC()當(dāng)執(zhí)行一個(gè)過(guò)程時(shí),相應(yīng)的語(yǔ)句序列就被執(zhí)行。,62分布式進(jìn)程過(guò)程的調(diào)用,一個(gè)進(jìn)程可用CALL語(yǔ)句來(lái)調(diào)用另一個(gè)進(jìn)程所定義的過(guò)程,例如進(jìn)程P可以用以下形式的CALL語(yǔ)句來(lái)調(diào)用進(jìn)程Q定義的過(guò)程RCALLQR(,變量)在進(jìn)程Q開(kāi)始執(zhí)行過(guò)程R時(shí),CALL語(yǔ)句中表達(dá)式的值就賦給了輸入?yún)⒘俊.?dāng)過(guò)程執(zhí)行完畢后,輸出參量的值就賦給了CALL語(yǔ)句中的變量實(shí)現(xiàn)上述過(guò)程調(diào)用時(shí),1)調(diào)用進(jìn)程先要將輸入?yún)⒘康闹祩鹘o被調(diào)用者,2)過(guò)程執(zhí)行完畢后,被調(diào)用者要將輸出參量的值送回給調(diào)用者。所以,一次過(guò)程調(diào)用要兩次通信才能實(shí)現(xiàn)。,,進(jìn)程對(duì)過(guò)程的調(diào)用可以加以限制。例如,規(guī)定進(jìn)程可以定義兩類過(guò)程公用過(guò)程和局部過(guò)程。一個(gè)進(jìn)程只能調(diào)用其它進(jìn)程所定義的公用過(guò)程。局部過(guò)程只能為它所屬進(jìn)程來(lái)調(diào)用。為了易于驗(yàn)證和實(shí)現(xiàn),可規(guī)定不許遞歸調(diào)用。,62分布式進(jìn)程衛(wèi)式命令,在漢森提出的分布式程序設(shè)計(jì)語(yǔ)言建議中,還定義了一些稱之為衛(wèi)式命令和衛(wèi)式區(qū)域的語(yǔ)句來(lái)控制進(jìn)程執(zhí)行的同步。這些語(yǔ)句是1IF語(yǔ)句IFB1S1|B2S2|END其意思是當(dāng)B1,B2,中某個(gè)條件為真時(shí),選擇某個(gè)相應(yīng)的語(yǔ)句執(zhí)行之,否則停止執(zhí)行程序。例如,執(zhí)行語(yǔ)句IFB1S1|B2S2|B3S3END時(shí),若B1,B3為真,則執(zhí)行完S1或S3后,這個(gè)語(yǔ)句就執(zhí)行完了。究竟執(zhí)行S1還是S3,語(yǔ)法不作規(guī)定,也就是說(shuō),這是不確定的。如果執(zhí)行這個(gè)語(yǔ)句時(shí),B1,B2和B3均為假,那么就停止執(zhí)行相應(yīng)的程序。這往往意味著有錯(cuò)誤發(fā)生了。,,2DO語(yǔ)句DOB1S1|B2S2|END其意思是只要B1,B2,中某個(gè)條件為真,就選擇某個(gè)相應(yīng)的語(yǔ)句執(zhí)行之,直到所有條件均為假時(shí)這個(gè)語(yǔ)句才執(zhí)行完畢。顯然DOBSEND和WHILEBDOSEND是一樣的。所以DO語(yǔ)句是WHILE語(yǔ)句的擴(kuò)充。,,3WHEN語(yǔ)句WHENB1S1|B2S2|END其意思是等到B1,B2,中某個(gè)條件為真時(shí),就執(zhí)行某個(gè)相應(yīng)的語(yǔ)句。如果多個(gè)條件為真,則選擇某個(gè)相應(yīng)的條件來(lái)執(zhí)行。,,4CYCLE語(yǔ)句CYCLEB1S1|B2S2|END其意思是不斷地重復(fù)執(zhí)行WHEN語(yǔ)句WHENB1S1|B2S2|END因此上面的CYCLE語(yǔ)句等價(jià)于DOTRUEWHENB1S1|B2S2|ENDEND,,5FOR語(yǔ)句FORXINYSEND其意思是對(duì)數(shù)組或集合Y中的每個(gè)元素X執(zhí)行語(yǔ)句S。在這個(gè)程序設(shè)計(jì)語(yǔ)言中,除字符型。布爾型和整數(shù)型三種基本數(shù)據(jù)類型外,還有集合型、序列型和數(shù)組型。集合型SETNT是指N個(gè)T類數(shù)據(jù)的集合。序列型SEQNT是指N個(gè)T類型數(shù)據(jù)的序列。數(shù)組型ARRAYNT是指由N個(gè)T類數(shù)據(jù)所組成的數(shù)組。,,6SKIP語(yǔ)句什么也不做的空操作。下面給出4個(gè)例子1信件緩沖2字符串發(fā)送3文件的讀寫(xiě)4哲學(xué)家問(wèn)題,【例1】信件緩沖,一個(gè)稱為BUFFER的進(jìn)程為進(jìn)程間交換信息提供緩沖。它定義了兩個(gè)過(guò)程SEND和RECEIVE。當(dāng)企圖將信件存入緩沖時(shí),調(diào)用過(guò)程SEND。當(dāng)企圖將信件從緩沖中取走時(shí),調(diào)用過(guò)程RECEIVE。定義如下PROCESSBUFFERBARRAY1128CHAR{一封信由128個(gè)字符組成}FULLBOOLEAN{緩沖中有信時(shí)FULL為真},PROCSENDMARRAY1128CHARBEGINWHENNOTFULLBMFULLTRUEENDENDPROCRECEIVEMARRAY1128CHARBEGINWHENFULLMBFULLFALSEENDENDBEGINFULLFALSEEND,【例2】字符串傳送,一個(gè)為STREAM的進(jìn)程從鍵盤輸入設(shè)備讀入一行字符串,經(jīng)加工后送入例1所定義的BUFFER進(jìn)程的緩沖。PROCESSSTREAMBARRAY1128CHAR{一行最多128個(gè)字符}IINTBEGINDOTRUEI1READB1{從鍵盤輸入設(shè)備讀入一個(gè)字符}DOBI“換行字符”ANDI1SS1ENDENDPROCENDREADBEGINIFS1SS1ENDEND,,PROCSTARTWRITEBEGINWHENS1S0ENDENDPROCENDWRITEBEGINIFS0S1ENDENDPROCREADBINTRARRAY1256CHARBEGINREADBLOCKB,R{將第B塊中的256個(gè)字符讀入R}END;,,PROCWRITEBINTMARRAY1256CHARBEGINWRITEBLOCKB,M{將M中的256個(gè)字符寫(xiě)入第B塊}ENDBEGINS1END變量S的值表明文件所處的狀態(tài),它的含義如下S=0,有一個(gè)寫(xiě)文件的進(jìn)程占用文件S=1,沒(méi)有進(jìn)程占用文件S=2,有一個(gè)讀文件的進(jìn)程占用文件S=K(≥2),有K-1個(gè)讀文件的進(jìn)程占用文件。,,顯然,文件在RESOURCE控制下可以同時(shí)為幾個(gè)讀文件的進(jìn)程占用,而最多只可能為一個(gè)寫(xiě)文件的進(jìn)程占有。一個(gè)進(jìn)程用語(yǔ)CALLRESOURCESTARTREAD或CALLRESOURCESTARTWRITE來(lái)占用文件。然后用CALLRESOURCEREADB,R或CALLRESOURCEWRITEB,M來(lái)讀或?qū)懳募?。最后,用CALLRESOURCEENDREAD或CALLRESOURCEENDWRITE來(lái)歸還文件。,按上述方法編制的程序不能避免餓死。例如當(dāng)兩個(gè)進(jìn)程交替地讀文件時(shí),在一個(gè)進(jìn)程歸還文件前另一個(gè)就調(diào)用了過(guò)程STARTREAD,而在一個(gè)進(jìn)程調(diào)用了過(guò)程STARTREAD后另一個(gè)才調(diào)用過(guò)程ENDREAD,這時(shí)調(diào)用過(guò)程STARTWRITE的進(jìn)程就無(wú)法獲得寫(xiě)文件的權(quán)力。為了避免餓死,上述進(jìn)程可作以下的修改PROCESSRESOUCESINTPROCSTARTREADBEGINWHENS1SS1ENDEND,,PROCSTARTWRITEBEGINIFS1S2S|S1SS1|S0)表示有K+1個(gè)進(jìn)程在讀文件,而至少有一個(gè)進(jìn)程在等待寫(xiě)文件。S=0表示有一個(gè)進(jìn)程在寫(xiě)文件或有一個(gè)進(jìn)程在讀文件,而有一個(gè)進(jìn)程在等待寫(xiě)文件。經(jīng)過(guò)上述修改后,只要有進(jìn)程在等待寫(xiě)文件時(shí)就不再接受進(jìn)程讀文件了。顯然,餓死現(xiàn)象就不會(huì)產(chǎn)生了。,【例4】哲學(xué)家用餐問(wèn)題,5個(gè)哲學(xué)家圍坐一圓桌。桌上有5把叉子,每人旁邊有兩把。每個(gè)哲學(xué)家不斷地思考和進(jìn)餐。當(dāng)他要進(jìn)餐時(shí),他必須得到左邊和右邊的叉子才行。當(dāng)他食畢,放下兩叉,從而他的兩鄰者可得到他們的左或右邊的叉子。為了描述這個(gè)問(wèn)題,引入一個(gè)稱為數(shù)組進(jìn)程的概念。一個(gè)數(shù)組進(jìn)程PROCESSI1N表示N個(gè)進(jìn)程。例如PROCESSPHILOSOPHERI15表示5個(gè)進(jìn)程,它們是,,PROCESSPHILOSOPHER1PROCESSPHILOSOPHER2PROCESSPHILOSOPHER5解決5個(gè)哲學(xué)家用餐問(wèn)題的程序由6個(gè)進(jìn)程組成。一個(gè)哲學(xué)家的活動(dòng)由一個(gè)進(jìn)程來(lái)描述。叉子由一個(gè)稱為TABLE的進(jìn)程來(lái)管理,,PROCESSPHILOSOPHERI15BEGINDOTRUETHINKINGCALLTABLEJOINI{第I個(gè)哲學(xué)家要求進(jìn)餐}CALLTABLELEAVEI{第I個(gè)哲學(xué)家食畢}END;END,,PROCESSTABLEEATINGARRAY15BOOLEAN{第I個(gè)哲學(xué)家在進(jìn)餐時(shí),EATINGITRUE}PROCJOINIINTBEGINWHENEATINGLEFTIFALSEANDEATINGRIGHTIFALSEEATINGITRUEEND{當(dāng)左右的哲學(xué)家均不在進(jìn)餐時(shí),即左右叉都空閑時(shí),他就可以加入進(jìn)餐}END;PROCLEAVEIINTBEGINEATINGIFALSEEND,BEGINJINTFORJ1TO5DOEATINGJFALSEEND程序中函數(shù)LEFT和RIGHT定義如下LEFTII-1I1LEFTI5I1RIGHTII1I5RIGHTI1I5不難驗(yàn)證,采用上述解法不會(huì)產(chǎn)生死鎖,但是可能出現(xiàn)餓死現(xiàn)象。當(dāng)一個(gè)哲學(xué)家的左右二人交替進(jìn)餐時(shí),他就可能得不到叉而“餓死”。如果修改一下,就可以既避免死鎖又避免餓死。這作為作業(yè)留給同學(xué)課后自己去做。,63分布式進(jìn)程遷移,在計(jì)算機(jī)網(wǎng)絡(luò)中,允許程序或數(shù)據(jù)從一個(gè)結(jié)點(diǎn)遷移到另一個(gè)結(jié)點(diǎn),在分布式計(jì)算機(jī)系統(tǒng)中,更是允許將一個(gè)進(jìn)程從一個(gè)計(jì)算機(jī)遷移到另一個(gè)計(jì)算機(jī)中。計(jì)算和數(shù)據(jù)的遷移數(shù)據(jù)遷移(DATAMIGRATION)假如系統(tǒng)A中的用戶欲去訪問(wèn)系統(tǒng)B中文件的數(shù)據(jù),可以采用以下兩種方法來(lái)實(shí)現(xiàn)數(shù)據(jù)傳送。第一種方法,是將系統(tǒng)B中的整個(gè)文件送到系統(tǒng)A中,,,這樣,凡是系統(tǒng)A中的用戶要訪問(wèn)該文件時(shí),都變成了本地訪問(wèn)。當(dāng)用戶不再需要此文件時(shí),若文件拷貝已被修改,則必須把已修改過(guò)的拷貝送回系統(tǒng)B;若未被修改,便不必將文件回送。如果文件比較大,系統(tǒng)A中用戶用到的文件數(shù)據(jù)又比較少,采用這種來(lái)回傳送整個(gè)文件的方法,系統(tǒng)的效率較低。第二種方法,是僅把文件中用戶當(dāng)前要使用的部分從系統(tǒng)B傳送到系統(tǒng)A,若以后用戶又要用到其它部分,再?gòu)南到y(tǒng)B傳送到系統(tǒng)A。當(dāng)用戶不再需要使用此文件時(shí),則只需把修改過(guò)的部分傳回系統(tǒng)B。SUN公司的網(wǎng)絡(luò)文件系統(tǒng)NFS和MICROSOFT的NETBU便使用了這種方法。,計(jì)算遷移(COMPUTATIONMIGRATION)在有些情況下,傳送計(jì)算要比傳遞數(shù)據(jù)效率高。例如,有一個(gè)應(yīng)用,它需要訪問(wèn)多個(gè)駐留在不同系統(tǒng)中的大型文件,以獲得有關(guān)數(shù)據(jù)。此時(shí),若采用數(shù)據(jù)遷移方式,則需將駐留在不同系統(tǒng)上的所需文件傳送到用戶應(yīng)用所在的系統(tǒng)中。這樣,要傳送的數(shù)據(jù)量相當(dāng)大,可以采計(jì)算遷移來(lái)解決這個(gè)問(wèn)題。計(jì)算遷移可以有多種不同的執(zhí)行方式。1)可以通過(guò)RPC調(diào)用不同系統(tǒng)上的例行程序來(lái)處理文件,并把處理后的結(jié)果傳給自己;2)也可以發(fā)送多個(gè)消息給各個(gè)駐留了文件的系統(tǒng),這些機(jī)器上的操作系統(tǒng)將創(chuàng)建一個(gè)進(jìn)程來(lái)處理相應(yīng)文件,進(jìn)程處理完畢后再把結(jié)果傳遞回請(qǐng)求進(jìn)程。,,必須注意在第二種方式中請(qǐng)求進(jìn)程和執(zhí)行請(qǐng)求的進(jìn)程是在不同的機(jī)器上并發(fā)執(zhí)行的。上述兩種方法,經(jīng)過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)相當(dāng)少。如果傳輸數(shù)據(jù)的時(shí)間長(zhǎng)于這段命令的執(zhí)行時(shí)間,則計(jì)算遷移方式更可取;反之,數(shù)據(jù)遷移方式更有效。,進(jìn)程遷移(PROCESSMIGRATION)進(jìn)程遷移是計(jì)算遷移的一種延伸,當(dāng)一個(gè)新進(jìn)程被啟動(dòng)執(zhí)行后,并不一定始終都在同一處理機(jī)上運(yùn)行,也可以被遷移到另一臺(tái)機(jī)器上繼續(xù)運(yùn)行。引入進(jìn)程遷移的理由是1負(fù)載均衡分布式系統(tǒng)中,各個(gè)結(jié)點(diǎn)的負(fù)荷經(jīng)常不均勻,此時(shí),可以通過(guò)進(jìn)程遷移的方法來(lái)均衡各個(gè)系統(tǒng)的負(fù)荷。把重負(fù)荷系統(tǒng)中的進(jìn)程遷移到輕負(fù)荷的系統(tǒng)中去,以改善系統(tǒng)性能;2通信性能對(duì)于分布在不同系統(tǒng)中,而彼此交互性又很強(qiáng)的一些進(jìn)程,應(yīng)將它們遷移到同一系統(tǒng)中,以減少由于它們之間頻繁地交互而加大通信開(kāi)銷。類似地,當(dāng)某進(jìn)程在執(zhí)行數(shù)據(jù)分析時(shí),如果它們所需的文件遠(yuǎn)遠(yuǎn)大于進(jìn)程,則此時(shí)應(yīng)該把該進(jìn)程遷移到文件所在駐留的系統(tǒng)中去,能進(jìn)一步降低通信開(kāi)銷;,,,3加速計(jì)算對(duì)于一個(gè)大型應(yīng)用,如果始終在一臺(tái)處理機(jī)上執(zhí)行,可能要化費(fèi)較多時(shí)間,使作業(yè)周轉(zhuǎn)時(shí)間延長(zhǎng)。但如果能為該作業(yè)建立多個(gè)進(jìn)程,并把這些進(jìn)程遷移到多臺(tái)處理器上執(zhí)行,會(huì)大大加快該作業(yè)的完成時(shí)間,從而,縮短作業(yè)的周轉(zhuǎn)時(shí)間;4特殊功能和資源的使用通過(guò)進(jìn)程遷移來(lái)利用特殊結(jié)點(diǎn)上的硬件或軟件功能或資源。,,此外,在分布式系統(tǒng)中,如果某個(gè)系統(tǒng)發(fā)生了故障,而該系統(tǒng)中的進(jìn)程又希望繼續(xù)下去,則分布式操作系統(tǒng)可以把這些進(jìn)程遷移到其它系統(tǒng)中去運(yùn)行,提高了系統(tǒng)的可用性。為了實(shí)現(xiàn)進(jìn)程遷移,在分布式系統(tǒng)中必須建立相應(yīng)的進(jìn)程遷移機(jī)制,主要負(fù)責(zé)解決1由誰(shuí)來(lái)啟動(dòng)進(jìn)程遷移2如何進(jìn)行進(jìn)程遷移3如何處理未完成的信號(hào)和消息等問(wèn)題。,進(jìn)程遷移的啟動(dòng)取決于進(jìn)程遷移機(jī)制的目標(biāo),如果目標(biāo)是平衡負(fù)載,則由系統(tǒng)中的監(jiān)視模塊負(fù)責(zé)在適當(dāng)時(shí)刻進(jìn)行進(jìn)程遷移。在分布式系統(tǒng)中配置了系統(tǒng)負(fù)載監(jiān)視模塊,設(shè)定其中一個(gè)結(jié)點(diǎn)上的監(jiān)視模塊為主模塊。主模塊定時(shí)地與各系統(tǒng)的監(jiān)視模塊交互有關(guān)系統(tǒng)負(fù)荷情況的信息。一旦發(fā)現(xiàn)有些系統(tǒng)忙碌,而有些系統(tǒng)空閑時(shí),主模塊便可啟動(dòng)進(jìn)程遷移,向負(fù)載沉重的系統(tǒng)發(fā)出命令,讓其把若干進(jìn)程遷移到負(fù)載輕的系統(tǒng)中去。當(dāng)然,這對(duì)用戶是透明的,所有進(jìn)程遷移工作都由系統(tǒng)完成。類似地,如果進(jìn)程遷移是為了其它目標(biāo),則分布式系統(tǒng)中的其它相應(yīng)部分成為進(jìn)程遷移的啟動(dòng)者。,,在進(jìn)程進(jìn)行遷移時(shí),應(yīng)將系統(tǒng)中已遷移進(jìn)程撤消,在目標(biāo)系統(tǒng)中建立一個(gè)相同的新進(jìn)程,因?yàn)檫@是進(jìn)程的遷移而不是進(jìn)程的復(fù)制。進(jìn)程遷移時(shí),所遷移的是進(jìn)程映象,包括進(jìn)程控制塊、程序、數(shù)據(jù)和棧。此外,被遷移進(jìn)程與其他進(jìn)程之間的關(guān)聯(lián)應(yīng)作相應(yīng)修改。進(jìn)程遷移的過(guò)程并不復(fù)雜,但需要花費(fèi)一定的通信開(kāi)銷,困難在于進(jìn)程地址空間和已經(jīng)打開(kāi)的文件。,,由于現(xiàn)代操作系統(tǒng)均采用虛擬存儲(chǔ)技術(shù),對(duì)于進(jìn)程地址空間可使用如下兩種辦法一是傳送整個(gè)地址空間,把一個(gè)進(jìn)程的所有映象全部從源系統(tǒng)傳遞到目標(biāo)系統(tǒng),這種方法簡(jiǎn)單,但當(dāng)?shù)刂房臻g很大,且進(jìn)程只需要用到一部分程序和數(shù)據(jù)時(shí),會(huì)造成浪費(fèi);二是僅傳送內(nèi)存中的且已修改了的那部分地址空間,若程序運(yùn)行時(shí)還需要附加的虛存空間部分信息,則可以通過(guò)請(qǐng)求方式予以傳送。這樣,所傳送的數(shù)據(jù)量是最少的,但源系統(tǒng)中仍然必須保存被遷移進(jìn)程的數(shù)據(jù)及相關(guān)信息,源系統(tǒng)并未從對(duì)該進(jìn)程的管理中解脫出來(lái)。,,,三是預(yù)先復(fù)制,進(jìn)程繼續(xù)在原結(jié)點(diǎn)上執(zhí)行,而地址空間被復(fù)制到目標(biāo)結(jié)點(diǎn)上,由于原結(jié)點(diǎn)上的某些地址空間內(nèi)容又被修改過(guò),所以,需要有二次遷移,這種方法能減少進(jìn)程被凍結(jié)的時(shí)間。如果被遷移的進(jìn)程還打開(kāi)了源系統(tǒng)中的某些文件,可用兩種方法來(lái)處理,一種方法是將已打開(kāi)的文件隨進(jìn)程一起遷移,這里存在的問(wèn)題是進(jìn)程有可能僅僅臨時(shí)遷移過(guò)去,返回時(shí)才需要訪問(wèn)該文件;第二種方法是暫時(shí)不遷移文件,僅當(dāng)遷移后的進(jìn)程又提出對(duì)該文件的訪問(wèn)要求時(shí),再進(jìn)行遷移。如果文件被多個(gè)分布式進(jìn)程所共享,則需要維護(hù)對(duì)文件的分布式訪問(wèn),而不必遷移。,在一個(gè)進(jìn)程由源系統(tǒng)向目標(biāo)系統(tǒng)遷移期間,可能會(huì)有其它進(jìn)程繼續(xù)向源系統(tǒng)中已遷移進(jìn)程的進(jìn)程發(fā)來(lái)消息或信號(hào),這時(shí)應(yīng)如何處理一種可行的方法是在源系統(tǒng)中提供一種機(jī)構(gòu),用于暫時(shí)保存這類信息,還需保存被遷移進(jìn)程所在目標(biāo)系統(tǒng)的新地址,當(dāng)被遷移進(jìn)程已在目標(biāo)系統(tǒng)中被建成新進(jìn)程后,源系統(tǒng)便可將已收到的相關(guān)信息轉(zhuǎn)發(fā)至目標(biāo)系統(tǒng)。,,,IBM的AIX是一種分布式UNIX操作系統(tǒng),它提供了一種實(shí)用的進(jìn)程遷移機(jī)制。進(jìn)程遷移的步驟如下(1)當(dāng)進(jìn)程決定遷移自身時(shí),它先選擇一個(gè)目標(biāo)機(jī),發(fā)送一個(gè)遠(yuǎn)程執(zhí)行任務(wù)的消息,該消息運(yùn)載了進(jìn)程映象及打開(kāi)文件的部分信息;(2)在接收端,內(nèi)核服務(wù)進(jìn)程生成一個(gè)子進(jìn)程,將這些信息交給它;(3)這個(gè)新進(jìn)程收集完成其操作所需的環(huán)境、數(shù)據(jù)、變量和棧信息。如果它是“臟”的就復(fù)制程序文件;如果是“干凈”的,則請(qǐng)求從全局文件系統(tǒng)中調(diào)頁(yè)。(4)遷移完成后發(fā)消息通知源進(jìn)程,源進(jìn)程就發(fā)一個(gè)最后完成消息給新進(jìn)程,然后刪去自己。,
      下載積分: 6 賞幣
      上傳時(shí)間:2024-01-05
      頁(yè)數(shù): 46
      3人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 19
      3人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 13
      2人已閱讀
      ( 4 星級(jí))
    • 下載積分: 9 賞幣
      上傳時(shí)間:2024-03-04
      頁(yè)數(shù): 75
      3人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-04
      頁(yè)數(shù): 23
      3人已閱讀
      ( 4 星級(jí))
    • 下載積分: 9 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 75
      2人已閱讀
      ( 4 星級(jí))
    • 下載積分: 9 賞幣
      上傳時(shí)間:2024-03-04
      頁(yè)數(shù): 88
      2人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-04
      頁(yè)數(shù): 8
      2人已閱讀
      ( 4 星級(jí))
    • 下載積分: 8 賞幣
      上傳時(shí)間:2024-03-04
      頁(yè)數(shù): 47
      6人已閱讀
      ( 4 星級(jí))
    • 下載積分: 9 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 52
      5人已閱讀
      ( 4 星級(jí))
    • 下載積分: 9 賞幣
      上傳時(shí)間:2024-03-04
      頁(yè)數(shù): 71
      2人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 8
      8人已閱讀
      ( 4 星級(jí))
    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服客服 - 聯(lián)系我們

    機(jī)械圖紙?jiān)创a,實(shí)習(xí)報(bào)告等文檔下載

    備案號(hào):浙ICP備20018660號(hào)