Chapter 1 基本概念

首頁 | 下一章

Bare Machine & Extended Machine

  1. Bare Machine(裸機)
  2. Def:
    只有Hardware Components所組成(eg. CPU, memory, I/O device),沒有任何輔助user(使用者)的system program(系統程式)存在
  3. Extended Machine
  4. Def:
    在Bare Machine上加上輔助user的System Programs(eg. OS, Compiler, DBMS...),即構成延伸機器

如何解決(避免)CPU idle time太長的問題

形成原因及解決策略

  1. 人為set-up time過長
  2. Sol:
    "Automatic Job Sequence" → "Resident(駐留) Monitor"
  3. I/O Device之operating speed太慢,造成CPU需等待I/O operation完成才往下執行
    ∴CPU idle time過久
    Sol:
    1. 用較快速的Device介入CPU與慢速的I/O Device之間
      1. Off-Line
      2. Buffering
      3. Spooling
    2. 讓CPU always busy → Multiprogramming System

Off-Line

Card reader、Line Printer

Buffering

CPU-Bound & I/O Bound Job

Spooling(Simultaneous Peripheral Operation On-Line processing)

Spooling vs Buffering(不同處)

  1. spooling允許某工作的CPU computation與其他工作的I/O operations overlay execution
  2. Buffering與允許自身的CPU computation與I/O operation overlay execution
    「Buffering限定在user memory space中」(假設條件)

系統類型(System Types)

Multiprogramming System(多元程式系統)

  1. Def:
    允許系統(or memory)內存在多個process(處理程序)同時執行,透過CPU scheduling技術,當某個process取得CPU執行時,若因為某些事情發生(eg. wait for I/O complete, resource not available, etc.)而無法往下執行時,則OS可將CPU切換給其他process使用,如此一來,CPU在各個processes切換,則CPU總是Busy
    ∴可以避免CPU idle提高CPU utilization
  2. Multiprogramming Degree:
    系統內存在執行的process數目
  3. 一般而言Multiprogramming Degree越高,則CPU utilization越高(p.s. ch7 Thrashing除外)
  4. 多個process同時執行,mode有兩種
    1. Concurrent(並行)
    2. Parallel(平行)

Time Sharing System(分時系統)

Distributed System(分散式系統)

可分為兩種類型:
  1. Multiprocessor(或Multiprocessing)多顆處理器系統→又稱Tightly-Coupled System(緊密耦合)
    1. Def:
      一部機器中,同時具有多顆CPUs(或processors)
      具有下列特徵:
      1. 這些processors共享memory, I/O Device, Bus
      2. 受同一個clock控制
      3. 一般也受同一個OS所管控
      4. processors之間的溝通,是採share memory方式
    2. 圖示:
    3. 支援parallel computing(平行計算)
    4. 又可再分成兩種型態
      1. Symmetric Multiprocessors(SMP)
      2. Def: 每個processor的能力皆相同,即可負責的功能完全一樣。
        萬一某個processor壞了,其上工作可由其他processor接手,系統不會整個crash,只是整體效能下降而已
        ∴Reliability(可靠性)大幅提升
        強調load balancing(負載平衡)(每個CPU的工作負擔相同)
      3. Asymmetric Multiprocessors(ASMP)
      4. Def: 不同(群)顆的processor,其負擔的功能不盡相同
        在此架構下,通常含有一個Master CPU,負責工作的分派與協調,其他CPUs稱為Slave CPU(稱為Master-Slave Architecture)
        效能通常較SMP高,但可靠度較差
    5. Multiprocessors優點
      1. 產能提升
      2. 經濟效益(成本低)
      3. 可靠性提升
        • Graceful degradation、Fault-Tolerant(Fault-Soft Syetem)
          無視硬體失誤而持續作業系統的能力,稱適度的降級
  2. Distributed System,舊版的Loosely-Coupled Distributed System(鬆散耦合)
    1. Def:
    2. 每部機器(或每個processor)有自己的local memory,此外,具下列特點:
      1. 通常不受同一clock及OS控制
      2. 各processors之間的溝通大都採"Message passing"方式
      3. 各機器彼此之間以Network(or 高速bus)相互連接
      原文:each processor has its own local memory; processors communicate with one another through various communications lines, such as highspeed buses or telephone lines
    3. 圖示:
    4. 使用理由(好處)
      1. Resources Sharing(Scale of Economy)→cost低
      2. Computation speed up(Increased throughput) – load sharing
      3. Reliability
      4. Communications→eg. email, ftp, telnet
    5. 可再分為下列兩種Modes
      1. Client-Server mode
        1. Compute-Server
        2. file-Server
      2. Peer-to-Peer mode
      3. (ref. P. 1-11)

Real Time System(即時系統)

  1. Def:
  2. 對於工作(job)的完成時間有極為嚴格的要求,若工作未能在規定時間內完成,即算失敗(失效)
    eg.核能安控、軍事防衛、工廠自動化生產系統 etc.
  3. Real Time System可分為兩種
    1. Hard Real-Time System
    2. Soft Real-Time System

Clustered System

  1. Def:
  2. 集合許多CPU以完成計算工作,不同於parallel system,它們是由兩個或更多個別系統集結組成,彼此經由LAN緊密連結而成,且共享相同的stroage device
    目的在於提供High availability
    原文:
  3. 分為兩種modes
    1. Asymmetric clustering
    2. Def: 有一台機器處於Hot-standby,用於監督其他正在執行應用程式的機器,若某台機器壞了,則此監督者可以取得壞掉機器的儲存體所有權,並重新執行其正執行的應用程式
      原文:one server runs the application or applications while other servers standby
    3. Symmetric clustering
    4. Def: 兩台或多台機器在執行應用程式,且彼此互相監督,此mode較有效率(∵它可以使用所有可以使用之HW)
      原文:all N hosts are running the application or applications

Handheld System(P1-16)

Smart phone
(embeded computing)(system)

Computing Environments