1.計算機基礎
阿新 • • 發佈:2020-12-01
計算機基礎
計算機,俗稱電腦,是一種能接收和儲存資訊,並按照儲存在其內部的程式對海量資料進行自動,高效地處理,然後把處理結果輸出的現代化智慧電子裝置.
一個完整的計算機系統由硬體系統和軟體系統兩大部分組成
計算機硬體
-
世界上第一臺計算機:ENIAC
-
現代計算機都遵循馮諾依曼體系.
- 採用二進位制,1byte=8bit
- 計算機按照程式順序執行
- 計算機硬體由運算器,控制器,儲存器,輸入裝置,輸出裝置五大部分組成.
-
摩爾定律:當價格不變時,積體電路上可容納的元器件的數目,約每隔18-24個月便會增加一倍,效能也會提升一倍.
-
計算機分類
- 按規模劃分
- 超級計算機
- 大型計算機
- 小型計算機
- 微型計算機
- 按功能和角色劃分
- 伺服器
- 客戶機
- 按外形劃分
- 塔式伺服器
- 刀鋒伺服器
- 機架式伺服器
- 整機櫃伺服器
- 按規模劃分
-
相關硬體
- CPU
- CPU,即中央處理器,由控制器和運算器組成,是計算機系統最重要的部分.
- CPU指令集架構主流有x86和arm兩種,此外還有power架構,RISC-V,MIPS等.
- CPU晶片市場主流廠商是AMD和Intel.
- CPU指令集主要有複雜指令集(CISC)和精簡指令集(RISC).x86使用的是複雜指令集,arm使用的是精簡指令集.
- 主機板
- 重要組成部分,包括BIOS晶片,鍵盤和麵板控制開關介面,輸入輸出裝置介面,主儲存器和輔助儲存器介面,電源供電模組等.
- 記憶體
- 主儲存器,介於CPU和輔助儲存器之間.用於快取資料,對計算機效能影響較大.
- 記憶體斷電後資料丟失.
- 記憶體頻寬,指的是記憶體和北橋晶片之間的資料傳輸速率,計算公式是:
記憶體頻寬=記憶體匯流排頻率(如2666,2933,3200)*資料匯流排位數(一般計算機都已經是64位了)/8
,如果雙通道記憶體需要再乘以2.
- 硬碟
- 按介面劃分:
- IDE
- SCSI
- SATA
- SAS
- 光纖通道
- M.2
- 按結構分類:
- 機械硬碟:機械結構,價效比高.
- 固態硬碟: 沒有機械結構,以區塊寫入和擦除方式作讀寫功能,效能高,價格高,故障後難以恢復.
- 網絡卡
- 計算機的網路裝置,一般主機板上會整合1-2個千兆網絡卡.
- 高階網絡卡也會有光纖網絡卡等,傳輸速率達到10Gbps以上.
- 遠端管理卡
- BMC
- IPMI介面,用於伺服器的遠端管理.
- 陣列卡raid
- 用於做硬碟冗餘備份
- 支援級別包括RAID0,1,5,6等.
- 還可以提供快取和電池,用於斷電保護的情況.
- 電源
一般都會冗餘備份,防止伺服器斷電.
- 顯示卡/GPU
- 一般伺服器不會專門配置顯示卡裝置.
- 專用GPU伺服器會專門配置相關GPU卡,用於推理和訓練等.
-
各種硬體處理器速率和效能對比:
CPU處理速率(L1>L2>L3)>記憶體(主儲存器)>硬碟(輔助儲存器)>網路裝置
處理速率越快,容量空間越小,價格越貴.
- 其他技術
- 併發和多執行緒
- 單執行緒
- 快取
- 非同步
計算機軟體
-
作業系統
-
operating system,通用目的的軟體程式.
-
主要功能
- 硬體驅動
- 程序管理
- 記憶體管理
- 網路管理
- 安全管理
- 檔案管理
- OS分類
- 伺服器OS:CentOS,Ubuntu,Windows Server,AIX
- 桌面OS:Windows 10,Mac OS
- 移動裝置:Android,IOS,HarmonyOS
- 作業系統相關概念
- interface,介面
- ABI,應用程式二進位制介面
- API,應用程式開發介面
- 使用者態
- 核心態
- 系統呼叫
- 函式呼叫
- 使用者和核心空間
- 程式語言:低階語言,高階語言
-
-
GNU
- 目的是編寫大量兼容於Unix的自由軟體.
- GPL:GNU General Public License
- 自由軟體基金會
- 允許使用者任意複製,傳遞,修改和再發布
- 基於GPL修改再發布的軟體,仍須遵守GPL,具有傳染性,過於嚴格,也一定程度上制約了其發展.
- 開源
- 開源不等於免費,free的意思是自由不是免費.
- 世界上開源協議有上百種.
- Linux
- 遵循GPL編寫的一個核心.
- 完整的Linux發行版=Linux核心+GNU工具套件
- Linux核心版本
- 目前較常見的Linux發行版本主要有:
1. redhat
2. debian
3. slackware
4. LFS
- Linux哲學
- 一切都是檔案(包括硬體裝置,/dev/sda)
- 小型,單一用途的程式(ls,cat等)
- 連結程式,共同完成複雜的任務(通過管道,重定向等方式實現)
- 避免令人困惑的使用者節目(可以沒有GUI)
- 配置資料儲存在文字中(/etc)