close

 

一、基本概念
  一.OS 之定義
    OS 為使用者和硬體溝通的介面,並滿足:
    1. efficiency (有效率的管理資源)
    2. user friendly (友善的使用者介面)
  二.job 的種類
    1. CPU Bound
      需 CPU 之比例大於需 I/O 之比例。例:科學計算 
    2. I/O Bound
      需 I/O 之比例大於需 CPU 之比例。例:列印
    (note)CPU 要挑選 I/O Bound 的工作優先執行;I/O 設備要挑選 CPU Bound 工作優先執行。
  三.各種 system
    1. Batch(批次)
      1- 定義:將相同或類似的 job 集中一次讓 CPU 處理。
      2- 目標:為了提高 CPU 的效率。
      3- 缺點:不適合交談式的環境。例:提款機
    2. multiprogramming
      1- 定義:允許在 memory 中同時存在多個 process。
      2- 目標:為了提高 CPU 的效率。
      3- 方法:當某個 process 需等候 I/O 或等候某個事件發生,為了避免 CPU idle,CPU 選擇其他 process 來執行。
    3. time sharing
      1- 定義:為 multiprogramming 的一種,在選擇 process 時使用 round-robin,即每一個 process 只能用 CPU 一個 time slice,一但時間到了,就切換給其他 process。
      2- 優點:適合用在交談式和多使用者的環境。
  四.distributed system
    1. tightly-coupled
      1- 有很多 CPU
      2- 共用 memory、OS 和週邊設備
      3- CPU 採用 share memory
      4- 依 CPU 能力分兩種: 
        a. symmetric (CPU 能力相同)
        b. asymmertric (CPU 能力不同)
    2. loosely-coupled
      1- 每個 CPU 有自己的 OS、memory 和週邊設備
      2- 溝通用網路和 message passing 
      3- 分兩種:
        a.client-server:client 和 server 要求 service 
        b.peer to peer:在 network 上能力相同,可接受 service,也可提供 service。
  五.real time system
    1.特徵:在此系統中,對於完成 process 之 time 有嚴格限制。
    2.分兩種:
      1- soft:確保優先權高之 job 最先被完成。
      2- hard:在限時內必完成,否則視為失敗。


二、系統架構 
  一.處理 I/O 的形式
    當某個正在擁有 CPU 資源之 process p,要作 I/O,系統的處理方式:
    1.輪詢式(polling)
      cons:CPU 會花很多時間檢查 I/O,花較少時間在 process 上。
      此法適合慢速 I/O 設備。例:printer,keyboard,mouse。
    2.Interrupt I/O
      I/O 完成時發出 "I/O complete" 給 OS,以提示進行下一步動作。
    3.DMA (Direct Memory Access)
      1.DMA controler 負責 CPU 和 memory 間傳輸,不需 CPU 參與監督,CPU 使用率上升。
      2.適合高效率的 I/O device。例:disk
      3.利用 cycle stealing 技巧。
        在 CPU 一定不會 access memory 之 cycle,才作 memory 與 I/O 之間的傳輸。


三、Interrupt 探討
  一.Interrupt 分類
    1.Interal:CPU 本身執行到不合法的指令時發出。例:除以零。
    2.external:CPU 外之 device 發出。例:I/O complete。
    3.software:User Program 要 OS 提供服務時,才發出此種中斷。(systme call)
  二.Interrupt 與 Trap(含要求 service 和運算有誤)
    前者是由硬體發出,後者是由軟體發出。
  三.Interrupt 是以階層方式執行的。(priority hierarchy)


四.系統保護
  一.保護實施之前提:dual mode
  二.I/O 保護:避免 I/O device 被不當使用,將所有 I/O operation 設為特權指令。
  三.CPU 保護:避免 CPU 被 Process 無限期佔用。
    幫正在使用 CPU 的 Process 設定 timer 倒數,待時間到強制釋放 CPU。
  四.Memory 保護:
    避免 Process 使用不屬於自己的 memory 空間。使用 base reg 和 limit reg,若存取之 memory address:
    1.小於 base reg
    2.大於 base reg + limit reg
    則視為非法存取。
五.Virtual Mechine
  (待續) 

 

arrow
arrow
    全站熱搜

    o932859222 發表在 痞客邦 留言(0) 人氣()