OSI Model

再來新增幾個問題… 也是太久沒唸忘記的 ~_~

  • OSI Model 有那七層
    • TCP/IP 的五層是那五層
  • TCP 和 UDP 的差別
  • Process 和 Thread 的差別

OSI Model 有那七層

  1. Physical Layer
  2. Data Link Layer
  3. Network Layer
  4. Transport Layer
  5. Session Layer
  6. Presentation Layer
  7. Application Layer

若以 TCP/IP 的架構來分的話,則是

  1. Physical Layer
  2. Data Link Layer – MAC Layer
  3. 連線服務 – IP
  4. 傳輸服務 – TCP/UDP
  5. 連線服務 – HTTP/TELNET/…

參考資料

UDP 和 TCP 的差別

TCP 提供 Connection Oriented 的可靠傳輸,UDP則是 COnnectionless Oriented。TCP 會透過確認及重送機制來保證封包正確抵達,在傳送的過程中,封包可不必按照順序進行接收。因此,UDP在傳送過程中可能會遺失、重複、錯誤,但傳輸的效能可以比較好,適合用於訊息量較大、注重時效性的協定。

參考資料

Process 和 Thread 的差別

  1. Process

    Heavy weight, 獨立的Program Segment、Data Segment, OS resource 等, 但切換時(Context Switch), CPU 需將當前 Process 的狀態保存起來,再載入下一個要執行的 Process 的狀態,負責儲存這個狀態的稱為PCB (Process Controll Block,或稱 Process Descriptor)

  2. Thread

    Light weight process,有自己的 program counter, register set, stack space, no (or a little) context switch
    每個 Thread 有自己的 PC, register set, stack space 表示 thread 可以有自己的 call graph 來執行程式。一個Process中的Thread共用Address Space(包括Program/Data Segment、Resource),因此切換Thread時不需要切換/複製Address Space,處理代價相對輕很多。

參考資料

Leave a Reply