Các phương thức phân phối vùng nhớ (first fit, best fit, worst fit)

Một phần của tài liệu Giáo trình Nguyên lý hệ điều hành (Nghề: Quản trị mạng - Trung cấp) - Trường CĐ Kỹ thuật Việt Đức Hà Tĩnh (Trang 52 - 53)

CHƯƠNG 3 : ĐIỀU KHIỂN BỘ NHỚ

2.4.Các phương thức phân phối vùng nhớ (first fit, best fit, worst fit)

2. Điều khiển bộ nhớ liên tục theo đa bài toán

2.4.Các phương thức phân phối vùng nhớ (first fit, best fit, worst fit)

Tập hợp các lỗ trống được tìm thấy để xác định lỗ nào là tốt nhất để cấp phát. Các chiến lược first-fit, best-fit, worst-fit là những chiến lược phổ biến nhất được dùng để chọn một lỗ trống từ tập hợp các lỗ trống.

•First-fit: cấp phát lỗ trống đầu tiên đủ lớn. Tìm kiếm có thể bắt đầu tại đầu tập hợp các lỗ trống hay tại điểm kết thúc của tìm kiếm first-fit trước đó. Chúng ta dừng tìm kiếm ngay khi chúng ta tìm thấy một lỗ trống đủ lớn.

•Best-fit: cấp phát lỗ trống nhỏ nhất đủ lớn. Chúng ta phải tìm tồn bộ danh sách, trừ khi danh sách được xếp thứ tự theo kích thước. Chiến lược này

tạo ra lỗ trống nhỏ nhất cịn thừa lại.

•Worst-fit: cấp phát lỗ trống lớn nhất. Chúng ta phải tìm tồn danh sách trừ khi nó được xếp theo thứ tự kích thước. Chiến lược này tạo ra lỗ trống còn lại lớn nhất mà có thể có ích hơn lỗ trống nhỏ từ tiếp cận best-fit.

Các mô phỏng hiển thị rằng cả first-fit và best-fit là tốt hơn worst-fit về việc giảm thời gian và sử dụng lưu trữ. Giữa first-fit và best-fit không thể xác định rõ chiến lược nào tốt hơn về sử dụng lưu trữ, nhưng first-fit có tốc độ nhanh hơn.

Tuy nhiên, các giải thuật này gặp phải vấn đề phân mãnh ngồi (external fragmentation). Khi các q trình được nạp và được xố khỏi bộ nhớ, không gian bộ nhớ trống bị phân rã thành những mãnh nhỏ. Phân mãnh ngồi tồn tại khi tổng khơng gian bộ nhớ đủ để thoả mãn một yêu cầu, nhưng nó khơng liên tục; vùng lưu trữ bị phân mãnh thành một số lượng lớn các lỗ nhỏ. Vấn đề phân mãnh này có thể rất lớn. Trong trường hợp xấu nhất, chúng có thể có một khối bộ nhớ trống nằm giữa mỗi hai quá trình. Nếu tất cả bộ nhớ này nằm trong một khối trống lớn, chúng ta có thể chạy nhiều q trình hơn.

Một phần của tài liệu Giáo trình Nguyên lý hệ điều hành (Nghề: Quản trị mạng - Trung cấp) - Trường CĐ Kỹ thuật Việt Đức Hà Tĩnh (Trang 52 - 53)