1. 程式人生 > 其它 >計算機與網路

計算機與網路

1、計算機簡介
  • 計算機誕生目的取代人力。就是人類奴隸。

  • 程式設計師是就是計算機硬體靈魂,硬體以外是軟體。

  • 軟體可以分為兩大類::

    • 作業系統:就是協調、管理、控制計算機硬體資源與高階應用軟體資源得一個控制程式
    • 應用軟體:app、網頁
  • 操作流程圖:

2、專案開發流程

PM(產品經理偽需求)——UE (頁面互動)——UI(畫頁面)——FE前端(展示頁面)——RD後端(資料)——QA(測試人員)——OP(運維人員系統架構)

3、計算機分類
  • 個人 PC :
    • 桌上型電腦
    • 筆記本:斷電有電池續命
  • 伺服器:最好一直開機執行,不要宕機
    • 分類:
      • 尺寸: 1u 2u 4u
      • 外型:機架式 刀片 塔式 雲主機 小型機=>高階定製
      • 品牌:dell 惠普 IBM
4、計算機組成
  • cpu (控制器 + 運算器)
    • 2核4執行緒 物理層面2核,每核2線,假的4核 真4核>2核4線>純2核
  • 儲存器:
    • 記憶體:
      • 記憶體條:儲存資料快,斷電資料丟失
    • 外存:
      • 機械磁碟:儲存速度慢,斷電資料不丟失
  • 輸入裝置
  • 輸出裝置
  • 三大核心硬體:cpu 記憶體 硬碟
  • 核心態與使用者態:
    • 核心態—>作業系統正在控制硬體(系統返回訊息)
    • 使用者態—>應用程式正在執行(使用者傳送訊息)
5、計算機啟動過程
  1. 計算機加電
  2. 啟動 BIOS (計算機啟動一定會先啟動 bios系統) 掃描啟動裝置,從某一個啟動裝置中找到作業系統
  3. 讀取啟動裝置的第一個扇區的大小(稱之為主引導記錄 mbr)
  4. grub 程式負責將作業系統核心裝入記憶體,啟動作業系統
  5. 作業系統會讓 bios 去檢測驅動程式
6、作業系統

前言: 作業系統核心就是程序

程序:指的就是一個程式執行過程中,具體來說是指作業系統控制硬體來執行程式的過程,資源單位

執行緒:執行單位,cpu 執行的執行緒,程序內程式碼的執行

1、2代計算機 批處理系統:
  • 一次只把一道程式讀入記憶體,執行完畢後,在執行下個程式,沒有併發,稱之為序列
  • 優點:充分利用計算機資源
  • 缺點:
    1. 整個過程需要人蔘與
    2. 讓程式設計師明顯感覺到等待
    3. 程式執行序列
2. 三代計算機
  • 序列:多個任務是一個執行完畢在執行下一個

  • 併發:多個任務看起來同時執行

  • 並行:真正意義上的同時執行,只有多個 cpu 才能實現

    6個核只能並行6個任務,但可以併發 n 任務

  • 多道技術=>併發

    1. 空間上的複用,多道技術在執行前必須載入到記憶體中

    2. 時間上的複用,多個任務複用 cpu 時間片,通俗講就是 cpu 在多個程式間來回切換

      什麼時候切換:

      1. 當一個任務遇到 IO 肯定要切換=>提升效率
      2. 一個任務沒有遇到 IO 但是佔用 cpu 時間過長,也要切換=> 降低效率

    ps: 多個程序的記憶體空間是相互隔離的,而且是物理隔離

  • 分時作業系統 多使用者多工

    應用多道技術來實現多個任務併發執行

  • windows系統 : 單使用者多工 linux系統 : 多使用者多工

  • linux 發展歷程:multics => unix => minix => linux(redhat/centos)

7、一個任務執行的三種狀態
  • 執行:拿到 cpu 正在執行
  • 就緒:等待被分配 cpu ,一旦拿到 cpu 就可以立即執行
  • 阻塞態:拿到 cpu 也無法執行,必須等待 io 結束,進入就緒狀態,然後。。。
8、計算機網路
  • 什麼是網路?

    網路 = 物理連線介質 + 網際網路通訊協議

  • 為何要有網路?

    為了方便資料傳輸/通訊,打破地域限制,資訊高速公路

1、 乙太網
  1. 乙太網的資料稱之為資料幀,分為head+data兩部分,其中head長度固定
  2. 規定但凡是接入網際網路的主機必須有一塊網絡卡,網絡卡上有一個 mac 地址,全世界唯一
  3. 乙太網協議的通訊採用廣播通訊方式=>計算機通訊靠吼
    ps: 區域網通訊通過乙太網協議,mac 地址
  • ip 協議
    1. ip 地址+ mac 地址 => 全世界範圍內唯一一臺計算機
2、 OSI 七層網路協議
  1. 應用層 http, ftp , 可以自定義協議

  2. 表示層

  3. 會話層

  4. 傳輸層

    • tcb/udp
    • head+data:head 放的源埠 目標埠
    • 埠在本機唯一即可
  5. 網路層

    • ip 協議:
      分為head+data兩部分,head 放 ip 地址
  6. 資料鏈路層

    • ethernet 乙太網協議
  7. 物理層

    • 轉換成電訊號 01010101,然後傳送
3、 ARP 協議
  1. arp 協議---->獲取目標 mac ,怎麼獲取
    把自己mak地址和物件mak地址和需要傳送資料封裝包,發給區域網所有機器,機器匹配對應的mac地址
    前提:在一個區域網 LAN 內,靠的是目標 mac 地址找到對方在哪裡,即目標地址是誰,檔案就傳給誰

  2. ARP會將 ip 地址轉換成 mac 地址,(要麼是區域網mac地址,要麼是閘道器mac地址,不肯能是公網mac地址)

4、tcp 與 udp 協議
  • tcp 通訊之前必須建立雙向通道,可靠協議
  • udp 協議=> 不可靠協議
  1. dhcp
    想實現網路通訊,每臺計算機必須具備四要素:
    1. 本機 ip 地址
    2. 子網掩碼
    3. 閘道器 ip 地址
    4. DNS 的 ip 地址
      • 獲取以上地址,有2種方式:
        • 手動配置=> 靜態獲取
        • 動態獲取=> dhcp
  2. DNS
    • 什麼是dns: domain name server 域名解析服務,負責把域名解析成 ip 地址
    • dns的查詢方式:
      遞迴查詢
      迭代查詢
      瀏覽器快取=>作業系統快取=>本地hosts檔案=>本地dns服務=>遞迴or迭代查詢