av在线观看网站免费,欧美成人aaa片一区国产精品,精品国产乱码久久久久久免费,麻豆果冻传媒2021精品传媒一区,国产精品自在欧美一区

電子文檔交易市場(chǎng)
安卓APP | ios版本
電子文檔交易市場(chǎng)
安卓APP | ios版本

linux進(jìn)程間通訊筆記

10頁
  • 賣家[上傳人]:卷****絡(luò)
  • 文檔編號(hào):185267832
  • 上傳時(shí)間:2021-07-05
  • 文檔格式:DOCX
  • 文檔大?。?38.67KB
  • 下載文檔到電腦,查找使用更方便

    5 金貝

    還剩頁未讀,繼續(xù)閱讀

    / 10 舉報(bào) 版權(quán)申訴 馬上下載
  • 文本預(yù)覽
  • 下載提示
  • 常見問題
    • linux進(jìn)程間通信 進(jìn)程同步與進(jìn)程互斥順序程序與并發(fā)程序特征q 順序程序特征q 順序性q 封閉性:(運(yùn)行環(huán)境的封閉性)q 確定性q 可再現(xiàn)性q 并發(fā)程序特征q 共享性q 并發(fā)性q 隨機(jī)性進(jìn)程互斥q 由于各進(jìn)程要求共享資源,而且有些資源需要互斥使用,因此各進(jìn)程間競(jìng)爭(zhēng)使用這些資源,進(jìn)程的這種關(guān)系為進(jìn)程的互斥q 系統(tǒng)中某些資源一次只允許一個(gè)進(jìn)程使用,稱這樣的資源為臨界資源或互斥資源q 在進(jìn)程中涉及到互斥資源的程序段叫臨界區(qū)互斥示例進(jìn)程同步q 進(jìn)程同步指的是多個(gè)進(jìn)程需要相互配合共同完成一項(xiàng)任務(wù)q同步示例進(jìn)程間通信目的q 數(shù)據(jù)傳輸:一個(gè)進(jìn)程需要將它的數(shù)據(jù)發(fā)送給另一個(gè)進(jìn)程q 資源共享:多個(gè)進(jìn)程之間共享同樣的資源q 通知事件:一個(gè)進(jìn)程需要向另一個(gè)或一組進(jìn)程發(fā)送消息,通知它(它們)發(fā)生了某種事件(如進(jìn)程終止時(shí)要通知父進(jìn)程)q 進(jìn)程控制:有些進(jìn)程希望完全控制另一個(gè)進(jìn)程的執(zhí)行(如Debug進(jìn)程),此時(shí)控制進(jìn)程希望能夠攔截另一個(gè)進(jìn)程的所有陷入和異常,并能夠及時(shí)知道它的狀態(tài)改變進(jìn)程間通信發(fā)展q 管道q System V進(jìn)程間通信q POSIX進(jìn)程間通信? Linux下的進(jìn)程通信手段基本上是從UNIX平臺(tái)上的進(jìn)程通信手段繼承而來的。

      而對(duì)UNIX發(fā)展做出重大貢獻(xiàn)的兩大主力AT&T的貝爾實(shí)驗(yàn)室及BSD(加州大學(xué)伯克利分校的伯克利軟件發(fā)布中心)在進(jìn)程間的通信方面的側(cè)重點(diǎn)有所不同前者是對(duì)UNIX早期的進(jìn)程間通信手段進(jìn)行了系統(tǒng)的改進(jìn)和擴(kuò)充,形成了“system V IPC”,其通信進(jìn)程主要局限在單個(gè)計(jì)算機(jī)內(nèi);后者則跳過了該限制,形成了基于套接口(socket)的進(jìn)程間通信機(jī)制而Linux則把兩者的優(yōu)勢(shì)都繼承了下來 UNIX進(jìn)程間通信(IPC)方式包括管道、FIFO以及信號(hào) System V進(jìn)程間通信(IPC)包括System V消息隊(duì)列、System V信號(hào)量以及System V共享內(nèi)存區(qū) Posix 進(jìn)程間通信(IPC)包括Posix消息隊(duì)列、Posix信號(hào)量以及Posix共享內(nèi)存區(qū) 有關(guān)POSIXPOSIX 表示可移植操作系統(tǒng)接口(Portable Operating System Interface ,縮寫為 POSIX ),POSIX標(biāo)準(zhǔn)定義了操作系統(tǒng)應(yīng)該為應(yīng)用程序提供的接口標(biāo)準(zhǔn),是IEEE為要在各種UNIX操作系統(tǒng)上運(yùn)行的軟件而定義的一系列API標(biāo)準(zhǔn)的總稱,其正式稱呼為IEEE 1003,而國際標(biāo)準(zhǔn)名稱為ISO/IEC 9945。

      POSIX標(biāo)準(zhǔn)意在期望獲得源代碼級(jí)別的軟件可移植性換句話說,為一個(gè)POSIX兼容的操作系統(tǒng)編寫的程序,應(yīng)該可以在任何其它的POSIX操作系統(tǒng)(即使是來自另一個(gè)廠商)上編譯執(zhí)行POSIX 并不局限于 UNIX許多其它的操作系統(tǒng),例如 DEC OpenVMS 支持 POSIX 標(biāo)準(zhǔn),尤其是 IEEE Std. 1003.1-1990(1995 年修訂)或 POSIX.1,POSIX.1 提供了源代碼級(jí)別的 C 語言應(yīng)用編程接口(API)給操作系統(tǒng)的服務(wù)程序,例如讀寫文件POSIX.1 已經(jīng)被國際標(biāo)準(zhǔn)化組織(International Standards Organization,ISO)所接受,被命名為 ISO/IEC 9945-1:1990 標(biāo)準(zhǔn)有關(guān)POSIX2POSIX的誕生和Unix的發(fā)展是密不可分的,電氣和電子工程師協(xié)會(huì)(Institute of Electrical and Electronics Engineers,IEEE)最初開發(fā) POSIX 標(biāo)準(zhǔn),是為了提高 UNIX 環(huán)境下應(yīng)用程序的可移植性Unix于70年代誕生于貝爾實(shí)驗(yàn)室,并于80年代向美各大高校分發(fā)V7版的源碼以做研究。

      加利福尼亞大學(xué)伯克利分校在V7的基礎(chǔ)上開發(fā)了BSD Unix后來很多商業(yè)廠家意識(shí)到Unix的價(jià)值也紛紛以貝爾實(shí)驗(yàn)室的System V或BSD為基礎(chǔ)來開發(fā)自己的Unix,較著名的有Sun OS,AIX,VMS然而,POSIX 并不局限于 UNIX許多其它的操作系統(tǒng),例如 DEC OpenVMS 支持 POSIX 標(biāo)準(zhǔn),尤其是 IEEE Std. 1003.1-1990(1995 年修訂)或 POSIX.1,POSIX.1 提供了源代碼級(jí)別的 C 語言應(yīng)用編程接口(API)給操作系統(tǒng)的服務(wù)程序,例如讀寫文件POSIX.1 已經(jīng)被國際標(biāo)準(zhǔn)化組織(International Standards Organization,ISO)所接受,被命名為 ISO/IEC 9945-1:1990 標(biāo)準(zhǔn)POSIX 已發(fā)展成為一個(gè)非常龐大的標(biāo)準(zhǔn)族,某些部分正處在開發(fā)過程中POSIX 與 IEEE 1003 和 2003 家族的標(biāo)準(zhǔn)是可互換的Windows NT-based 系統(tǒng)不能直接支持新版POSIX接口,僅支持第一版POSIX v1:ISO/IEC9945-1:1990[1] 版標(biāo)準(zhǔn)由于僅支持第一版POSIX的Windows NT-based系統(tǒng)不能創(chuàng)建符合POSIX接口標(biāo)準(zhǔn)的線程和窗體、套接字,所以微軟公司提供POSIX兼容層Microsoft POSIX subsystem軟件包(Windows Services for UNIX)以支持新版POSIX接口,Windows 系統(tǒng)還可以運(yùn)行其他POSIX兼容層例如Cygwin.進(jìn)程間通信分類q 文件q 文件鎖q 管道(pipe)和有名管理(FIFO)q 信號(hào)(signal)q 消息隊(duì)列q 共享內(nèi)存q 信號(hào)量q 互斥量q 條件變量q 讀寫鎖q 套接字(socket)System V IPC & POSIX IPCq System V IPCq System V 消息隊(duì)列q System V 共享內(nèi)存q System V 信號(hào)量q POSIX IPCq 消息隊(duì)列q 共享內(nèi)存q 信號(hào)量q 互斥量q 條件變量q 讀寫鎖進(jìn)程間共享信息的三種方式IPC對(duì)象的持續(xù)性q 隨進(jìn)程持續(xù):一直存在直到打開的最后一個(gè)進(jìn)程結(jié)束。

      如pipe和FIFO)q 隨內(nèi)核持續(xù):一直存在直到內(nèi)核自舉或顯式刪除(如System V消息隊(duì)列、共享內(nèi)存、信號(hào)量)q 隨文件系統(tǒng)持續(xù):一直存在直到顯式刪除,即使內(nèi)核自舉還存在POSIX消息隊(duì)列、共享內(nèi)存、信號(hào)量如果是使用映射文件來實(shí)現(xiàn))IPC對(duì)象是被linux內(nèi)核管理2進(jìn)程死鎖及解決方案死鎖 q 死鎖是指多個(gè)進(jìn)程之間相互等待對(duì)方的資源,而在得到對(duì)方資源之前又不釋放自己的資源,這樣,造成循環(huán)等待的一種現(xiàn)象如果所有進(jìn)程都在等待一個(gè)不可能發(fā)生的事,則進(jìn)程就死鎖了q死鎖產(chǎn)生的必要條件q 互斥條件q 進(jìn)程對(duì)資源進(jìn)行排它性使用,即在一段時(shí)間內(nèi)某資源僅為一個(gè)進(jìn)程所占用 q 請(qǐng)求和保持條件q 當(dāng)進(jìn)程因請(qǐng)求資源而阻塞時(shí),對(duì)已獲得的資源保持不放 q 不可剝奪條件q 進(jìn)程已獲得的資源在未使用完之前,不能被剝奪,只能在使用完時(shí)由自己釋放 q 環(huán)路等待條件q 各個(gè)進(jìn)程組成封閉的環(huán)形鏈,每個(gè)進(jìn)程都等待下一個(gè)進(jìn)程所占用的資源防止死鎖辦法q 資源一次性分配:(破壞請(qǐng)求和保持條件)q 可剝奪資源:破壞不可剝奪條件)q 資源有序分配法:(破壞循環(huán)等待條件)死鎖避免q 預(yù)防死鎖的幾種策略,會(huì)嚴(yán)重地?fù)p害系統(tǒng)性能因此在避免死鎖時(shí),要施加較弱的限制,從而獲得較滿意的系統(tǒng)性能。

      q 由于在避免死鎖的策略中,允許進(jìn)程動(dòng)態(tài)地申請(qǐng)資源因而,系統(tǒng)在進(jìn)行資源分配之前預(yù)先計(jì)算資源分配的安全性若此次分配不會(huì)導(dǎo)致系統(tǒng)進(jìn)入不安全狀態(tài),則將資源分配給進(jìn)程;否則,進(jìn)程等待其中最具有代表性的避免死鎖算法是銀行家算法銀行家算法q 為保證資金的安全,銀行家規(guī)定: q (1) 當(dāng)一個(gè)顧客對(duì)資金的最大需求量不超過銀行家現(xiàn)有的資金時(shí)就可接納該顧客; q (2) 顧客可以分期貸款,但貸款的總數(shù)不能超過最大需求量q (3) 當(dāng)銀行家現(xiàn)有的資金不能滿足顧客尚需的貸款數(shù)額時(shí),對(duì)顧客的貸款可推遲支付,但總能使顧客在有限的時(shí)間里得到貸款q (4) 當(dāng)顧客得到所需的全部資金后,一定能在有限的時(shí)間里歸還所有的資金. 哲學(xué)家就餐問題q 五個(gè)哲學(xué)家圍在一個(gè)圓桌就餐,每個(gè)人都必須拿起兩把叉子才能用餐q 哲學(xué)家就餐問題解法q 服務(wù)生解法q 最多4個(gè)哲學(xué)家q 僅當(dāng)一個(gè)哲學(xué)家兩邊筷子都可用時(shí)才允許他拿筷子q 給所有哲學(xué)家編號(hào),奇數(shù)號(hào)的哲學(xué)家必須首先拿左邊的筷子,偶數(shù)號(hào)的哲學(xué)家則反之信號(hào)量q 信號(hào)量和P、V原語由Dijkstra(迪杰斯特拉)提出q 信號(hào)量q 互斥:P、V在同一個(gè)進(jìn)程中q 同步:P、V在不同進(jìn)程中q 信號(hào)量值含義q S>0:S表示可用資源的個(gè)數(shù)q S=0:表示無可用資源,無等待進(jìn)程q S<0:|S|表示等待隊(duì)列中進(jìn)程個(gè)數(shù)struct semaphore{int value;pointer_PCB queue;}P原語P(s){ s.value = s.value--; if (s.value < 0) { 該進(jìn)程狀態(tài)置為等待狀狀態(tài) 將該進(jìn)程的PCB插入相應(yīng)的等待隊(duì)列s.queue末尾 }}V原語V(s){ s.value = s.value++; if (s.value < =0) { 喚醒相應(yīng)等待隊(duì)列s.queue中等待的一個(gè)進(jìn)程 改變其狀態(tài)為就緒態(tài) 并將其插入就緒隊(duì)列 }}用PV原語解決司機(jī)與售票員問題用PV原語解決民航售票問題用PV原語解決汽車租賃問題q 有一汽車租賃公司有兩部敞篷車可以出租,假定同時(shí)來了四個(gè)顧客都要租敞篷車,那么肯定會(huì)有兩個(gè)人租不到。

      S(2)P(S)租車還車V(S)。

      點(diǎn)擊閱讀更多內(nèi)容
    關(guān)于金鋤頭網(wǎng) - 版權(quán)申訴 - 免責(zé)聲明 - 誠邀英才 - 聯(lián)系我們
    手機(jī)版 | 川公網(wǎng)安備 51140202000112號(hào) | 經(jīng)營許可證(蜀ICP備13022795號(hào))
    ?2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.