第4章 作業系統

      作業系統簡介
      CPU排班
      記憶體管理
      檔案系統




      作業系統簡介
      電腦系統:硬體、作業系統、應用軟體、使用者

       使用者    使用者 ...
作業系統的工作




4-3




      作業系統的主要工作
       中央處理器管理
        把處理器有效地安排給各個程序使用
       記憶體管理
        妥善分配記憶體給各個程序使用
       檔案管...
Components of an operating system




4-5




      作業系統的演進:主機型系統
       多元程式規劃系統(multiprogramming)
         利用多元程式規劃增加CPU...
程序狀態關係圖
              進入            離開
       新產生                       結束
                     中斷


              就緒     ...
多元程式規劃系統 vs.分時系統

        多元程式規劃系統        事件觸發
        (event-driven)
        分時系統        時間觸發 (time-driven)




4-9




 ...
作業系統的演進:手持系統
       手持系統:個人數位助理,較手提式電腦輕薄短小
       手持式系統的特點:
        記憶體容量小:必須有較好的記憶體管理方式
        處理器運算緩慢:為使電池使用時間較長,故運算速度不...
五個必須CPU排班的時間點

              1 進入
                              離開
        新產生                            結束
             ...
CPU排班演算法:先到先處理
         先到先處理:採用先進先出的方式(first in first
         out),服務先到的程序
         舉例:
              程序    抵達順序  所需時間(毫...
先到先處理
         則甘特圖如下所示:

            P2             P3                P1
        0         3             6               ...
最短工作先處理
        各程序的等待時間
         程序       等待時間(毫秒)   平均等待時間(毫秒)
         P1              8
         P2              0
   ...
優先權排班(Priority Scheduling)
        優先權如下
            程序       優先權          所需時間(毫秒)
            P1            3          7...
依序循環排班(Round Robin Scheduling)
        依序循環排班方式在使用時,先預設好經過多
        少時間CPU就該切換執行下一個程序,也就是設
        定好間隔時間(time slice)。所有的程...
記憶體管理
       記憶體管理:
        記憶體管理:把記憶體分割成各個區塊,以供各程序或各使
        用者使用
        記憶體位址定位:把程序所使用的邏輯位址與記憶體的實際
        位址作映射




 ...
單一連續記憶體配置
        利用界線暫存器和基底暫存器來提供記憶體保護,防止
        使用者破壞作業系統

                        界線            基底
                   ...
記憶體管理- 真實記憶體
       分區記憶體管理 (Partitioned Memory Management)




4-29




       記憶體管理- 真實記憶體
       分區記憶體管理
       靜態分區 ( ...
記憶體管理- 真實記憶體
       分區記憶體管理
       動態分區 ( Dynamic partition )
           在開始執行某程序時才分割一滿足需求的記憶體區塊給該
           程序
         ...
記憶體管理- 真實記憶體
       可重定位分區記憶體管理 ( Relocated Partitioned Memory Management)
       具有壓縮(Compaction)與重定位(Relocation)的功能
    ...
記憶體管理- 真實記憶體
       分頁記憶體管理 (Paged Memory Management )
       將程式所需的記憶體大小(邏輯空間)分割成許多大小相同的區塊,每
       將程式所需的記憶體大小( 邏輯空間)
  ...
置換
        利用磁碟當作備分的儲存體,用以置換兩個程序


            作業系統


                         程序
                   1換出   P1

           ...
檔案系統
        檔案系統負責存取和管理檔案資料
        檔案系統的功能包括:
        (1)檔案實際存放空間的配置與回收
        (2)檔案名稱及與實際存放空間的映射
        (3)提供檔案的共享、保護...
檔案的基本操作
        檔案的基本操作
         建立檔案
         寫入檔案
         讀取檔案
         刪除檔案
        目錄結構必須支援的功能
         搜尋
         建...
目錄結構:雙層目錄
        每個使用者的目錄結構相似
        開啟檔案時,只會搜尋使用者自己的目錄


            主檔目錄     user1 user2 user3 user4



使用者      home-...
Upcoming SlideShare
Loading in …5
×

第4章 作業系統 (Update)

4,463 views

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,463
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

第4章 作業系統 (Update)

  1. 1. 第4章 作業系統 作業系統簡介 CPU排班 記憶體管理 檔案系統 作業系統簡介 電腦系統:硬體、作業系統、應用軟體、使用者 使用者 使用者 使用者 使用者 … 1 2 3 n 編譯程式 組譯程式 文字編輯程式 … 資料庫系統 系統及應用程式 作業系統 電腦硬體 作業系統:負責管理電腦裡的硬體及週邊設備,扮演介 於使用者與電腦硬體的中間人 4-2 1
  2. 2. 作業系統的工作 4-3 作業系統的主要工作 中央處理器管理 把處理器有效地安排給各個程序使用 記憶體管理 妥善分配記憶體給各個程序使用 檔案管理 讓使用者安全存取及控制檔案 週邊設備管理 管理各項週邊系統,提供簡易使用者介面程式 程序管理 依據程序控制表安排資源 4-4 2
  3. 3. Components of an operating system 4-5 作業系統的演進:主機型系統 多元程式規劃系統(multiprogramming) 利用多元程式規劃增加CPU使用率 程序:一個程式被載入記憶體中並且執行時,就 稱為程序 程序的狀態: 新產生 程序正在產生中。 程序得到資源正在執行。 執行 程序等待某個事件發生。 等待 程序一切已準備就緒。 就緒 程序已完成。 結束 4-6 3
  4. 4. 程序狀態關係圖 進入 離開 新產生 結束 中斷 就緒 執行 排班程式分派 I/O或事件等待 等待 I/O或事件完成 只要程序進入等待的狀況時,CPU就轉移到其他的程序 上運作;如果原本在等待的程序已經變成就緒時,就有 機會從新得到CPU的資源 4-7 作業系統的演進:主機型系統 分時系統 採用時間觸發, CPU輪流計算各個程序,時間一到就把CPU交給 下一個程序使用.可以讓多個使用者共用一部電腦;也能在只 有一個處理器的個人電腦上, 同時開多個視窗來完成度同的工作 分時系統的特點: 同時性:可同時有若干個使用者連結到同一計算機進行運算 獨立性:不同使用者之間不會相互干擾 即時性:每一個使用者都可以即時得到計算機的回應, 讓大 家同時都認為自己與電腦正在交談,沒有間斷 4-8 4
  5. 5. 多元程式規劃系統 vs.分時系統 多元程式規劃系統 事件觸發 (event-driven) 分時系統 時間觸發 (time-driven) 4-9 作業系統的演進:個人電腦系統 個人電腦設計方向:增進使用者操作方便,並且 提升CPU的回應速度,避免使用者等待 個人電腦系統的演進: 早期:DOS文字指令 第一個圖形化介面:Mac IS 最多人使用:Windows 免付費作業系統:Linux 4-10 5
  6. 6. 作業系統的演進:手持系統 手持系統:個人數位助理,較手提式電腦輕薄短小 手持式系統的特點: 記憶體容量小:必須有較好的記憶體管理方式 處理器運算緩慢:為使電池使用時間較長,故運算速度不可能 太快(電腦運算速度愈快愈耗電),因此必須巧妙設計作業系 統或應用程式 顯示螢幕小:使用者介面設計必須格外留意好讓使用者看到 較多畫面 4-11 CPU排班 多元程式規劃作業系統: CPU排班 CPU排班:保持隨時都有一個程序在執行,以提高CPU的使 用率 CPU排班的五個決策時間點: 程序新產生時 程序從執行狀態變等待狀態(譬如有I/O要求) 程序從執行狀態變就緒狀態(譬如有中斷發生時) 程序從等待狀態變就緒狀態(譬如I/O要求得到回應) 程序終止結束 4-12 6
  7. 7. 五個必須CPU排班的時間點 1 進入 離開 新產生 結束 3中斷 5 就緒 執行 排班程式分派 I/O或事件等待 2 等待 I/O或事件完成 4 4-13 CPU排班 不可搶先排班 (nonpreemptive) 確保已經享有CPU資源的程序能夠一直執行,不 管其他程序的狀態,直到享有CPU資源的程序自 己跳到非執行的狀態才進行排班 可搶先排班(preemptive) 時時刻刻注意程序的狀態,如果有程序進入就緒 狀態則進行排班,比較正在使用CPU的程序與進 入就緒狀態的程序的優先順序,優先順序高者可 先使用CPU 4-14 7
  8. 8. CPU排班演算法:先到先處理 先到先處理:採用先進先出的方式(first in first out),服務先到的程序 舉例: 程序 抵達順序 所需時間(毫秒) P1 1 15 P2 2 3 P3 3 3 先到先處理之甘特圖(gantt chart): P1 P2 P3 0 15 18 21 4-15 先到先處理(First Come First Serve) 各程序等待時間 程序 等待時間(毫秒) 平均等待時間(毫秒) P1 0 P2 15 P3 18 11 若抵達先後順序改變如下: 程序 抵達順序 所需時間(毫秒) P1 3 15 P2 1 3 P3 2 3 4-16 8
  9. 9. 先到先處理 則甘特圖如下所示: P2 P3 P1 0 3 6 21 平均等待時間如下所示: 程序 等待時間(毫秒) 平均等待時間(毫秒) P1 6 P2 0 P3 3 3 “先到先處理”的缺點:可能使短程序等待長程序 4-17 最短工作先處理(Short Job First) 舉例 程序 所需時間(毫秒) P1 7 P2 3 P3 5 甘特圖如下所示: P2 P3 P1 0 3 8 15 4-18 9
  10. 10. 最短工作先處理 各程序的等待時間 程序 等待時間(毫秒) 平均等待時間(毫秒) P1 8 P2 0 P3 3 3.67 不同的抵達順序及其平均等待時間 程序先後順序 平均等待時間 P1 → P2 → P3 5.67 P1 → P3 → P2 6.44 P2 → P1 → P3 4.33 P2 → P3 → P1 3.67 P3 → P1 → P2 5.67 P3 → P2 → P1 4.33 4-19 最短工作先處理 優點:可將平均等候時間降到最低 缺點:偏袒短程序,故可能使長程序長時間處 於等待狀態,可能造成無限延遲的現象 4-20 10
  11. 11. 優先權排班(Priority Scheduling) 優先權如下 程序 優先權 所需時間(毫秒) P1 3 7 P2 1 5 P3 2 4 甘特圖如下 P2 P3 P1 0 5 9 16 4-21 優先權排班 優點: 比較重要的程序確定可優先完成,例如作業系 比較重要的 統 缺點: Priority會優先處理優先權高的程序,因此可 能造成低優先權程序的無限延遲 4-22 11
  12. 12. 依序循環排班(Round Robin Scheduling) 依序循環排班方式在使用時,先預設好經過多 少時間CPU就該切換執行下一個程序,也就是設 定好間隔時間(time slice)。所有的程序放在 新進先出的佇列裡面,首先CPU排班從佇列裡挑 第一個程序執行,然後開始進行倒數,時間到 的時候就得讓CPU處理佇列裡下一個程序。 4-23 依序循環排班 範例 程序 所需時間 抵達順序(毫秒) P1 17 1 P2 3 2 P3 8 3 甘特圖:間隔時間=5毫秒 P1 P2 P3 P1 P3 P1 P1 0 5 8 13 18 21 26 28 4-24 12
  13. 13. 記憶體管理 記憶體管理: 記憶體管理:把記憶體分割成各個區塊,以供各程序或各使 用者使用 記憶體位址定位:把程序所使用的邏輯位址與記憶體的實際 位址作映射 記憶體保護與共享:程序之間所使用的記憶體不能相互干擾, 可是作業系統的部分要讓各個程序共享 4-25 單一連續記憶體配置方式 記憶體被分成三個區塊:作業系統存放、應用程 式佔用、未使用區塊 作業系統佔用 低位址 程式可以佔用 應用程式佔用 高位址 實際未用 4-26 13
  14. 14. 單一連續記憶體配置 利用界線暫存器和基底暫存器來提供記憶體保護,防止 使用者破壞作業系統 界線 基底 暫存器 暫存器 邏輯位址 是 實際位址 + 記憶體 CPU < 否 中斷:錯誤處理 4-27 記憶體管理- 真實記憶體 分區記憶體管理 (Partitioned Memory Management) 將記憶體分割成數個相互獨立的區塊,每一區塊都配置 給一個程序使用 滿足多元程式(Mutiprogramming)執行的最簡單方式 分區記憶體管理方式: 靜態分區 ( Static partition ) 動態分區 ( Dynamic partition ) 4-28 14
  15. 15. 記憶體管理- 真實記憶體 分區記憶體管理 (Partitioned Memory Management) 4-29 記憶體管理- 真實記憶體 分區記憶體管理 靜態分區 ( Static partition ) 靜態分區是指在處理任何程序前,主記憶體就已經被分割 成許多相同大小或不同大小的區塊,區塊大小由作業系統 決定 優點:方法簡單易完成 缺點:(1)分割的區塊數固定,相對地可執行的程序數 也固定 (2)可能產生「內部 碎片」(Internal Fragmentation) 4-30 15
  16. 16. 記憶體管理- 真實記憶體 分區記憶體管理 動態分區 ( Dynamic partition ) 在開始執行某程序時才分割一滿足需求的記憶體區塊給該 程序 配置:(1)找到一個未使用且足夠大的區塊 (2)若此區塊比程序所提出的需求大 分割成 配置給程序的執行區塊 與 殘餘的自由空間 回收:將回收區塊與相鄰自由空間合併成一塊大的連續自 由空間 優點:配置後殘餘的自由空間仍可提供其他程序使用,可 提升記憶體的使用率 缺點:可能產生「外部碎片」(External Fragmentation): 主記憶體中存在許多不連續的自由空間 4-31 記憶體管理- 真實記憶體 分區記憶體管理 動態分區範例 若作業系統將主記憶體切割成 固定大小400k的區塊,若有程 序P1、P2、P3、P4依序提出 200k、300k、330k、150k的主 記憶體請求,則產生的外部碎 片情況如圖所示 4-32 16
  17. 17. 記憶體管理- 真實記憶體 可重定位分區記憶體管理 ( Relocated Partitioned Memory Management) 具有壓縮(Compaction)與重定位(Relocation)的功能 將已配置給程序的記憶體集中移到記憶體的一端,使得零 碎的自由空間可以合併成一塊連續的自由空間 優點:(1)可避免產生「碎片」(Fragmentation) 的問題 (2)透過記憶體壓縮可以增加記憶體的使用效率 缺點:(1)進行記憶體壓縮必須耗費系統時間 (2)降低執行速度,提高系統成本 4-33 記憶體管理- 真實記憶體 可重定位分區記憶體管理 範例 (a)為某時刻程序A(90K)、B(85K)、C(60K)的記憶體配置情況,當加入 行程D(60K)時由於兩塊零碎的自由空間40K、50K分別皆不足以提供 行程D執行 (b)在可重定位分區記憶體管理中將進行記憶體壓縮 (c)經過記憶體壓縮後,自由空間合併為一塊60K的連續空間,因此可 以配置給需要60K記憶體的行程D使用 4-34 17
  18. 18. 記憶體管理- 真實記憶體 分頁記憶體管理 (Paged Memory Management ) 將程式所需的記憶體大小(邏輯空間)分割成許多大小相同的區塊,每 將程式所需的記憶體大小( 邏輯空間) 一塊稱為「分頁」(Page) 一塊稱為「分頁」(Page) 將主記憶體(實體空間)也分割成許多和頁大小相同的單位,每一單位 將主記憶體( 實體空間) 稱為「頁框」(Frame) 稱為「頁框」(Frame) 4-35 覆蓋 主要的部分會一直存放在記憶體中,只有在特定時後才 需要用到的指令或資料則只有用到時才放進記憶體中, 其他時候則被覆蓋掉 使用覆蓋的範例 符號表 20K 一般常式 30K 重疊驅動 10K 程式 80K 第1次處理 第2次處理 70K 4-36 18
  19. 19. 置換 利用磁碟當作備分的儲存體,用以置換兩個程序 作業系統 程序 1換出 P1 2換入 程序 P2 使用者 空間 備份儲存體 主記憶體 4-37 記憶體管理- 虛擬記憶體 虛擬記憶體 ( Virtual Memory ) 為使程式的位址空間(邏輯空間)可以大於主記憶體(實體空 間),在執行程式的過程中,僅將執行到的部分程式載入, 執行完畢即釋出,如此一來程式執行的空間不會受到主記 憶體大小所限制,想像是有一個可無限使用的記憶體空間 ,稱為虛擬記憶體 4-38 19
  20. 20. 檔案系統 檔案系統負責存取和管理檔案資料 檔案系統的功能包括: (1)檔案實際存放空間的配置與回收 (2)檔案名稱及與實際存放空間的映射 (3)提供檔案的共享、保護與保密 (4)達到使用者要求的檔案操作(建立/讀/寫/刪除….等) 檔案系統的重要屬性: 名稱:讓使用者辨別不同的檔案 識別符號:獨一無二的標籤,讓作業系統辨別檔案 型態:顯示檔案的類型 位置:標示出檔案所在的磁碟及目錄位置 大小:顯示檔案目前的大小 時間日期:顯示檔案建立日期、修改日期、最後開啟日期 等 4-39 檔案管理 檔案類型 常見的電腦檔案包括:資料檔、全文檔、執行檔、批次檔 資料檔: 通常是由一群格式相同但內容不同的記錄(record)所組成,且 任何資料檔所包含的記錄數量是不固定的 全文檔: 主要包括文書檔和原始程式檔,其內容是完全由字元所構成 執行檔: 由一連串機器碼指令所組成,構成可處理特定工作或問題的 程式 批次檔(batch file) : 內容包括命令 (command) 和執行檔的主檔名,通常用來設定 電腦系統的使用者環境或簡化執行程式的程序 4-40 20
  21. 21. 檔案的基本操作 檔案的基本操作 建立檔案 寫入檔案 讀取檔案 刪除檔案 目錄結構必須支援的功能 搜尋 建檔 刪除檔名 更改檔名 4-41 目錄結構:單層目錄 同一個目錄下不能有兩個同樣檔名的檔案 4-42 21
  22. 22. 目錄結構:雙層目錄 每個使用者的目錄結構相似 開啟檔案時,只會搜尋使用者自己的目錄 主檔目錄 user1 user2 user3 user4 使用者 home- gam tem home- home- gam test test test data mail 目錄 work e p work work e 4-43 路徑 絕對路徑:root/user1/homework/hw1.doc 相對路徑:/homework/hw1.doc 4-44 22

×