1.低階通訊——程序之間的互斥和同步
訊號量機制是有效的同步工具,但作為通訊工具缺點如下:
(1)效率低(通訊量少)
(2)通訊對使用者不透明(程式設計師實現,作業系統只提供共享儲存器供**操作)
2.高階程序通訊
使用者直接利用作業系統提供的一組通訊命令,高效地傳送大量資料的通訊方式。
作業系統隱藏了程序通訊的細節,對使用者透明,減少了通訊程式編制上的複雜性。
1.高階通訊機制可歸結為四大類:
①共享儲存器系統(操作儲存區方式)
②訊息傳遞系統(發–收方式)
③管道通訊(中間檔案方式
④client-server system
①共享儲存器系統(操作儲存區方式)
相互通訊的程序共享某些資料結構或共享儲存區,程序之間能夠通過這些空間進行通訊。
基於共享資料結構的通訊方式(低階)
諸程序公用某些資料結構,藉以實現諸程序間的資訊交換。
如生產消費問題,定義共享的資料結構:n個長度的有界緩衝區。
程式設計師:提供對公用資料結構的設定及對程序間同步的處理。
作業系統:提供共享儲存器。
特點:複雜、低效率,還只適合傳遞相對少量的資料。
基於共享儲存區的通訊方式(高階)
在儲存器中劃出了一塊共享儲存區,諸程序可通過對共享儲存區中資料的讀或寫來實現通訊。
程序通訊前先向系統申請獲得共享儲存區中的乙個分割槽,並指定該分割槽的關鍵字;
若系統已經分給了其他程序,則將該分割槽的描述符返回給申請者,申請者把獲得的共享儲存分割槽連線到本程序上;此後,便可像讀、寫普通儲存器一樣地讀、寫該公用儲存分割槽。多程序借助該區通訊。
②訊息傳遞系統(發–收方式)
如socket程式設計,利用函式庫的send、receive等命令即可實現網路通訊
③管道通訊(中間檔案方式)
計算機與作業系統 程序
作業系統中最核心的概念是程序,程序是對正在進行的程式的抽象。因為有了程序這個概念的存在,才讓cpu有了 偽 併發操作的能力。在任何多道程式設計系統中,cpu在多個程序中不斷的切換,每個程序執行幾十至幾百毫秒。嚴格來說,在某乙個瞬間,cpu只能執行乙個程序,而在1秒內,它可能執行多個程序,這就給人了一...
程序間的通訊方式(計算機作業系統)
程序通訊 程序間的資訊交換。程序通訊方式 1.低階通訊方式 傳送乙個或幾個位元組的控制資訊。如 鎖機制和訊號量機制。缺點 效率低 通訊對使用者不透明 2.高階通訊方式 以較高的效率,交換大批量的資料。如 訊息緩衝機制和信箱機制。send receive原語 高階通訊原語 程序通訊小結 1 共享儲存器...
計算機作業系統
為什麼要有作業系統 計算機系統是乙個複雜的系統,如果每位程式設計師在程式設計時都必須掌握計算機系統的所有細節,就會嚴重影響程式設計師的開發效率 作業系統可以對計算機硬體加以管理和優化使用,為使用者程式提供更好的執行環境。作業系統以及其位置 作業系統組成 作業系統功能 應用程式直接與作業系統及其抽象打...