計 算 機 概 論 chapter 10 作業系統. ch010 作業系統 2 學習目標...

22
Chapter 10 Chapter 10 作作作作 作作作作

Post on 22-Dec-2015

241 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

計 算 機 概 論

Chapter 10Chapter 10

作業系統作業系統

Page 2: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

22

Ch010 作業系統

學習目標學習目標 描述作業系統的兩個主要任務描述作業系統的兩個主要任務 定義記憶體及程序管理定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係解釋邏輯位址與實體位址間的關係

基礎:第 基礎:第 5.2 5.2 節 范紐曼 電腦架構 節 范紐曼 電腦架構 (( 第 第 5 5 章講義第 章講義第 10 -17 10 -17 頁頁 ))

Page 3: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

33

Ch010 作業系統

10.1 10.1 軟體分類軟體分類 應用軟體(應用軟體( application softwareapplication software ))是寫來達成我是寫來達成我

們特定的需求們特定的需求——來解決現實世界中的問題來解決現實世界中的問題 文字處理程式、遊戲、庫存控制系統、汽車診斷程式文字處理程式、遊戲、庫存控制系統、汽車診斷程式

與飛彈導引程式等都是應用軟體與飛彈導引程式等都是應用軟體 系統軟體(系統軟體( system softwaresystem software ))在基礎層次上管理在基礎層次上管理

一個電腦系統一個電腦系統 它提供了一些工具及一個工作環境讓應用程式能夠被它提供了一些工具及一個工作環境讓應用程式能夠被

建構及執行建構及執行

Page 4: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

44

Ch010 作業系統

作業系統作業系統 作業系統( 作業系統( operating systemoperating system )管理電腦)管理電腦

資源,例如記憶體與輸入資源,例如記憶體與輸入 // 輸出裝置,並提輸出裝置,並提供一個介面讓人可以與電腦相互溝通供一個介面讓人可以與電腦相互溝通

作業系統可以讓應用程式與其他系統資料作業系統可以讓應用程式與其他系統資料相互溝通相互溝通

Page 5: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

55

Ch010 作業系統

圖 10.1 作業系統與電腦系統中許多部分的互動關係

Page 6: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

66

Ch010 作業系統

資源管理資源管理 多元程式(多元程式( multiprogrammingmultiprogramming ))是一種可是一種可

以讓許多的程式同時在主記憶體中爭取以讓許多的程式同時在主記憶體中爭取CPUCPU 的存取權以便能夠被執行的技術的存取權以便能夠被執行的技術

記憶體管理(記憶體管理( memory managementmemory management )):持:持續追蹤什麼程式在記憶體中,以及它們在續追蹤什麼程式在記憶體中,以及它們在記憶體中的什麼位置記憶體中的什麼位置

Page 7: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

77

Ch010 作業系統

資源管理資源管理 (( 續續 ))

程序(程序( processprocess ))可以被定義作一個在執行可以被定義作一個在執行中的程式中的程式 作業系統要有作業系統要有程序管理(程序管理( process managemenprocess managemen

tt))來小心地追蹤程序的進展及記錄所有中間來小心地追蹤程序的進展及記錄所有中間的狀態 的狀態

CPUCPU 排程(排程( CPU schedulingCPU scheduling ))決定在任一決定在任一時間點上那一個在記憶體中的程序可以被時間點上那一個在記憶體中的程序可以被CPUCPU 執行執行

Page 8: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

88

Ch010 作業系統

分時分時 分時(分時( timesharingtimesharing ))系統是讓許多使用者系統是讓許多使用者

在同一時間與一台電腦交談在同一時間與一台電腦交談 多元程式允許許多作業同時啟動,它提升多元程式允許許多作業同時啟動,它提升

了程式設計者可直接與電腦系統對談的能了程式設計者可直接與電腦系統對談的能力,而仍然共享電腦的資源力,而仍然共享電腦的資源

在分時系統中,每一個使用者有他或她自在分時系統中,每一個使用者有他或她自己的虛擬機器己的虛擬機器(( virtual machinevirtual machine )),在此機,在此機器上所有的系統資源器上所有的系統資源(實際上)(實際上)都可以使用都可以使用

Page 9: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

99

Ch010 作業系統

10.2 10.2 記憶體管理記憶體管理 作業系統必須要有一些技術來:作業系統必須要有一些技術來:

追蹤一個程式是如何存在記憶體中及存放在何處追蹤一個程式是如何存在記憶體中及存放在何處 轉換邏輯程式位址成為實際記憶體位址轉換邏輯程式位址成為實際記憶體位址

邏輯位址(邏輯位址( logical addresslogical address )),有時候也稱為虛,有時候也稱為虛擬或相對位址,指定一個相對於程式的通用位置,擬或相對位址,指定一個相對於程式的通用位置,而不是相對於真實的主記憶體而不是相對於真實的主記憶體

實體位址(實體位址( physical addressphysical address )則是指在主記憶體)則是指在主記憶體元件中的真實位址元件中的真實位址

Page 10: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1010

Ch010 作業系統

記憶體管理記憶體管理 (( 續續 ))

圖 10.3 記憶體是一個連續的位元群體,由指定的位址來參考它的內容

Page 11: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1111

Ch010 作業系統

早期:單一連續記憶體管理早期:單一連續記憶體管理 有兩個程式在記有兩個程式在記

憶體中: 憶體中: 作業系統作業系統 應用程式應用程式

這種方法被稱作這種方法被稱作單單一連續記憶體管理一連續記憶體管理

Figure 10.4 主記憶體分成兩個部分

Page 12: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1212

Ch010 作業系統

單一連續記憶體管理單一連續記憶體管理 (( 續續 ))

邏輯位址就是一個相對於程式起始位置的邏輯位址就是一個相對於程式起始位置的簡單整數簡單整數

要產生實體位址,我們只要將邏輯位址加要產生實體位址,我們只要將邏輯位址加上程式在實際主記憶體的起始位址即可 上程式在實際主記憶體的起始位址即可

Page 13: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1313

Ch010 作業系統

單一連續記憶體管理單一連續記憶體管理 (( 續續 ))

圖 10.5 連繫一個邏輯位址到實體位址

Page 14: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1414

Ch010 作業系統

分割記憶體管理分割記憶體管理 在任何時間點上,記憶體都在任何時間點上,記憶體都

被分成一些的分割區,有的被分成一些的分割區,有的分割區是空的而有的則是被分割區是空的而有的則是被分配給程式使用分配給程式使用

基底暫存器(基底暫存器( base registebase registerr)) ::保保存目前分割區起始存目前分割區起始位址的暫存器位址的暫存器

範圍範圍暫存器(暫存器( bounds bounds registerregister )) :: 保保存目前分割存目前分割區長度的暫存器區長度的暫存器

圖 10.6 在分割記憶體管理中的位址解析度

Page 15: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1515

Ch010 作業系統

10.3 10.3 程序管理程序管理 程序的狀態程序的狀態

圖 10.8 程序的生命週期

Page 16: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1616

Ch010 作業系統

Windows Windows 工作管理員工作管理員 Ctrl+Alt+DeleteCtrl+Alt+Delete

Page 17: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1717

Ch010 作業系統

程序控制區塊程序控制區塊 作業系統必須對每一個作用中的程序管理作業系統必須對每一個作用中的程序管理大量的資料 大量的資料

通常這些資料是被儲存在一個稱為通常這些資料是被儲存在一個稱為程序控程序控制區塊(制區塊( process control block, PCBprocess control block, PCB ))的的資料結構中資料結構中 每一個狀態是以一串列的每一個狀態是以一串列的 PCBPCB 來表示,而每一來表示,而每一

個個 PCBPCB 是表示在該狀態的每一個程序是表示在該狀態的每一個程序

Page 18: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1818

Ch010 作業系統

程序控制區塊程序控制區塊 (( 續續 ))

要要記得的是我們只有一個記得的是我們只有一個 CPUCPU ,所以也只有一組,所以也只有一組CPUCPU 暫存器暫存器 這些暫存器包含的是與目前正在執行的程序相關的值 這些暫存器包含的是與目前正在執行的程序相關的值

每一次當一個新的程序進入執行狀態時:每一次當一個新的程序進入執行狀態時: 目前正在執行之程序的暫存器值將存入它的目前正在執行之程序的暫存器值將存入它的 PCBPCB 中 中 新的執行程序之暫存器值就被載入新的執行程序之暫存器值就被載入 CPUCPU

這種資訊交換的動作被稱為這種資訊交換的動作被稱為內文切換(內文切換( context switccontext switchh))

Page 19: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

1919

Ch010 作業系統

10.4 CPU10.4 CPU 排程排程 CPUCPU 排程是決定在備妥狀態中的哪一個程排程是決定在備妥狀態中的哪一個程

序可以被移入執行狀態的一種動作序可以被移入執行狀態的一種動作 就是決定哪一個程序可以使用就是決定哪一個程序可以使用 CPUCPU 以完成以完成

其計算的進展其計算的進展

Page 20: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

2020

Ch010 作業系統

CPU CPU 排程排程 --先到先服務先到先服務 程序是依照它到達執行狀態的先後次序來程序是依照它到達執行狀態的先後次序來移入移入 CPUCPU 中執行中執行

先到先服務先到先服務(( FCFSFCFS ))的排程做法是非先佔的排程做法是非先佔式的式的

Page 21: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

2121

Ch010 作業系統

CPU CPU 排程排程 --最短工作優先最短工作優先 先檢視所有在備妥狀態的程序然後分派給先檢視所有在備妥狀態的程序然後分派給最短服務時間的那一個。 最短服務時間的那一個。

它通常以非先佔式演算法來實現。它通常以非先佔式演算法來實現。

Page 22: 計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標 描述作業系統的兩個主要任務 定義記憶體及程序管理 解釋邏輯位址與實體位址間的關係

2222

Ch010 作業系統

補充:補充: Windows Windows 系統管理系統管理 開始 開始 -> -> 控制台控制台

系統系統 使用者帳戶使用者帳戶 新增或移除程式新增或移除程式 網路連線網路連線