UNIX 標(biāo)準(zhǔn)及實(shí)現(xiàn)

UNIX 標(biāo)準(zhǔn)及實(shí)現(xiàn)

Unix標(biāo)準(zhǔn)化

ISO C

1989年下半年,C程序設(shè)計(jì)語言的ANSI標(biāo)準(zhǔn)X3.159-1989得到標(biāo)準(zhǔn)
ANSI時(shí)美國國家標(biāo)準(zhǔn)學(xué)會(huì)(American National Standards Institute)的縮寫,它是國際標(biāo)準(zhǔn)化組織(International Organization For Standardization ,ISO)中代表美國的成員。
IEC時(shí)國際電子技術(shù)委員會(huì)(International Electrotechnical Commission)的縮寫。

gcc 對(duì)ISO C標(biāo)準(zhǔn)1999版本符合程度總結(jié)可參見http:///www.gnu.org/c99status.html

ISO C 標(biāo)準(zhǔn)定義的頭文件

IEEE POSIX

POSIX是一個(gè)最初由IEEE(Institute Of Electrical and Electronics Engineers )制定的標(biāo)準(zhǔn)族。
POSIX指的是可移植操作系統(tǒng)接口(Portable Operating System interface)/

由于1003.1標(biāo)準(zhǔn)說明了一個(gè)接口(interface)而不是一種實(shí)現(xiàn)(implementation),所以并不區(qū)分系統(tǒng)調(diào)用和庫函數(shù)。所有標(biāo)準(zhǔn)中的例程都稱為函數(shù)。

POSIX 標(biāo)準(zhǔn)定義的必需的頭文件
POSIX 標(biāo)準(zhǔn)定義的XSl可選頭文件
POSIX 標(biāo)準(zhǔn)定義的可選頭文件
POSIX 可選接口組合選項(xiàng)碼
POSIX 可選接口組合選項(xiàng)碼續(xù)

Single UNIX specification[單一Unix規(guī)范]

single unix specification (SUS ,單一UNIX規(guī)范)是POSIX標(biāo)準(zhǔn)的超集,它定義了一些附加借口擴(kuò)展了POSIX.1提供的功能。POSIX相當(dāng)于 single Unix specification 的基本規(guī)范部分。

POSIX.1 中的X/open 系統(tǒng)接口(X/Open system interface ,XSI)選項(xiàng)描述了可選的接口,也定義了遵循XSI的實(shí)現(xiàn)鼻血支持POSIX.1的那些可選部分。這些鼻血支持的部分包括:文件同步、線程棧地址和長度屬性、線程進(jìn)程共享同步遺跡_XOPEN_UNIX 符號(hào)常量。只有遵循XSI的實(shí)現(xiàn)才能稱為UNIX系統(tǒng)。

Open Group 擁有Unix商標(biāo),他們使用single unix specification 定義了一系列接口。一個(gè)系統(tǒng)要想稱為Unix系統(tǒng),其實(shí)現(xiàn)必須支持這些接口,Unix系統(tǒng)供應(yīng)商必須以文件形式提供符合性的聲明,并通過驗(yàn)證符合性的測試,才能得到Unix商標(biāo)的許可證。

FIPS

FIPS代表的是聯(lián)邦信息處理標(biāo)準(zhǔn)(Federal InforMation Processing Standard)這一標(biāo)準(zhǔn)是由美國政府發(fā)布的,并由美國政府用于計(jì)算機(jī)系統(tǒng)的的采購

POSIX.1 FIPS 的作用是,它要求任何希望美國政府銷售符合POSIX.1標(biāo)準(zhǔn)的計(jì)算機(jī)系統(tǒng)的廠商都應(yīng)該支持POSIX.1的某些可選功能。

Unix 系統(tǒng)實(shí)現(xiàn)

(1)AT&T分支,從此引出了系統(tǒng)III和系統(tǒng)V(被稱為UNIX的商用版本)
(2)加州大學(xué)伯克利分校分之,從此引出4.xBSD 實(shí)現(xiàn)
(3)由于AT&T貝爾實(shí)驗(yàn)室的計(jì)算機(jī)研究中心不斷開發(fā)的UNIX研究版本,從此引出Unix分時(shí)系統(tǒng)第8版本,第9版本,終止于1990年的第10版本。

SVR4

SVR4是AT&T的unix系統(tǒng)實(shí)驗(yàn)室的產(chǎn)品

4.4BSD

BSD 是由加州大學(xué)伯克利分校的計(jì)算機(jī)系統(tǒng)研究組(CSRG)研究開發(fā)和分發(fā)的。

FreeBSD

FreeBSD 基于4.4BSD-Lite操作系統(tǒng)。在加州大學(xué)伯克利分校的CSRG決定終止其在UNIX操作系統(tǒng)的BSD版本的研究工作,而且386BSD項(xiàng)目被忽視很長時(shí)間之后,為了繼續(xù)堅(jiān)持BSD系列,形成了FreeBSD項(xiàng)目。

LINUX

Linux是一種提供類似于UNIX的豐富編程環(huán)境的操作系統(tǒng),在GNU公用許可證的指導(dǎo)下,Linux是免費(fèi)使用的。

Mac os X

與其以前的版本相比,Mac OS X 使用了完全不同的技術(shù)。其核心操作系統(tǒng)稱為“Darwin”,它基于Mach內(nèi)核、FreeBSD操作系統(tǒng)以及具有面向?qū)ο罂蚣艿尿?qū)動(dòng)和其他內(nèi)核擴(kuò)展的結(jié)合。

Solaris

Solaris是由Sun Microsystems(現(xiàn)為Oracle)開發(fā)的Unix系統(tǒng)版本。

其他Unix系統(tǒng)

已通過驗(yàn)證的其他Unix版本包括:

  • AIX ,IBM 版本的UNIX操作系統(tǒng)
  • HP-UX ,HP版本的UNIX操作系統(tǒng)
  • IRIX,Silicon Graphics版本的操作系統(tǒng)
  • UNIX ware ,SVR4派生的UNIX系統(tǒng),現(xiàn)在由SCO銷售。

限制

Unix 系統(tǒng)實(shí)現(xiàn)定了很多幻數(shù)和常量,其中很多已被硬編碼到程序中,或用特定的技術(shù)確定。

以下兩種類型的限制時(shí)必需的。

1:編譯時(shí)限制
2:運(yùn)行時(shí)限制

2.5.1 ISO C限制

ISO C 定義的所有編譯時(shí)限制都列在頭文件<limits.h>。這些限制常量在個(gè)給定的系統(tǒng)中并不會(huì)改變。

limits.h 中定義的整型值的大小

我們將會(huì)遇到的一個(gè)區(qū)別是系統(tǒng)是否提供帶符號(hào)或無符號(hào)的字符值。

2.5.2 POSIX 限制

POSIX.1 定義了很多涉及操作系統(tǒng)實(shí)現(xiàn)限制的常量,遺憾的是,這是POSIX.1最令人迷惑不解的部分之一。雖然POSIX.1定義了大量限制和常量,我們只關(guān)心與基本的POSIX.1接口有關(guān)的部分。這些限制和常量分成下列7類。

1:數(shù)值限制:LONG_BIT 、SSIZE_MAX 和 WORD_BIT
2:最小值:
3:最大值:POSIX_CLOCKRES_MIN
4:運(yùn)行時(shí)可以增加的值:CHARCLASS_NAME_MAX、COLL_WEIGHTS_MAX、LINE_MAX、NGROUPS_MAX 和RE_DUP_MAX
5:運(yùn)行時(shí)不變值(可能不確定)
6:其他不變值:NL_ARGMAX、NL_MSGMAX、NL_SETMAX和NL_TEXTMAX.
7:路徑名可變值:FILESIZEBITS、LINK_MAX、MAX_CANON、MAX_INPUT、NAME_MAX、PATH_MAX、PIPE_BUF 和 SYMILNK_MAX。

一個(gè)嚴(yán)格符合(strictly conforming)POSIX 的應(yīng)用區(qū)別于一個(gè)剛剛符合POSIX(merely POSIX confirming)的應(yīng)用。符合POSIX的應(yīng)用只使用IEEE1003.1-2001中定義的接口,嚴(yán)格符合POSIX的應(yīng)用滿足更多的限制,例如:不依賴于POSIX未定義的行為,不使用其他任何已棄用的接口以及不要求所使用的常量值大于 圖 所列出的最小值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容