❖♣❡r❛t✐♥❣ ❙②st❡♠s✿ ❉❡❛❞❧♦❝❦s ❙❤❛♥❦❛r ▼❛② ✼✱ ✷✵✶✺
❖✉t❧✐♥❡ ❉❡❛❞❧♦❝❦s ❖✈❡r✈✐❡✇ ❉❡❛❞❧♦❝❦s ❖✈❡r✈✐❡✇ ❉❡❛❞❧♦❝❦ Pr❡✈❡♥t✐♦♥ ❉❡❛❞❧♦❝❦ ❆✈♦✐❞❛♥❝❡ ❉❡❛❞❧♦❝❦ ❉❡t❡❝t✐♦♥ ✫ ❘❡❝♦✈❡r② ❍❛♥❞❧✐♥❣ ❉❡❛❞❧♦❝❦s ✐♥ ❘❡❛❧✐t②
❲❤❛t ❛r❡ ❉❡❛❞❧♦❝❦s ❉❡❛❞❧♦❝❦s ❖✈❡r✈✐❡✇ ❉❡❛❞❧♦❝❦✿ ❙❡t ♦❢ ♣r♦❝❡ss❡s P ✶ ✱ · · · ✱ P N ❞❡❛❞❧♦❝❦❡❞ ✐✛ ❡✈❡r② P i ✐s ❜❧♦❝❦❡❞✱ ❛♥❞ ❡✈❡r② P i ✐s ✇❛✐t✐♥❣ ❢♦r ❛♥ ❡✈❡♥t ❞♦❛❜❧❡ ♦♥❧② ❜② s♦♠❡ P j ✴✴ ❡✈❡♥t✿ r❡❧❡❛s❡✱ s✐❣♥❛❧✱ ❱✱ ✐♥t❡rr✉♣t ❡♥❛❜❧❡✱ ✳✳✳ ❉❡❛❞❧♦❝❦ ❢r❡❡❞♦♠✿ ❞❡s✐r❡❞ ♣r♦♣❡rt② ♦❢ ♠✉❧t✐✲t❤r❡❛❞❡❞ ♣r♦❣r❛♠s ❡♥s✉r✐♥❣ t❤✐s ✐s ❤❛r❞ ❢♦r ❛ ❣❡♥❡r❛❧ ♠✉❧t✐✲t❤r❡❛❞❡❞ ♣r♦❣r❛♠ ❜✉t ❡❛s✐❡r ❢♦r ❛ r❡s♦✉r❝❡✲♠❛♥❛❣❡r s②st❡♠ ❡①❛♠✐♥❡❞ ♥❡①t ❆s✐❞❡✿ ▲✐✈❡❧♦❝❦ ✐s ❞❡❛❞❧♦❝❦ ✇✐t❤♦✉t ❜❧♦❝❦✐♥❣ ♣r♦❝❡ss❡s ❛r❡ ✐♥ ❢r✉✐t❧❡ss ❧♦♦♣s ❤❛r❞❡r t♦ ❞❡t❡❝t ✭✉♥❧❡ss ❧♦♦♣s ❛r❡ ✈❡r② ❧♦❝❛❧✐③❡❞✮ ❞❡❛❞❧♦❝❦ ❝❛♥ ❜❡ ❧✐✈❡❧♦❝❦ ❛t ❛ ❧♦✇❡r ✭s♣✐♥✲❧♦❝❦✮ ❧❡✈❡❧
❘❡s♦✉r❝❡ ▼❛♥❛❣❡r ❙②st❡♠ ❉❡❛❞❧♦❝❦s ❖✈❡r✈✐❡✇ ❙②st❡♠ ❂ r❡s♦✉r❝❡ ♠❛♥❛❣❡r ✰ ✉s❡r ♣r♦❝❡ss❡s ♣r♦❝❡ss❡s✿ r❡q✉❡st r❡s♦✉r❝❡s✱ ❣❡t t❤❡♠✱ r❡❧❡❛s❡ t❤❡♠ RES ✿ s❡t ♦❢ ❛❧❧ r❡s♦✉r❝❡s✱ ✐♥✐t✐❛❧❧② ❤❡❧❞ ❜② ♠❛♥❛❣❡r alloc ( p ) ✿ r❡s♦✉r❝❡s ❝✉rr❡♥t❧② ❤❡❧❞ ❜② p avail ✿ r❡s♦✉r❝❡s ❝✉rr❡♥t❧② ❤❡❧❞ ❜② ♠❛♥❛❣❡r ❋✉♥❝t✐♦♥ req ( p , res ) ✿ r❡q✉❡st ❜② p ❢♦r r❡s♦✉r❝❡s res ❝❛❧❧❛❜❧❡ ✐✛ res ✰ alloc ( p ) ⊆ RES ❜❧♦❝❦✐♥❣ ❝❛❧❧ p ❣❡ts res ❛t r❡t✉r♥❀ ❤❛♣♣❡♥s ♦♥❧② ✐❢ res ⊆ avail ❋✉♥❝t✐♦♥ rel ( p , res ) ✿ r❡❧❡❛s❡ ❜② p ♦❢ res ❝❛❧❧❛❜❧❡ ✐✛ res ⊆ alloc ( p ) ♥♦♥❜❧♦❝❦✐♥❣ ❙②st❡♠ ❝❛♥ ❞❡❛❞❧♦❝❦ ✇✐t❤♦✉t ❢✉rt❤❡r ❝♦♥str❛✐♥ts ✸ ❛♣♣r♦❛❝❤❡s✿ ♣r❡✈❡♥t✐♦♥✱ ❛✈♦✐❞❛♥❝❡✱ ❞❡t❡❝t✐♦♥✴r❡❝♦✈❡r②
❖✉t❧✐♥❡ Pr❡✈❡♥t✐♦♥ ❉❡❛❞❧♦❝❦s ❖✈❡r✈✐❡✇ ❉❡❛❞❧♦❝❦ Pr❡✈❡♥t✐♦♥ ❉❡❛❞❧♦❝❦ ❆✈♦✐❞❛♥❝❡ ❉❡❛❞❧♦❝❦ ❉❡t❡❝t✐♦♥ ✫ ❘❡❝♦✈❡r② ❍❛♥❞❧✐♥❣ ❉❡❛❞❧♦❝❦s ✐♥ ❘❡❛❧✐t②
❉❡❛❞❧♦❝❦ Pr❡✈❡♥t✐♦♥ ❆♣♣r♦❛❝❤ Pr❡✈❡♥t✐♦♥ ■♠♣♦s❡ ❢✉rt❤❡r ❝♦♥str❛✐♥ts ♦♥ req ❝❛❧❧s t♦ ♣r❡❝❧✉❞❡ ❞❡❛❞❧♦❝❦ ♥♦ ❢✉rt❤❡r ❝♦♥str❛✐♥ts ♦♥ req r❡t✉r♥s ❙t❡♣ ✶✿ ✐❞❡♥t✐❢② ❛ ♥❡❝❡ss❛r② ❝♦♥❞✐t✐♦♥ ❢♦r ❞❡❛❞❧♦❝❦✱ ❡❣✿ r❡s♦✉r❝❡ t❤❛t ✐s ♥♦♥✲s❤❛r❡❛❜❧❡ ❛♥❞ ♥♦♥✲♣r❡❡♠♣t❛❜❧❡ ♣r♦❝❡ss ❤♦❧❞s ❛ r❡s♦✉r❝❡ ❛♥❞ r❡q✉❡sts ♠♦r❡ r❡s♦✉r❝❡s ❝②❝❧❡ ♦❢ ♣r♦❝❡ss❡s✿ ❡❛❝❤ r❡q✉❡st✐♥❣ ❛ r❡s♦✉r❝❡ ❤❡❧❞ ❜② t❤❡ ♥❡①t ❙t❡♣ ✷✿ ❝♦♥str❛✐♥ req ❝❛❧❧s t♦ ♣r❡❝❧✉❞❡ ❛ ♥❡❝❡ss❛r② ❝♦♥❞✐t✐♦♥ ❍❡♥❝❡❢♦rt❤ ❛ss✉♠❡ ♥♦♥✲s❤❛r❡❛❜❧❡✴♥♦♥✲♣r❡❡♠♣t❛❜❧❡ r❡s♦✉r❝❡s ❊①❛♠♣❧❡s ♦❢ ❞❡❛❞❧♦❝❦ ♣r❡✈❡♥t✐♦♥ r✉❧❡s req ( p , res ) ❝❛♥ ❜❡ ❝❛❧❧❡❞ ♦♥❧② ✇❤❡♥ alloc ( p ) ✐s ❡♠♣t② ■♠♣♦s❡ ❛ t♦t❛❧ ♦r❞❡r✐♥❣ ♦♥ ❛❧❧ r❡s♦✉r❝❡s ✐♥ RES req ( p , res ) ❝❛♥ ❜❡ ❝❛❧❧❡❞ ♦♥❧② ✇❤❡♥ res > max ( alloc ( p ))
❖✉t❧✐♥❡ ❆✈♦✐❞❛♥❝❡ ❉❡❛❞❧♦❝❦s ❖✈❡r✈✐❡✇ ❉❡❛❞❧♦❝❦ Pr❡✈❡♥t✐♦♥ ❉❡❛❞❧♦❝❦ ❆✈♦✐❞❛♥❝❡ ❉❡❛❞❧♦❝❦ ❉❡t❡❝t✐♦♥ ✫ ❘❡❝♦✈❡r② ❍❛♥❞❧✐♥❣ ❉❡❛❞❧♦❝❦s ✐♥ ❘❡❛❧✐t②
❉❡❛❞❧♦❝❦ ❆✈♦✐❞❛♥❝❡ ❆♣♣r♦❛❝❤ ❆✈♦✐❞❛♥❝❡ ❉❡❛❞❧♦❝❦ ❛✈♦✐❞❛♥❝❡✿ ✐♠♣♦s❡ ❢✉rt❤❡r ❝♦♥str❛✐♥ts ♦♥ req r❡t✉r♥s t♦ ♣r❡❝❧✉❞❡ ❞❡❛❞❧♦❝❦ s♦ req ( p , res ) r❡t✉r♥ ♠❛② ✇❛✐t ❡✈❡♥ ✐❢ res ⊆ avail ♠❛② ❛❧s♦ ✐♥✈♦❧✈❡ ✇❡❛❦ ❝♦♥str❛✐♥ts ♦♥ req ❝❛❧❧s ❡❣✱ ❧✐♠✐t ♦♥ t♦t❛❧ r❡s♦✉r❝❡s t❤❛t ❛ ♣r♦❝❡ss ❝❛♥ ❤♦❧❞ ❝❛♥ ❛❧❧♦✇ ♠♦r❡ ♣❛r❛❧❧❡❧✐s♠ t❤❛♥ ❞❡❛❞❧♦❝❦ ♣r❡✈❡♥t✐♦♥ ❜✉r❞❡♥ ✐s ♦♥ ♠❛♥❛❣❡r ✭✉♥❧✐❦❡ ❞❡❛❞❧♦❝❦ ♣r❡✈❡♥t✐♦♥✮ ❈❧❛ss✐❝❛❧ ❞❡❛❞❧♦❝❦ ❛✈♦✐❞❛♥❝❡ s♦❧✉t✐♦♥ ✉s❡s t❤❡ ✏❇❛♥❦❡r✬s ❛❧❣♦r✐t❤♠✑
❉❡❛❞❧♦❝❦ ❆✈♦✐❞❛♥❝❡ ❙♦❧✉t✐♦♥ ✕ ✶ ❆✈♦✐❞❛♥❝❡ ❘❡s♦✉r❝❡s✿ ♦r❣❛♥✐③❡❞ ✐♥t♦ t②♣❡s ✶ , · · · , M Tot = [ Tot ✶ , · · · , Tot M ] ✴✴ t♦t❛❧ ★ ♦❢ ❡❛❝❤ r❡s♦✉r❝❡ t②♣❡ Pr♦❝❡ss❡s✿ ✶ , · · · , N Max i ✿ [ Max i , ✶ , · · · Max i , M ] ✴✴ ♠❛① t♦t❛❧ ♥❡❡❞ ♦❢ ♣r♦❝❡ss i ❱❛r✐❛❜❧❡s alloc i ✿ [ alloc i , ✶ , · · · , alloc i , M ] ✴✴ r❡s♦✉r❝❡s ❤❡❧❞ ❜② ♣r♦❝❡ss i avail ✿ [ avail ✶ , · · · , avail M ] ✴✴ r❡s♦✉r❝❡s ❤❡❧❞ ❜② ♠❛♥❛❣❡r req i ✿ [ req i , ✶ , · · · , req i , M ] ✴✴ ♣r♦❝❡ss i ✬s ♦♥❣♦✐♥❣ r❡q✉❡st need i ✿ Max i − alloc i ✴✴ ♣r♦❝❡ss i ✬s ♠❛① ♣♦ss✐❜❧❡ r❡q✉❡st
❉❡❛❞❧♦❝❦ ❆✈♦✐❞❛♥❝❡ ❙♦❧✉t✐♦♥ ✕ ✷ ❆✈♦✐❞❛♥❝❡ ❆ss✉♠♣t✐♦♥✿ ■❢ ❛ ♣r♦❝❡ss i ❛❧✇❛②s ❣❡ts t❤❡ r❡s♦✉r❝❡s ✐t ❛s❦s ❢♦r✱ ✐t ❡✈❡♥t✉❛❧❧② r❡❧❡❛s❡s ❛❧❧ ✐ts r❡s♦✉r❝❡s ❙♦ ✐❢ need i ≤ avail ❛♥❞ t❤❡ ♠❛♥❛❣❡r ❣r❛♥ts ♦♥❧② r❡q✉❡sts ♦❢ i ✱ t❤❡♥ ✐t ❡✈❡♥t✉❛❧❧② ❣❡ts alloc i ❜❛❝❦ ❆ st❛t❡ ✐s s❛❢❡ ✐✛ ✐t ❤❛s ❛ s❛❢❡ s❡q✉❡♥❝❡ ❆ s❛❢❡ s❡q✉❡♥❝❡ ✐s ❛ ♣❡r♠✉t❛t✐♦♥ i ✶ , · · · , i N ♦❢ ♣r♦❝❡ss ✐❞s s✳t✳ need i ✶ ≤ avail need i ✷ ≤ avail + alloc i ✶ ✳✳✳ need i N ≤ avail + alloc i ✶ + · · · + alloc i N − ✶ ❆ s❛❢❡ st❛t❡ ✐s ♥♦t ❞❡❛❞❧♦❝❦❡❞ ❛♥❞ ❝❛♥♥♦t ❧❡❛❞ t♦ ❛ ❞❡❛❞❧♦❝❦
❉❡❛❞❧♦❝❦ ❆✈♦✐❞❛♥❝❡ ❙♦❧✉t✐♦♥ ✕ ✷ ❆✈♦✐❞❛♥❝❡ ❇❛♥❦❡r✬s ❆❧❣♦r✐t❤♠✿ ❞❡t❡r♠✐♥❡s ✇❤❡t❤❡r ♦r ♥♦t ❛ st❛t❡ ✐s s❛❢❡ ❱❛r✐❛❜❧❡s ✴✴ t❡♠♣♦r❛r② avail xavail ← avail done [ i ] ← ❢❛❧s❡✱ ❢♦r i = ✶ , · · · , N ✴✴ tr✉❡ ✐✛ i ❛❝❝♦✉♥t❡❞ ❢♦r ❲❤✐❧❡ ✭t❤❡r❡ ✐s ❛♥ i s✳t✳ done [ i ] = ❢❛❧s❡ ❛♥❞ need i ≤ xavail ✮ xavail ← xavail + alloc i done [ i ] ← true ❙❛❢❡ ✐✛ done [ i ] = true ❢♦r ❡✈❡r② i ❘❡t✉r♥ req ( p , res ) ♦♥❧② ✐❢ t❤❡ r❡s✉❧t✐♥❣ st❛t❡ ✇♦✉❧❞ ❜❡ s❛❢❡✱ ✐❡✱ ❛♣♣❧② ❇❛♥❦❡r✬s ❛❧❣♦r✐t❤♠ t♦ t❤❡ ❝✉rr❡♥t st❛t❡ ✇✐t❤ avail ❞❡❝r❡❛s❡❞ ❜② res alloc i ✐♥❝r❡❛s❡❞ ❜② res
Recommend
More recommend