計算機基礎 7

2022-09-13 19:30:15 字數 4350 閱讀 5534

程式中包含著執行環境這一內容,可以說執行環境 = 作業系統 + 硬體,作業系統又可以被稱為軟體,它是由一系列的指令組成的。我們不介紹作業系統,我們主要來介紹一下硬體的識別。

從程式的執行環境這一角度來考量的話,cpu 的種類是特別重要的引數,為了使程式能夠正常執行,必須滿足 cpu 所需的最低配置。

cpu 只能解釋其自身固有的語言。不同的 cpu 能解釋的機器語言的種類也是不同的。機器語言的程式稱為本地**(native code),程式設計師用 c 等高階語言編寫的程式,僅僅是文字檔案。文字檔案(排除文字編碼的問題)在任何環境下都能顯示和編輯。我們稱之為源**

通過對源**進行編譯,就可以得到本地**。下圖反映了這個過程

計算機的硬體並不僅僅是由 cpu 組成的,還包括用於儲存程式指令的資料和記憶體,以及通過 i/o 連線的鍵盤、顯示器、硬碟、印表機等外圍裝置。

在 windows 軟體中,鍵盤輸入、顯示器輸出等並不是直接向硬體傳送指令。而是通過向 windows 傳送指令實現的。因此,程式設計師就不用注意記憶體和 i/o 位址的不同構成了。windows 操作的是硬體而不是軟體,軟體通過操作 windows 系統可以達到控制硬體的目的。

接下來我們看一下作業系統的種類。同樣機型的計算機,可安裝的作業系統型別也會有多種選擇。例如:at 相容機除了可以安裝 windows 之外,還可以採用 unix 系列的 linux 以及 freebsd (也是一種unix作業系統)等多個作業系統。當然,應用軟體則必須根據不同的作業系統型別來專門開發。cpu 的型別不同,所對應機器的語言也不同,同樣的道理,作業系統的型別不同,應用程式向作業系統傳遞指令的途徑也不同

。windows 以及 linux 作業系統的 api,提供了任何應用程式都可以利用的函式組合。

因為不同作業系統的 api 是有差異的。所以,如何要將同樣的應用程式移植到另外的作業系統,就必須要覆蓋應用所用到的 api 部分。

鍵盤輸入、滑鼠輸入、顯示器輸出、檔案輸入和輸出等同外圍裝置進行互動的功能,都是通過 api 提供的。

這也就是為什麼 windows 應用程式不能直接移植到 linux 作業系統上的原因,api 差異太大了。

在同型別的作業系統下,不論硬體如何,api 幾乎相同。但是,由於不同種類 cpu 的機器語言不同,因此本地**也不盡相同。

作業系統其實也是一種軟體,任何新事物的出現肯定都有它的歷史背景,那麼作業系統也不是憑空出現的,肯定有它的歷史背景。

在計算機尚不存在作業系統的年代,完全沒有任何程式,人們通過各種按鈕來控制計算機,這一過程非常麻煩。

於是,有人開發出了僅具有載入和執行功能的監控程式,這就是作業系統的原型。

通過事先啟動監控程式,程式設計師可以根據需要將各種程式載入到記憶體中執行。

雖然仍舊比較麻煩,但比起在沒有任何程式的狀態下進行開發,工作量得到了很大的緩解。

隨著時代的發展,人們在利用監控程式編寫程式的過程中發現很多程式都有公共的部分。

例如,通過鍵盤進行文字輸入,顯示器進行資料展示等,如果每編寫乙個新的應用程式都需要相同的處理的話,那真是太浪費時間了。

因此,基本的輸入輸出部分的程式就被追加到了監控程式中。初期的作業系統就是這樣誕生了。

類似的想法可以共用,人們又發現有更多的應用程式可以追加到監控程式中,比如硬體控制程式程式語言處理器(彙編、編譯、解析)以及各種應用程式等,結果就形成了和現在差異不大的作業系統,也就是說,其實作業系統是多個程式的集合體。

32位作業系統

這裡表示的32位作業系統表示的是處理效率最高的資料大小

windows 處理資料的基本單位是 32 位。這與最一開始在ms-dos等16位作業系統不同,因為在16位作業系統中處理32位資料需要兩次,而32位作業系統只需要一次就能夠處理32位的資料,所以一般在 windows 上的應用,它們的最高能夠處理的資料都是 32 位的。

比如,用 c 語言來處理整數資料時,有8位的char型別,16位的short型別,以及32位的long型別三個選項,使用位數較大的 long 型別進行處理的話,增加的只是記憶體以及磁碟的開銷,對效能影響不大。

現在市面上大部分都是64位作業系統了,64位作業系統也是如此。

通過 api 函式集來提供系統呼叫

windows 是通過名為api,應用程式介面。

當前主流的32位版 windows api 也稱為win32 api,之所以這樣命名,是需要和不同的作業系統進行區分,比如最一開始的 16 位版的win16 api,和後來流行的win64 api

api 通過多個 dll 檔案來提供,各個 api 的實體都是用 c 語言編寫的函式。所以,在 c 語言環境下,使用 api 更加容易,比如 api 所用到的messagebox()函式,就被儲存在了 windows 提供的 user32.dll 這個 dll 檔案中。

提供採用了 gui 的使用者介面

gui(graphical user inte***ce)指得就是圖形使用者介面,通過點選顯示器中的視窗以及圖示等視覺化的使用者介面,

舉個例子:linux 作業系統就有兩個版本,一種是簡潔版,直接通過命令列控制硬體,還有一種是視覺化版,通過游標點選圖形介面來控制硬體。

通過 wysiwyg 實現列印輸出

wysiwyg 指的是顯示器上輸出的內容可以直接通過印表機列印輸出。

在 windows 中,顯示器和印表機被認作同等的圖形輸出裝置處理的,該功能也為 wysiwyg 提供了條件。

借助 wysiwyg 功能,程式設計師可以輕鬆不少。最初,為了是現在顯示器中顯示和在印表機中列印,就必須分別編寫各自的程式,而在 windows 中,可以借助 wysiwyg 基本上在乙個程式中就可以做到顯示和列印這兩個功能了。

提供多工功能

多工指的就是同時能夠執行多個應用程式的功能,windows 是通過時鐘分割技術來實現多工功能的。時鐘分割指的是短時間間隔內,多個程式切換執行的方式。在使用者看來,就好像是多個程式在同時執行,其底層是cpu 時間切片,這也是多執行緒多工的核心。

cpu分片,也是時鐘分割

提供網路功能和資料庫功能

windows 中,網路功能是作為標準功能提供的。資料庫(資料庫伺服器)功能有時也會在後面追加。

網路功能和資料庫功能雖然並不是作業系統不可或缺的,但因為它們和作業系統很接近,所以被統稱為中介軟體而不是應用。

意思是處於作業系統和應用的中間層,作業系統和中介軟體組合在一起,稱為系統軟體

應用不僅可以利用作業系統,也可以利用中介軟體的功能。

應用可以使用作業系統和中介軟體

相對於作業系統一旦安裝就不能輕易更換,中介軟體可以根據需要進行更換,不過,對於大部分應用來說,更換中介軟體的話,會造成應用也隨之更換,從這個角度來說,更å換中介軟體也不是那麼容易。

通過即插即用實現裝置驅動的自動設定

即插即用(plug-and-play)指的是新的裝置連線(plug) 後就可以直接使用的機制,新裝置連線計算機後,計算機就會自動安裝和設定用來控制該裝置的驅動程式

裝置驅動是作業系統的一部分,提供了同硬體進行基本的輸入輸出的功能。鍵盤、滑鼠、顯示器、磁碟裝置等,這些計算機中必備的硬體的裝置驅動,一般都是隨作業系統一起安裝的。

有時 dll 檔案也會同裝置驅動檔案一起安裝。這些 dll 檔案中儲存著用來利用該新追加的硬體api,通過 api ,可以製作出執行該硬體的心應用。

計算機 計算機基礎整理

大學四年浪費的代價。半夜整理東西 cpu 其功能主要是解釋計算機指令以及處理計算機軟體中的資料。cpu由運算器 控制器和暫存器及實現它們之間聯絡的資料 控制及狀態的匯流排構成。差不多所有的cpu的運作原理可分為四個階段 提取 fetch 解碼 decode 執行 execute 和寫回 writeb...

計算機基礎

1 32位作業系統的記憶體分配 1 32位作業系統 windows linux 支援4g 2 32 記憶體的連續訪問 2 32位作業系統,通常把記憶體分為兩個2g的空間,每個程式執行時,就是每個程序,最大可以使用2g的私有記憶體 0x00000000 0x80000000 即理論支援如下的陣列 ch...

計算機基礎

1 完整的計算機系統 完整的計算機系統應該是由以下幾個部分組成 1.計算機硬體。2.作業系統。3.應用程式。2 計算機硬體介紹 1.控制器 計算機的控制指揮系統,通過產生操作控制訊號作用於計算機其他部件。2.運算器 實現算術運算和邏輯運算的部件。3.儲存器 用來存放各類資料檔案以及程式的部件。4.輸...