UNIX 標準及實現(xiàn)

UNIX 標準及實現(xiàn)

Unix標準化

ISO C

1989年下半年模叙,C程序設(shè)計語言的ANSI標準X3.159-1989得到標準
ANSI時美國國家標準學會(American National Standards Institute)的縮寫涯雅,它是國際標準化組織(International Organization For Standardization ,ISO)中代表美國的成員趣倾。
IEC時國際電子技術(shù)委員會(International Electrotechnical Commission)的縮寫饼煞。

gcc 對ISO C標準1999版本符合程度總結(jié)可參見http:///www.gnu.org/c99status.html 痹束。

ISO C 標準定義的頭文件

IEEE POSIX

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

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

POSIX 標準定義的必需的頭文件
POSIX 標準定義的XSl可選頭文件
POSIX 標準定義的可選頭文件
POSIX 可選接口組合選項碼
POSIX 可選接口組合選項碼續(xù)

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

single unix specification (SUS 搁胆,單一UNIX規(guī)范)是POSIX標準的超集弥搞,它定義了一些附加借口擴展了POSIX.1提供的功能。POSIX相當于 single Unix specification 的基本規(guī)范部分渠旁。

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

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

FIPS

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

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

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

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

SVR4

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

4.4BSD

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

FreeBSD

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

LINUX

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

Mac os X

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

Solaris

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

其他Unix系統(tǒng)

已通過驗證的其他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)實現(xiàn)定了很多幻數(shù)和常量收班,其中很多已被硬編碼到程序中,或用特定的技術(shù)確定谒兄。

以下兩種類型的限制時必需的摔桦。

1:編譯時限制
2:運行時限制

2.5.1 ISO C限制

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

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

我們將會遇到的一個區(qū)別是系統(tǒng)是否提供帶符號或無符號的字符值邻耕。

2.5.2 POSIX 限制

POSIX.1 定義了很多涉及操作系統(tǒng)實現(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:運行時可以增加的值:CHARCLASS_NAME_MAX、COLL_WEIGHTS_MAX削解、LINE_MAX富弦、NGROUPS_MAX 和RE_DUP_MAX
5:運行時不變值(可能不確定)
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蛾找。

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市碰声,隨后出現(xiàn)的幾起案子诡蜓,更是在濱河造成了極大的恐慌,老刑警劉巖胰挑,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔓罚,死亡現(xiàn)場離奇詭異,居然都是意外死亡瞻颂,警方通過查閱死者的電腦和手機豺谈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贡这,“玉大人茬末,你說我怎么就攤上這事「墙茫” “怎么了丽惭?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辈双。 經(jīng)常有香客問我责掏,道長,這世上最難降的妖魔是什么湃望? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任换衬,我火速辦了婚禮痰驱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冗疮。我一直安慰自己萄唇,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布术幔。 她就那樣靜靜地躺著另萤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诅挑。 梳的紋絲不亂的頭發(fā)上四敞,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音拔妥,去河邊找鬼忿危。 笑死,一個胖子當著我的面吹牛没龙,可吹牛的內(nèi)容都是我干的铺厨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼硬纤,長吁一口氣:“原來是場噩夢啊……” “哼解滓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起筝家,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤洼裤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后溪王,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腮鞍,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年莹菱,在試婚紗的時候發(fā)現(xiàn)自己被綠了移国。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡芒珠,死狀恐怖桥狡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情皱卓,我是刑警寧澤裹芝,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站娜汁,受9級特大地震影響嫂易,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掐禁,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一怜械、第九天 我趴在偏房一處隱蔽的房頂上張望颅和。 院中可真熱鬧,春花似錦缕允、人聲如沸峡扩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽教届。三九已至,卻和暖如春驾霜,著一層夾襖步出監(jiān)牢的瞬間案训,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工粪糙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留强霎,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓蓉冈,卻偏偏與公主長得像城舞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子寞酿,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

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