程式語言和作業系統是什麼關係?

時間 2021-06-06 20:35:57

1樓:

非要回答的話,先有的還是程式語言

這樣理解,

最早的計算機沒有真正意義上的作業系統,但是可以用機器語言編寫的程式來操作它,

機器語言的程式可以直接輸入0和1到機器裡(不一定是鍵盤輸入了,也可以是打孔帶之類的)。

然後機器語言編譯出最早的組合語言的直譯器,在這台計算機上就可以使用組合語言了,組合語言翻譯成機器語言還是可以想象的吧。

組合語言跟機器語言沒有本質的區別,只是把不知所云的0和1翻譯成了字元。

然後就可以用組合語言編出作業系統了,

比如最早的Unix系統就是用組合語言寫的(2023年),執行於PDP-7上(組合語言跟具體機器相關)。

最早的高階語言的編譯器應該也是組合語言寫的,但可能功能非常有限。

早期的計算機可以沒有作業系統,開機後的介面就是直譯器,直接輸入程式來操作。

有了現代的作業系統,以及比較基本的高階語言編譯器之後,就可以在此基礎之上編寫更高階的作業系統、功能更豐富的編譯器,以及各種各樣的應用軟體了。

比如2023年,Unix系統隨後用C語言重寫(或者說移植),也使得Unix可以執行於不同的機器架構上了。

2樓:const

問題就是錯的,在你理解編譯,以及,程式怎樣使用硬體資源之前,本問題下的所有回答,你都不能理解,甚至不能分辨這些回答的對錯。

3樓:志民

先有程式語言,後有作業系統。

早就計算機誕生之前,程式設計思想及程式語言就產生了。

計算機的發明,從某一角度來看,不如說是為了驗證程式語言的可用性,而造出來的。

打個比方:計算機就像劍,程式語言就是劍法。

最低層的程式語言是機器語言,這種語言計算機懂,受過專業訓練的人也懂。

後來,計算機越來越複雜,功能越來越強,為了增強開發效率,人們開發出高階語言(程式語言),開發出作業系統,這些都是建立程式語言的基礎上的。

不管是作業系統,應用軟體,還是我們常見的高階程式語言,都要轉換為機器語言才能執行。

作業系統、應用軟體、(高階)程式語言之間的關係,從硬體的角度來看,應視為並列關係。實現的功能不同而已。

4樓:劉宇峰

問題都是錯的。首先,程式語言是不能執行的,它是可執行的電腦程式的一種表達方式,而編譯器或者直譯器把程式語言轉換為計算機可執行的程式。

而作業系統也是一種可執行的電腦程式,它通常先在計算機上執行起來,作為一套中間層存在。我們都知道,中間層是為了提供抽象轉換而存在的,而這套叫做作業系統的中間層,定義了一套規則,使得後續的可執行程式能夠更容易的被執行起來,而且能更容易的利用各種硬體(顯示,鍵盤等等),能夠呼叫一些庫來消除不同的程式間重複的執行邏輯

總結下,程式語言是一種可執行程式的表達方式,編譯器把程式語言的表達方式轉換為可執行的程式,而編譯器做轉換的過程,可以作業系統相關(也就是轉換出的程式執行在特定作業系統上),也可以作業系統無關(直接在裸機執行)。而作業系統,本身是乙個程式,也可以是程式語言來表達的(編譯後通常作業系統無關),也可以不是(直接寫機器碼),而作業系統這個特殊的程式,提供了庫,硬體驅動,執行時環境,框架等,是為了讓執行在其上的程式寫得更容易

5樓:永久生鏽無again

機器,彙編,高階語言。 就像滾雪球越滾越大。。滾出編譯器。。滾出作業系統。。

就像造機械一樣,最初的機械肯定簡單暴力造的,之後就可以用機械就造機械了

程式語言中「庫」與「函式」是什麼關係?

PeterYuan 庫。library。直譯過來就是圖書館,可想而知這個體量和作用,而中文翻譯的庫,也表明這一點,比如倉庫 庫房。都是儲存大量物質的地方。而函式,對於圖書館來說可以是一本書,對於倉庫來說可以是乙個物品。當然,也可以乙個library裡就放一本書,乙個倉庫裡就放乙個物品,單一職責,就是...

你用過最好用的作業系統是什麼?

Manjaro Linux 馬克思主義告訴我們什麼?辯證的看待問題!根本就沒有最好用的系統,希望沒人槓我。如果你說辦公,那Windows體驗最好。畢竟office全套不是蓋的。如果你是遊戲發燒友,信我,Windows是你的真愛。如果你說你想體驗閉環生態,那macOS最好。前提是腰包夠鼓。如果你想追求...

文曲星當年用的是什麼作業系統?

陳星 PC260的飄過,前天收拾櫃子的時候還看到了這貨,只剩下一本說明書和裸機了,液晶屏幾年前就爛了,安裝的是鈕扣電池,用螺絲刀拆開裡面只有一片牛屎片。 趙金剛 最早CC PC 系列是沒有作業系統的,後來V5100 產品上市,採用了uCOSII GP1288 以及超強悍的XD6000 使用了linu...