CHƢƠNG 7 QUẢN Lí BỘNHỚ
7.1 Bộnhớ thực
7.1.3 Hoỏn chuyển bộnhớ (Swapping)
Trong cỏc hệ đa nhiệm đó xem xột ở trờn thỡ chỳng ta đều giả sử rằng chương trỡnh ứng dụng luụn nằm trong bộ nhớ đến khi nú kết thỳc. Cũn cú cơ chế khỏc gọi là Swapping mà khụng cần điều kiện đú.
Trong một số hệ thống dựng Swapping (hỡnh.4.1.2) thỡ mỗi thời điểm trờn cả bộ nhớ chỉ cú một chương trỡnh ứng dụng. Chương trỡnh đú thực hiện đến khi cú thể sau đú nú giải phúng cả bộ xử lý và bộ nhớ để cho chương trỡnh tiếp theo. Như thế, toàn bộ bộ nhớ được dành cho một chương trỡnh trong khoảng thời gian ngắn, và sẽ bị đưa ra khỏi bộ nhớ, chương trỡnh tiếp theo được nạp vào bộ nhớ. Bỡnh thường thỡ một chương trỡnh trong quỏ trỡnh chạy từ đầu đến lỳc kết thỳc sẽ bị swap nhiều lần.
Trong cỏc hệ thống phõn chia thời gian cú sử dụng Swapping, khi số chương trỡnh khỏ ớt thỡ hệ thống cú thể đảm bảo thời gian trả lời chấp nhận được, cũn khi số chương trỡnh nhiều thỡ cỏc nhà thiết kế hiểu rằng cần cú cỏc phương phỏp và cụng cụ hiệu quả hơn. Trờn cơ sở hệ thống với Swapping đầu những năm 1960, người ta đó xõy dựng nhiều hệ thống với sự tổ chức bộ nhớ theo trang (Page) và ngày nay trở nờn thụng dụng.
Cũng đó cú xõy dựng cỏc hệ thống phức tạp hơn với Swapping, trong đú cho phộp phõn bố trong bộ nhớ nhiều chương trỡnh. Trong cỏc hệ thống đú, chương trỡnh bị đưa ra khỏi bộ nhớ chỉ khi vựng bộ nhớ của nú cần thiết để nạp chương trỡnh khỏc. Trong trường hợp dung lượng bộ nhớ khỏ lớn thỡ cỏc hệ thống đú hoạt động tốt hơn đỏng kể do giảm được thời gian thực hiện Swapping.
Hệ thống đa nhiệm với Swapping, tại mỗi thời điểm chỉ cú một chương trỡnh trong bộ nhớ. Chương trỡnh đú tiếp tục đến khi cú một trong cỏc sự kiện sau xảy ra:
Xuất hiện tớn hiệu Timer.
Vựng Swapping của chương trỡnh đú sẽ được copy vào bộ nhớ ngoài, cũn ảnh bộ nhớ của chương trỡnh tiếp theo sẽ được nạp vào vựng Swapping. Chương trỡnh thứ hai tiếp tục được thực hiện, quỏ trỡnh cứ thế tiếp tục.