• <code id="zjelh"></code>

          <source id="zjelh"><form id="zjelh"></form></source><acronym id="zjelh"><form id="zjelh"><blockquote id="zjelh"></blockquote></form></acronym>

          1. <acronym id="zjelh"><form id="zjelh"></form></acronym>

            <input id="zjelh"><rt id="zjelh"></rt></input>
            <var id="zjelh"><rt id="zjelh"></rt></var>
            <source id="zjelh"><form id="zjelh"><del id="zjelh"></del></form></source>

            當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > System v 和Posix

            System v 和Posix 時間:2018-09-21      來源:未知

            當我們在linux系統中進行進程間通信時,會發現例如共享內存,信號量,消息隊列等方式時,會發現有System v以及POXIS兩種類型。因此,我們探究一下System v和POXIS到底代表著什么意義。

            POSIX

            POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 開發的一簇標準。該標準是基于現有的UNIX 實踐和經驗,描述了操作系統的調用服務接口,用于保證編制的應用程序可以在源代碼一級上在多種操作系統上移植運行。它是在1980 年早期一個UNIX 用戶組(usr/group)的早期工作的基礎上取得的。該UNIX 用戶組原來試圖將AT&T 的系統V 和Berkeley CSRG的BSD 系統的調用接口之間的區別重新調和集成,從而于1984 年產生了/usr/group 標準。1985 年,IEEE操作系統技術委員會標準小組委員會(TCOS-SS)開始在ANSI 的支持下責成IEEE 標準委員會制定有關程序源代碼可移植性操作系統服務接口正式標準。到了1986 年4 月,IEEE 就制定出了試用標準。第一個正式標準是在1988 年9 月份批準的(IEEE 1003.1-1988),也既以后經常提到的POSIX.1 標準。

            System V

            System V, 曾經也被稱為 AT&T System V,是Unix操作系統眾多版本中的一支。它初由 AT&T 開發,在1983年第一次發布。一共發行了4個 System V 的主要版本:版本1、2、3 和 4。System V Release 4,或者稱為SVR4,是成功的版本,成為一些UNIX共同特性的源頭,例如 ”SysV 初始化腳本“ (/etc/init.d),用來控制系統啟動和關閉,System V Interface Definition (SVID) 是一個System V 如何工作的標準定義。

            AT&T 出售運行System V的專有硬件,但許多(或許是大多數)客戶在其上運行一個轉售的版本,這個版本基于 AT&T 的實現說明。流行的SysV 衍生版本包括 Dell SVR4 和 Bull SVR4。當今廣泛使用的 System V 版本是 SCO OpenServer,基于 System V Release 3,以及SUN Solaris 和 SCO UnixWare,都基于 System V Release 4。

            System V 是 AT&T 的第一個商業UNIX版本(UNIX System III)的加強。傳統上,System V 被看作是兩種UNIX"風味"之一(另一個是 BSD)。然而,隨著一些并不基于這兩者代碼的UNIX實現的出現,例如 Linux 和 QNX, 這一歸納不再準確,但不論如何,像POSIX這樣的標準化努力一直在試圖減少各種實現之間的不同。

            使用

            照上面所說的System V和POXIS是一種應用于系統的接口協議,POXIS相對于System V可以說是比較新的標準,語法相對簡單。

            在linux/unix系統編程中支持System V和POXIS。我們常見的一個名詞就是POSIX IPC和

            System V IPC。IPC的全稱是Inter-process Comminication,就是進程間通信。

            在POSIX IPC中,在POSIX IPC中,每個IPC對象是有名稱的,而且名稱是一個很重要的概念,posix ipc使用ipc的名稱作為ipc的標識。mq_open sem_open shm_open三個函數的第一個參數就是這個名稱,這個名稱不一定是在文件系統中存在的名稱。 要使用IPC對象,需要創建或者打開,這與文件操作類似,主要是使用mq_open、sem_open、shm_open 函數操作。在創建或者打開ipc對象時需要指定操作的mode,例如O_RONLY、O_WRONLY、O_RDWR、O_CREAT、O_EXCL 等,IPC對象是有一定權限的,與文件的權限類似。

            在System V IPC中,System v ipc中有一個重要的類型是key_t,在msget、semget、shmget函數操作中都需要利用這個類型是參數。

            具體的進程間通信區別就不在這里贅述了,以后再寫。

            上一篇:怎樣在Altium Designer 中創建原理圖元件庫

            下一篇:小封裝濾波電容

            熱點文章推薦
            華清學員就業榜單
            高薪學員經驗分享
            熱點新聞推薦
            前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2018 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號,京公海網安備11010802025203號

            回到頂部

            有位老師想和您聊一聊

            yy4480影院