...

バディシステム(buddy system)

by user

on
Category: Documents
2

views

Report

Comments

Transcript

バディシステム(buddy system)
バディシステム(buddy system)
サイズ S のプロセスに対してサイズ 2k (2k-1 < S ≦ 2k) の領域を割り当てる
サイズ 200KB のプロセスの場合, 256KB の領域を割り当てる
初期状態はメモリ全体が一つの区画であり必要に応じて区画を 1/2, 1/4, 1/8, ...
と分割する
例: 1024KB のメモリに対して、120KB (64<120≦128)のプロセスが発生した場合
適切なサイズになるまで分割
1024KB
分割
512KB
256KB
512KB
256KB
512KB
128KB
128KB
256KB
512KB
128KB
128KB
256KB
512KB
プロセスを割り当て
バディ:分割によってできた同じサイズ 2 つの区画対
バディが共に空いた場合、統合して一つの区画にする
1024KB
バディ(buddy)
512KB
512KB
256KB
128K
128K
256KB
128K
128K
256KB
128K
256KB
128K
バディではない
128K
128K
バディシステムの実行例
1024KB
プロセス 1 : 100KB 要求
128KB
分割
分割
128KB
256KB
512KB
128KB
256KB
512KB
256KB
512KB
プロセス 2 : 240KB 要求
128KB
プロセス 3 : 60KB 要求
128KB
分割
64
64
プロセス 4 : 200KB 要求
128KB
分割
64
64
256KB
256KB
256KB
64
64
256KB
256KB
256KB
64
64
256KB
256KB
256KB
64
64
256KB
256KB
256KB
256KB
256KB
256KB
256KB
256KB
プロセス 2 : 240KB 解放
128KB
プロセス 1: 100KB 解放
128KB
プロセス 5 : 70KB 要求
128KB
プロセス 3 : 60KB 解放
128KB
プロセス 5 : 70KB 解放
統合
128KB
統合
統合
256KB
プロセス 4 : 200KB 解放
統合
1024KB
統合
Fly UP