1. Trang chủ
  2. » Tất cả

Chương 4. Quản lý vùng nhớ chính

30 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản Lý Vùng Nhớ Chính
Định dạng
Số trang 30
Dung lượng 252,09 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tổ chức vùng nhớ chính 24 Mục tiêu của việc quản lý vùng nhớ:  Cấp phát vùng nhớ cho các tt có yêu cầu  Thu hồi vùng nhớ khi tt th/h xong  Quản lý vùng nhớ rỗi, vùng nhớ bận  Tại một

Trang 1

Chương 4:

QUẢN LÝ VÙNG NHỚ CHÍNH

1

Trang 2

Nội dung

2

Trang 3

4.1 Tổ chức vùng nhớ chính

L0: regist (~ trăm KB; ps ->ns)L1,L2: SRAM (MB; 0->15ns)L3: DRAM (GB; 60->100ns)L4: đĩa từ (~ trăm GB; ms)L5: băng từ (lớn; 100ms)

Trang 4

4.1 Tổ chức vùng nhớ chính (2)

4

Mục tiêu của việc quản lý vùng nhớ:

 Cấp phát vùng nhớ cho các tt có yêu cầu

 Thu hồi vùng nhớ khi tt th/h xong

 Quản lý vùng nhớ rỗi, vùng nhớ bận

 Tại một thời điểm có thể lưu giữ nhiều tt đồng thời

 Chuyển đổi giữa đ/c logic và đ/c vật lý

 Chia sẻ thông tin trong BN (giữa các tt)

 Ngăn chặn các tt xâm phạm đến vùng nhớ đã được cấp phát

Trang 5

Ax0000 Bx000

Trang 7

4.2 Phân chia bộ nhớ và nạp tiến trình vào bộ nhớ

Phân mảnh nội vi

TT nạp tt: First Fit

Best Fit Worst Fit

Trang 8

4.2 Phân chia bộ nhớ và nạp tiến trình vào bộ nhớ

nhau Khi nạp tt vào vùng nhớ phân chia => ko nhất thiết phải liền kề nhau

First Fit: Tìm vùng nhớ trống đầu tiên trong ds đủ để nạp tt

Best Fit: Tìm vùng nhớ trống trong toàn bộ ds, vừa vặn nhất, hợp lí nhất để nạp tt

Worst Fit: Tìm vùng nhớ trống lớn nhất trong ds để nạp tt

8

Trang 9

4.3 Phân trang trong quản lý vùng nhớ (Paging)

Nguyên tắc:

 TT được chia thành các trang có độ dài bằng nhau, có thể là 512B, 1K, 2K, 4K,…và được đánh số

 Vùng nhớ cũng được phân chia thành những phần bằng nhau, gọi là khung trang (frame) và được đánh số

 Khi nạp trang tt vào frame thì ko nhất thiết phải liền kề nhau

9

Trang 10

4.3 Phân trang trong quản lý vùng nhớ (2)

10

A0A1A2B0B1C0C1

A2B1C0A0

C1A1

B0

Trang 11

4.3 Phân trang trong quản lý vùng nhớ (3)

Trang 12

4.3 Phân trang trong quản lý vùng nhớ (4)

Đ/c logic và đ/c vật lý trong phân trang:

Trang 13

4.3 Phân trang trong quản lý vùng nhớ (5)

Quy tắc tính đ/c vật lý:

 Từ phần 2n trong đ/c logic (chỉ số trang) truy nhập vào bảng trang để tìm số khung

 Lấy số khung ghép với độ lệch ta sẽ được đ/c vật lý Hay cách khác: đ/c vật lý = số khung x độ dài trang + độ lệch

13

Trang 14

4.4 Phân đoạn trong quản lý vùng nhớ

Nguyên tắc:

 TT được chia thành các đoạn có độ dài ko bằng nhau và được đánh số

 Vùng nhớ cũng được phân chia thành các đoạn có độ dài ko bằng nhau và cũng được đánh số

 Khi nạp đoạn tt vào vùng nhớ thì ko nhất thiết phải liền kề nhau

14

Trang 15

4.4 Phân đoạn trong quản lý vùng nhớ (2)

012345

15

Đoạn 1

Đoạn 0

Đoạn 2Vùng nhớ

Trang 16

4.4 Phân đoạn trong quản lý vùng nhớ (3)

Trang 17

4.4 Phân đoạn trong quản lý vùng nhớ (4)

Đ/c logic và đ/c vật lý trong phân đoạn:

 Đ/c logic: <s,d> (s: số đoạn; d: độ lệch)

 Đ/c vật lý:

l: độ dài đoạnđ: đ/c đầu đoạn

l 2n

Trang 18

4.4 Phân đoạn trong quản lý vùng nhớ (5)

Quy tắc:

 Từ phần 2n trong đ/c logic (chỉ số đoạn) truy nhập vào bảng đoạn để tìm độ dài đoạn và đ/c đầu đoạn

 Lấy độ dài đoạn so sánh với độ lệch Nếu độ dài đoạn nhỏ hơn độ lệch thì ko nạp được, sai số Ngược lại thì:

đ/c vật lý = đ/c đầu đoạn + độ lệch

18

Trang 19

4.4 Phân đoạn trong quản lý vùng nhớ (6)

Cho bảng đoạn: => Vùng nhớ vật lý:

Tính đ/c vật lý của Các đ/c logic sau:

<3,400>: l=500, d=400; l>d => đ/c vật lý=1300+400=1700

<4,112>: l=50, d=112; l<d =>

Ko nạp được (sai số)

<1,10>: l=14, d=10; l>d => đ/c vật lý=3300+10=3310

Trang 20

4.5 Vùng nhớ ảo

20

Trang 21

4.5 Vùng nhớ ảo (2)

– ra giữa BNC & BNP để cho phép xl 1 tt mà ko cần nạp toàn bộ vào BN vật lý

 Ưu điểm: ctr có thể lớn hơn bộ nhớ vật lý

 Nhược điểm: ko dễ cài đặt, có thể giảm năng lực nếu thiếu thận trọng

nhiên giải thuật thay thế đoạn thường phức tạp hơn thay thế trang do các đoạn có kích thước thay đổi

21

Trang 22

Phân trang theo y/c

22

Chuyển bộ nhớ được phân trang tới không gian đĩa liên tục

Trang 23

4.5 Vùng nhớ ảo (3)

• 1 tt được chia thành các trang thường trú trên BNP, 1 trang chỉ được nạp vào BNC khi có y/c.

• Vùng không gian đĩa dùng để lưu trữ tạm thời các trang gọi là không gian swapping

• Mỗi phần tử trong bảng trang gồm 2 trường: 1 trường chứa số hiệu khung trang, trường kia chứa bít “kiểm tra” – bít V (valid)

o Nếu bít này là 1 (valid): trang đang ở BNC

o Nếu là 0 (invalid): trang đang được lưu trên BNP hoặc ko thuộc tt

23

Trang 24

6 C 7

8

9 F 10

F

Bảng trang với 1 số trang trên BNP

Trang 25

Các bước quản lý lỗi trang

Trang 26

 Chuyển 1 trang ra BNP & nạp 1 trang khác vào BNC

 Có thể giảm bớt số lần chuyển trang bằng cách sử dụng thêm 1 bít “cập nhật” (dirty bit), được phần cứng đặt là 1 nếu ND trang có bị sửa Khi cần thay thế 1 trang, nếu bit này là 1 thì trang này cần được lưu lại trên đĩa, nếu là 0 nghĩa là trang ko bị thay đổi =>ko cần lưu trữ trang trở lại đĩa

26

Trang 27

+Nếu không có khung trống, dùng một giải thuật

thay thế trang để chọn khung “nạn nhân”

+Viết trang “nạn nhân” tới đĩa; thay đổi bảng trang

và khung trang tương ứng.

- Đọc trang mong muốn vào khung trang trống; thay đổi

bảng trang và khung trang.

- Khởi động lại quá trình.

Trang 28

4.5 Vùng nhớ ảo (6)

Các thuật toán thay thế trang:

2 3 2 1 5 2 4 5 3 2 5 2 Tính lỗi trang với 3 khung trang

Trang 29

4.5 Vùng nhớ ảo (7)

Các thuật toán thay thế trang:

2 3 2 1 5 2 4 5 3 2 5 2 Tính lỗi trang với 3 khung trang

Trang 30

4.5 Vùng nhớ ảo (8)

Các thuật toán thay thế trang:

2 3 2 1 5 2 4 5 3 2 5 2 Tính lỗi trang với 3 khung trang

Ngày đăng: 05/07/2021, 14:55

🧩 Sản phẩm bạn có thể quan tâm

w