Phân chương cố định

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

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

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

3.3.1. Phân chương cố định

Phân chương cố định là phương pháp đơn giản nhất để phân chia bộ nhớ cho các tiến trình. Bộ nhớ được phân thành những chương có kích thước cố định ở những vị trí cố định. Mỗi chương chứa được đúng một tiến trình do đó số tiến trình tối đa có thể chứa đồng thời trong bộ nhớ sẽ bị giới hạn bởi số lượng chương. Khi được tải vào, tiến trình được cấp phát một chương. Sau khi tiến trình kết thúc, hệ điều hành giải phóng chương và chương có thể được cấp phát tiếp cho tiến trình mới.

Lựa chọn kích thước chương. Kích thước các chương có thể chọn bằng nhau hoặc

không bằng nhau. Việc chọn các chương kích thước bằng nhau mặc dù đơn giản hơn một chút song rất khơng mềm dẻo. Tiến trình có kích thước lớn hơn kích thước chương sẽ khơng thể tải vào chương và chạy được. Muốn cho chương chứa được các tiến trình lớn, ta phải tăng kích thước của chương bằng kích thước của tiến trình lớn nhất. Do mỗi tiến trình chiếm cả một chương, các tiến trình nhỏ cũng được cung cấp và chiếm cả chương như một tiến trình lớn. Phần bộ nhớ rất đáng kể còn lại của chương sẽ bị bỏ trống gây lãng phí bộ nhớ. Hiện tượng này gọi là phân mảnh trong (internal fragmentation).

Trên thực tế, hệ điều hành chỉ sử dụng phương pháp phân chương với kích thước chương khơng bằng nhau.

Giả sử các chương có kích thước khác nhau và xuất hiện u cầu cung cấp chương cho tiến trình. Các tiến trình cần được tải vào được sắp xếp trong hàng đợi chờ đến lượt được cấp chương nhớ.

Có hai cách lựa chọn chương nhớ để cấp cho tiến trình đang chờ đợi. Cách thứ nhất là lựa chọn chương nhỏ nhất có thể chứa tiến trình, tạm gọi là lựa chọn chương phù hợp nhất, để cấp. Mỗi chương khi đó có một hàng đợi riêng. Tiến trình có kích thước phù hợp với chương nào sẽ nằm trong hàng đợi của chương đó (hình 3.3 a).

Ưu điểm của cách cấp chương này là cho phép giảm tối thiểu phân mảnh trong và do đó tiết kiệm được bộ nhớ. Tuy nhiên tính từ quan điểm tồn cục của hệ thống, cách cấp chương này có một nhược điểm đáng kể sau. Do mỗi chương có một hàng đợi riêng nên sẽ có thời điểm hàng đợi của chương lớn hơn thì rỗng và chương cũng khơng chứa tiến trình nào, trong

khi hàng đợi của chương nhỏ hơn thì có các tiến trình. Các tiến trình nhỏ này buộc phải đợi được cấp chương nhỏ trong khi có thể tải vào chương lớn hơn và chạy. Trên hình 3.3 a, chương 3 trống và khơng được sử dụng, cịn các tiến trình nhỏ vẫn phải chờ chương 1, 2.

Hình 3.3. Cấp phát bộ nhớ sử dụng phân chương cố định. (a) Mỗi chương có hàng đợi riêng. (b) Một hàng đợi chung cho tất cả các chương

Cách thứ hai cho phép khắc phục nhược điểm nói trên. Trong cách này, hệ điều hành sử dụng một hàng đợi duy nhất cho tất cả các chương (hình 3.3 b). Mỗi khi có khi có một chương trống, tiến trình nằm gần đầu hàng đợi nhất và có kích thước phù hợp với chương sẽ được tải vào để thực hiện. Với cách lựa chọn như vậy, có thể tiến trình ở đầu hàng đợi hơn và có thứ tự ưu tiên cao hơn sẽ bị tải vào sau. Để tránh cho tiến trình bị bỏ qua nhiều lần do kích thước khơng phù hợp và phải đứng quá lâu trong hàng đợi, có thể quy định số lần tối đa n mà mỗi tiến trình bị bỏ qua. Mỗi khi tiến trình bị “chen ngang” trong hàng đợi, tiến trình sẽ được thêm một điểm. Khi tiến trình được n điểm, hệ điều hành sẽ tìm khả năng gần nhất để tải tiến trình vào bộ nhớ.

Một ví dụ kinh điển về sử dụng thành công phương pháp phân chương này là hệ điều hành cho máy tính của hãng IBM OS/360 với phương pháp có tên gọi MFT (Multiprogramming with Fixed number of Tasks). Kích thước và số lượng chương do người vận hành máy quy định và được giữ nguyên trong những khoảng thời gian tương đối dài, chẳng hạn trong cả một phiên làm việc.

Mặc dù phương pháp phân chương cố định tương đối đơn giản, song phương pháp này có một số nhược điểm. Thứ nhất, số lượng tiến trình trong bộ nhớ bị hạn chế bởi số lượng chương. Thứ hai, do bị phân mảnh trong nên bộ nhớ được sử dụng không hiệu quả. Hiện nay, phương pháp phân chương này hầu như không được sử dụng.

Chương 4 500 MB 500 MB Chương 3 300 MB Chương 2 200 MB Chương 1 150 MB Hệ điều hành Chương 4 500 MB Chương 3 300 MB Chương 2 200 MB Chương 1 150 MB Hệ điều hành (b) (a) Các tiến trình trong một hàng đợi Nhiều hàng đợi PTIT

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