Kỹ thuật phõn vựng cố định (Fixed Partitioning)

Một phần của tài liệu BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH - TRẦN ANH TUẤN pptx (Trang 60 - 61)

- Độ ưu tiờn của cỏc tiến trỡnh là (5 là độ ưu tiờn cao nhất): 1 1 2 4

3.2.1.Kỹ thuật phõn vựng cố định (Fixed Partitioning)

3.2.1.1. Hệ thống đơn chương (cấp phỏt 1 vựng BN liờn tục)

Khụng gian địa chỉ của bộ nhớ chớnh được chia thành 2 phần cố định, phần nằm ở vựng địa chỉ thấp dựng để chứa chớnh HĐH, phần cũn lại, tạm gọi là phần user program, dựng cho người sử dụng.

Phần user program được cấp cho một chương trỡnh duy nhất. Hệ điều hành chỉ kiểm soỏt sự truy xuất bộ nhớ của chương trỡnh người sử dụng, khụng cho nú truy xuất lờn vựng nhớ của HĐH. Để thực hiện việc này HĐH sử dụng một thanh ghi giới hạn. Địa chỉ cao nhất của vựng nhớ cấp cho HĐH được nạp vào thanh ghi giới hạn (chặn dưới của địa chỉ vựng nhớ cấp cho người dựng). Khi chương trỡnh người sử dụng cần truy xuất một địa chỉ nào đú thỡ HĐH sẽ so sỏnh địa chỉ này với giỏ trị địa chỉ được ghi trong thanh ghi giới hạn, nếu nhỏ hơn thỡ từ chối khụng cho truy xuất, ngược lại thỡ cho phộp truy xuất. Việc so sỏnh địa chỉ này cần phải cú sự hỗ trợ của phần cứng và cú thể làm giảm tốc độ truy xuất bộ nhớ của hệ thống nhưng bảo vệ được HĐH trỏnh việc chương trỡnh của người sử dụng làm hỏng HĐH dẫn đến làm hỏng hệ thống.

3.2.1.2. Hệ thống đa chương

Trong cỏc hệ thống đa chương, phần user program lại được phõn ra thành nhiều phõn vựng (partition) với cỏc cố định cú kớch thước ngẫu nhiờn tựy ý. Một tiến trỡnh cú thể được nạp vào bất kỳ partition nào nếu kớch thước của nú nhỏ hơn hoặc bằng kớch thước của partition và partition này cũn trống. Khi cú một tiến trỡnh cần được nạp vào bộ nhớ nhưng tất cả cỏc partition đều đó chứa cỏc tiến trỡnh khỏc thỡ HĐH cú thể chuyển một tiến trỡnh nào đú, mà HĐH cho là hợp lệ (kớch thước vừa đủ, khụng đang ở trạng thỏi ready hoặc running, khụng cú quan hệ với cỏc tiến trỡnh running khỏc,...), ra ngoài (swap out), để lấy partition trống đú nạp tiến trỡnh vừa cú yờu cầu. Đõy là nhiệm vụ phức tạp 60

của HĐH, HĐH phải chi phớ cao cho cụng việc này.

Khi phõn vựng cố định với kớch thước bằng nhau, phỏt sinh tồn tại sau:

- Khi kớch thước của một chương trỡnh là quỏ lớn so với kớch thước của một partition thỡ người lập trỡnh phải thiết kế chương trỡnh theo cấu trỳc overlay, theo đú chỉ những phần cần thiết của chương trỡnh mới được nạp vào bộ nhớ chớnh khi khởi tạo chương trỡnh, sau đú người lập trỡnh phải nạp tiếp cỏc modun cần thiết khỏc vào đỳng partition của chương trỡnh và sẽ ghi đố lờn bất kỳ chương trỡnh hoặc dữ liệu ở trong đú. Cấu trỳc chương trỡnh overlay tiết kiệm được bộ nhớ nhưng yờu cầu cao ở người lập trỡnh. - Khi kớch thước của một chương trỡnh nhỏ hơn kớch thước của một partition hoặc quỏ lớn so với kớch thước của một partition nhưng khụng phải là bội số của kớch thước một partition thỡ dễ xảy ra hiện tượng phõn mảnh bờn trong1 (internal fragmentation) bộ nhớ, gõy lóng phớ bộ nhớ.

Khi phõn vựng cú kớch thước khụng bằng nhau, việc đưa một tiến trỡnh vào partition sẽ phức tạp hơn nhiều so với trường hợp cỏc phõn vựng cú kớch thước bằng nhau. Khi đú cú hai cỏch để lựa chọn khi đưa một tiến trỡnh vào partition:

- Mỗi phõn vựng cú một hàng đợi tương ứng, theo đú mỗi tiến trỡnh được đưa đến hàng đợi của phõn vựng cú kớch thước nhỏ nhất đủ thỏa món nhu cầu chứa nú. Cỏch tiếp cận này sẽ đơn giản trong việc đưa một tiến trỡnh từ hàng đợi vào phõn vựng vỡ khụng cú sự lựa chọn nào khỏc ở đõy, khi phõn vựng mà tiến trỡnh đợi trống nú sẽ được đưa vào phõn vựng đú. Tuy nhiờn cỏc tiếp cận này kộm linh động vỡ cú thể cú một phõn vựng đang trống, trong khi đú cú nhiều tiến trỡnh đang phải phải đợi để được nạp vào cỏc phõn vựng khỏc, điều này gõy lóng phớ trong việc sử dụng bộ nhớ.

- Hệ thống dựng một hàng đợi chung cho tất cả cỏc phõn vựng, theo đú tất cả cỏc tiến trỡnh được đưa vào hàng đợi chung này. Sau đú nếu cú một phõn vựng trống thỡ hệ thống sẽ xem xột để đưa một tiến trỡnh cú kớch thước vừa đủ vào phõn vựng trống đú. Cỏch tiếp cận này linh động hơn so với việc sử dụng nhiều hàng đợi như ở trờn, nhưng việc chọn một tiến trỡnh trong hàng đợi để đưa vào phõn vựng là một việc làm khỏ phức tạp của HĐH vỡ nú phải dựa vào nhiều yếu tố khỏc nhau như: độ ưu tiờn của tiến trỡnh, trạng thỏi hiện tại của tiến trỡnh, cỏc mối quan hệ của tiến trỡnh,...

Cấp phỏt phõn vựng cố định cũn một số hạn chế sau đõy:

- Số lượng cỏc tiến trỡnh cú thể hoạt động trong hệ thống tại một thời điểm phụ thuộc vào số lượng cỏc phõn vựng cố định trờn bộ nhớ.

- Nếu kớch thước của tiến trỡnh nhỏ hơn kớch thước của một phõn vựng thỡ cú thể dẫn đến hiện tượng phõn mảnh nội vi gõy lóng phớ trong việc sử dụng bộ nhớ.

Sự phõn vựng cố định ớt được sử dụng trong cỏc hệ điều hành hiện nay.

Một phần của tài liệu BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH - TRẦN ANH TUẤN pptx (Trang 60 - 61)