Phương pháp kề cận

Một phần của tài liệu Giáo trình môn Hệ Điều Hành PTIT (Trang 100 - 101)

CHƯƠNG 3 : QUẢN LÝ BỘ NHỚ

3.3. PHÂN CHƯƠNG BỘ NHỚ

3.3.3. Phương pháp kề cận

Cả hai phương pháp phân chương nói trên đều có các nhược điểm. Phân chương cố định hạn chế số lượng tiến trình trong bộ nhớ và gây phân mảnh trong. Phân chương động, mặc dù tránh được các nhược điểm này, song tương đối phức tạp trong việc quản lý vùng trống và lựa chọn vùng trống phù hợp, đồng thời gây phân mảnh ngoài. Một phương pháp cho phép dung hoà các nhược điểm của hai phương pháp nói trên được gọi là phương pháp kề cận (buddy

systems).

Trong phương pháp này, hệ điều hành quản lý và cấp phát khối nhớ có kích thước là luỹ thừa của 2. Giả sử các khối trống có kích thước là 2K với L<=K<=H, trong đó 2L là kich thước khối nhớ nhỏ nhất có thể được cấp phát (thường khơng nhỏ hơn 1KB), 2H là kích thước khối nhớ lớn nhất có thể cấp phát (thường bằng kích thước tồn bộ nhớ).

Khởi đầu, tồn bộ nhớ là một khối trống duy nhất có kích thước 2H. Giả sử có u cầu cấp phát khối nhớ kích thước s. Nếu 2H-1 < s ≤ 2H thì tồn khối nhớ sẽ được cấp phát. Trong trường hợp s ≤ 2H-1, khối nhớ được chia đơi thành hai khối kề cận, mỗi khối có kích thước 2H-

1. So sánh tiếp, nếu 2H-2 < s ≤ 2H-1 , một trong hai khối 2H-2 sẽ được cấp phát. Ngược lại, một trong hai khối 2H-2 được chia đơi tiếp thành các khối kề cận kích thước 2H-3. Q trình này tiếp tục cho tới khi khối nhớ nhỏ nhất có kích thước lớn hơn hoặc bằng s được tạo ra hoặc ta đạt giới hạn dưới 2L.

Một ví dụ minh họa q trình cấp phát và giải phóng bộ nhớ sử dụng phương pháp kề cận được thể hiện qua hình 3.5.

1GB trống 1GB Cấp 205MB A = 205MB 256MB 512MB Cấp 120MB A = 205MB B=120MB 128MB 512MB Cấp 500MB A = 205MB B=120MB 128MB C=500MB Giải phóng B A = 205MB 256MB C=500MB Giải phóng C A = 205MB 256MB 512MB Giải phóng A 1GB

Hình 3.5. Ví dụ cấp phát và giải phóng chương nhớ sử dụng kỹ thuật kề cận

Sau một thời gian tiến hành phân chia như vậy, trong bộ nhớ sẽ hình thành tập hợp các khối trống kích thước 2K . Hệ điều hành quản lý các khối này bằng cách tạo ra danh sách kết

nối, mỗi danh sách gồm các khối có kích thước bằng nhau. Các khối bị chia đôi được chuyển sang danh sách khối bé hơn. Ngược lại, khi có hai khối kề cận cùng kích thước, chúng sẽ được kết hợp lại tạo ra khối có kích thước gấp đơi và được chuyển vào danh sách các khối kích thước tương ứng. Khi có u cầu cấp phát, hệ thống sẽ xem xét danh sách các khối có kích thước phù hợp nhất, tức là khối nhỏ nhất có thể chứa tiến trình mà khơng cần chia đơi. Nếu danh sách này khơng có khối nào, hệ thống sẽ tìm trong danh sách các khối lớn hơn và tiến hành chia đơi khối lớn hơn tìm được cho tới khi tìm được khối phù hợp.

Cũng như kỹ thuật phân chương nói chung, phương pháp kề cận thuần túy hiện được coi là có nhiều nhược điểm. Tuy nhiên, phương pháp này có thể sử dụng kết hợp với kỹ thuật phân trang sẽ được trình bày ở phần sau để tận dụng ưu điểm của mình. Hệ điều hành Linux sử dụng phương pháp kề cận kết hợp với trang nhớ kích thước 4KB để quản lý bộ nhớ vật lý.

Một phần của tài liệu Giáo trình môn Hệ Điều Hành PTIT (Trang 100 - 101)

Tải bản đầy đủ (PDF)

(183 trang)