Professional Documents
Culture Documents
Quản lý bộ nhớ
1. TỔNG QUAN
1.1 Vì sao phải tổ chức, quản lý bộ nhớ?
CPU chỉ có thể trao đổi thông tin với bộ nhớ
chính
Các chương trình muốn được thực thi cần được
nạp vào bộ nhớ chính, tạo lập tiến trình tương
ứng để xử lý
Các hệ thống đa chương trên bộ nhớ chính ngoài
HĐH có thể có nhiều tiến trình đang hoạt động
Kích thước bộ nhớ chính là hữu hạn nhưng yêu
cầu bộ nhớ thì vô hạn
…
3
1.1 Vì sao phải tổ chức, quản lý bộ nhớ?
Như vậy, HĐH cần phải tổ chức quản lý bộ nhớ
một cách hợp lý để có thể:
Đưa bất kỳ một tiến trình nào đó vào bộ nhớ khi
có yêu cầu, cho dù khi trên bộ nhớ không còn
không gian trống
Bảo vệ các tiến trình của hệ điều hành và các tiến
trình trên bộ nhớ, tránh các trường hợp truy xuất
bất hợp lệ xảy ra.
4
1.2 Nhiệm vụ quản lý bộ nhớ
Tái định vị
Bảo vệ bộ nhớ
Chia sẻ bộ nhớ
Tổ chức bộ nhớ logic
Tổ chức bộ nhớ vật lý
5
Tái định vị (Relocation)
Trong các hệ thống đa chương không gian bộ nhớ
chính thường được chia sẽ cho nhiều tiến trình và
yêu cầu bộ nhớ của các tiến trình luôn lớn hơn
không gian bộ nhớ vật lý mà hệ thống hiện có
Cần thực hiện cơ chế hoán đổi (Swap):
Một chương trình đang hoạt động trên bộ nhớ sẽ bị
đưa ra đĩa (swap-out) và sẽ được đưa vào lại (swap-
in) tại thời điểm thích hợp
Khi thực hiện swap-in 1 chương trình vào lại bộ nhớ
HĐH phải định vị nó đúng vào vị trí mà trước khi nó bị
swap-out
6
Bảo vệ bộ nhớ (Protection)
Mỗi tiến trình phải được bảo vệ để chống lại sự
truy xuất bất hợp lệ vô tình hay có chủ ý của các
tiến trình khác.
Mỗi tiến trình chỉ được phép truy xuất đến không
gian địa chỉ mà HĐH đã cấp cho nó
Bộ phận Qlý bộ nhớ phải biết không gian địa chỉ
của tất cả các tiến trình trên bộ nhớ
Khi tiến trình đưa ra địa chỉ truy xuất bộ phận Qlý
bộ nhớ phải kiểm tra tất cả các yêu cầu truy xuất
bộ nhớ của mỗi tiến trình
7
Chia sẻ bộ nhớ (Sharing)
Bất kỳ một chiến lược nào được cài đặt đều
phải có tính mềm dẻo để cho phép nhiều tiến
trình có thể truy cập đến cùng một địa chỉ trên
bộ nhớ chính
Ví dụ, khi có nhiều tiến trình cùng thực hiện
một chương trình thì việc cho phép mỗi tiến
trình cùng truy cập đến một bản copy của
chương trình sẽ thuận lợi hơn khi cho phép
mỗi tiến trình truy cập đến một bản copy sở
hữu riêng.
8
Tổ chức bộ nhớ logic (Logical organization)
Bộ nhớ chính của hệ thống máy tính được tổ
chức như là một dòng hoặc một mảng
Không gian địa chỉ bao gồm một dãy có thứ tự
các byte hoặc các word.
Bộ nhớ phụ cũng được tổ chức tương tự
Cách tổ chức này có sự kết hợp chặt chẽ với
phần cứng máy tính nhưng lại không phù hợp với
cách xây dựng của chương trình
Đại đa số các chương trình được tổ chức thành
các modul
9
Tổ chức bộ nhớ vật lý (Physical organization)
Bộ nhớ máy tính được tổ chức theo 2 cấp:
Bộ nhớ chính: tốc độ truy xuất nhanh, nhưng giá
thành cao và dữ liệu không thể tồn tại lâu dài trên
nó.
Bộ nhớ phụ: giá rẻ, dung lượng lớn, dữ liệu được
lưu trữ lâu dài nhưng tốc độ truy xuất chậm.
Theo giản đồ 2 cấp này, việc tổ chức luồng thông
tin giữa bộ nhớ chính và bộ nhớ phụ là nhiệm vụ
quan trọng của hệ thống
10
1.3. Không gian địa chỉ và không gian
vật lý
Địa chỉ logic (logical address) – còn gọi là địa chỉ ảo , là
tất cả các địa chỉ do bộ xử lý tạo ra.
Địa chỉ vật lý (physical address) - là địa chỉ thực tế mà
trình quản lý bộ nhớ nhìn thấy và thao tác.
Không gian địa chỉ – là tập hợp tất cả các địa chỉ ảo phát
sinh bởi một chương trình.
Không gian vật lý – là tập hợp tất cả các địa chỉ vật lý
tương ứng với các địa chỉ ảo.
Việc ánh xạ tại thời điểm thực thi từ địa chỉ ảo tới địa chỉ
vật lý được thực hiện bởi một thiết bị phần cứng được gọi
là bộ quản lý bộ nhớ MMU (memory-management unit)
11
Sô ñoà taùi ñònh vò ñoäng (Dynamic Relocation)
13
SÖÛ DUÏNG BASE REGISTER VAØ LIMIT REGISTER
14 Memory
THUAÄT GIAÛI BAÛO VEÄ BOÄ NHÔÙ
Job i
Assembler common
30K
routines
Total memory
available = 150KB overlay
10K
driver naïp vaø thöïc thi
pass 1 pass 2
17 70K 80K
Cô cheá swapping
Moät process coù theå taïm thôøi bò swap ra khoûi boä nhôù
chính vaø löu treân moät heä thoáng löu tröõ phuï. Sau ñoù,
process coù theå ñöôïc naïp laïi vaøo boä nhôù ñeå tieáp tuïc
quaù trình thöïc thi.
Swapping policy: hai ví duï
Round-robin: swap out P1 (vöøa tieâu thuï heát quantum cuûa
noù), swap in P2 , thöïc thi P3 ,…
Roll out, roll in: duøng trong cô cheá ñònh thôøi theo ñoä öu tieân
(priority-based scheduling)
Process coù ñoä öu tieân thaáp hôn seõ bò swap out nhöôøng choã cho
process coù ñoä öu tieân cao hôn môùi ñeán ñöôïc naïp vaøo boä nhôù ñeå
thöïc thi
Hieän nay, ít heä thoáng söû duïng cô cheá swapping treân
18
Minh hoïa cô cheá swapping
19
Phaân maûnh (fragmentation)
Phaân maûnh ngoaïi (external fragmentation)
Kích thöôùc khoâng gian nhôù coøn troáng ñuû ñeå thoûa maõn
moät yeâu caàu caáp phaùt, tuy nhieân khoâng gian nhôù naøy
khoâng lieân tuïc coù theå duøng cô cheá keát khoái (compaction)
ñeå gom laïi thaønh vuøng nhôù lieân tuïc.
20
Phaân maûnh noäi
operating yeâu caàu keá tieáp
system laø 18,462 bytes !!!
(used)
21
Phaân caáp boä nhôù
22
NGUYEÂN TAÉC LÖU GAÀN (CACHING)
– Laø nguyeân taéc quan troïng cuûa heä thoáng maùy
tính.
– Thoâng tin töø RAM coù theå ñöôïc cô cheá phaàn
cöùng ñöa vaøo boä nhôù nhanh hôn goïi laø Cache.
Khi CPU caàn chính thoâng tin ñoù, khoâng caàn phaûi
truy xuaát RAM, maø laáy ngay töø Cache.
– Loaïi boä nhôù naøy khoâng do HÑH quaûn lyù vaø
caáp phaùt.
– Thöïc teá, RAM (Boä nhôù Sô caáp) laø loaïi Cache
nhanh so vôùi ñóa cöùng (Boä nhôù thöù caáp) vaø
HÑH coù chöùc naêng quaûn lyù söï löu chuyeån döõ
23
lieäu giöõa 2 loaïi boä nhôù
2. KỸ THUẬT CẤP PHÁT BỘ NHỚ
Kỹ thuật phân vùng cố định (Fixed partitioning)
Kỹ thuật phân vùng động (Dynamic partitioning)
Kỹ thuật phân trang (Paging)
Kỹ thuật phân đoạn (Segmentation)
25
2.1 Kỹ thuật phân vùng cố định
Không gian địa chỉ được chia thành 2 vùng cố
định
Vùng địa chỉ thấp dùng để chứa HĐH
Vùng còn lại cấp cho các tiến trình được nạp vào
bộ nhớ chính (user program)
26
2.1 Kỹ thuật phân vùng cố định
27
2.1 Kỹ thuật phân vùng cố định
28
2.1 Kỹ thuật phân vùng cố định
(8M) 2M
(8M) 4M
(8M) 6M
(8M) 8M
(8M) 8M
(8M) 12M
(8M) 16M
OS (8M)
OS(8M)
Phân vùng kích thước bằng nhau Phân vùng kích thước không bằng nhau
30
2.1 Kỹ thuật phân vùng cố định
31
2.1 Kỹ thuật phân vùng cố định
32
2.1 Kỹ thuật phân vùng cố định
Lựa chọn 1:
Mỗi phân vùng có một hàng
đợi tương ứng
Khi 1 tiến trình cần được nạp
vào bộ nhớ sẽ đưa vào hàng
đợi của phân vùng có kích Tiến trình
thước vừa đủ để chứa nó để mới
được đưa vào phân vùng
Nhược điểm: Có thể có phân
vùng đang trống nhưng lại có
nhiều tiến trình đang chờ để OS
vào phân vùng khác
33
2.1 Kỹ thuật phân vùng cố định
Lựa chọn 2:
Dùng 1 hàng đời chung cho
tất cả các phân vùng
Khi có tiến trình muốn nạp
vào bộ nhớ nhưng chưa
được nạp sẽ được đưa vào
hàng đợi Tiến trình
Khi có phân vùng trống, mới
HĐH sẽ chọn tiến trình có
kích thước vừa đủ để đưa OS
vào phân vùng
Phương pháp này gây khó
khăn trong việc lựa chọn tiến
trình để nạp vào phân vùng
34
2.2 Kỹ thuật phân vùng động
35
2.2 Kỹ thuật phân vùng động
1. Tiến trình 1,2,3,4 lần lượt được
nạp vào bộ nhớ
Process4
2. Tiến trình 2 kết thúc, vùng nhớ 128k
được giải phóng
3. Tiến trình 5 được nạp vào vùng
Process3
nhớ của tiến trình 2 vừa giải 32k
phóng
4. Tiến trình 6 yêu cầu được nạp vào
bộ nhớ nhưng không thể vì không Process2
Process5
128k
có vùng nhớ trống phù hợp để Process6 120k
65k
nạp trong khi tổng dung lượng
nhớ còn trống lớn hơn kích thước
Process1
mà tiến trình yêu cầu 64k
OS- 128k
36
2.2 Kỹ thuật phân vùng động
Trong kỹ thuật phân vùng động, HĐH phải đưa ra các
cơ chế thích hợp để quản lý các khối nhớ đã cấp phát
hay còn trống trên bộ nhớ.
HĐH sử dụng 2 cơ chế: Bản đồ bít và Danh sách liên
kết.
Hai cơ chế HĐH đều chia không gian nhớ thành các
đơn vị cấp phát có kích thước bằng nhau, các đơn vị
cấp phát liên tiếp nhau tạo thành 1 khối nhớ, HĐH
cấp phát các khối nhớ này cho các tiến trình
37
2.2 Kỹ thuật phân vùng động
Bản đồ bit
38
2.2 Kỹ thuật phân vùng động
Cơ chế danh sách liên kết:
Mỗi khối trên bộ nhớ được đại diện bởi một phần tử
trong danh sách liên kết
Mỗi phần tử gồm 4 trường chính:
Trường đầu tiên: cho biết khối nhớ đã cấp phát (kí
hiệu P) hay còn trống (kí hiệu H)
Trường thứ 2: cho biết thư tự của đơn vị cấp phát
đầu tiên trong khối
Trường thứ 3: cho biết đơn vị tổng số đơn vị cấp
phát trong khối
Con trỏ Next
39
2.2 Kỹ thuật phân vùng động
40
2.2 Kỹ thuật phân vùng động
Khi có một tiến trình cần được nạp vào bộ nhớ mà
bộ nhớ có nhiều hơn một khối nhớ trống có kích
thước lớn hơn kích thước của tiến trình đó, HĐH
phải quyết định chọn một khối nhớ phù hợp để nạp
tiến trình sao cho việc lựa chọn này dẫn đến việc sử
dụng bộ nhớ chính là hiệu quả nhất.
Thuật toán mà HĐH sử dụng trong trường hợp này:
Best-fit, Worst-fit, First-fit, và Next-fit
41
Duøng ñeå quyeát ñònh caáp
phaùt khoái boä nhôù troáng
naøo cho moät process
Muïc tieâu: giaûm chi phí
compaction
Caùc chieán löôïc placement
Best-fit: choïn khoái nhôù troáng
nhoû nhaát
First-fit: choïn khoái nhôù troáng
phuø hôïp ñaàu tieân keå töø
ñaàu boä nhôù
Next-fit: choïn khoái nhôù troáng
phuø hôïp ñaàu tieân keå töø vò
trí caáp phaùt cuoái cuøng
Worst-fit: choïn khoái nhôù
troáng lôùn nhaát
42
2.3 Kỹ thuật phân trang
44
Chuyển đổi địa chỉ
Mỗi địa chỉ phát sinh bởi CPU được chia thành hai
phần:
số hiệu trang - Page number (p): sử dụng như chỉ
mục đến phần tử tương ứng trong bảng trang.
địa chỉ tương đối trong trang - Page offset (d): kết hợp
với địa chỉ bắt đầu của trang để tạo ra địa chỉ vật lý mà
trình quản lý bộ nhớ sử dụng.
Neáu kích thöôùc cuûa khoâng gian ñòa chæ aûo laø 2m, vaø kích
thöôùc cuûa trang laø 2n (ñôn vò laø byte hay word tuøy theo
kieán truùc maùy) thì page number page offset
p d
m n bits n bits
(ñònh vò töø 0 2m n 1) (ñònh vò töø 0 2n 1)
45 Baûng phaân trang seõ coù toång coäng 2m/2n = 2m n muïc (entry)
2.3 Kỹ thuật phân trang
f frames
logical physical
address address f 00…00
CPU p d f d
f 11…11
physical
memory
page table
46
VD
47
Tổ chức lưu trữ bảng trang:
Đa số các hệ điều hành cấp cho mỗi tiến trình
một bảng trang.
Nếu hệ điều hành quản lý một không gian địa chỉ
có dung lượng quá thì bảng trang đòi hỏi một
vùng nhớ qúa lớn
=> Giải pháp: Phân trang đa cấp.
48
Phaân trang ña caáp
49
Baûo veä boä nhôù
Vieäc baûo veä boä nhôù ñöôïc hieän thöïc baèng caùch gaén
vôùi frame caùc bit baûo veä (protection bits) ñöôïc giöõ trong
baûng phaân trang. Caùc bit naøy bieåu thò caùc thuoäc tính sau
read-only, read-write, execute-only
Ngoaøi ra, coøn coù moät valid/invalid bit gaén vôùi moãi muïc
trong baûng phaân trang
“valid”: cho bieát laø trang cuûa process, do ñoù laø moät trang
hôïp leä.
“invalid”: cho bieát laø trang khoâng cuûa process, do ñoù laø
moät trang baát hôïp leä.
Baûo veä baèng valid/ invalid bit
00000 frame valid/ 0
number invalid bit 1
14 bit 0 2 v 2 page 0
1 3 v 3 page 1
2 4 v 4 page 2
3 7 v 5
4 8 v 6
10468
5 9 v 7 page 3
12287
6 0 i 8 page 4
9 page 5
7 0 i
16383 ...
Moãi trang nhôù coù kích thöôùc 2K = 2048
page n
Process coù kích thöôùc 10,468 phaân maûnh noäi ôû frame 9 (chöùa
page 5), caùc ñòa chæ aûo > 12287 laø caùc ñòa chæ invalid.
kieåm tra truy xuaát ñeán baûng phaân trang coù naèm trong baûng hay
khoâng.
Chia sẻ bộ nhớ trong cơ chế phân trang
Cho phép chia sẻ các trang giữa các tiến trình ánh
xạ nhiều địa chỉ logic vào một địa chỉ vật lý duy nhất.
HĐH kiểm tra các thao tác truy xuất trên khung trang
tương ứng có hợp lệ với thuộc tính bảo vệ của nó
không.
52
Loại bỏ được hiện tượng phân mảnh ngoại vi nhưng vẫn
còn hiện tượng nội vi Nếu kích thước của tiến trình không
phải là bội số của kích thước 1 khung trang.
Có sự phân biệt rạch ròi giữa góc nhìn của người
dùng và bộ phận quản lý bộ nhớ:
Góc nhìn của người sử dụng: Tiến trình của người dùng
nhìn bộ nhớ như là một không gian liên tục, đồng nhất
và chỉ chứa duy nhất bản thân tiến trình này.
Góc nhìn của bộ nhớ vật lý: Tiến trình của người sử
dụng được lưu trữ phân tán khắp bộ nhớ, trong bộ nhớ
đồng thời cũng chứa những tiến trình khác.
Phần cứng đảm nhiệm việc chuyển đổi địa chỉ logic
thành địa chỉ vật lý. Sự chuyển đổi này là trong suốt
đối với người sử dụng.
53
2.4 Kỹ thuật phân đoạn
Bộ nhớ chính được chia thành các phần cố định
có kích thước không bằng nhau, được đánh số bắt
đầu từ 0 được gọi là các phân đoạn
Không gian địa chỉ là một tập các phân đoạn
(segments).
Các phân đoạn là những phần bộ nhớ kích thước
khác nhau và có liên hệ logic với nhau. Mỗi phân
đoạn có một tên gọi (số hiệu phân đoạn) và một độ
dài.
Người dùng sẽ thiết lập mỗi địa chỉ với hai giá trị:
<số hiệu phân đoạn, offset>.
54
55
Cơ chế MMU trong kỹ thuật phân đoạn
Cần phải xây dựng một ánh xạ để chuyển đổi các
địa chỉ 2 chiều được người dùng định nghĩa
thành địa chỉ vật lý một chiều. Sự chuyển đổi
này được thực hiện qua một bảng phân đoạn.
Mỗi thành phần trong bảng phân đoạn bao gồm
một thanh ghi nền và một thanh ghi giới hạn:
Thanh ghi nền lưu trữ địa chỉ vật lý nơi bắt đầu phân
đoạn trong bộ nhớ
Thanh ghi giới hạn đặc tả chiều dài của phân đoạn.
56
2.4 Kỹ thuật phân đoạn
57
58
VD
9.59
Chia sẻ phân đoạn
Một ưu điểm khác của kỹ thuật phân đoạn là khả
năng chia sẻ ở mức độ phân đoạn. Nhờ khả năng
này, các tiến trình có thể chia sẻ với nhau từng
phần chương trình (ví dụ các thủ tục, hàm), không
nhất thiết phải chia sẻ toàn bộ chương trình như
trường hợp phân trang
Mỗi tiến trình có một bảng phân đoạn riêng, một
phân đoạn được chia sẻ khi các phần tử trong
bảng phân đoạn của hai tiến trình khác nhau cùng
chỉ đến một vị trí vật lý duy nhất
60
Chia sẻ code trong hệ phân đoạn
61
2.4 Kỹ thuật phân đoạn
Khi tiến trình được nạp vào bộ nhớ thì tất cả các
đoạn của nó được nạp vào các phân đoạn còn trống
trên bộ nhớ, các phân đoạn này có thể không liên tục
nhau
Để theo dõi các đoạn của các tiến trình khác nhau
trên bộ nhớ HĐH sử dụng các bảng phân đoạn
(SCT), thông thường mỗi tiến trình có 1 bảng phân
đoạn riêng
62
Trong hệ thống sử dụng kỹ thuật phân đoạn , hiện
tượng phân mảnh ngoại vi lại xuất hiện khi các khối
nhớ tự do đều quá nhỏ, không đủ để chứa một phân
đoạn.
Tường minh với người sử dụng, cung cấp một sự
thuận lợi để người lập trình tổ chức chương trình và
dữ liệu.
Kỹ thuật này cũng phải giải quyết vấn đề cấp phát
động
Kỹ thuật phân đoạn phải cấp phát các khối nhớ có kích
thước khác nhau cho các phân đoạn trên bộ nhớ vật lý
kết hợp phân trang với phân đoạn.
63
2.5. Phân đoạn kết hợp phân trang
(Paged segmentation)
64
Cơ chế MMU trong kỹ thuật phân đoạn kết
hợp phân trang
Không gian địa chỉ là một tập các phân đoạn, mỗi
phân đoạn được chia thành nhiều trang.
Khi một tiến trình được đưa vào hệ thống, hệ điều
hành sẽ cấp phát cho tiến trình các trang cần thiết
để chứa đủ các phân đoạn của tiến trình.
Cơ chế MMU: Để hỗ trợ kỹ thuật phân đoạn, cần có
một bảng phân đoạn, nhưng giờ đây mỗi phân
đoạn cần có một bảng trang phân biệt.
65
Chuyển đổi địa chỉ
Mỗi địa chỉ logic là một bộ ba: <s,p,d>
số hiệu phân đoạn (s): sử dụng như chỉ
mục đến phần tử tương ứng trong bảng phân
đoạn.
số hiệu trang (p): sử dụng như chỉ mục đến
phần tử tương ứng trong bảng trang của
phânđoạn.
địa chỉ tương đối trong trang (d): kết hợp với
địa chỉ bắt đầu của trang để tạo ra địa chỉ vật
lý mà trình quản lý bộ nhớ sử dụng.
66
Mô hình phân đoạn kế hợp phân trang
67
68
Tóm tắt
Có nhiều cách tiếp cận khác nhau để tổ chức quãn lý bộ nhớ, nhưng tựu
chung mong đạt đến các mục tiêu sau :
Có thể đáp ứng được đầy đủ các nhu cầu bộ nhớ của chương trình với một bộ
nhớ vật lý giới hạn
Quá trình chuyển đổi địa chỉ, tổ chức cấp phát bộ nhớ là trong suốt với người
dùng, và có khả năng tái định vị.
Tận dụng hiệu quả bộ nhớ ( ít có vùng nhớ không sử dụng được)
Bộ nhớ được bảo vệ tốt
Có khả năng chia sẻ bộ nhớ giữa các tiến trình
Một số cách tiếp cận tổ chức bộ nhớ chính
Cấp phát liên tục : có thể cấp phát các vùng nhớ liên tục cho các tiến trình trong
những phân vùng có kích thước cố định hay biến động. Điểm yếu của cách tiếp
cận này là kích thước các chương trình có thể dược xử lý bị giới hạn bởi các kích
thước của khối nhớ liên tục có thể sử dụng. Các hiện tượng phân mảnh ngoại vi,
nội vi đều có thể xuất hiện
Cấp phát không liên tục : có thể cấp phát các vùng nhớ không liên tục cho một
tiến trình. Hai kỹ thuật thường được áp dụng là phân trang và phân đoạn. Kỹ
thuật phân trang cho phép loại bõ hiện tượng phân mảnh ngoại vi, kỹ thuật
phân đoạn loại bỏ hiện tượng phân mảnh nội vi, nhưng phải giải quyết vấn đề
cấp phát động.
69
3. KỸ THUẬT BỘ NHỚ ẢO
3.1 Khái niệm nhớ ảo (virtual memory)
Để thực thi chương trình có kích thước lớn hơn bộ
nhớ vật lý cấp phát cho nó
cần xây dựng chương trình theo cấu trúc Overlay gây
khó khăn cho người lập trình
Để khắc phục khó khăn cho người lập trình, ý
tưởng sử dụng bộ nhớ ảo ra đời
Kỹ thuật bộ nhớ ảo cho phép xử lý một tiến trình
không được nạp toàn bộ vào bộ nhớ vật lý
72
3.2 Cài đặt bộ nhớ ảo
Có thể cài đặt bộ nhớ ảo theo 2 kỹ thuật
Phân trang theo yêu cầu (demand paging): Sử dụng
kỹ thuật phân trang kết hợp với kỹ thuật swap
Phân đoạn theo yêu cầu: sử dụng kỹ thuật phân đoạn
kết hợp với kỹ thuật swap
73
3.2.1 Phân trang theo yêu cầu
Sử dụng kỹ thuật phân trang kết hợp với kỹ thuật
swap
Một chương trình được xem như 1 tập hợp các trang
thường trú trên bộ nhớ ngoài
Khi thực thi hệ thống không nạp toàn bộ chương
trình vào bộ nhớ trong mà chỉ nạp những trang cần
thiết trong thời điểm hiện tại
Một trang chỉ được nạp vào bộ nhớ trong khi cần thiết
74
3.2.1 Phân trang theo yêu cầu
Với mô hình này, cần cung cấp một cơ chế phần cứng
giúp phân biệt các trang đang ở trong bộ nhớ chính và
các trang trên đĩa. Có thể sử dụng lại bit valid-
invalid nhưng với ngữ nghĩa mới:
valid : trang tương ứng là hợp lệ và đang ở trong bộ nhớ
chính .
invalid : hoặc trang bất hợp lệ (không thuộc về không
gian địa chỉ của tiến trình) hoặc trang hợp lệ nhưng đang
được lưu trên bộ nhớ phụ.
Một phần tử trong bảng trang mộ tả cho một trang
không nằm trong bộ nhớ chính, sẽ được đánh dấu
invalid và chứa địa chỉ của trang trên bộ nhớ phụ.
75
Cơ chế phần cứng
76
Thay thế trang
Thuật toán thay thế trang: Thuật toán lựa một trang
“nạn nhân” để chuyển ra bộ nhớ phụ với chung một
mục tiêu: Chọn trang “nạn nhân” là trang mà sau khi
thay thế sẽ gây ra ít lỗi trang nhất.
Chúng ta đánh giá một giải thuật bằng cách chạy nó
trên một chuỗi các tham chiếu bộ nhớ cụ thể và tính
số lượng lỗi trang.
Giải thuật thay thế tối ưu.
Giải thuật thay thế NRU (Not-Recently-Used).
Giải thuật thay thế FIFO.
Giải thuật thay thế Second Chance.
Giải thuật thay thế vòng tròn.
77
Giải thuật thay thế LRU (Least Recently Used).
3.2.2 Phân đoạn đoạn theo yêu cầu
78
3.2.3 Phân đoạn kết hợp phân trang
79