linux posix是什么

linux中,posix是指可移植操作系統接口,是一個IEEE 1003.1標準,其定義了應用程序(以及命令行Shell和實用程序接口)和unix操作系統之間的語言接口;當UNIX程序從一個UNI 平臺移植到另一個平臺時,遵守posix標準可以確保其兼容性。

linux posix是什么

本教程操作環境:linux7.3系統、Dell G3電腦。

POSIX,你肯定在各種在線論壇和文章中,聽到過這個縮寫,或讀到過關于它的信息。程序員和系統開發人員似乎最關心這個問題。它聽起來很神秘,雖然有很多關于這個主題的好資料,但一些討論區(簡潔是它們的特點)并沒有詳細說明它是什么,這可能會讓人困擾。那么,POSIX 到底是什么?

POSIX 簡介

與其說 POSIX 是一個東西,不如說是一個標簽。想象一下,有一個盒子,上面貼著標簽:POSIX,而盒子里是一個標準。該標準由 POSIX 所關注的規則和指令集組成。POSIX 是可移植操作系統接口Portable Operating System Interface 的縮寫。它是一個 IEEE 1003.1 標準,其定義了應用程序(以及命令行 Shell 和實用程序接口)和 UNIX 操作系統之間的語言接口。

當 UNIX 程序從一個 UNIX 平臺移植到另一個平臺時,遵守該標準可以確保其兼容性。POSIX 主要關注的是 AT&T 的 System V UNIX 和 BSD UNIX 的特性。

該標準必須闡明并遵循如何實現操作系統之間互操作性的目標的規則。POSIX 涵蓋了以下內容:系統接口、命令和實用程序、網絡文件訪問,這里僅舉幾例(POSIX 的內容遠不止這些)。

為什么有 POSIX?

一句話:可移植性。

60 多年前,如果程序員想讓他們的軟件在一個以上的系統上運行,就必須完全重寫代碼。由于所涉及的費用,這種情況并不經常發生,但在 1960 年代中期,可移植性成為一種特性 —— 不是通過 POSIX,而是在大型機領域。

IBM 推出了 System/360 系列的大型計算機。不同的型號有其獨特的規范,但硬件使得它們可以使用同一個操作系統:OS/360。

不僅操作系統可以在不同的型號上運行,應用程序也可以在它們上面運行。這不僅降低了成本,而且創造了“計算機系統”:可以跨產品線協同工作的系統。今天,這一切都很常見,比如網絡和系統,但在當時,這是一個巨大的進步!

linux posix是什么

大約在同一時間,當 UNIX 出現的時候,它也做出了承諾,它可以在不同制造商的機器上運行。然而,當 UNIX 開始衍生出不同的流派時,在這些 UNIX 變體之間移植代碼變得很困難。UNIX 可移植性的承諾正在失去基礎。

為了解決這個可移植性問題,在 20 世紀 80 年代形成了 POSIX 標準。這個標準是在 AT&T 的 System V UNIX 和 BSD UNIX 的基礎上定義的,這是當時最大的兩個 UNIX 變體。值得注意的是,POSIX 的形成并不是為了控制操作系統的構建方式,任何公司都可以自由地以他們喜歡的方式設計他們的 UNIX 變體。POSIX 只關心應用程序與操作系統的接口是怎樣的。用程序員的話來說,接口是一個程序的代碼與另一個程序的通信方法。接口期望程序 A 向程序 B 提供特定類型的信息。同樣地,程序 A 期望程序 B 用特定類型的數據來回答。

例如,如果我想用 cat 命令讀取一個文件,我會在命令行上輸入類似這樣的內容:

cat?myfile.txt

我不想說很多程序員的術語,簡單的來說,cat 命令調用操作系統來獲取文件,以便 cat 能夠讀取它。cat 讀取它,然后在屏幕上顯示文件的內容。在應用程序(cat)和操作系統之間有很多的相互作用。這種相互作用如何工作是 POSIX 所關心的。如果這種相互作用在不同的 UNIX 變體中是相同的,那么可移植性,無論操作系統、制造商和硬件如何,就可以重新獲得了。

關于如何實現這一切的具體細節,在該標準中作了規定。

結論

POSIX 標準允許開發者使用大部分相同的代碼在許多操作系統上創建應用程序、工具和平臺。不管怎么說,按照標準寫代碼并不是一個要求,但當你想把你的代碼移植到其他系統時,它確實有很大的幫助。

基本上,POSIX 是面向操作系統設計者和軟件開發者的,但作為系統的使用者,無論我們是否意識到,我們都受到 POSIX 的影響。正是因為有了這個標準,我們才能夠在一個 UNIX 或 Linux 系統上工作,并把工作帶到另一個系統上,而且工作起來毫無障礙。作為用戶,我們在可用性和跨系統的數據重復使用方面獲得了許多好處。

相關推薦:《Linux視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享