-
1 # 技術小兵
-
2 # 三邵爺的夢囈
計算機程式又稱「 計算機軟體」,計算機裡面的軟體分為 「 應用軟體 」 和「 系統軟體」兩大類。
再說「 系統軟體」,系統軟體大部分你是看不到的,因為它們是為讓你更好地使用應用軟體而服務的,比方說最大的系統軟體就是作業系統,你只有開機載入作業系統後,才能在作業系統基礎上開啟一切應用程式。日常所說的Windows 10、Android、iOS都是作業系統。
再看兩者之間是怎樣關聯的?
CPU、作業系統會將整個系統分為使用者層和核心層,「 應用軟體」執行在使用者層,當使用者(就是下圖的user) 開啟Application (應用軟體) 的時候,應用軟體的編寫者會呼叫一些作業系統(Operating System)提供的介面(API),如開啟檔案、關閉檔案、讀檔案、寫檔案、聯上網路、傳送檔案等服務。
這些API 是OS 封裝好的,當應用程式呼叫這些API的時候,OS 會透過其裡面的裝置驅動程式將具體的API 再轉化成對具體硬體裝置的操作(就是下層的Hardware),比如你要對檔案操作,那麼檔案系統驅動會對硬碟讀/寫;你想聯網,網路裝置驅動會對網絡卡傳送請求;你想打遊戲,顯示卡裝置驅動程式會操作它的顯示卡。
計算機裡面的程式就是透過這樣層層封裝的方式實現從上層應用到底層硬體操作的過程。
-
3 # IT人劉俊明
作為一名IT行業的從業者,同時也是一名計算機專業的教育工作者,我來回答一下這個問題。
計算機上的程式總體上可以分成三類,其一是計算機的作業系統,負責整個計算機的資源管理和任務排程,是計算機執行各種計算任務的基礎程式;其二是中介軟體和服務支撐程式,這一類程式主要是面向具體的功能開發,比如資料庫程式等等;其三是具體的功能應用型程式,主要完成面向使用者的軟體產品,這一類程式數量非常龐大。
作業系統是計算機的核心組成部分之一,沒有作業系統的計算機將無法完成服務。作業系統為計算機構建了一個應用平臺,不同角色可以根據自己的需要與作業系統進行溝通從而獲得相應的資源以完成具體的計算任務。通常,不同的計算機硬體需要配備不同的作業系統以滿足相應的資源管理需求,比如個人電腦的作業系統通常比較關注於互動介面的友好性,而伺服器的作業系統通常比較關注任務排程的效率和資源管理的高效性。
中介軟體和服務支撐程式通常是附著在作業系統之上的程式,主要的功能有三點,其一是輔助作業系統進行資源管理;其二是輔助作業系統與外界進行資源連線;其三是輔助作業系統進行功能擴充套件。通常來說,不同的應用領域都需要專業的中介軟體和服務程式,比如RPC通訊、資料庫、程式語言開發包等等。
面向使用者的程式產品則五花八門,比如辦公軟體、即時通訊軟體、影片軟體、娛樂軟體等等,這些軟體通常都具有針對性較強的使用者定位,以滿足不同使用者的使用需求。隨著網際網路、雲計算的發展,目前很多安裝在個人電腦中的程式也逐漸開始遷移到雲端,從而實現多場景應用的無縫切換。
-
4 # 我是一個西瓜w
作為一名IT行業的從業者,同時也是一名計算機專業的教育工作者,我來回答一下這個問題。
計算機上的程式總體上可以分成三類,其一是計算機的作業系統,負責整個計算機的資源管理和任務排程,是計算機執行各種計算任務的基礎程式;其二是中介軟體和服務支撐程式,這一類程式主要是面向具體的功能開發,比如資料庫程式等等;其三是具體的功能應用型程式,主要完成面向使用者的軟體產品,這一類程式數量非常龐大。
回覆列表
計算機要執行必須要有編譯器程式+連結器程式+裝載器程式+函式庫+os才能執行。編譯器負責將字元程式編譯成cpu能識別的二進位制程式碼,並生成可執行檔案格式,連結器負責將程式對外部第三方庫庫函式呼叫地址做連結,並生成每個函式,變數的虛擬地址,裝載器負責將程式的二進位制程式碼load到記憶體形成可執行程式的記憶體映象(馮諾依曼體系構架要求程式必須載入到記憶體才能被cpu執行,庫函式負責包裝os的能力(系統呼叫的包裝),os負責管理程式的記憶體映象在執行時的各種行為——物理記憶體的分配,程序排程,io管理等。各個程式互相配合,各司其職。