Posix

POSIX 是規定性的還是描述性的?

  • April 4, 2020

POSIX 是對過去應用程序如何實現 UNIX 的每個特定部分的描述,還是它是 UNIX 必須如何實現的規範性規範?

如果是描述性的,那麼只有所有包含的實現共有的特性才是有效的。雖然任何實現都沒有實現某個功能,但該功能是“未定義的”。

如果是規定性的:它基於哪個理論框架?數學?C語言?經驗?

它在法律上是規定性的,但**實際上主要是描述性的。

POSIX 是一組實現可以匹配的規範,包括文件發佈時已經存在的實現和未來的實現。所以是規定性的。

在實踐中,POSIX 最初主要是作為現有實現的一個公共子集。所以從這個意義上說,它主要是描述性的。但是 POSIX 有時會要求新的行為。最常見的是,對於存在於許多實現中但具有不同介面(函式名稱、命令行選項等)的特性,POSIX 引入了幾個函式和實用程序,例如pax(替代tarand cpio,它們在 Unix 變體中非常不同)和各種posix_xxx功能。POSIX 還引入了新的常量和命令行選項;例如,對於ps,“該-A選項等效於 BSD-g和 SVID-e. 因為這兩個系統不同,所以選擇了一種助記折衷方案。”。基本原理部分經常解釋為什麼包含這個或那個特性,經常提到哪些實現已經有一個特性,或者為什麼在不兼容的實現之間做出選擇或不做出選擇。

引用自:https://unix.stackexchange.com/questions/577755