



Preview text:
SWAPPING Khái niệm:
Swapping là một chương trình quản lý bộ nhớ trong đó bất kỳ tiến trình nào
cũng có thể được hoán đổi tạm thời từ bộ nhớ chính sang bộ nhớ thứ cấp để
bộ nhớ chính có thể được sử dụng cho các tiến trình khác.
- Trong bộ nhớ thứ cấp, nơi lưu trữ tiến trình được hoán đổi được gọi là
không gian hoán đổi.(backing store)
Việc hoán đổi trong hệ điều hành giúp truy cập dữ liệu có trong bộ nhớ thứ cấp
và chuyển dữ liệu đó đến bộ nhớ chính để các chương trình ứng dụng sử dụng.
Nó có thể ảnh hưởng đến hiệu suất hệ thống, nhưng nó giúp chạy nhiều hơn
một quy trình bằng cách quản lý bộ nhớ. Do đó, việc hoán đổi trong hệ điều
hành cũng được gọi là kỹ thuật nén bộ nhớ
-Trong quá trình hoán đổi, có hai khái niệm quan trọng được gọi là Swap In và
Swap Out. Hai thuật ngữ này được sử dụng để mô tả quá trình chuyển giao các
tiến trình từ bộ nhớ chính sang bộ nhớ thứ cấp (không gian hoán đổi) và ngược lại. Swap Out:
Phương pháp Swap Out được sử dụng để chuyển các tiến trình từ bộ nhớ chính
sang bộ nhớ thứ cấp khi hệ thống sắp hết bộ nhớ. Khi một tiến trình nhàn rỗi
hoặc bị chặn, nó sẽ được hoán đổi khỏi bộ nhớ chính và được lưu vào không
gian hoán đổi để giải phóng không gian trong bộ nhớ chính. Tiến trình này cho
phép các tiến trình khác sử dụng bộ nhớ mà trước đó đã bị tiến trình hoán đổi chiếm giữ.
- Chọn tiến trình để đưa ra backing store Swap In:
Phương pháp Swap In được sử dụng để chuyển các tiến trình từ bộ nhớ thứ
cấp trở lại bộ nhớ chính khi CPU cần thực hiện lại tiến trình. Khi một tiến trình
đã được hoán đổi trở nên hoạt động trở lại, nó sẽ được hoán đổi trở lại bộ nhớ
chính từ không gian hoán đổi.
- Chọn tiến trình từ backing store để đưa vào bộ nhớ trong
Ví dụ về việc hoán đổi trong hệ điều hành
Hãy cùng tìm hiểu khái niệm hoán đổi trong hệ điều hành thông qua một ví dụ.
Giả sử có bốn tiến trình P1, P2, P3 và P4 đang chạy trong hệ thống và yêu cầu
về bộ nhớ của chúng như sau: P1 cần 1 GB bộ nhớ P2 cần 1 GB bộ nhớ P3 cần 500 MB bộ nhớ P4 cần 500 MB bộ nhớ
Giả sử tổng bộ nhớ vật lý khả dụng trong hệ thống chỉ là 2 GB. (SƠ ĐỒ TỚ TỰ
VẼ NHÉ, NHỚ CHỪA 1 SLIDE TRỐNG CHO TƠ)
-Trong trường hợp này, không thể phân bổ bộ nhớ cho tất cả các tiến trình
cùng lúc, vì tổng yêu cầu bộ nhớ là 3 GB, nhiều hơn bộ nhớ khả dụng.
Trong tình huống như vậy, hệ điều hành sử dụng kỹ thuật hoán đổi để quản lý
yêu cầu bộ nhớ của các tiến trình. Hãy xem quá trình hoán đổi hoạt động như thế nào:
Ban đầu, các tiến trình P1 và P2 được tải vào bộ nhớ chính và các tiến trình P3
và P4 được hoán đổi sang bộ nhớ thứ cấp (không gian hoán đổi).
Khi CPU cần thực thi P3, nó sẽ hoán đổi P3 từ không gian hoán đổi vào bộ nhớ
chính và hoán đổi P1 ra không gian hoán đổi. Bây giờ, bộ nhớ chính chứa P2 và
P3, và P1 nằm trong không gian hoán đổi cùng với P4.
Tương tự như vậy, khi CPU cần thực hiện P4, nó sẽ hoán đổi P4 từ không gian
hoán đổi vào bộ nhớ chính và hoán đổi P2 ra không gian hoán đổi. Bây giờ, bộ
nhớ chính chứa P3 và P4, còn P1 và P2 nằm trong không gian hoán đổi.
Khi CPU cần thực hiện P1 một lần nữa, nó sẽ hoán đổi P1 từ không gian hoán
đổi sang bộ nhớ chính và hoán đổi P3 ra không gian hoán đổi. Bây giờ, bộ nhớ
chính chứa P1 và P4, còn P2 và P3 nằm trong không gian hoán đổi.
Cuối cùng, khi CPU cần thực hiện P2 một lần nữa, nó sẽ hoán đổi P2 từ không
gian hoán đổi sang bộ nhớ chính và hoán đổi P4 ra không gian hoán đổi. Bây
giờ, bộ nhớ chính chứa P1 và P2, còn P3 và P4 nằm trong không gian hoán đổi.
Việc hoán đổi trong hệ điều hành sẽ quản lý các yêu cầu về bộ nhớ của các tiến
trình một cách hiệu quả và đảm bảo rằng các tiến trình quan trọng luôn nằm
trong bộ nhớ chính và có thể được CPU thực thi khi cần. Ưu điểm:
Sử dụng bộ nhớ hiệu quả: Nó giúp đáp ứng nhiều quy trình yêu cầu nhiều bộ
nhớ hơn không gian bộ nhớ khả dụng. Khi một quy trình không cần thiết, nó sẽ
được hoán đổi ra khỏi bộ nhớ chính sang bộ nhớ thứ cấp và thay thế bằng một quy trình khác.
Hiệu suất hệ thống tốt hơn: Bằng cách giải phóng không gian bộ nhớ trong bộ
nhớ chính, nó cho phép nhiều quy trình được thực hiện đồng thời, do đó tăng
thông lượng chung của hệ thống.
Giảm chặn quy trình: Khi một quy trình được hoán đổi ra khỏi bộ nhớ chính, nó
sẽ tạm thời bị treo cho đến khi được hoán đổi trở lại. Điều này giúp ngăn chặn
các quy trình bị chặn do bộ nhớ không khả dụng.
Tính linh hoạt: Nó cho phép hệ điều hành đáp ứng các quy trình có yêu cầu bộ nhớ khác nhau. Nhược điểm:
Chi phí hiệu suất: Quá trình hoán đổi bao gồm việc đọc và ghi dữ liệu vào và ra
khỏi bộ nhớ thứ cấp, có thể chậm hơn so với việc truy cập dữ liệu từ bộ nhớ chính.
Chi phí lưu trữ: Việc hoán đổi hệ điều hành đòi hỏi không gian chuyên dụng
trên bộ nhớ thứ cấp để lưu trữ các quy trình hoán đổi. Điều này có thể gây ra
chi phí lưu trữ, đặc biệt nếu kích thước của các quy trình hoán đổi lớn.
Sự cố về tính toàn vẹn dữ liệu: Việc hoán đổi trong hệ điều hành có thể dẫn
đến sự cố về tính toàn vẹn dữ liệu nếu quy trình hoán đổi chứa dữ liệu quan
trọng không được lưu trước quy trình hoán đổi. Trong trường hợp như vậy, dữ
liệu có thể bị mất, dẫn đến sự cố hệ thống hoặc hỏng dữ liệu.
Tăng hoạt động của đĩa: Hoán đổi làm tăng hoạt động của đĩa vì hệ điều hành
cần đọc và ghi dữ liệu vào và ra khỏi bộ nhớ thứ cấp. Điều này có thể gây hao
mòn đĩa và làm giảm tuổi thọ của đĩa.