第一篇 基礎原理篇
第一篇 基礎原理篇
1.2 程序是如何運行的:
首先, 進行編程,編程需要編程語言,對絕大部分人來說,使用的編程語言稱為高級程序設計語言,如,c,c++,java等。但是計算機不認識高級語言編寫的程序,編好的程序需要進行編譯變成計算機能夠識別的機器語言程序,而這需要編譯器和匯編器的幫助,其次,機器語言程序需要加載到內存,形成一個運動中的程序,即進程,這需要操作系統的幫助。進程需要在計算機芯片cpu上執行才算真正在執行,而將進程調度到cpu上運行也由操作系統完成。最後,在cpu上執行得機器語言指令需要變成能夠在一個個時鐘脈沖裏執行的基本操作,這需要指令集機構和計算機硬件的支持,而整個程序的執行過程還需要操作系統提供的服務和程序語言提供的執行環境,這樣一個程序到微指令的過程就完成了。
從這個描述中可以看出:程序的運行至少需要如下4個因素:
1)程序設計語言。
2)編譯系統。
3)操作系統。
4)指令集結構(計算機硬件系統)
需要註意的是,左圖給出的是程序執行過程是從高級語言編寫的程序開始的。而實際並不是總是這。事實上,程序可以直接在機器語言或匯編語言上編寫。用這種稱為“低級”的語言編寫出來的機器語言程序無需經過編譯器的翻譯就可以在計算機指令集上執行。如果是在匯編語言上編寫的匯編程序,則無需經過匯編器的翻譯即可加載執行。
1.3 什麽是操作系統
操作系統是介於計算機和應用軟件之間的一個軟件系統
如下結構
應用程序
------------------------------------------------------------------------------------虛擬機器界面
操作系統
------------------------------------------------------------------------------------物理機器界面
硬件
第一篇 基礎原理篇