您好,登錄后才能下訂單哦!
本篇內容主要講解“為什么Unix不用C++而是用C編寫”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“為什么Unix不用C++而是用C編寫”吧!
有人總會說C++不是要比C的作用大很多,功能也更多。那為什么Unix不用功能更強大的C++而是用C編寫?關于Unix為什么用C而不是C ++編寫的顯而易見的答案是C ++是在C之后誕生的。另一個原因是,實際上C語言可能也是為了支持Unix的開發而發明的。
C的起源與Unix OS的開發緊密相關。當團隊將Unix移植到PDP-11時,它仍在組裝中。湯普森(Thompson)和里奇(Ritchie)希望在系統編程中使用高級語言,以使程序員可以清晰地表達概念,而不必與一臺計算機的體系結構綁定,但要使效率很高。Unix使用高級語言實現,因此打破了這樣一種觀念,即必須使用匯編語言來編寫系統,并且該系統必須與特定的計算機設計,字長或體系結構相關聯。并且首次將包括文件系統,內核,應用程序包,實用程序和用戶界面在內的整個編程環境移至完全不同類型的機器上。
湯普森(Thompson)和里奇(Ritchie)早在1969年就已經開發了一種稱為“ B”的編程語言,它實質上是BCPL的簡化版本。基本上,BCPL去除了不必要的組件,以使實現適合當時的小型計算機的存儲能力(BCPL是CPL的簡化,其本身是Algol 60的簡化)。湯普森和里奇正在考慮使用B語言重寫Unix。但是,B無法利用PDP-11的某些功能,尤其是字節尋址能力,導致了“ C”編程語言的發展。C的名稱被簡單地選擇為B之后的下一個字母。
C的開發始于1972年的PDP-11 Unix系統,最早出現在Version 2 Unix中。Unix的很大一部分都用C重寫了。來自Unix開發的反饋對C語言的開發很有幫助。C語言“與系統重寫之一融合在一起,因此,它非常適合編寫系統”。到1973年,由于增加了“結構”類型,C語言已經變得足夠強大,以至于現在大多數Unix內核都使用C語言。Unix成為第一個使用非匯編語言實現的OS內核之一。
Unix最初是在1973年操作系統原理專題討論會上正式向外界介紹的,Ritchie和Thompson在那里發表了一篇論文。這導致了對系統的要求,但是根據1956年的和解協議,在解決反托拉斯案件中,AT&T(貝爾實驗室的母公司)被禁止從事除“公共運營商通信服務”之外的任何業務。因此,Unix無法變成產品。貝爾實驗室轉而以媒體和運輸成本來運送系統。
但是在此之前,Unix仍然只能在DEC系統上運行。隨著更多的操作系統用C語言重寫(并擴展了C語言以適應這種情況),可移植性也有所提高。1977年,貝爾實驗室購買了Interdata 8/32,其目的是將Unix移植到與PDP-11盡可能不同的計算機上,從而使Unix在此過程中更加獨立于機器,從而實現了湯普森的OS可移植性夢想。所有專用于PDP-11的代碼都已從內核中刪除并進行了重寫,以使Unix的傳輸變得容易。在進行Interdata測試之后,他們將Unix移至IBM / 370大型機。通過每次試用,他們了解了有關C,Unix和一般可移植性的更多信息。逐漸地,Unix被移植到許多其他硬件系統上,包括基于Intel 8086的計算機,UNIVAC 1100等。
到此,相信大家對“為什么Unix不用C++而是用C編寫”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。