计算机基础之编程
目錄
- 計算機(jī)基礎(chǔ)之編程
- 1.什么是編程語言?
- 2.什么是編程?
- 3.為什么要編程?
- 計算機(jī)組成原理
- 1.控制器
- 2.運算器
- 3.控制器加運算器(計算機(jī)的中央處理器)
- 4.存儲器
- 4.1 內(nèi)存(主存)
- 4.2外存
- 5.CPU+內(nèi)存+外存(計算機(jī)三大核心組件)
- 6.輸入設(shè)備
- 7.輸出設(shè)備
- 8.計算機(jī)五大部件組成部分補充
- 8.1 cpu相關(guān)
- 8.2 存儲器相關(guān)
- 8.3 總線
- 8.4 啟動計算機(jī)的流程
- 8.5 硬盤工作原理
- 8.6 機(jī)械硬盤
- 計算機(jī)操作系統(tǒng)
- 1.操縱系統(tǒng)的引入
- 2.什么是操作系統(tǒng)?
- 2.1什么是文件?
- 2.2 什么是應(yīng)用程序?
- 3.操作系統(tǒng)的定義
- 4.為什么由操作系統(tǒng)?
- 5.操作系統(tǒng)有什么用
- 6.操作系統(tǒng)和應(yīng)用程序的啟動
- 7.QQ啟動的詳細(xì)流程(windows)
計算機(jī)基礎(chǔ)之編程
1.什么是編程語言?
python和中文,英語一樣,都是一門語言只要是語言,其實就可以看成是一種事物和另外一種事物溝通的介質(zhì)。python屬于編程語言,編程語言的程序猿和計算機(jī)之間溝通的介質(zhì),中文和英語則是人與人之間溝通的介質(zhì)
2.什么是編程?
編程指的是:程序猿基于某種編程語言的語法格式將自己腦子中想要的計算機(jī)做的事,寫到文件中。所以說編程的結(jié)果就是一堆文件,這一堆文件就是程序。
3.為什么要編程?
計算機(jī)就像是人的奴隸,編程的目的就是想要奴役計算機(jī),把計算機(jī)當(dāng)成人類的努力,讓計算機(jī)幫人類工作,因而取代人力。
計算機(jī)組成原理
計算機(jī)分為五大組成部分,分別為:控制器、運算器、存儲器、輸入設(shè)備、輸出設(shè)備。其中控制器+運算器是計算機(jī)的中央處理器(CPU),相當(dāng)于人類的大腦。
1.控制器
計算機(jī)的指揮系統(tǒng)。大腦指揮全身的器官運作,但是大腦不會隨意的指揮身體行動,大腦只有在接受指令后才會控制身體行動。
2.運算器
運算器是計算機(jī)的運算系統(tǒng)。大腦除了指揮,無時無刻還在運算。即實現(xiàn)算術(shù)運算和邏輯運算。
3.控制器加運算器(計算機(jī)的中央處理器)
吃飯流程示例。
4.存儲器
計算機(jī)的存儲系統(tǒng)。需要注意的是:無論是內(nèi)存還是外存,計算機(jī)存儲的數(shù)據(jù)格式都是01,01的形式,0和1由電壓的電頻控制(了解知識點)。計算機(jī)的存儲的一個二進(jìn)制單位稱為1bit,8bit=1Bytes稱為一個字節(jié),1024Bytes=1KB,1024KB=1MB,1024MB=1GB,1024GB=1TB,1024TB=1PB。
下圖展示了目前市面上常用的存儲器,從圖中可以看出存儲器的速度、容量和價格是相互矛盾的。
4.1 內(nèi)存(主存)
內(nèi)存是計算機(jī)內(nèi)臨時存儲數(shù)據(jù)的硬件設(shè)備。由于內(nèi)存讀取數(shù)據(jù)速度較快內(nèi)存,CPU下達(dá)的指令會直接傳輸給內(nèi)存,即CPU會與內(nèi)存直接交互。常見的內(nèi)存有內(nèi)存條。
4.2外存
外存是計算機(jī)內(nèi)永久存儲數(shù)據(jù)的硬件設(shè)備,由于外存容量大,所以外存主要用于存儲軟件等占用量大的數(shù)據(jù)。當(dāng)需要使用外存上的某個軟件時,CPU下達(dá)的指令需要傳輸給內(nèi)存后,內(nèi)存再從外存中讀取軟件信息,即CPU不與外存直接交互。常見的外存有磁帶、磁盤和u盤等。
5.CPU+內(nèi)存+外存(計算機(jī)三大核心組件)
電腦打開QQ流程示例。
6.輸入設(shè)備
計算機(jī)輸入信息(程序、數(shù)據(jù)、聲音、文字、圖形、圖像等)的設(shè)備。
常見的輸入設(shè)備有:鍵盤、鼠標(biāo)、圖形掃描儀、觸摸屏、條形碼輸入器、光筆等。外存儲器(U盤等)也是一種輸入設(shè)備。
7.輸出設(shè)備
計算機(jī)輸出信息的設(shè)備。
常見的輸出設(shè)備有:顯示器、打印機(jī)和繪圖儀等。外存儲器也是一種輸出設(shè)備。
存儲器既是輸入設(shè)備也是輸出設(shè)備
8.計算機(jī)五大部件組成部分補充
8.1 cpu相關(guān)
多核CPU:多個CPU,電腦可以同時干多件事,如4核CPU的電腦可以同時干四件事。
X86-64位:X86是CPU的一種型號,64表示CPU每次能取64位二進(jìn)制數(shù)。X86-32表示CPU每次取32位二進(jìn)制數(shù)。CPU具有向下兼容性,即64位電腦能下載32位的軟件,而32位的軟件下載64位的軟件會丟失數(shù)據(jù)。
8.2 存儲器相關(guān)
ROM存儲器:ROM只讀存儲器(不可寫)在工廠中就被編程完畢,然后再也不能修改。它一般存放BIOS(Basic input output system)程序,該程序一般用于啟動計算機(jī),或用于處理底層設(shè)備的控制。
CMOS存儲器:CMOS存儲器由一塊電腦內(nèi)置的電池驅(qū)動供電,它一般用來保持當(dāng)前時間和日期的更新,也就是說,即使計算機(jī)沒有充電,時間也會持續(xù)更新;同時它也可以存儲啟動磁盤的路徑。(裝機(jī)的時候一般會告訴計算機(jī)操作系統(tǒng)在計算機(jī)中的位置,如C:/)
8.3 總線
總線相當(dāng)于人類的神經(jīng)、血管,連接計算機(jī)的所有硬件設(shè)備。
8.4 啟動計算機(jī)的流程
8.5 硬盤工作原理
如今市場上的硬盤分為機(jī)械硬盤和固態(tài)硬盤兩大類,我們將從這兩大類出發(fā)和同學(xué)們介紹硬盤的工作原理
8.6 機(jī)械硬盤
機(jī)械硬盤主要由機(jī)械手臂、磁道和扇區(qū)組成,接下來我們將從這三個方面展開介紹機(jī)械硬盤的工作原理。
機(jī)械手臂:機(jī)械硬盤通過機(jī)械手臂讀取數(shù)據(jù),機(jī)械手臂的末端是磁頭。
磁道:磁道是機(jī)械硬盤的磁面中的一個一個圈,磁道用于存儲數(shù)據(jù)。
扇區(qū):扇區(qū)的最小單位通常為512KB(由于磁盤大小不斷增大,也有部分廠商設(shè)定每個扇區(qū)的大小是4096字節(jié))。為了減小IO操作,機(jī)械硬盤也會將多個相鄰的扇區(qū)組合在一起,形成一個塊,這個塊便就是我們在Windows系統(tǒng)中看到的C、D分區(qū)。
平均尋道時間:由于數(shù)據(jù)存放在磁道上,因此機(jī)械手臂需要讀取數(shù)據(jù)首先要找到磁道。受限于工業(yè)水平的限制,目前機(jī)械手臂找到磁道的時間為5ms,這個時間被稱為平均尋道時間。
平均延遲時間:機(jī)械手臂尋道之后,需要尋找數(shù)據(jù)。由于數(shù)據(jù)的位置是不確定的,而目前的機(jī)械硬盤尋找數(shù)據(jù)會從硬盤的頭部掃描到尾部。以7200r/min的硬盤為例,如果碰巧在硬盤頭部找到數(shù)據(jù),時間約為0ms;如果在硬盤尾部找到數(shù)據(jù),時間約為8.3ms,因此我們采用一個平均時間4.15ms作為機(jī)械手臂在磁道找到數(shù)據(jù)的時間,這個時間被稱為平均延遲時間。
? 尋找數(shù)據(jù)的時間=平均尋道時間+平均延遲時間
8.7 固態(tài)硬盤
隨著人們對數(shù)據(jù)需求增多,存儲系統(tǒng)的瓶頸越來越明顯。而在嵌入式領(lǐng)域移動設(shè)備和工業(yè)自動化控制等惡劣環(huán)境下,傳統(tǒng)硬盤機(jī)械結(jié)構(gòu)已經(jīng)無法滿足要求,而所有這一切隨著固態(tài)存儲(SSD)的到來而發(fā)生了改變。
傳統(tǒng)的機(jī)械硬盤(HDD)運行主要是靠機(jī)械驅(qū)動頭,包括馬達(dá)、盤片、磁頭搖臂等必需的機(jī)械部件,它必須在快速旋轉(zhuǎn)的磁盤上移動至訪問位置,至少95%的時間都消耗在機(jī)械部件的動作上。SSD卻不同機(jī)械構(gòu)造,無需移動的部件,主要由主控與閃存芯片組成的SSD可以以更快速度和準(zhǔn)確性訪問驅(qū)動器到任何位置。傳統(tǒng)機(jī)械硬盤必須得依靠主軸主機(jī)、磁頭和磁頭臂來找到位置,而SSD用集成的電路代替了物理旋轉(zhuǎn)磁盤,訪問數(shù)據(jù)的時間及延遲遠(yuǎn)遠(yuǎn)超過了機(jī)械硬盤。SSD有如此的“神速”,完全得益于內(nèi)部的組成部件:主控--閃存--固件算法。SSD通過這套組成部件,讓數(shù)據(jù)以電荷的方式存儲在每個NAND存儲單元內(nèi)。
上面講了這么多,牢記一點:固態(tài)硬盤是基于固態(tài)電子(SSD,斷電數(shù)據(jù)也會保留)和算法實現(xiàn)數(shù)據(jù)存儲的。
計算機(jī)操作系統(tǒng)
1.操縱系統(tǒng)的引入
可能有很多同學(xué)都有碰到下面我說的這個場景,當(dāng)我們花了8888大洋買了一臺16G內(nèi)存的專業(yè)吃雞電腦時,打開電腦發(fā)現(xiàn)自己的電腦內(nèi)存只有15G不到,然后就開始了吃雞之旅。
但是如果你對你少掉的內(nèi)存關(guān)心的話,你會發(fā)現(xiàn)并不是廠商為了節(jié)省造價成本,而這少掉的內(nèi)存被某種東西給占用了,這種東西就是我們這篇文章的主角——操作系統(tǒng)。
2.什么是操作系統(tǒng)?
在了解操作系統(tǒng)之前,我們首先回顧下編程的目的,編程的目的是奴役計算機(jī),取代人力。
現(xiàn)在想象一個這樣的場景,如果你是奴隸主(人),你在黑市上買了一個奴隸(計算機(jī)),你想讓這個奴隸干掃地的活,但是這個奴隸可能不明白掃地是什么意思,甚至可能都不知道你全程在逼逼啥。這個時候你可能會考慮買一個管家(操作系統(tǒng)),這個管家既能和你交流,也能和奴隸交流,然后你有任何命令都將由這個管家傳達(dá)給奴隸。
2.1什么是文件?
現(xiàn)在讓我們來想象我們在計算機(jī)上打開一個文件的流程:首先我們需要開機(jī),其次我們需要打開一個文件。可能我們所有人都會認(rèn)為這沒啥,但是,這個時候你需要注意,文件它是什么呢?因為我們太習(xí)以為常了,所以我們忽略了這個問題:文件是什么呢?這個時候我不得不告訴你,你可以把文件理解成一個虛擬的單位,有了這個虛擬的單位,我們不再需要考慮機(jī)械手臂的運轉(zhuǎn),你只需要文件可以雙擊打開、可以寫入數(shù)據(jù)、可以CTRL+S保存。
現(xiàn)在讓我們來思考文件這個虛擬的單位是誰提供的呢?如果有使用過linux系統(tǒng)的同學(xué)應(yīng)該知道,linux系統(tǒng)中看不到任何一個文件的圖標(biāo),只有一行一行的代碼?(但是Linux一切皆文件)
inux系統(tǒng)既然看不到文件的圖標(biāo),那么windows系統(tǒng)的電腦上文件圖標(biāo)是誰提供的呢?毫無疑問。這個時候我們可以得知windows系統(tǒng)電腦上的文件這個虛擬單位是windows操作系統(tǒng)提供的。也正是在啟動計算機(jī)的時候,計算機(jī)開啟了操作系統(tǒng)這個軟件(計算機(jī)除了硬件,就是軟件,軟件一般用來控制硬件)。但是需要注意的是,只要你想打開一個文件,歸根結(jié)底都是需要你去操作硬件的,只不過是操作系統(tǒng)不僅給我們提供了文件這個概念,并且把對文件打開的這個復(fù)雜操作封裝成了一個雙擊文件的接口給我們。
2.2 什么是應(yīng)用程序?
剛剛和同學(xué)們聊了聊計算機(jī)打開文件的流程。我們知道了文件這個虛擬概念是操作系統(tǒng)給我們的。這個時候我們需要回過頭來看看我們的計算機(jī),計算機(jī)創(chuàng)建的初心不是讓我們寫一個操作系統(tǒng)來控制硬件的。
計算機(jī)創(chuàng)建的目的是為了讓我們?nèi)伺鬯麄?#xff0c;讓它們替我們干活。那是不是說我們可以通過計算機(jī)開發(fā)一款A(yù)TM系統(tǒng),讓它們每天24小時不停歇的吞錢、吐錢呢?毫無疑問是可以的。有了操作系統(tǒng)在計算機(jī)上的一切操作都將變得很簡單,那是不是說我們就需要在每臺計算機(jī)上都寫一套操作系統(tǒng)呢?通過常識來看,我們是不需要的,我們只需要復(fù)制其他人的操作系統(tǒng)即可,但是在計算機(jī)創(chuàng)建初期是需要自己手寫操作系統(tǒng)的?但如今,如果真的讓我們寫一個操作系統(tǒng)出來,可能我們一輩子都使出吃奶的勁都無能為力。
應(yīng)用程序其實很好理解,計算機(jī)只由硬件和軟件組成,應(yīng)用程序一定不是硬件,那么軟件中除了操作系統(tǒng)我們都可以稱之為應(yīng)用程序。說了這么多,其實就像讓你明白一件事:應(yīng)用程序位于操作系統(tǒng)之上,它主要用來幫助人干各種各樣的工作,它不直接與硬件交互。
3.操作系統(tǒng)的定義
通過上面從文件到應(yīng)用軟件的鋪墊,我們在這里直接給出操作系統(tǒng)的定義:操作系統(tǒng)位于計算機(jī)硬件與應(yīng)用軟件之間,它是一個協(xié)調(diào)管理計算機(jī)資源和軟件資源的控制程序。它把對硬件的復(fù)雜操作,封裝成一個一個簡單的接口,供人們使用。
4.為什么由操作系統(tǒng)?
為了明白為什么要有操作系統(tǒng)。我們在這里再給出一個計算機(jī)系統(tǒng)的組成:一套完整的計算機(jī)系統(tǒng)由計算機(jī)硬件、操作系統(tǒng)和應(yīng)用程序組成,對這三個組件的解釋如下:
5.操作系統(tǒng)有什么用
由于我們以后開發(fā)都是都是應(yīng)用程序,應(yīng)用程序無法操作硬件,但凡需要操作硬件,都是調(diào)用操作系統(tǒng)的接口。
6.操作系統(tǒng)和應(yīng)用程序的啟動
操作系統(tǒng)的啟動:操作系統(tǒng)代碼由硬盤讀入內(nèi)存(BIOS程序),CPU運行操作系統(tǒng)代碼(CMOS存儲器),運行成功后操作系統(tǒng)接管操作硬件的工作。
應(yīng)用程序的啟動:應(yīng)用程序代碼有硬盤讀入內(nèi)存,CPU運行應(yīng)用程序碼,運行成功即可使用應(yīng)用程序。雖然應(yīng)用程序的啟動和操作系統(tǒng)的啟動有著異曲同工之處,但是得明確一點:裝了操作系統(tǒng)之后才能裝應(yīng)用程序,才有應(yīng)用程序這個概念。因此上述應(yīng)用程序?qū)τ布刂频拿恳徊讲僮?#xff0c;都依賴于操作系統(tǒng)的幫助。
7.QQ啟動的詳細(xì)流程(windows)
轉(zhuǎn)載于:https://www.cnblogs.com/xiongchao0823/p/11246581.html
總結(jié)
- 上一篇: [题解] 2019牛客暑期多校第三场H题
- 下一篇: The copy of Windows