為何在學習開發之前要學習計算機基礎————明確開發的含義與物件,如何做乙個開發,對於才入門的我來說,目前我認為的開發是為了在計算機上完成某乙個事件,如完成乙個應用程式的製作,它應該會對於計算機的各個部分有著指令和操作,而為了完成這些問題,明確如何對於計算機各個部分的連線,必須要熟知計算機的組成以及如何完成它們的配合後,才能夠保證寫出的**指令合理!還有「據說」在未來的路上,做到構架師方面的時候,對於計算機基礎這些基層語言與構造還會顯得尤為重要。
程式語言的作用————開發應用軟體,也是以程式語言的形勢向計算機發布計算機能夠識別的計算機語言,從而完成使用者想要計算機完成的動作。
程式語言與作業系統、硬體的關係————首先作業系統就是由程式語言彙編的,而從計算機這個稍微大的整體來說,作業系統雖然與硬體是兩個整體,但是可以看成硬體完全是由作業系統嚴嚴實實的包裹著一樣,任何程式語言如應用程式,在對於硬體動作有所需求時,必須要先通過作業系統的認可,才能夠完成這一指令,而同樣的,硬體裡的任何東西想要到達應用程式,也必須經過作業系統,這就是為何計算機為什麼必須安裝了作業系統後才能夠運轉起來
cpu、記憶體、磁碟的聯絡————磁碟與記憶體都是作為乙個儲存器,它們的區別在於記憶體是個瘦子,跑的快,而磁碟是個胖子,肉多。cpu則是計算機的運算和控制中心,就像大腦。它們的聯絡就是儲存在磁碟的檔案在需要執行的時候,讀取的資訊先經過記憶體,然後輸送到cpu中,從而高效的完成。至於為何需要記憶體,因為如果把磁碟看成火車,那記憶體就是汽車,雖然汽車小,但是他更加方便快捷,能夠更加高效的把資訊輸送到核心進行處理。
cpu與暫存器,核心態與使用者態及如何切換————cpu與暫存器:暫存器就像是cpu的助手,如上所訴,當cpu從記憶體中提取指令時,會存在在眾多指令中篩選當前所需要的,會有在cpu進行這個事件運算中途產生的資料需要記錄或者儲存,便於接下來使用等等,而如果讓cpu乙個進行這種篩選或者記錄時勢必會影響它的執行速度,因此暫存器就是協作cpu來完成這些對於簡單而又必要的事件。暫存器分為四種:1.通用暫存器:用來儲存變數和臨時結果以便接下來使用。2.程式計數器:儲存下一條指令的位址,以便直接獲得正確指令。3.堆疊指標:它明確標出了已經輸入到cpu的引數,區域性變數和臨時變,等等。4.psw:它包含了非常重要的模式(使用者態或核心態),cpu的優先順序以及其他控制位,對於系統呼叫和i/o尤為重要。(psw:program status word)
所謂使用者態是指使用者訪問下的乙個狀態,這時計算機的底層硬體處於乙個被保護的狀態,使用者是不可能訪問到或者作用到計算機硬體上的記憶體。核心態:cpu可以訪問記憶體所有資料, 包括外圍裝置, 例如硬碟, 網絡卡. cpu也可以將自己從乙個程式切換到另乙個程式。而他們的切換:首先在使用者態執行到需要訪問硬碟資料或者鍵盤鍵入時,會將在這之前執行的資料和結果儲存在暫存器中,然後對作業系統發出請求,從而切換到核心態,執行需要訪問具有記憶體保護的資料,在執行完畢後將結果儲存,重置cpu再次切換到使用者態。
儲存器系列(訪問時間,典型容量):暫存器(1ns,<1kb),快取記憶體(2ns,4mb),記憶體(10ns,512~2048mb),磁碟(10ms,200~1000gb),磁帶 (100s,400~800g)
l1快取(暫存器):與cpu一樣快,訪問無延時
l2快取(快取記憶體): 主要用來存放頻繁使用的記憶體字,快取記憶體硬體先檢查l2有無所需的儲存字,若無後再訪問記憶體
記憶體ram(random access memory):隨機訪問儲存即為記憶體,也是儲存器的主力,主存易失,斷電資料就會全部消失
eeprom(electrically erasable prom)和快閃儲存器(flash memory):非易失性,不過可以擦除重寫,快閃儲存器速度介於記憶體和磁碟中間,可用於固態硬碟、膠卷等
cmos儲存與bios電池:cmos也是易失去的,不過它內部儲存著時間與日期程式,還有計算機的一些基本引數,並且他擁有一小塊電磁驅動保證其不斷電。
磁碟結構:磁碟由乙個或多個金屬片組成,它連線著乙個機械轉軸,每乙個磁面上都會擁有乙個戈丁手臂,它的磁頭在乙個個同心圓的磁軌上進行資料讀取。而每乙個磁軌上小的圓弧被稱為扇區,資料就儲存在這一段一段的扇區中。
平均尋道時間: 機械手臂從乙個柱面隨機移動到相鄰的柱面的時間成為尋道時間,找到了磁軌就以為找到了資料所在的那個圈圈,但是還不知道資料具體這個圓圈的具體位置。
平均延遲時間: 機械臂到達正確的磁軌之後還必須等待旋轉到資料所在的扇區下,這段時間稱為延遲時間
虛擬記憶體與mmu: 虛擬記憶體就是在正在使用的程式放入記憶體取執行時,暫時不需要執行的程式放到磁碟的某塊地方; 而cpu中負責快速地對映記憶體位址的部件就稱為儲存器管理單元( memory management unit mmu)
磁帶:便宜,大容量,速度低,可移動性強,常用來做備份
裝置驅動與控制器:控制器: 是查詢主機板上的一塊晶元或一組晶元(硬碟,網絡卡,音效卡等都需要插到乙個口上,這個口連的便是控制器),控制器負責控制連線的裝置,它從作業系統接收命令,比如讀硬碟資料,然後就對硬碟裝置發起讀請求來讀出內容。
裝置驅動:即為裝置驅動程式,它是由控制器提供介面,並安裝在作業系統上。
匯流排與南橋和北橋:匯流排: 計算機各種功能部件之間傳送資訊的公共通訊幹線,它分為資料匯流排、位址匯流排、控制匯流排。北橋即pci橋:連線高速裝置;南橋即isa橋:連線慢速裝置
作業系統的啟動流程:在接入電源後,首先執行的是bios程式(作業系統),先檢測硬體,然後讀取cmos上關於計算機的引數,選擇啟動裝置, 從啟動裝置上讀取第乙個扇區的內容(mbr (main boot record)主引導記錄512位元組,前446為引導資訊,後64為分割槽資訊,最後兩個為標誌位),根據分割槽資訊讀入bootloader啟動裝載模組,啟動作業系統。然後作業系統詢問bios,以獲得配置資訊。對於每種裝置,系統會檢查其裝置驅動程式是否存在,如果沒有,系統則會要求使用者按照裝置驅動程式。一旦有了全部的裝置驅動程式,作業系統就將它們調入核心。然後初始有關的**(如程序表),穿件需要的程序,並在每個終端上啟動登入程式或gui(圖形使用者介面)。
應用程式的啟動流程:先由輸入裝置(如滑鼠)提出請求——>由控制器輸入訊號——>裝置驅動程式執行——>作業系統接受——>從硬碟尋找該應用所在的位置——>cpu從記憶體中讀取——>執行該應用程式。在這個過程中,作業系統無時無刻不在進行著監視,只要請求提出或者事件一發生,作業系統就會立馬做出反應。
計算機硬體
計算機 軟體與計算機語言 python 一套完整的計算機系統 作業系統 windows linux 底層硬體 cpu 記憶體 硬碟 計算機硬體 cpu 暫存器 最快的一種儲存裝置 核心態與使用者態 核心態與使用者態之間的互換 cpu指令集中的指令可以分成兩部分 合理地cpu工作狀態應該是取指令 解碼...
計算機硬體
計算機就是可以進行數 算和邏輯運算的機器,而且具有儲存和記憶功能。歷史上第一台計算機誕生於1946年2月15日於美國賓夕法尼亞大學投入使用,並命名為 eniac 是電子數值積分計算機 the electronic numerical intergrator and computer 的簡稱。第二代電...
計算機硬體
1.磁碟儲存的原理就是通過磁頭改變磁碟上磁疇的磁化方向 在碟片上塗著薄薄的一層磁性材料,這些磁性材料像無數個小磁鐵,都有南極和北極。讓人驚奇的是,所有的資料,都是由這些 小磁鐵 來儲存。鋁合金製成的碟片在高速旋轉,每分鐘要轉幾千甚至上萬圈,磁頭懸浮在碟片上方滑來滑去,經常需要在毫秒級的時間內滑到指定...