一計算機基礎對於學習程式語言的重要性
python作為一門程式語言,那麼它就有語言的功能。我們通常所說的語言,比如:漢語,英語,法語等,都是用來人與人之間進行溝通的媒介。那麼python與他們
的區別就是python是人與計算機進行溝通的媒介。中國有句俗語:知彼知己,百戰不殆。我們為了更好地與計算機進行溝通,讓計算機按照我們人的邏輯思維來工作,
就要盡可能詳細的了解計算機這個機器,它的一些結構組成,功能,工作原理。所以計算機基礎對於python程式設計學習的重要性可想而知。
二乙個完整計算機系統由:硬體,應用程式,作業系統,三部分組成,也可以說由:軟體和硬體兩部分組成。
1計算機硬體
計算機硬體分為五個部分:
(1)控制器:控制器顧名思義,就是進行各種控制。 根據操作人員發出的指令對各部件進行控制,以保證各部件正常執行。
(2)運算器:進行算數運算和邏輯運算。
(3)儲存器:用來存放資料和應用程式,能夠對儲存器中德資訊進行讀取和寫入操作,對於資料的操作是通過儲存器中的位址來完成,因為每個儲存單元都有乙個位址,儲存器的容量單位bytes,kb,mb,gb,tb,pb等,同時1024b=1kb,1024kb=1mb,1024mb=1gb,1024gb=1tb。
(4) 輸入裝置:就是向計算機輸入資訊的裝置,常用的有:滑鼠,鍵盤,觸屏等。
(5)輸出裝置:顯示器,印表機等。
cpu:
cpu由控制器和運算器組成,所以它不僅能對軟/硬體進行控制,還可以進行邏輯運算和算術運算。那麼對於cpu來說當程式設計師對計算機發出一條指令時,指
令經過輸入裝置進入記憶體,這個時候cpu到記憶體中取指進行分析,分析之後執行相應的動作。cpu讀取的資料都是從記憶體中來的,那麼cpu只是做乙個分析與處理,處理
過後資料再寫入儲存器中,由儲存器再到輸出單元。cpu的種類主要是:精簡指令集與複雜指令集,精簡指令集cpu只能進行一些簡單的操作,執行時間短,效率較高。
而複雜指令集cpu指令數目多且複雜,所以每條指令執行時間會比精簡指令集長,但能進行更加複雜的工作。我們現在用的cpu很多都是x86-64,因為cpu具有向下相容
性,所以x86-64的cpu的相容性較好。
cpu的核心態與使用者態
除了在嵌入式系統中的非常簡答的cpu之外,多數cpu都有兩種模式,即核心態與使用者態。
嵌入式系統:一應用為中心,以計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能,可靠性,成本,體積,功耗等嚴格要求的專用計算機系統。
所以說嵌入式系統一般在計算機初裝系統就具備,所以通常使用者是不可變的,就好像今天我們的手機上剛買來就會有一些軟體,而這些軟體就相當於是嵌入式系統的一部分。核心態:當cpu在核心態執行時cpu可以執行指令集中所有的指令,包括使用硬體的功能。
使用者態:使用者程式在使用者態下執行時,只能執行cpu指令集中的乙個子集,而且不具備操作硬體的功能。
核心態與使用者態切換:在使用者態下執行沒辦法操作硬體,但是有時候我們的軟體可能會用到硬碟裡的資料,比如我們使用word開啟乙個檔案,word必須向系統呼叫,
說我需要這個硬碟的資料,這個時候乙個特殊的指令trap指令就會把使用者態切換成核心態,從而得到想要的資料。
儲存器: 儲存器在計算機硬體中是僅次於cpu的存在,人們一直在做的工作就是盡可能將儲存器變得:容量更大,速度更快,價錢更便宜。儲存器系統採用如上圖的分層結構,頂層的儲存器速度較高,容量較小,與底層的儲存器相比每位的成本較高,其差別往往是十億數量級的
記憶體中又有ram和rom(read only memory),她們倆的主要區別在於ram儲存量小且斷電資料消失,而rom儲存量較ram大且斷電資料仍然可以儲存。
ram在通電情況下可以隨意訪問,而rom則唯讀。
還有一類儲存器就是cmos:一般用來儲存計算機基本啟動資訊(比如:日期,時間,啟動設定等),系統斷電資訊也不回丟失。
磁碟
:其實磁碟儲存方式有點類似於我們以前我們的唱片機上的唱片。磁碟是一種機械裝置,一般有乙個或多個金屬碟片,工作時的轉速為5400,7200或
10800rpm。資訊以二進位制的形式一圈一圈的儲存在磁軌上,乙個二進位制占乙個位元位bit,那麼8bit=1bytes位元組,
1024bytes=1kb, 1024kb=1mb, 1024mb=1gb, 1024g=1tb。由下圖可以看出,對於磁碟的取值是使用磁碟臂,每個磁軌劃成若干扇區,扇區典
型的值就是512bytes,因為抓取手臂每次抓取的值也是512bytes。
平均尋道時間:機械手臂從乙個柱面隨機移動到相鄰的柱面的時間成為尋到時間,找到了磁軌就以為著招到了資料所在的那個圈圈,但是還不知道資料具體這個圓圈的具體位置。
平均延遲時間:機械臂到達正確的磁軌之後還必須等待旋轉到資料所在的扇區下,這段時間成為延遲時間。
那麼假如乙個5400rpm的磁碟
平均尋道時間是:5ms
平均延遲時間是 : 60/10800=0.01s/2=0.005=5ms
那麼每次抓取延遲時間為10ms
如果抓取次數足夠多這個總的延遲時間會比較長,假如對乙個每分鐘500million請求次數來說:
500mips -----〉〉500 millon instruction per second
磁帶:
在價錢相同的情況下比硬碟擁有更高的儲存容量,雖然速度低於磁碟,但是因其大容量,在**水災火災時可移動性強等特性,常被用來做備份。(常見於大型資料庫系統中)。
輸入輸出裝置:
輸入裝置:就是把程式設計師編寫的程式送到計算機中去,通過翻譯轉換成計算機能識別的方式,輸入的資訊可以是文字,等等,輸入裝置常見有滑鼠鍵盤等。
輸出裝置:將輸入的資訊經cpu分析處理過後的結果通過一些裝置送出計算機,比如我們常見的耳機,印表機等。
計算機啟動流程:
1計算機通電。-----〉2.基本輸入輸出系統(bios)開始執行,檢測硬體記憶體,硬碟,cpu等-----〉3.當bios在cmos中找到啟動盤會讓使用者選擇哪種啟動
系統,選擇完之後-----〉〉4.從啟動盤讀取第乙個扇區的內容(mbr主引導記錄512位元組,前446為引導資訊,後64為分割槽資訊,最後兩個為標誌位)-------〉〉5.開始加
載bootloader(在嵌入式作業系統中,bootloader是在作業系統核心執行之前執行。可以初始化硬體裝置)啟動作業系統-----〉〉〉6.然後作業系統詢問bios,獲得相應
程式配置資訊。對於每種裝置,系統會檢查其裝置驅動程式是否存在,如果沒有,系統則會要求使用者按照裝置驅動程式。一旦有了全部的裝置驅動程式,作業系統就將它
們調入核心,接下來作業系統接管計算機。
計算機 計算機基礎整理
大學四年浪費的代價。半夜整理東西 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.輸...