自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么Unix不用功能更強(qiáng)大的C++而是用C編寫(xiě)

開(kāi)發(fā) 前端
有人總會(huì)說(shuō)C++不是要比C的作用大很多,功能也更多。那為什么Unix不用功能更強(qiáng)大的C++而是用C編寫(xiě)?關(guān)于Unix為什么用C而不是C ++編寫(xiě)的顯而易見(jiàn)的答案是C ++是在C之后誕生的。另一個(gè)原因是,實(shí)際上C語(yǔ)言可能也是為了支持Unix的開(kāi)發(fā)而發(fā)明的。

有人總會(huì)說(shuō)C++不是要比C的作用大很多,功能也更多。那為什么Unix不用功能更強(qiáng)大的C++而是用C編寫(xiě)?關(guān)于Unix為什么用C而不是C ++編寫(xiě)的顯而易見(jiàn)的答案是C ++是在C之后誕生的。另一個(gè)原因是,實(shí)際上C語(yǔ)言可能也是為了支持Unix的開(kāi)發(fā)而發(fā)明的。

C的起源與Unix OS的開(kāi)發(fā)緊密相關(guān)。當(dāng)團(tuán)隊(duì)將Unix移植到PDP-11時(shí),它仍在組裝中。湯普森(Thompson)和里奇(Ritchie)希望在系統(tǒng)編程中使用高級(jí)語(yǔ)言,以使程序員可以清晰地表達(dá)概念,而不必與一臺(tái)計(jì)算機(jī)的體系結(jié)構(gòu)綁定,但要使效率很高。Unix使用高級(jí)語(yǔ)言實(shí)現(xiàn),因此打破了這樣一種觀念,即必須使用匯編語(yǔ)言來(lái)編寫(xiě)系統(tǒng),并且該系統(tǒng)必須與特定的計(jì)算機(jī)設(shè)計(jì),字長(zhǎng)或體系結(jié)構(gòu)相關(guān)聯(lián)。并且首次將包括文件系統(tǒng),內(nèi)核,應(yīng)用程序包,實(shí)用程序和用戶界面在內(nèi)的整個(gè)編程環(huán)境移至完全不同類型的機(jī)器上。

湯普森(Thompson)和里奇(Ritchie)早在1969年就已經(jīng)開(kāi)發(fā)了一種稱為“ B”的編程語(yǔ)言,它實(shí)質(zhì)上是BCPL的簡(jiǎn)化版本。基本上,BCPL去除了不必要的組件,以使實(shí)現(xiàn)適合當(dāng)時(shí)的小型計(jì)算機(jī)的存儲(chǔ)能力(BCPL是CPL的簡(jiǎn)化,其本身是Algol 60的簡(jiǎn)化)。湯普森和里奇正在考慮使用B語(yǔ)言重寫(xiě)Unix。但是,B無(wú)法利用PDP-11的某些功能,尤其是字節(jié)尋址能力,導(dǎo)致了“ C”編程語(yǔ)言的發(fā)展。C的名稱被簡(jiǎn)單地選擇為B之后的下一個(gè)字母。

C的開(kāi)發(fā)始于1972年的PDP-11 Unix系統(tǒng),最早出現(xiàn)在Version 2 Unix中。Unix的很大一部分都用C重寫(xiě)了。來(lái)自Unix開(kāi)發(fā)的反饋對(duì)C語(yǔ)言的開(kāi)發(fā)很有幫助。C語(yǔ)言“與系統(tǒng)重寫(xiě)之一融合在一起,因此,它非常適合編寫(xiě)系統(tǒng)”。到1973年,由于增加了“結(jié)構(gòu)”類型,C語(yǔ)言已經(jīng)變得足夠強(qiáng)大,以至于現(xiàn)在大多數(shù)Unix內(nèi)核都使用C語(yǔ)言。Unix成為第一個(gè)使用非匯編語(yǔ)言實(shí)現(xiàn)的OS內(nèi)核之一。

Unix最初是在1973年操作系統(tǒng)原理專題討論會(huì)上正式向外界介紹的,Ritchie和Thompson在那里發(fā)表了一篇論文。這導(dǎo)致了對(duì)系統(tǒng)的要求,但是根據(jù)1956年的和解協(xié)議,在解決反托拉斯案件中,AT&T(貝爾實(shí)驗(yàn)室的母公司)被禁止從事除“公共運(yùn)營(yíng)商通信服務(wù)”之外的任何業(yè)務(wù)。因此,Unix無(wú)法變成產(chǎn)品。貝爾實(shí)驗(yàn)室轉(zhuǎn)而以媒體和運(yùn)輸成本來(lái)運(yùn)送系統(tǒng)。

但是在此之前,Unix仍然只能在DEC系統(tǒng)上運(yùn)行。隨著更多的操作系統(tǒng)用C語(yǔ)言重寫(xiě)(并擴(kuò)展了C語(yǔ)言以適應(yīng)這種情況),可移植性也有所提高。1977年,貝爾實(shí)驗(yàn)室購(gòu)買了Interdata 8/32,其目的是將Unix移植到與PDP-11盡可能不同的計(jì)算機(jī)上,從而使Unix在此過(guò)程中更加獨(dú)立于機(jī)器,從而實(shí)現(xiàn)了湯普森的OS可移植性夢(mèng)想。所有專用于PDP-11的代碼都已從內(nèi)核中刪除并進(jìn)行了重寫(xiě),以使Unix的傳輸變得容易。在進(jìn)行Interdata測(cè)試之后,他們將Unix移至IBM / 370大型機(jī)。通過(guò)每次試用,他們了解了有關(guān)C,Unix和一般可移植性的更多信息。逐漸地,Unix被移植到許多其他硬件系統(tǒng)上,包括基于Intel 8086的計(jì)算機(jī),UNIVAC 1100等。

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2010-01-22 11:23:06

C++程序

2011-07-20 09:11:58

C++

2010-03-24 11:20:17

Python嵌入CC+

2010-03-26 10:05:22

Python嵌入CC++

2011-07-20 16:23:14

C++

2025-01-06 08:28:45

C語(yǔ)言操作系統(tǒng)程序

2022-06-26 00:24:57

C語(yǔ)言操作系統(tǒng)語(yǔ)言

2020-09-25 15:41:16

C++JavaPython

2012-05-18 10:21:30

程序員CC++

2010-09-26 08:40:00

C++

2021-08-31 23:33:50

AndroidiOS功能

2022-11-28 09:58:58

C++開(kāi)發(fā)

2021-12-03 17:22:09

CC++編程語(yǔ)言

2020-09-15 09:23:19

C++WindowsC#

2024-01-24 11:24:03

C++編程異常處理

2010-01-20 14:03:12

C++程序

2010-01-22 15:14:37

學(xué)習(xí)C++

2010-01-14 14:40:21

C++代碼

2018-02-23 13:25:49

LinuxVim編輯器

2021-11-19 09:49:00

CC++語(yǔ)法糖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)