現代計算機組成
根據馮·諾依曼結構體系計算機有五大部件組成:
運算器、控制器、存儲器、輸入設備、輸出設備
CPU=運算器+控制器
運算器由算術邏輯單元(ALU)、累加器、狀態寄存器、通用寄存器組等組成。
算術邏輯運算單元(ALU)的基本功能為加、減、乘、除四則運算,與、或、非、異或等邏輯操作,以及移位、求補等操作。
運算器只能進行二進制運算、邏輯運算
控制器控制著計算機各部件之間的協調
CPU指令集:
指令集是存儲在CPU內部,對CPU運算進行指導和優化的硬程序。擁有這些指令集,CPU就可以更高效地運行。Intel有x86,EM64T,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3),SSE4.1,SSE4.2,AVX。
AMD主要是x86,x86-64,3D-Now!指令集。
指令分為:
特權指令:操作系統才能運行特權指令
普通指令:應用程序運行
操作系統調用的是Ring 0區域,應用程序調用的是Ring 3區域
應為歷史原因:Ring 1,Ring 2保留.
芯片有載入過程也被boot啟動過程。
開機執行BIOS(基本輸入輸出系統)引導程序,這個過程叫做系統自檢,標識和配置所有的即插即用設備,并配置DMA通道;完成加電自檢,測試內存,端口,鍵盤,視頻適配器,磁盤驅動器等基本設備,以及CD-ROM驅動器;對引導驅動器可引導分區定位:在CMOS(complementary metal oxide semiconductor,互補金屬氧化物半導體)中,可以自行設置引導順序,一般順序是軟驅,磁盤,光驅;加載主引導記錄以及引導驅動器的分區表,執行主引導記錄MBR,主引導記錄在硬盤上找到可引導分區,將其分區引導記錄裝入內存,并將控制權交給分區引導記錄,由分區引導記錄定位根目錄,然后裝入操作系統。
System call:系統調用,叫做 syscall
任何只有內核才能執行的操作,通過接口的形式表現出來,這些接口稱之為系統調用。
編程層次:
硬件規格:hardware specifiacatio
系統調用:系統調用很少
庫調用:library call 離成軟件成品近
把系統調用封裝成更復雜的程序,以供別人使用,稱之為庫,又稱重復造輪子。
系統啟動:內核+外殼
UI:前端,用戶接口
GUI:graphic user interface 圖形用戶接口
CLI:command line interface 命令行
用戶接口程序,通過用戶接口程序來啟動其他程序。
ABI:application binary interface :應用二進制接口 編譯以后
API:Application Progrming Interface 開發以后 應用編程接口
CPU架構類型:
CPU:X86,X86-64,Power,PowerPC,Alpha(HP),安騰,UltraSparc,ARM,MIPS,M68000(m68k)
編程語言:方便人使用就越高級
匯編編程也叫微碼編程
機器語言—>匯編語言–>高級語言 三個層次
高級語言通過兩次轉換才能運行
高級語言à匯編語言à機器語言 轉換過程
如果c語言第一步編譯過程,高級語言轉換到匯編語言取決于底層芯片是什么格式的。最好從匯編轉換成特定機器支持的機器代碼也叫機器指令。
第一步叫編譯
第二步:把機器語言轉換匯編語言叫匯編的過程。
讓計算機干什么活你要寫程序的。
讓程序靈活的使用就要消除底層的差異。
為了避免程序員寫程序的時候遇到不同機器的不同情況。
OS:operation system
操作系統起到承上啟下作用
操作系統是個軟件,其次將底層計算機提供的各種計算的能力給抽象為一種統一的接口的一種程序。
部件和部件之間如何實現數據交換
線路來實現統常稱為:bus 總線
總線的作用:將電氣信號轉換為數字信號
控制總線、數據總線、地址總線
地址總線是為了實現尋址的
什么叫尋址
運算器和控制器是實現運算和控制的,數據放在存儲器中
Memory:編址存儲單元
內存的每一個存儲單元都是有地址的。
線性地址空間:線性地址(Linear Address)是邏輯地址到物理地址變換之間的中間層。在分段部件中邏輯地址是段中的偏移地址,然后加上基地址就是線性地址。虛擬內存空間。
32位的二進制表示2^32,最多支持4G內存
64位的二進制表示 2^64
存儲器編址存儲設備
計算器運算加法:取數值,運算,輸出結果
IO:與外部部件交互
磁盤
網卡
ROM:只讀存儲器,尋址地址空間的組成部分
RAM:隨機存儲器
南橋:低速
北橋:高速
服務器硬件介紹
企業PC服務器品牌及型號
互聯網公司的服務器品牌:DELL、HP、IBM(百度)、浪潮、聯想、航天聯志。
Dell服務器品牌: 1U=4.45cm
2010年以前 1u:1850、1950 2u:2850、2950
2010-2013:1u:R410/R610 2u:R710服務器
2014-2015:1u:R420/430、/R620/630 2u:R720/730
2U服務器
1u服務器IBM:品牌:
2U:3750/3850/3950
HP品牌:
2U:DL380G7
服務器主要零部件:
1、電源:
就是人體的心臟,生產中一般核心業務用雙電源,雙線AB路,如果集群的環境
可以例外。
1u服務器電源 2u服務器電源2、CPU處理器:
人體的大腦,負責運算和控制,是服務器性能效率的最核心部件。
常見品牌:
Intel、AMD
一般的企業服務器,CPU顆數2-4顆,單顆CPU是4核。內存總量一般是16-48G。
做虛擬化的宿主機,CPU顆數4-8顆,內存總量一般48-128G。
代表圖片
3、內存
CPU和磁盤之間的緩沖設備,臨時的存儲器
一般程序運行的時候會被調用到內存中執行,服務器關閉或程序關閉之后,自動從內存中釋放掉。
進程:正在運行著的程序,進程會放在內存里執行。
守護進程:持續保持運行著的程序
程序:php/java,代碼文件,靜態的,放在磁盤里的。
計算機重啟,內存的數據會被釋放掉。
企業案例:
1)門戶網站案例:高并發、大數據量:會把數據先寫到內存,達到一定的量,然后在定時或者定量的寫到磁盤(減少磁盤I/O),最終還會加載到內存對外提供訪問。
特點:
a、優點:寫內存的性能高(微博、微信、SNS、秒殺)
b、缺點:可能丟失一部分在內存中還沒有來得及存入磁盤的數據。
解決方法:
1、服務器主板上有電池
2、UPS不間斷供電(持續供電10分鐘,IDC數據UPS 1小時)
2)大中小企業案例:并發不是很多的網站,讀多寫少的業務,會把數據寫入到磁盤,然后通過程序把數據讀入到內存里,再對外通過讀內存提供訪問服務。
緩存無處不在
寫入數據到內存,成為緩沖區(buffer)
從內存讀取數據,內存空間(cache)
由于99%的是網站都是讀取為主,寫入為輔,讀寫比例至少10:1,所有并發寫入不是問題。
提醒:這里提到的內存和磁盤,是有多臺機器組成的集群架構環境。Memcahced/redis
企業級內存
4、磁盤
永久存在數據的存儲器
常用的3.5英寸的(ide、sas、sata)硬盤,讀?。ㄐ阅懿桓撸┬阅鼙葍却娌詈芏?,所有工作中,我們會把大量的數據緩存到內存,是必備的解決方案。
硬盤接口或類型:IDE、scsi、sas、sata、ssd(電子的)
性能:ssd(固態)>sas>sata
企業應用:
1、常規正式工作場景選sas硬盤(轉速15000/分,機械硬盤轉速高的性能好)
2、不對外提供訪問的服務器:例如:線下的數據備份,可選sata(7200/10000)
Sata特點:容量大,價格便宜,但是速度比較慢 。
3、高并發,小數據量,可以選ssd
Ssd最好,都選ssd吧?
淘寶網企業案例:服務器會把sata和ssd結合起來用,熱點存儲,程序動態調度。筆記本
代表圖片:
5、DELL陣列卡(raid卡)
基本作用:網站數據量很大,單塊磁盤裝不下了,有了多塊盤,又不想單個盤存放數據,就需要工具把所有硬盤整合成一個大硬盤,在這個大硬盤上在分區放數據。
Raid有多中整合方式
Raid 0 1 5 10
原創文章,作者:N21_ Dominic,如若轉載,請注明出處:http://www.www58058.com/17927