freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第七章并發(fā)程序設(shè)計(jì)語言-資料下載頁

2025-10-02 21:55本頁面

【導(dǎo)讀】并發(fā)程序帶來的問題。需要解決的基本問題。并發(fā)性,又稱共行性,是指能處理多個同時性活動。的能力,并發(fā)事件之間不一定要同一時刻發(fā)生。并行強(qiáng)調(diào)的是多個執(zhí)行活動同時處于運(yùn)行狀態(tài)之中,強(qiáng)調(diào)其相互。器或者是多核的處理器同時處理多個不同的任務(wù)。并行程序設(shè)計(jì)模型。并行計(jì)算的硬件環(huán)境。程序與進(jìn)程,線程與進(jìn)程。關(guān)代碼段執(zhí)行的操作相對應(yīng)。保證數(shù)據(jù)一致性與同步。而無需關(guān)心進(jìn)程間的數(shù)據(jù)交換問題。與并行系統(tǒng)來維護(hù)。存儲多處理機(jī),而不用于多處理機(jī)、機(jī)群系統(tǒng)。消息包括指令、數(shù)。術(shù)的發(fā)展而提出的。并行處理單位卻是對象。對象是動態(tài)建立和控制的。對象間發(fā)送和接收消息來完成。臺,但系統(tǒng)開銷較大。對應(yīng)為單機(jī)多處理器的主機(jī)或單CPU. 戶的MS-DOS和多用戶的UNIX就是例子,有OS均發(fā)展為右下角的多進(jìn)程和多線程的計(jì)算模式。原子動作是一次“立即”執(zhí)行完的“順序”動作。PL/1的并發(fā)進(jìn)程是任務(wù)TASK,它可以定義語句級的事件。

  

【正文】 :char)。 body var cache_block:TYPE; //磁盤緩存塊 var queue :QTYPE; //等待訪問磁盤的隊(duì) var 按需要的信號燈變量 proc readblk (field, offset, blk) is if 需要的塊不在 caske_block之中 then 將讀要求存入磁盤的等待隊(duì) 。 等待處理讀 。 endif。 blk := cache_block。 end。 proc writeblk (field, offset, blk) 選取一可寫 cache_block。 如必要,將寫要求入等待隊(duì) 。 等待至磁盤可寫 。 cache_block := blk。 end。 Disk_Driver ::loop 等待磁盤訪問要求 。 啟動磁盤操作;等待中斷 。 喚醒等待此要求的進(jìn)程并執(zhí)行之 。 end loop。 end File_Server. 會合 ? 會合由進(jìn)程輸出操作,因而,每當(dāng)有遠(yuǎn)程調(diào)用時進(jìn)程已經(jīng)是激活了的。這和模塊輸出操作,遠(yuǎn)程調(diào)用時再激活進(jìn)程不一樣,故而得名,即以兩活動進(jìn)程相會合以求得同步。服務(wù)進(jìn)程一般定義為 : Pname::各操作 Opi的聲明 。 局部變量聲明 。 in/accept 語句和條件 。 //接受 RPC的入口點(diǎn) opi(FRG_list)。 其它局部操作 。 調(diào)用時和 RPC一樣 : _ call (ARG_list) Buffer :: op deposit(data:TYPE), fetch(var result:TYPE)。 var buf[1..q]:TYPE var front :=1, rear := 1, count !=0。 loop in deposit (data) and count n do buf[rear] := data。 rear := rear mod n+1。 count := count+1; end。 ?in fetch (result) and count0 do result := buf[front]。 front := front mod n+1。 count := count 1。 end。 end loop. 有界緩沖區(qū)是一典型過濾器,一些進(jìn)程向緩沖區(qū)存入 (deposit)數(shù)據(jù),另一些進(jìn)程從緩沖區(qū)取出 (fetch),緩沖區(qū) (buffer)本身是一個進(jìn)程。會合機(jī)制的實(shí)現(xiàn)算法如下 : 多原語的并發(fā)機(jī)制 ?進(jìn)程交互主要技術(shù)的回顧 忙等待 信號燈 條件臨界區(qū) 監(jiān)控器 同步消息傳遞 異步消息傳遞 遠(yuǎn)程過程調(diào)用 /會合 路徑表達(dá)式 多原語交互 面向 過程 面向 消息 面向操作 主要內(nèi)容: ? 并發(fā)程序設(shè)計(jì)的基本概念 ? 并發(fā)程序帶來的問題 ? 需要解決的基本問題 ? 程序語言示例 并發(fā)語言需要解決的基本問題 ? 開發(fā)并行程序設(shè)計(jì)語言一般有三種方法 : – ① 設(shè)計(jì)一種新語言。新語言有比較強(qiáng)的并行性描述能力。但是兼容性不好 ,不易推廣 ,因此現(xiàn)在采用該方法的系統(tǒng)較少。 – ②對現(xiàn)有的順序語言加以擴(kuò)展 ,提供并行性描述機(jī)制。該方法具有兼容性好、編程簡便等特點(diǎn) ,現(xiàn)在常常被采用。 ③不改變現(xiàn)有順序語言 ,而由用戶提供的函數(shù)庫、類庫或并行化編譯系統(tǒng)等方法實(shí)現(xiàn)并行程序設(shè)計(jì)。該方法簡單靈活 ,易于推廣。 并發(fā)程序設(shè)計(jì)語言 高級程序設(shè)計(jì)語言擴(kuò)充并發(fā)機(jī)制,最早可溯源至 PL/1和Algal68。 20多年以來,隨著各種并發(fā)機(jī)制的研究推出了數(shù)十種具有并發(fā)機(jī)制的高級程序設(shè)計(jì)語言。直到目前,還沒有一種并發(fā)程序設(shè)計(jì)語言能統(tǒng)治并發(fā)程序設(shè)計(jì)整個領(lǐng)域。其原因是硬件背景、應(yīng)用領(lǐng)域和程序設(shè)計(jì)模型的多樣性。 主要的并發(fā)程序設(shè)計(jì)語言 語言 年代 并發(fā)機(jī)制 備注 DP 1978 CCR+RPC Edison 1978 CCR Argus 1982 CCR+RPC+原子事務(wù) Lynx 1991 RPC+會合 +CCR Concurrent Euclid 監(jiān)控器 (SW) Concurrent Pascal 1975 監(jiān)控器 (SW) Modula3 1985 監(jiān)控器 (SC)+協(xié)例程和鎖的包 Path Pascal 1979 監(jiān)控器 +路徑表達(dá)式 Pascal Plus 1979 監(jiān)控器 (SU) Turing Plus 1983 監(jiān)控器 (SC+SW) Mesa 1979 監(jiān)控器 (SC)+RPC Emerald 監(jiān)控器 +RPC(面向?qū)ο?) 語言 年代 并發(fā)機(jī)制 備注 Actor 異步消息傳遞 (基于對象 ) PLITS 1979 異步消息傳遞 NIL 1982 異步消息傳遞 +會合 Gypsy 1979 異步消息傳遞 CONIC 異步消息傳遞 CSP 1980 同步消息傳遞 Joyce 同步消息傳遞 Occam 1987 同步消息傳遞 Concurrent C 1985 會合 +異步發(fā)送 Concurrent C++ 1987 會合 Ada 1983 會合 SR 1982 多共享 +消息原語 92年 Star Mod 1980 多消息原語 Linda 1986 帶共享元組空間的消息原語 Java 1996 類庫支持多原語 Ada的任務(wù) ?Ada的任務(wù)結(jié)構(gòu) task TNAME is entry ENAME (FP_list); //可以多個 end TNAME; task body TNAME is 局部聲明; begin accept ENAME (FP_list) is //對應(yīng)多個 語句序列 。 end ENAME。 end TNAME。 任務(wù)激活后就是一個進(jìn)程。其它進(jìn)程通過 call (AP_list)。 ?Ada的 通信與同步 ( 1)簡單選擇 (2) 否則選擇 (3) 衛(wèi)式選擇 ( 4)延時選擇 SR語言 ? 設(shè)計(jì)于 70年代末,從多消息傳遞原語擴(kuò)充了共享內(nèi)存而來。 ? 程序結(jié)構(gòu)( 有 resources (資源 )和 globals(全局共享 )兩種模塊) : resource name global name 輸入規(guī)格說明 。 輸入規(guī)格說明 。 輸出操作和類型聲明 。 輸出操作和類型聲明 。 body name(FP_list) body name 變量和局部聲明 。 變量和局部聲明 。 初始化碼 。 初始化碼 。 過程 。 過程 。 進(jìn)程 。 終止化代碼 。 終止化代碼 。 end name end name. SR語言 ? 在 SR中,同一資源內(nèi)的進(jìn)程可以共享變量,可以使用各種原語實(shí)現(xiàn)通信和同步:信號燈、異步消息傳遞、 RPC、會合。SR既適合分布式也適于共享內(nèi)存的多處理器機(jī)器。 ? 調(diào)用操作用 call則為同步, send為異步。 基于消息的并行編程模型 ? 由于消息傳遞并行編程模型的廣泛應(yīng)用,目前已經(jīng)出現(xiàn)了許多基于該模型的并行編程語言,其中最流行的是 PVM( Parallel Virtual Machine)和 MPI( Message Process Interface)。第一個將工作站集群作為并行計(jì)算平臺并被廣泛接受的并行編程語言是 PVM。它由美國的 Oak Ridge國家實(shí)驗(yàn)室、 Tennessean大學(xué)、 Em大學(xué)、 CMU大學(xué)等聯(lián)合開發(fā)而成,能夠?qū)悩?gòu)的 Unix計(jì)算機(jī)通過異構(gòu)網(wǎng)絡(luò)連接成一個“虛擬”的并行計(jì)算系統(tǒng),為其上運(yùn)行的應(yīng)用程序提供分布式并行計(jì)算環(huán)境。 PVM ? PVM是一種基于局域網(wǎng)的 并行計(jì)算環(huán)境。它通過將多個異構(gòu)的計(jì)算機(jī)有機(jī)地組織起來,形成一個易于管理、易于編程、并且具有 很好的可擴(kuò)展性的并行計(jì)算環(huán)境。目前 PVM支持 C和 Fortran語言。程序員首先參照消息傳遞模型編寫好并行程序,然后將編譯后的 程序以任務(wù)為單位在網(wǎng)絡(luò)中特定類型的計(jì)算機(jī)上運(yùn)行。 PVM能夠在虛擬機(jī)中自動加載任務(wù)并運(yùn)行,并且還提供了任務(wù)間相互通信和同步的手段。由于所有的計(jì)算任務(wù)都被分配到合適的計(jì)算節(jié)點(diǎn) 上,多個節(jié)點(diǎn)并行運(yùn)算,從而實(shí)現(xiàn)了任務(wù)一級的并行。 PVM為利用現(xiàn)有計(jì)算資源進(jìn)行并行程序的開發(fā)與研究提供了一種有效的解決方案。由于 PVM免費(fèi)、開放和易于使用的特性,使得它成為一個被廣泛接受的并行程序開發(fā)環(huán)境,目前幾乎所有 的并行計(jì)算系統(tǒng)都支持 PVM。 PVM ? PVMParallel Virtural Machine PVM3的原代碼可以在 或 ? XPVM是 PVM的圖形化控制臺,用Tcl/Tk寫成。可以在ml下找到 MPI ? MPI是為開發(fā)基于消息傳遞模型的并行程序而制定的工業(yè)標(biāo)準(zhǔn),其目的是為了提高并行程序的可移植性和易用性。參與 MPI標(biāo)準(zhǔn)制定的人員來自歐美 40多個組 織,大部分主要的并行計(jì)算機(jī)制造商、大學(xué)研究所、政府實(shí)驗(yàn)室、工業(yè)組織等都投入到 MPI標(biāo)準(zhǔn)化工作。有了統(tǒng)一的并行編程語言標(biāo)準(zhǔn),并行計(jì)算環(huán)境下的應(yīng)用軟件及軟件工具就都能夠?qū)崿F(xiàn)透明的移植,各個廠商就可以依據(jù)標(biāo)準(zhǔn)提供獨(dú)具特色和優(yōu)勢的軟件實(shí)現(xiàn)和軟件支持,從而提高了并行處理的能力。 MPI ? MPI是一種基于消息傳遞模型的并行編程接口,目前已經(jīng)發(fā)展成為消息傳遞模型的代表和事實(shí)上的工業(yè)標(biāo)準(zhǔn),而不是一門具體的 語言。迄今為止,所有的并行計(jì)算機(jī)制造商都提供對 MPI的支持,因而從理論上說任何一個正確的 MPI程序可以不加修改地在所有并行計(jì)算機(jī)上運(yùn)行。 MPI只是一個并行編程語言標(biāo)準(zhǔn),要編寫基于 MPI的并行程序,還必須借助某一 MPI具體實(shí)現(xiàn)。 MPICH是 Linux平臺下最重要的一種 MPI實(shí)現(xiàn), 是一個與 MPI規(guī)范同步發(fā)展的版本。每當(dāng) MPI標(biāo)準(zhǔn)推出新的版本時, MPICH就會有相應(yīng)的實(shí)現(xiàn)版本。 LAM( Local Area Multiputer)是 Linux平臺下另一免費(fèi)的 MPI實(shí)現(xiàn)。它由 Ohio州立大學(xué)開發(fā),主要用于異構(gòu)的網(wǎng)格計(jì)算并行系統(tǒng)。 MPI ? MPIMessage Passing Interface:
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1