? ? ? ? ? ? ? ? ? ? ? ? 一.計(jì)算機(jī)硬件組成與工作原理
1.python是一門(mén)編程語(yǔ)言,什么是編程語(yǔ)言?
人為何要跟計(jì)算機(jī)溝通
人為了奴役計(jì)算機(jī)
銀行行長(zhǎng)-----------------------------員工
接收用戶輸入的賬號(hào)
接收用戶輸入的密碼
判斷輸入的賬號(hào)? 等于正確的賬號(hào)? 并且輸入的密碼等于正確的密碼? 驗(yàn)證成功
????????????????????????????????????告訴用戶登錄成功
????????????????????否則:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?告訴用戶賬號(hào)或密碼錯(cuò)誤
程序員-----------------------------------計(jì)算機(jī)
用編程語(yǔ)言翻譯上述邏輯
2.什么是編程
編程就是把做事的步驟/業(yè)務(wù)邏輯給翻譯下來(lái)
注意:
先想好業(yè)務(wù)邏輯
? ? ? ? 在翻譯/編程
3.什么是程序(*****)
代碼應(yīng)該寫(xiě)到文件中,存放有程序代碼的文件就是程序,或者叫軟件
程序員--------------編程語(yǔ)言---------------------計(jì)算機(jī)
4.計(jì)算機(jī)硬件(*****)
原則:所有的計(jì)算機(jī)硬件都是在模仿人的某一功能或器官
CPU:負(fù)責(zé)數(shù)學(xué)運(yùn)算與邏輯運(yùn)算,執(zhí)行指令=========================人腦
內(nèi)存:負(fù)責(zé)臨時(shí)記憶數(shù)據(jù)===========================================================人腦的記憶功能
? ? ? ? ? ? 優(yōu)點(diǎn):存取IO速度快
缺點(diǎn):斷電數(shù)據(jù)丟失
硬盤(pán):負(fù)責(zé)永久記憶數(shù)據(jù)========================================================小本本
優(yōu)點(diǎn):永久保存數(shù)據(jù),斷電數(shù)據(jù)不丟失
缺點(diǎn):存取IO速度都慢
輸入設(shè)備:鍵盤(pán) 鼠標(biāo)
輸出設(shè)備:顯示器,打印機(jī)
程序的運(yùn)行與三大核心硬件的關(guān)系:(*****)
程序最先是存放硬盤(pán)中的
程序的運(yùn)行是先把程序的代碼從硬盤(pán)讀入內(nèi)存,然后CPU從內(nèi)存讀取指令然后運(yùn)行。
5、IO問(wèn)題與程序優(yōu)化思路
? ? 1.讀
能從內(nèi)存讀就不要從硬盤(pán)讀
如果原始的數(shù)據(jù)就是存放于硬盤(pán)中的,并且該數(shù)據(jù)經(jīng)常被用到,那么我需要把硬盤(pán)中的
? ? ? ? 數(shù)據(jù)先讀入到內(nèi)存中==》緩存
? 2.寫(xiě)
在內(nèi)存攢一大波,然后一次性寫(xiě)入硬盤(pán)
8bit=1Byte
1024B=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
6 X86指的是CPU的型號(hào)(*****)
7.cpu的兩種工作狀態(tài)
內(nèi)核態(tài):所有指令集都可以使用
用戶態(tài):只能使用運(yùn)算相關(guān)操作的指令集
特點(diǎn):應(yīng)用程序的運(yùn)行必然涉及到計(jì)算機(jī)硬件的操作,那就必須由用戶態(tài)切換到內(nèi)核態(tài)下才能實(shí)現(xiàn),他們?cè)冢茫校諆?nèi)頻繁的切換。
二、計(jì)算機(jī)硬件基礎(chǔ)知識(shí)普及(***)
1.存儲(chǔ)器
? ? ? ? ? ? ? ? ? ?ROM=》內(nèi)存:存放BIOS
? ? ? ? ? ? ? ? ? ? CMOS=》‘硬盤(pán)’:斷電數(shù)據(jù)丟失,但是耗電量極低
? ? ? ? ? ? ? ? ? ? ? ? 用來(lái)運(yùn)行BIOS程序
? ? ? ? ? ? ? ? ? ? ? ? CPU
? ? ? ? ? ? ? ? ? ? ? ? ROM
? ??????????????????????COMS
2.硬盤(pán)詳解
? ? ? ? ? ? ? ?磁道
? ? ? ? ? ? ? ? 扇區(qū)
? ? ? ? ? ? ? ? ?柱面
? ? ? ? ? ? ? ? ?7200轉(zhuǎn)/60s
? ? ? ? ? ? ? ? ? 120轉(zhuǎn)/s
? ? ? ? ? ? ? ? ? ?轉(zhuǎn)一圈花費(fèi):8ms
? ? ? ? ? ? ? ? ? ?平均延遲時(shí)間:4ms
? ? ? ? ? ? ? ? ? ? 平均尋道時(shí)間:5ms
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 三、操作系統(tǒng)
1.什么是操作系統(tǒng):
? ? ? ? ? ? ? ? ? ? 操作系統(tǒng)是一個(gè)協(xié)調(diào)、管理、控制計(jì)算機(jī)硬件資源與應(yīng)用軟件資源的一個(gè)控制程序。
? ? ? ? ? ? ? ? ? ?平臺(tái)=計(jì)算機(jī)硬件+操作系統(tǒng)
? ? ? ? ? ? ? ? ? ?跨平臺(tái)性 ? ? ? ? ? ? ? ??
2.計(jì)算機(jī)體系的三層結(jié)構(gòu):(******)
應(yīng)用程序/用戶
操作系統(tǒng)(windows、mac、linux)? 文件
計(jì)算機(jī)硬件(cpu、內(nèi)存、硬盤(pán))? ? 硬盤(pán)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?四、編程語(yǔ)言分類(***)
機(jī)器語(yǔ)言:直接用二進(jìn)制指令編寫(xiě)程序
優(yōu)點(diǎn):運(yùn)行效率高
缺點(diǎn):
開(kāi)發(fā)效率低
1、二進(jìn)制指令太難記憶
2、實(shí)現(xiàn)一個(gè)簡(jiǎn)單功能都需要很多步才能完成
匯編語(yǔ)言:用英文標(biāo)簽取代二進(jìn)制指令去編寫(xiě)程序
優(yōu)點(diǎn):
1、運(yùn)行效率高,但肯定是低于機(jī)器語(yǔ)言
2、解決了機(jī)器語(yǔ)言二進(jìn)制指令難記的問(wèn)題
缺點(diǎn):
1、開(kāi)發(fā)效率仍然比較低
高級(jí)語(yǔ)言:用人類能理解的表達(dá)方式去編寫(xiě)程序,計(jì)算機(jī)無(wú)法直接理解,需要翻譯才行,
按照翻譯方式的不同,高級(jí)語(yǔ)言又分為
編譯型C、Go: 翻譯一次得到可執(zhí)行的結(jié)果,下次直接拿著現(xiàn)成的結(jié)果運(yùn)行就好,不需要再用編譯器翻譯了
翻譯工具:編譯器
解釋型python、shell:每次執(zhí)行程序都離不開(kāi)解釋器的翻譯
翻譯工具:解釋器
執(zhí)行效率:機(jī)器語(yǔ)言>匯編語(yǔ)言>高級(jí)語(yǔ)言(編譯型>解釋型)
開(kāi)發(fā)效率:機(jī)器語(yǔ)言<匯編語(yǔ)言<高級(jí)語(yǔ)言 (解釋型>編譯型)
