1. 程式人生 > >計算機與編程基礎

計算機與編程基礎

內存 跨平臺 mar 後來 技術 text 完成 啟動 style

了解編程(Programming)概念、計算機組成原理、操作系統(OS)、數據結構(Data Structure)相關基本知識,對之後python語言的學習的應用有至關重要的幫助。

----Knowledge is like a net, the more solid and the more it is , the more fish we live in.

1.什麽是編程語言?

  編程語言是一門語言,但與我們說的漢語英語不同之處在於,編程語言比如python是程序員與計算機進行溝通,交互的一種介質。程序員將希望計算機完成的任務,以編程語言的形式翻譯出來(通常是一行行代碼)寫入到文件中,這就是編程. 最終完成的文件,就是我們說的程序(軟件).

2.為何要編程?

  社會的進步就是一個解放生產力的過程, 而人力有窮時,所以我們將目光轉向了機器:

用機器代替人力工作. 而給機器發指令,驅使機器按照程序指定的邏輯完成工作,就需要使用編程.

3.計算機基本組成

了解計算機的組成,有助於更好的理解代碼的運行方法.典型的馮諾依曼計算機有五大組成部分:控制器 運算器 存儲器 輸入設備和輸出設備:




技術分享圖片

  其中,控制器和運算器組成CPU,相當於人的大腦. CPU的工作方式:取指--->分析--->執行.CPU的速度很快,每秒可以執行百萬條指令,而硬盤的速度很慢,完成一次讀寫的平均尋道時間和平均延遲時間為9ms,為了平衡CPU和磁盤速度不匹配的問題,引入了內存,內存的速度相對磁盤要快,但是不能永久存儲,斷電數據會消失.一個程序運行時,代碼先從磁盤加載到內存,CPU從內存中讀取指令,然後執行.

  CPU一次可以處理內存中32bit數據的,是32位CPU,最開始是8086系列,故而用x86(其內置x86指令集)標識.後來出現了一次可以處理64位bit數據的CPU,采用x86-64架構,故而每次處理32個空位32個指令位,就可以兼容32位的軟件.現在家用PC大多是64位CPU.需要強調的是,所有軟件都需要轉換成CPU的指令集去執行.

之後的學習中,接觸最多的就是與程序運行相關的三個核心硬件:CPU 內存 硬盤.

4.計算機系統

  完整的計算機系統包括 計算機硬件,操作系統,應用程序,其中,操作系統和硬件是應用程序的平臺. 平臺是一個很重要的概念,程序是否有良好的跨平臺性,比如在windows系統編寫的程序,能否在linux系統中運行,與程序的編寫語言有關,python語言就擁有良好的跨平臺性.

  一臺計算機開始通電啟動, 最開始不是從硬盤讀寫數據的,而是ROM和CMOS.ROM只能讀不能寫,斷電數據不會丟失,速度和內存一樣快,但價格貴,容量也小.所以只用來存儲很關鍵的數據,比如計算機的引導加載模塊.CMOS是一種存儲器,斷電數據丟失,但其一個特性是耗電量非常小,通常將其置於主板上,並且單獨為它提供一塊電源,來保證CMOS可以長期通電.在CMOS裏,有計時器以及BIOS(Basic Input / Output System)的配置.比如重裝系統時,需要在BIOS裏設置系統從磁盤啟動改為從U盤啟動,這個過程就是CPU→ROM→CMOS,類似計算機啟動之後的CPU→內存→硬盤過程.

5.數據單位

8bit=1Bytes
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB

隨著學習的深入,你會發現計算機硬件的某些特性和數據的傳輸單位是相關的,在此不做贅述.

思維導圖

技術分享圖片

計算機與編程基礎