Hệ thống đa chương với phân vùng cố định

Một phần của tài liệu nguyên lý các hệ điều hành (Trang 76 - 78)

e) Chiến lược điều phối với nhiều mức độ ưu tiên

3.4.2Hệ thống đa chương với phân vùng cố định

Một trong những phương pháp đơn giản nhất để cấp phát bộ nhớ là chia bộ nhớ thành những phân vùng có kích thước cố định. Các phân vùng khác nhau có thể có kích thước khác nhau hay bằng nhau. Mỗi phân vùng chỉ có thể chứa một tiến trình. Do đó, cấp độ đa chương được giới hạn bởi số lượng phân vùng. Trong phương pháp đa phân vùng, khi một phân vùng rảnh, một tiến trình được chọn từ hàng đợi nhập và được nạp vào phân vùng trống. Khi tiến trình kết thúc, phân vùng trở nên sẳn dùng cho một tiến trình khác. Có hai tiếp cận để tổ chức hàng đợi:

Sử dụng nhiều hàng đợi: mỗi phân vùng sẽ có một hàng đợi tương ứng. Khi một tiến trình mới được tạo lập sẽ được đưa vào hàng đợi của phân vùng có kích thước nhỏ nhất đủ lớn để chứa tiến trình.

Cách tổ chức này có khuyết điểm trong trường hợp các hàng đợi của một số phân vùng lớn thì trống trong khi các hàng đợi của các phân vùng nhỏ lại đầy, buộc các tiến trình trong những hàng đợi này phải chờ được cấp phát bộ nhớ, do vậy sử dụng không hiệu quả bộ nhớ.

Sử dụng một hàng đợi: tất cả các tiến trình được đặt trong hàng đợi duy nhất. Khi có một phân vùng trống, tiến trình đầu tiên trong hàng đợi có kích thước phù hợp sẽ được đặt vào phân vùng và cho xử lý.

Hình 3.3 Cấp phát đa vùng với phân vùng cố định

Trong trường hợp tiến trình đầu tiên có kích thước nhỏ trong khi phân vùng tự do là lớn sẽ dẫn tới lãng phí bộ nhớ.

Giải pháp: Khi có một phân vùng rỗi thì tìm trên toàn bộ hàng đợi này tiến trình lớn nhất đặt vừa rong phân vùng này, nạp tiến trình vào bộ nhớ chính.

Xuất hiện hiện tượng phân mảnh nội vi (internal fragmentation): do kích thước tiến trình được nạp nhỏ hơn kích thước của phân vùng chứa tiến trình, phần bộ nhớ không được sử dụng đến trong phân vùng này gọi là phân mảnh nội vi.

-Mức độ đa chương của hệ thống bị giới hạn bởi số lượng phân vùng. - Sử dụng bộ nhớ không hiệu quả:

Tổng bộ nhớ nhỏ tự do, rời rạc còn lớn nhưng không thể sử dụng để nạp tiến trình khác.

Tiến trình có kích thước lớn hơn phân vùng lớn nhất sẽ không bao giờ được thực hiện.

- Ưu điểm: đơn giản, dễ tổ chức bảo vệ, giảm thời gian tìm kiếm.

Một phần của tài liệu nguyên lý các hệ điều hành (Trang 76 - 78)