狠狠撸

狠狠撸Share a Scribd company logo
第4章 作業系統

      作業系統簡介
      CPU排班
      记忆体管理
      档案系统




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

       使用者    使用者   使用者            使用者
                              …
        1      2     3              n


       編譯程式   組譯程式 文字編輯程式     …   資料庫系統
                    系統及應用程式

                    作業系統

                    電腦硬體


      作業系統:負責管理電腦裡的硬體及週邊設備,扮演介
      於使用者與電腦硬體的中間人
4-2




                                          1
作業系統的工作




4-3




      作業系統的主要工作
       中央處理器管理
        把處理器有效地安排給各個程序使用
       记忆体管理
        妥善分配記憶體給各個程序使用
       檔案管理
        讓使用者安全存取及控制檔案
       週邊設備管理
        管理各項週邊系統,提供簡易使用者介面程式
       程序管理
        依據程序控制表安排資源

4-4




                               2
Components of an operating system




4-5




      作業系統的演進:主機型系統
       多元程式規劃系統(multiprogramming)
         利用多元程式規劃增加CPU使用率
         程序:一個程式被載入記憶體中並且執行時,就
         稱為程序
         程序的狀態:
         新產生 程序正在產生中。
               程序得到資源正在執行。
          執行
               程序等待某個事件發生。
          等待
               程序一切已準備就緒。
          就緒
               程序已完成。
          結束
4-6




                                          3
程序状态关係图
              進入            離開
       新產生                       結束
                     中斷


              就緒            執行
                   排班程式分派

                             I/O或事件等待
                     等待
        I/O或事件完成


      只要程序進入等待的狀況時,CPU就轉移到其他的程序
      上運作;如果原本在等待的程序已經變成就緒時,就有
      機會從新得到CPU的資源
4-7




      作業系統的演進:主機型系統
       分時系統
        採用時間觸發, CPU輪流計算各個程序,時間一到就把CPU交給
        下一個程序使用.可以讓多個使用者共用一部電腦;也能在只
        有一個處理器的個人電腦上, 同時開多個視窗來完成度同的工作
        分時系統的特點:
         同時性:可同時有若干個使用者連結到同一計算機進行運算
         獨立性:不同使用者之間不會相互干擾
         即時性:每一個使用者都可以即時得到計算機的回應, 讓大
             家同時都認為自己與電腦正在交談,沒有間斷




4-8




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

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




4-9




       作業系統的演進:個人電腦系統
        個人電腦設計方向:增進使用者操作方便,並且
        提升CPU的回應速度,避免使用者等待

        個人電腦系統的演進:

             早期:DOS文字指令
           第一個圖形化介面:Mac IS
            最多人使用:Windows
            免付費作業系統:Linux


4-10




                                         5
作业系统的演进:手持系统
       手持系統:個人數位助理,較手提式電腦輕薄短小
       手持式系統的特點:
        記憶體容量小:必須有較好的记忆体管理方式
        處理器運算緩慢:為使電池使用時間較長,故運算速度不可能
        太快(電腦運算速度愈快愈耗電),因此必須巧妙設計作業系
        統或應用程式
        顯示螢幕小:使用者介面設計必須格外留意好讓使用者看到
        較多畫面




4-11




       CPU排班
       多元程式規劃作業系統: CPU排班
       CPU排班:保持隨時都有一個程序在執行,以提高CPU的使
       用率
       CPU排班的五個決策時間點:
                 程序新產生時
        程序從執行狀態變等待狀態(譬如有I/O要求)
       程序從執行狀態變就緒狀態(譬如有中斷發生時)
       程序從等待狀態變就緒狀態(譬如I/O要求得到回應)
                 程序終止結束

4-12




                                      6
五个必须颁笔鲍排班的时间点

              1 進入
                              離開
        新產生                            結束
                      3中斷
                                   5
                就緒            執行
                     排班程式分派

                                  I/O或事件等待
                              2
                         等待
         I/O或事件完成
                     4


4-13




       CPU排班
        不可搶先排班 (nonpreemptive)
         確保已經享有CPU資源的程序能夠一直執行,不
         管其他程序的狀態,直到享有CPU資源的程序自
         己跳到非執行的狀態才進行排班

        可搶先排班(preemptive)
         時時刻刻注意程序的狀態,如果有程序進入就緒
         狀態則進行排班,比較正在使用CPU的程序與進
         入就緒狀態的程序的優先順序,優先順序高者可
         先使用CPU


4-14




                                             7
颁笔鲍排班演算法:先到先处理
         先到先处理:採用先進先出的方式(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
先到先处理
         則甘特圖如下所示:

            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
最短工作先处理
        各程序的等待時間
         程序       等待時間(毫秒)   平均等待時間(毫秒)
         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
優先權排班(Priority Scheduling)
        優先權如下
            程序       優先權          所需時間(毫秒)
            P1            3          7
            P2            1          5
            P3            2          4

        甘特圖如下
            P2       P3             P1
        0        5            9              16



4-21




       優先權排班
       優點:
       比較重要的程序確定可優先完成,例如作業系
       比較重要的
       統
       缺點:
       Priority會優先處理優先權高的程序,因此可
       能造成低優先權程序的無限延遲




4-22




                                                  11
依序循環排班(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
记忆体管理
       记忆体管理:
        记忆体管理:把記憶體分割成各個區塊,以供各程序或各使
        用者使用
        記憶體位址定位:把程序所使用的邏輯位址與記憶體的實際
        位址作映射




        記憶體保護與共享:程序之間所使用的記憶體不能相互干擾,
        可是作業系統的部分要讓各個程序共享

4-25




       单一连续记忆体配置方式
        記憶體被分成三個區塊:作業系統存放、應用程
        式佔用、未使用區塊


                        作業系統佔用
         低位址

        程式可以佔用          應用程式佔用


         高位址             實際未用




4-26




                                      13
单一连续记忆体配置
        利用界線暫存器和基底暫存器來提供記憶體保護,防止
        使用者破壞作業系統

                        界線            基底
                       暫存器           暫存器


               邏輯位址              是          實際位址
                                        +          記憶體
         CPU             <

                             否
                   中斷:錯誤處理


4-27




       记忆体管理- 真實記憶體
       分區记忆体管理 (Partitioned Memory Management)
        將記憶體分割成數個相互獨立的區塊,每一區塊都配置
        給一個程序使用
        滿足多元程式(Mutiprogramming)執行的最簡單方式
        分區记忆体管理方式:
           靜態分區 ( Static partition )
           動態分區 ( Dynamic partition )




4-28




                                                         14
记忆体管理- 真實記憶體
       分區记忆体管理 (Partitioned Memory Management)




4-29




       记忆体管理- 真實記憶體
       分區记忆体管理
       靜態分區 ( Static partition )
            靜態分區是指在處理任何程序前,主記憶體就已經被分割
            成許多相同大小或不同大小的區塊,區塊大小由作業系統
            決定
            優點:方法簡單易完成
            缺點:(1)分割的區塊數固定,相對地可執行的程序數
                  也固定
               (2)可能產生「內部
                  碎片」(Internal
                  Fragmentation)




4-30




                                                 15
记忆体管理- 真實記憶體
       分區记忆体管理
       動態分區 ( Dynamic partition )
           在開始執行某程序時才分割一滿足需求的記憶體區塊給該
           程序
           配置:(1)找到一個未使用且足夠大的區塊
              (2)若此區塊比程序所提出的需求大 分割成
                 配置給程序的執行區塊 與 殘餘的自由空間
           回收:將回收區塊與相鄰自由空間合併成一塊大的連續自
              由空間
           優點:配置後殘餘的自由空間仍可提供其他程序使用,可
              提升記憶體的使用率
           缺點:可能產生「外部碎片」(External Fragmentation):
              主記憶體中存在許多不連續的自由空間


4-31




       记忆体管理- 真實記憶體
       分區记忆体管理
       動態分區範例
        若作業系統將主記憶體切割成
        固定大小400k的區塊,若有程
        序P1、P2、P3、P4依序提出
        200k、300k、330k、150k的主
        記憶體請求,則產生的外部碎
        片情況如圖所示




4-32




                                                    16
记忆体管理- 真實記憶體
       可重定位分區记忆体管理 ( 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
记忆体管理- 真實記憶體
       分頁记忆体管理 (Paged Memory Management )
       將程式所需的記憶體大小(邏輯空間)分割成許多大小相同的區塊,每
       將程式所需的記憶體大小( 邏輯空間)
       一塊稱為「分頁」(Page)
       一塊稱為「分頁」(Page)
       將主記憶體(實體空間)也分割成許多和頁大小相同的單位,每一單位
       將主記憶體( 實體空間)
       稱為「頁框」(Frame)
       稱為「頁框」(Frame)




4-35




       覆蓋
        主要的部分會一直存放在記憶體中,只有在特定時後才
        需要用到的指令或資料則只有用到時才放進記憶體中,
        其他時候則被覆蓋掉
        使用覆蓋的範例

                      符號表    20K

                     一般常式    30K

                     重疊驅動
                             10K
                      程式

         80K 第1次處理            第2次處理 70K
4-36




                                            18
置换
        利用磁碟當作備分的儲存體,用以置换兩個程序


            作業系統


                         程序
                   1換出   P1

                   2換入        程序
                              P2
            使用者
             空間
                         備份儲存體
            主記憶體
4-37




       记忆体管理- 虛擬記憶體
        虛擬記憶體 ( Virtual Memory )
        為使程式的位址空間(邏輯空間)可以大於主記憶體(實體空
        間),在執行程式的過程中,僅將執行到的部分程式載入,
        執行完畢即釋出,如此一來程式執行的空間不會受到主記
        憶體大小所限制,想像是有一個可無限使用的記憶體空間
        ,稱為虛擬記憶體




4-38




                                      19
档案系统
        档案系统負責存取和管理檔案資料
        档案系统的功能包括:
        (1)檔案實際存放空間的配置與回收
        (2)檔案名稱及與實際存放空間的映射
        (3)提供檔案的共享、保護與保密
        (4)達到使用者要求的檔案操作(建立/讀/寫/刪除….等)
        档案系统的重要屬性:
         名稱:讓使用者辨別不同的檔案
         識別符號:獨一無二的標籤,讓作業系統辨別檔案
         型態:顯示檔案的類型
         位置:標示出檔案所在的磁碟及目錄位置
         大小:顯示檔案目前的大小
         時間日期:顯示檔案建立日期、修改日期、最後開啟日期
         等
4-39




       檔案管理
       檔案類型
        常見的電腦檔案包括:資料檔、全文檔、執行檔、批次檔
        資料檔:
        通常是由一群格式相同但內容不同的記錄(record)所組成,且
        任何資料檔所包含的記錄數量是不固定的
        全文檔:
        主要包括文書檔和原始程式檔,其內容是完全由字元所構成
        執行檔:
        由一連串機器碼指令所組成,構成可處理特定工作或問題的
        程式
        批次檔(batch file) :
        內容包括命令 (command) 和執行檔的主檔名,通常用來設定
        電腦系統的使用者環境或簡化執行程式的程序


4-40




                                           20
档案的基本操作
        档案的基本操作
         建立檔案
         寫入檔案
         讀取檔案
         刪除檔案
        目錄結構必須支援的功能
         搜尋
         建檔
         刪除檔名
         更改檔名

4-41




       目錄結構:單層目錄
        同一個目錄下不能有兩個同樣檔名的檔案




4-42




                             21
目录结构:双层目录
        每個使用者的目錄結構相似
        開啟檔案時,只會搜尋使用者自己的目錄


            主檔目錄     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

More Related Content

第4章 作業系統 (Update)

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