day02

1.計算機基礎之編程

什麼是編程語言

  1. 什麼是語言,中文,英語,日語,語言是拿來溝通交流的
  2. 編程語言: 和計算機交流的一種介質

什麼是編程

表達本身的想法(實現一些東西)python

編程:經過編程語言作一些事情,寫一堆.py/.obj/.css文件算法

爲何要編程

編程的目的: 替代勞動力,而後才幫人類完成一些具體的編程

2.計算機的組成


CPU (大腦)

電腦創立初:控制器和運算器是分開的服務器

控制器(控制)網絡

控制硬件(運算器,存儲器,輸入設備,輸出設備)編程語言

運算器(運算)性能

算術運算(1+1=2) + 邏輯運算(今天下雨我就帶傘)編碼

存儲器(記憶)

主存(腦子)

內存(內存4gb--》8gb)操作系統

優勢: 速度快

缺點: 容量小,斷掉即消失

外存(筆記本)

機械硬盤--》128gb固態硬盤

優勢:容量大,永久存儲

缺點:速度慢

I/O設備(Input/Output設備)

輸入設備(眼睛)

輸入信息,鍵盤/鼠標/麥克風/u盤

輸出設備(決策)

輸出信息,顯示屏/打印機/u盤

馮諾依曼機-計算機


3.計算機組成的補充

多核CPU

一個CPU至關於一個大腦,多核CPU--》計算機同時擁有多個CPU,同一時刻處理多件事情(多進程)

32位和64位

計算機如何存儲圖片:計算機只認識0(低電頻)和1(高電頻),圖片本質就是一串0和1

鼠標點擊--》低電頻低電頻低電頻高電頻低電頻 --》00010

光盤 --》凹0凸1刻印

32位--》計算機一次性能處理32個0和1

64位--》計算機一次性能處理64個0和1

32位和64位本質上是同一種東西

安裝包是64位的(一次性給你64個0和1),計算機是32位的(一次性能接收32個0和1)

安裝包是32位的,計算機是64位的

向下兼容

機械硬盤工做原理

凹凸凹凸凹凸 010101

機械手臂

讀取數據

磁道

存儲數據

扇面

劃分了磁道,多個扇面(512kb,計算機一次性從機械硬盤上讀取512kb數據)其實就是一個盤(區)

平均尋磁道時間

因爲工業水平限制--》5ms

平均延遲時間

7200r/min的電腦
$$
7200/60 = 120r/s \

1/120 = 0.0083s = 8.3ms \

(8.3+0)/2 = 4.15ms
$$

平均尋找數據時間

$$
5+4.15 = 9.15ms
$$

固態硬盤

基於電容存儲,數學的算法

優勢: 不須要機械手臂; 基於電存儲

《計算機組成原理》


4.操做系統

若是隻有剛剛說的五大組成,你要讀取數據,只能本身滑動機械手臂

0.17個GB留給了一部分其餘的操做系統

什麼是文件

存儲信息的介質,操做系統提供給你的一個虛擬的概念,這個虛擬的概念能夠用來存儲信息,幫你滑動了機械手臂

文件接口(操做系統提供的,而文件只是其中的一個接口):幫你把對硬件的複雜操做簡單化

雙擊接口(操做系統提供的):讓你快速打開一個應用程序

操做系統有什麼用

提供給咱們一個一個接口,讓咱們再也不關心硬件的複雜操做,讓複雜操做簡單化

應用程序的啓動

  1. 雙擊qq--》讓操做系統通知CPU(企鵝操做系統提供給你的)(找到qq在外存的位置)
  2. cpu讓內存去外存讀取qq的數據,qq數據進入內存
  3. 啓動qq

計算機的組成(有了操做系統以後)

  1. 應用程序(軟件):和操做系統交互
  2. 操做系統(軟件):和硬件交互
  3. 硬件:硬件直接交互

操做系統的啓動(開機)

啓動軟件,首先啓動操做系統找軟件在硬盤上的位置; 操做系統本質也是一個軟件,啓動操做系統也須要找到操做系統在硬盤中的位置(要找就必須經過操做系統)

臨時操做系統(ROM存儲器)

計算機出廠的時候就寫死了,他會區CMOS存儲器上調用操做系統的路徑,只負責尋找操做系統的路徑

臨時內存(CMOS存儲器)

用電池供電,存儲了操做系統的路徑(重裝操做系統修改啓動盤的位置,改的就是這個),存儲了時間

  1. 開機,啓動臨時操做系統
  2. 臨時操做系統區CMOS存儲器上找到操做系統的路徑
  3. 啓動操做系統,臨時操做系統關閉

5.編程語言分類

計算機只認識0和1

編碼

0001 --》a

0011 --》b

0100 --》 c

0101 --》d

0111 --》 +

0001 0011 --》 ab

機器語言

寫0和1

000101110011 a+b --》(設備) --》 低低低高

早期只有頂級科學家才能使用計算機

優勢:執行速度很是快,直接和硬件交互

缺點:開發速度很是慢

彙編語言

add --》 0111

add(a,b)(彙編語言 )--》(設備) --》 000101110011(機器語言) --》(設備)--》低低低高(高低壓電頻)

優勢(相較於機器語言):開發效率高

缺點(相較於機器語言):執行效率低

高級語言

a+b(解釋型語言) --》(設備)--》a+b(高級語言/編譯型語言) --》(設備--翻譯器)--》add, a, b (彙編語言)--》(設備)--》000101110011(機器語言) --》(設備)--》低低低高(高低壓電頻)

編譯型語言(經過設備的翻譯形式)

相似於谷歌翻譯,一次性翻譯全部代碼位機器代碼

# 這串代碼表示:打印1+2的值
x = 1
y = 2
print(x + y)

'''
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
'''

'001001010010000011010101000100101001000001101010100010010100100000110101010'  --> 直接運行

優勢(相較於解釋型語言):執行效率高

缺點(相較於解釋型語言):開發效率低(調試bug很是複雜)

解釋型語言(經過設備的翻譯形式)

相似同聲傳譯,說一句翻譯一句,解釋性語言的翻譯器是經過編譯型語言寫出來的

# 這串代碼表示:打印1+2的值
x = 1
y = 2
print(x + y)

'''
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
'''

'''
0000101010
運行
0101101001
運行
0101010101
運行
0000101010
運行
0101101001
運行
0101010101
運行報錯
0000101010
運行
0101101001
運行
0101010101
運行
'''

優勢(相較於編譯型而言):開發效率高

缺點(相較於編譯型語言):執行效率低


6.網絡瓶頸效應

編程 --》完成具體的事情 --》 幫人類幹活

寫一個應用程序(必定要聯網)

程序必定要經過網絡通訊

木桶效應

A人的槍打到B人的頭

網絡的瓶頸效應

網絡通訊的時間(10ms)遠遠大於執行程序的時間(0.01ms)--》程序的執行效率不必考慮了 --》 (網絡的應用程序)解釋型語言 --》 Python

操做系統(單機操做的應用程序) --》 編譯型語言

物理學: 光譜

操做系統 1G內存

微內核 0.1G內存+0.1G網絡通訊 10G放到服務器

《計算機操做系統》

相關文章
相關標籤/搜索