• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Brian Warehouse

            Some birds aren`t meant to be caged, their feathers are just too bright... ...
            posts - 40, comments - 16, trackbacks - 0, articles - 1

            實驗二 內(nèi)存儲器空間的管理(指導(dǎo)書)

            Posted on 2010-08-17 13:00 Brian 閱讀(2200) 評論(2)  編輯 收藏 引用 所屬分類: OS

            一、實驗內(nèi)容

            利用高級語言,實現(xiàn)存儲分配算法,開發(fā)一個存儲管理的模擬程序,對內(nèi)存空間的管理和分配。內(nèi)存空間的管理可采用固定分區(qū)管理方式,可變分區(qū)管理方式,頁式存儲管理,段式存儲管理等方案。

            二、實驗?zāi)康?/span>

            一個好的計算機系統(tǒng)不僅要有一個足夠容量的、存取速度高的、穩(wěn)定可靠的主存儲器,而且要能合理地分配和使用這些存儲空間。當用戶提出申請存儲器空間時,存儲管理必須根據(jù)申請者的要求,按一定的策略分析主存空間的使用情況,找出足夠的空閑區(qū)域分配給申請者。當作業(yè)撤離或主動歸還主存資源時,則存儲管理要收回作業(yè)占用的主存空間或歸還部分主存空間。主存的分配和回收的實現(xiàn)雖與主存儲器的管理方式有關(guān)的,通過本實驗幫助學(xué)生理解在不同的存儲管理方式下應(yīng)怎樣實現(xiàn)主存空間的分配和回收。

            、實驗環(huán)境

            1PC微機。

            2Windows 操作系統(tǒng)。

            3C/C++/VB開發(fā)集成環(huán)境。

            四、實驗題目

            本實驗?zāi)M在兩種存儲管理方式下的主存分配和回收。

            第一題:在可變分區(qū)管理方式下采用首次適應(yīng)算法實現(xiàn)主存分配和實現(xiàn)主存回收。

            算法設(shè)計思想:

             (1) 可變分區(qū)方式是按作業(yè)需要的主存空間大小來分割分區(qū)的。當要裝入一個作業(yè)時,根據(jù)作業(yè)需要的主存量查看是否有足夠的空閑空間,若有,則按需要量分割一個分區(qū)分配給該作業(yè);若無,則作業(yè)不能裝入。隨著作業(yè)的裝入、撤離,主存空間被分成許多個分區(qū),有的分區(qū)被作業(yè)占用,而有的分區(qū)是空閑的。例如:

            0

            5k

            10k

            14k

            26k

            32k

             

             

            128k

            操作系統(tǒng)

            作業(yè)1

            作業(yè)3

            空閑區(qū)

            作業(yè)2

             

            空閑區(qū)

             

             

            為了說明哪些區(qū)是空閑的,可以用來裝入新作業(yè),必須要有一張空閑區(qū)說明表,格式如下:

             

             

               

               

                  態(tài)

            第一欄

            14 K

            12 K

            第二欄

            32 K

            96 K

            M

            M

             

             

             

             

             

             

             

            M

            M

             

            其中,起址——指出一個空閑區(qū)的主存起始地址。

                  長度——指出從起始地址開始的一個連續(xù)空閑的長度。

                  狀態(tài)——有兩種狀態(tài),一種是“未分配”狀態(tài),指出對應(yīng)的由起址指出的某個長度的區(qū)域是空閑區(qū);另一種是“空表目”狀態(tài),表示表中對應(yīng)的登記項目是空白(無效),可用來登記新的空閑區(qū)(例如,作業(yè)撤離后,它所占的區(qū)域就成了空閑區(qū),應(yīng)找一個“空表目”欄登記歸還區(qū)的起址和長度且修改狀態(tài))。由于分區(qū)的個數(shù)不定,所以空閑區(qū)說明表中應(yīng)有適量的狀態(tài)為“空表目”的登記欄目,否則造成表格“溢出”無法登記。

            上述的這張說明表的登記情況是按提示(1)中的例所裝入的三個作業(yè)占用的主存區(qū)域后填寫的。

            (2) 當有一個新作業(yè)要求裝入主存時,必須查空閑區(qū)說明表,從中找出一個足夠大的空閑區(qū)。有時找到的空閑區(qū)可能大于作業(yè)需要量,這時應(yīng)把原來的空閑區(qū)變成兩部分:一部分分給作業(yè)占用;另一部分又成為一個較小的空閑區(qū)。為了盡量減少由于分割造成的空閑區(qū),而盡量保存高地址部分有較大的連續(xù)空閑區(qū)域,以利于大型作業(yè)的裝入。為此,在空閑區(qū)說明表中,把每個空閑區(qū)按其地址順序登記,即每個后繼的空閑區(qū)其起始地址總是比前者大。為了方便查找還可使表格“緊縮”,總是讓“空表目”欄集中在表格的后部。

            (3) 采用首次適應(yīng)算法(順序分配算法)分配主存空間。

            按照作業(yè)的需要量,查空閑區(qū)說明表,順序查看登記欄,找到第一個能滿足要求的空閑區(qū)。當空閑區(qū)大于需要量時,一部分用來裝入作業(yè),另一部分仍為空閑區(qū)登記在空閑區(qū)說明表中。

            由于本實驗是模擬主存的分配,所以把主存區(qū)分配給作業(yè)后并不實際啟動裝入程序裝入作業(yè),而用輸出“分配情況”來代替。首次適應(yīng)分配算法如圖4-1

            (4) 當一個作業(yè)執(zhí)行結(jié)束撤離時,作業(yè)所占的區(qū)域應(yīng)該歸還,歸還的區(qū)域如果與其它空閑區(qū)相鄰,則應(yīng)合成一個較大的空閑區(qū),登記在空閑區(qū)說明表中。例如,在提示(1)中列舉的情況下,如果作業(yè)2撤離,歸還所占主存區(qū)域時,應(yīng)與上、下相鄰的空閑區(qū)一起合成一個大的空閑區(qū)登記在空閑區(qū)說明表中。歸還主存時的回收算法如圖4-2

            (5) 請按首次適應(yīng)算法設(shè)計主存分配和回收的程序。然后按(1)中假設(shè)主存中已裝入三個作業(yè),且形成兩個空閑區(qū),確定空閑區(qū)說明表的初值。現(xiàn)有一個需要主存量為6K的作業(yè)4申請裝入主存;然后作業(yè)3撤離;再作業(yè)2撤離。請你為它們進行主存分配和回收,把空閑區(qū)說明表的初值以及每次分配或回收后的變化顯示出來或打印出來。

            第二題:在分頁式管理方式下采用位示圖來表示內(nèi)存分配情況,實現(xiàn)內(nèi)存空間的分配和回收。

            算法設(shè)計思想:

             (1) 分頁式存儲器把主存分成大小相等的若干塊,作業(yè)的信息也按塊的大小分頁,作業(yè)裝入主存時可把作業(yè)的信息按頁分散存放在主存的空閑塊中,為了說明內(nèi)存中哪些塊已經(jīng)被占用,哪些塊是尚未分配的空閑塊,可用一張位示圖來指出。位示圖可由若干存儲單元來構(gòu)成,其中每一位與一個物理塊對應(yīng),用0/1表示對應(yīng)塊為空閑/已占用。

            (2) 假設(shè)某系統(tǒng)的內(nèi)存被分成大小相等的64塊,則位示圖可用8個字節(jié)來構(gòu)成,另用一單元記錄當前空閑塊數(shù)。如果已有第01456911132431,共10個主存塊被占用了,那么位示圖情況如下:

                

             節(jié)    數(shù)

             

             

             

            0

             

             

            1

             

             

            2

             

             

            3

             

             

            4

             

             

            5

             

             

            6

             

             

            7

                0

            1

            1

            0

            0

            1

            1

            1

            0

                1

            0

            1

            0

            1

            0

            1

            0

            0

                2

            0

            0

            0

            0

            0

            0

            0

            0

                3

            1

            0

            0

            0

            0

            0

            0

            1

                4

            0

            0

            0

            0

            0

            0

            0

            0

                5

            0

            0

            0

            0

            0

            0

            0

            0

                6

            0

            0

            0

            0

            0

            0

            0

            0

                7

            0

            0

            0

            0

            0

            0

            0

            0

             


            4-1  首次適應(yīng)分配模擬算法


            4-2  內(nèi)存回收算法

            (3) 當要裝入一個作業(yè)時,根據(jù)作業(yè)對主存的需要量,先查當前空閑塊數(shù)是否能滿足作業(yè)要求,若不能滿足則輸出分配不成功。若能滿足,則查位示圖,找出為“0”的一些位,置上占用標志“1”,從“當前空閑塊數(shù)”中減去本次占用塊數(shù)。

            按找到的計算出對應(yīng)的塊號,其計算公式為:

                  塊號= j?8+i

            其中,j表示找到的是第n個字節(jié),i表示對應(yīng)的是第n位。

            根據(jù)分配給作業(yè)的塊號,為作業(yè)建立一張頁表,頁表格式:

             

             

             

            0

             

            1

             

            2

             

            M

            M

             

             

             

            (4) 當一個作業(yè)執(zhí)行結(jié)束,歸還內(nèi)存時,根據(jù)該作業(yè)的頁表可以知道應(yīng)歸還的塊號,由塊號可計算出在位示圖中的對應(yīng)位置,把對應(yīng)位的占用標志清成“0”,表示對應(yīng)的塊已成為空閑塊。歸還的塊數(shù)加入到當前空閑塊數(shù)中。由塊號計算在位示圖中的位置的公式如下:

            字節(jié)號 j=[塊號/8]    [  ]表示取整)

            位數(shù)   i={塊號/8}   {  }表示取余)

            (5) 設(shè)計實現(xiàn)內(nèi)存分配和回收的程序。假定位示圖的初始狀態(tài)如(2)所述,現(xiàn)有一信息量為5頁的作業(yè)要裝入,運行你所設(shè)計的分配程序,為作業(yè)分配主存且建立頁表(格式如(3)所述)。然后假定有另一作業(yè)執(zhí)行結(jié)束,它占用的塊號為第45631塊,運行你所設(shè)計的回收程序,收回作業(yè)歸還的內(nèi)存塊。

            要求能顯示和打印分配或回收前后的位示圖和當前空閑塊數(shù),對完成一次分配后還要顯示或打印為作業(yè)建立的頁表。

            Feedback

            # re: 實驗二 內(nèi)存儲器空間的管理(指導(dǎo)書)  回復(fù)  更多評論   

            2010-08-18 13:49 by abcd
            abcd

            # re: 實驗二 內(nèi)存儲器空間的管理(指導(dǎo)書)  回復(fù)  更多評論   

            2012-04-11 17:13 by 騰格爾兒
            有沒有哪位大蝦給個源碼 啊。。。。
            久久久久久久91精品免费观看| 精品国产福利久久久| 久久受www免费人成_看片中文| 久久99热这里只有精品66| 国内精品伊人久久久久777| 久久久久久亚洲AV无码专区| 色综合久久精品中文字幕首页| 人妻丰满?V无码久久不卡| 久久精品国产男包| 国产午夜福利精品久久| 久久国产精品无| 国内精品久久久久久久coent| 久久精品国产亚洲AV久| 久久综合狠狠综合久久激情 | 99久久国产亚洲综合精品| 99热成人精品免费久久| 无遮挡粉嫩小泬久久久久久久| 久久精品国产精品亚洲人人 | 亚洲国产精品无码久久九九| 久久亚洲精品无码AV红樱桃| 久久人人爽人人澡人人高潮AV | 精品一区二区久久| 亚洲精品高清国产一线久久| 四虎国产精品免费久久久| 亚洲午夜久久久影院| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久青青草视频| 久久夜色撩人精品国产| 亚洲午夜久久影院| 久久精品国产精品国产精品污| 午夜精品久久久久成人| 久久精品亚洲精品国产欧美| 一级做a爰片久久毛片人呢| 精品永久久福利一区二区| 亚洲乱码精品久久久久.. | 久久高潮一级毛片免费| 国产一区二区精品久久| 国产精品无码久久久久久| 久久久久亚洲AV成人片| 国产精品99久久99久久久| 97精品国产91久久久久久|