1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài tập lớn môn Kiến trúc máy tính Chuyên đề Bộ nhớ ảo

52 2,6K 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

Định dạng
Số trang 52
Dung lượng 0,91 MB

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

Nội dung

Khái niệm bộ nhớ ảo Bộ nhớ ảo là một vùng không gian lưu trữ gần giống như bộ nhớ trong RAM nhưng lại được đạt trên đĩa cứng và khoảng không gian được đạt cố định Bộ nhớ ảo là một kĩ th

Trang 1

Chuyên đề: Bộ nhớ ảo

Giáo viên hướng dẫn: Lương Thị Hồng Lan

Trang 2

Why virtual memory

Người thực hiện: Đinh Hồng Phúc

Trang 3

Khái niệm bộ nhớ ảo

Bộ nhớ ảo là một vùng không gian lưu trữ gần giống như bộ nhớ trong (RAM) nhưng lại được đạt trên đĩa cứng và khoảng không gian được đạt cố định

Bộ nhớ ảo là một kĩ thuật cho phép thực hiện của quá trình mà có thể qua trình đó hoàn toàn không nằm trong bộ nhớ Việc thực hiện qúa trình overlay một cách tự động có thể không đòi hỏi người lập trình phải biết điều gì đang xảy ra

Trang 4

 Hầu hết các máy tính đều phải dùng một lượng bộ nhớ RAM để sử dụng

cho CPU (khoảng 128 MB)

 Ngoài ra còn phải dùng một lượng RAM nữa cho hệ điều hành

 Vì vậy mà để máy hoạt động trơn tru thì cần RAM rất lớn và các nhà phát

triển đã tạo ra một loại bộ nhớ đó là bộ nhớ ảo

Tại sao phải dùng bộ nhớ ảo

Trang 5

Công dụng của bộ nhớ ảo

• Cho phép thực hiện cùng một luc nhiều tiến trình (process) mỗi một

tiến trình có một không gian định vị riêng

• Đơn giản hóa việc nạo chương trình vào bộ nhớ để thực hành nhờ

vào một cơ chế được gọi là sự tái định địa chỉ (addeass relacation

• Bộ nhớ ảo giúp giải phóng người lập trình từ việc quan tâm đến giới

hạn kích thước bộ nhớ

Trang 6

Virtual to physical address

translation

Người thực hiện: Nguyễn Thị Hằng

Nguyễn Thị Hải Yến

Trang 7

I GiỚI THIỆU.

 Bộ nhớ ảo là một kĩ thuật cho phép việc thực thi của quá trình mà

quá trình có thể không hoàn toàn ở bộ nhớ

 Bộ nhớ ảo là sự tách biệt bộ nhớ luận lý từ bộ nhớ vật lý

 Bộ nhớ ảo là sự trừu tượng hóa của hệ điều hành nó cung cấp

cho người lập trình một không gian địa chỉ lớn hơn không gian địa chỉ vật lý thật sự

 Bộ nhớ ảo có thể cài đặt dựa vào 2 kĩ thuật: phân trang theo yêu

cầu và phân đoạn theo yêu

Trang 9

II BỘ NHỚ ẢO VỚI PHÂN TRANG

Ý tưởng : Khởi tạo vùng nhớ trên bộ nhớ vật lý để xử lý, lưu giữ thông tin trong 1 bảng Mỗi tiến trình đều có 1 bảng riêng gồm N dòng, N là số trang ảo mà tiến trình cần Mỗi trang có 2 thuộc tính : bit và số trang Trang ảo cùng kích cỡ với trang vật lý Bộ nhớ tiến trình được chia thành những trang cùng kích cỡ cố định lưu giữ thông tin tiến trình để xử lý

.

Trang 11

2 CƠ CHẾ.

Bộ nhớ vật lý được chia thành các frame có kích thước cố định

Chia bộ nhớ ảo thành các khối cùng cỡ gọi là trang ( page)

Một trang được nạp vào bộ nhớ trong khi có yêu cầu

sử dụng cơ chế phần cứng để hỗ trợ : kết hợp cơ chế hỗ trợ phân trang và kĩ thuật swapping bao gồm bảng trang và bộ nhớ ngoài.Phân trang là sự phân chia rõ ràng giữa tầm nhìn bộ nhớ của người dùng và bộ nhớ vật lý thật sự

Trang 13

III BỘ NHỚ ẢO VỚI PHÂN ĐOẠN.

1.KHÁI NIỆM

Là phương thức thay vì chia địa chỉ ảo thành những trang kích thước bằng nhau nhau, địa chỉ thật thành những khung trang, địa chỉ ảo được chia thành luận lý, đơn vị độ dài hoặc các đoạn

Một chương trình gồm nhiều phân đoạn

2 KIẾN TRÚC PHÂN ĐOẠN

Địa chỉ ảo/logic

Bảng phân đoạn

Thanh ghi cơ sở phân đoạn

Thanh ghi độ dài phân đoạn

Số hiệu phân đoạn

Cấp phát

Bảo vệ bộ nhớ

Trang 14

IV.KẾT HỢP PHÂN TRANG VÀ PHÂN ĐOẠN.

Dùng phân trang để phân đoạn

Phân đoạn được chia thành các trang có kích thước cố định

Việc phân trang là trong suốt với người lập trình

Cơ chế phân đoạn thị trường

Chương trình được biên dịch theo sơ đồ phân đoạn và có một bảng quản lý đoạn chung

Khi chương trình được nạp vào hệ thống, hệ điều hành sẽ cấp phát cho chương trình các trang cần thiết để chứa đủ các đoạn của

chương trình.

Trang 15

V CẤU TRÚC BẢNG TRANG NGƯỢC

Khi số lượng trang ảo là rất lớn thì kích thước bảng trang

có thể một không gian lớn trên

bộ nhớ

 Bảng trang ngược là một giải pháp khác nhằm làm giảm bộ nhớ cần thiết để lưu trữ trang, nhưng tăng thời gian để tìm bảng trang

Bảng trang ngược có một mục nhập cho từng khung hình

trong bộ nhớ chính và do đó

nó có một kích thước cố định

ta sử dụng CTDL bảng băm để tăng tốc độ tìm kiếm

Trang 16

VI KÍCH THƯỚC TRANG.

Kích thước trang nhỏ, số lượng các trang sẽ được tìm thấy

Trang 17

VII DỊCH ĐỊA CHỈ VÀ QUẢN LÝ BỘ NHỚ.

Đơn vị quản lý bộ nhớ là thiết bị phần cứng dùng để ánh xạ địa chỉ ảo sang địa chỉ vật lý.

Dịch địa chỉ ảo:

Một địa chỉ ảo là địa chỉ bộ nhớ dùng để truy cập bộ nhớ riêng của mình Bảng trang

Dịch địa chỉ hạt nhân

Khoảng cách của sự gia nhập bảng trang cho mỗi quá trình

Thường là 32 bit gồm khung trang, bảo vệ, sửa đổi, tham chiếu

Trang 18

TÀI LIỆU THAM KHẢO.

1. Các kiểu bộ nhớ - wikipedia tiếng việt

2 nlhdh - tuan6.pdf

3 Giáo trình kiến trúc máy tính - Lương Thị Hồng Lan

4 Operating System Concepts

5 Giáo trình hệ điều hành - Th.s Nguyễn Phú Trường (ĐH Cần Thơ- khoa CNTN)

6 Diễn đàn tin học

Trang 19

Pages table

Người thực hiện: Chu Thị Lý

Trang 20

I.KHÁI NIỆM:

Bảng trang là dữ liệu cấu trúc của máy tính để lưu trữ, tạo lập bản đồ giữa địa chỉ ảo và địa chỉ vật lí.

II.VAI TRÒ CỦA BẢNG TRANG:

Hầu hết mọi quá trình trên máy tính đều làm việc với bộ nhớ Khi 1 quá trình cần truy cập đến bộ nhớ thì hệ điều hành sẽ tìm kiếm nơi mà bộ nhớ lưu trữ.Bảng trang là nơi hệ điều hành lưu trữ ánh xạ địa chỉ ảo đến địa chỉ vật lí Cấu trúc bảng trang phản ánh tình trạng 1 trang đang ở bộ nhớ trong hay bộ nhớ ngoài

III.QUÁ TRÌNH DỊCH THUẬT:

Khi 1 địa chỉ ảo cần dịch sang địa chỉ vật lí, TLB được tìm kiếm đầu tiên Nếu phù hợp thì địa chỉ vật lí được trả lại và quá trình truy cập bộ nhớ lại tiếp tục Nếu không phù hợp( TLB lỗi),bộ xử lí sẽ thường tìm kiếm địa chỉ ánh xạ ở bảng trang xem có tồn tại 1 ánh xạ không

Trang 21

IV.THẤT BẠI DỊCH:

Tìm kiếm bảng trang thất bại khi:

• Bộ nhớ truy cập đến địa chỉ ảo là không hợp lệ

• Các trang không thường trú ở bộ nhớ vật lí Điều này xảy ra khi các trang yêu cầu được chuyển ra để nhường chỗ cho các trang khác Khi đó trang cần được lấy từ đĩa đưa trở lại bộ nhớ vật lí

V BIỆN PHÁP XỬ LÍ:

1 HIÊN TƯỢNG LỖI TRANG:

Khi hệ thống truy xuất đến 1 trang nhưng trang này chưa được nạp vào nhớ sẽ phát sinh lỗi trang

Trang 22

2 THAY THẾ TRANG:

Khi xảy ra lỗi trang, hệ thống cần nạp trang thay thế vào bộ nhớ Tư

tưởng thay thế trang:Nếu không có khung trống, tìm 1 khung hiện không được dùng và giải phóng nó.Cụ thể:

B1: Tìm vị trí trang muốn trên đĩa

B2: Tìm khun trang trống: Nếu có dùng nó, nếu không,dùng 1 giải thuật thay thế trang để chọn khung nạn nhân

B3: Nạp trang mong muốn vào khung trang trống; thay đổi bảng trang và

khung trang

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

Có nhiều giải thuật thay thế trang khác nhau Thường chọn giải thuật có tỉ

lệ lỗi trang nhỏ nhất

Trang 23

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

 Thay thế trang có thời gian tồn tại trong bộ nhớ lâu nhất(FIFO)

 Thay thế trang có lần sử dụng cuối cùng cách thời điểm hiện tại lâu nhất

(LRU).

 Thay thế trang có tần suất sử dụng thấp nhất (LFU)

2.1 Thay thế trang FIFO:

Là giải thuật đơn giản nhất Khi 1 trang cần thay thế, trang cũ nhất sẽ được chọn.

Ưu điểm: dễ hiểu; dễ lập trình.

Nhược điểm: trang được thay thế có thể là trang chứa nhiều dữ liệu cần

thiết nên khi chuyển ra bộ nhớ phụ sẽ nhanh gây ra lỗi trang; giải thuật này gặp phải nghịch lí BELADY(lỗi trang tăng lên khi số lượng khung sử dụng tăng).

Trang 24

2.2 THAY THẾ TỐI ƯU HÓA:

Là thay thế trang mà nó không được dùng trong khoảng thời gian lâu nhất.Thường dùng chủ yếu trong nghiên cứu so sánh

Ưu điểm: đảm bảo tỉ lệ lỗi trang nhỏ nhất có thể với 1 số lượng khung cố định

Nhược điểm: khó cài đặt vì nó yêu cầu kiến thức tương lai về chuỗi tham khảo

2.3 THAY THẾ TRANG LRU:

LRU gắn với mỗi trang thời gian sử dụng cuối cùng của trang Khi 1 trang cần thay thế, LRU chọn trang không được dùng trong khoảng thời gian lâu nhất.LRU không gặp phải nghịch lí BELADY

Trang 25

2.4 GIẢI THUẬT THAY THẾ TRANG XẤP XỈ LRU

2.4.1 GIẢI THUẬT CÁC BIT THAM KHẢO PHỤ:

Hệ điều hành chuyển bit tham khảo cho mỗi trang được vào bit có trọng

số lớn nhất của byte,dịch các bit còn lại sang phải 1 bit Xóa bit có trọng

Trang 26

số thấp nhất.Thanh ghi 8 bit có thể chứa lịch sử của việc sử dụng trang đối với 8 lần gần nhất Nếu thanh ghi dịch chứa 000000000 thì trang không được dùng cho 8 thời điểm, một trang được dùng ít nhất 1 lần mỗi thời điểm

sẽ có giá trị thanh ghi là 11111111

Một thanh ghi với giá trị thanh lịch sử là 110001000 được dùng gần đây hơn 1 trang với 01110111 Nếu chúng ta thông dịch 8 bit này như số nguyên không dấu, trang với số thấp nhất là trang LRU và nó có thể được thay thế

Số lượng bit lịch sử có thể là khác nhau và có thể được chọn để thực hiện cập nhật nhanh nhất có thể

2.4.2 GIẢI THUẬT CƠ HỘI THỨ HAI:

Là trường hợp đặc biệt của FIFO Khi 1 trang được chọn, ta xét bit tham khảo của nó Nếu giá trị này =0, ta sẽ thay thế trang này

Trang 27

Tuy nhiên nếu giá trị bằng 1, ta cho trang đó cơ hội thứ 2, bit tham khảo được xóa.Một trang nhận cơ hội thứ 2 sẽ không được thay thế cho đến khi mọi trang được thay thế Trang giữ bit tham khảo không bao giờ bị thay thế.

Cài đặt như 1 hàng đợi vòng 1 con trỏ hiển thị trang nào được thay thế tiếp theo.Khi 1 khung được yêu cầu, con trỏ tăng đến khi tìm được với bit tham khảo 0 Trong trường hợp xấu nhất khi tất cả các bit được đặt, con trỏ xoay

vòng suốt toàn hàng đợi.Thay thế cơ hội thứ 2 trỏ thành FIFO nếu mọi bit đều được đặt

2.4.3 GIẢI THUẬT CƠ HỘI THỨ 2 NÂNG CAO:

Xét 2 bit tham khảo Các trường hợp xảy ra là:

 (0,0): không được dùng mới đây, không được sửa đổi – là trang tốt nhất

để thay thế

Trang 28

 (0,1): không được dùng mới đây, được sửa đổi -không tôt lắm để thay thế

 (1,0)được dùng mới đây,ko được sửa đổi

 (1,1) được dùng mới đây, được sửa đổi - trang này cần viết ra đĩa trước khi nó được thay thế

Khi cần thay thế trang, ta thay thế trang đầu tiên được gặp trong trường

hợp mà trang đó đang thuộc về Ta thay thế trang đầu tiên được gặp Có thể phải quoét hàng đợi vòng nhiều lần trước khi tìm 1 trang thay thế

2.4.4 THAY THẾ TRANG TRÊN CƠ SỞ ĐẾM:

Là giải thuật ít dùng,yêu cầu trang dc thay thế có số đếm nhỏ nhất Còn giải thuật thay thế trang được dùng thường xuyên nhất thay thế trang có giá trị đếm lớn nhất, nghĩa là trang được sử dụng nhiều nhất

Trang 29

VI SỰ BẢO VỆ TRONG BẢNG TRANG:

Sự bảo vệ bộ nhớ thường được thực hiện bởi các bit bảo vệ gắn với mỗi khung Thường các bit này được giữ trong bảng trang Mỗi

tham chiếu tới bộ nhớ sẽ tìm khắp bảng trang để đọc, viết hay chỉ đọc Mỗi bit thường gắn với mỗi mục từ trong bảng trang:một bit hợp lệ- không hợp lệ Khi bit đặt là hợp lệ tức trang được gán trong không gian địa chỉ bộ nhớ vật lí là hợp lệ Nếu bit đặt là không hợp lệ tức trang đó không ở trong không gian địa chỉ vật lí của quá trình Hệ điều hành thiết lập các các bit này cho mỗi trang để cho phép có hay không cho phép truy xuất tới trang này.

VII CẤU TRÚC BẢNG TRANG:

Để hiểu cấu trúc bảng trang ta sẽ xem xét 1 số kĩ thuật thông dụng

để xây dựng cấu trúc bảng trang:

Trang 30

1 BẢNG TRANG PHÂN CẤP:

Hầu hết các máy tính hiện đại hỗ trợ 1 không gian địa chỉ vật lí lớn nên bảng trang quá lớn -> gây tốn bộ nhớ, tìm kiếm chậm Rõ ràng ta không

muốn cấp phát bảng trang liên tiếp nhau

Giải pháp là chia bảng trang thành những phần nhỏ hơn.Không gian địa chỉ logic được quản lí bởi bảng trang ở nhiều cấp

Một kĩ thuật đơn giản nhất là bảng trang 2 cấp,ngoài ra còn có cấp 3,cấp

4 Đối với các hệ thống có không gian địa chỉ vật lí 64 bit, cơ chế phân trang

2 cấp không còn phù hợp

2 BẢNG TRANG ĐƯỢC BĂM:

Khi không gian địa chỉ lớn hơn 32 bit ta thường dùng bảng băm, với giá trị băm là số trang ảo Mỗi mục từ trong bảng trang chứa

Trang 31

một danh sách liên kết của các phần tử Danh sách này băm tới cùng 1 vị trí(để quản lí sự đụng độ) Mỗi phần tử chứa 3 trường (a)số trang ảo, (b)giá trị khung trang được ánh xạ và con trỏ địa chỉ chỉ tới phần tử kế tiếp trong danh sách liên kết.

Quá trình thực hiện: số trang ảo trong địa chỉ ảo được băm tới bảng băm

Số trang ảo được so sánh tới trường (a) trong phần tử đầu tiên của danh

sách liên kết Nếu có phần tử trùng khớp, khung trang tương ứng,trường(b) được dùng để hình thành địa chỉ vật lí mong muốn Ngược lại, các mục từ tiếp theo trong danh sách liên kết được tìm kiếm số trang ảo trùng khớp

3 BẢNG TRANG ĐẢO:

Mỗi bảng trang chứa rất nhiều mục từ Các bảng này có thể tiêu tốn 1

lượng lớn bộ nhớ vật lí, để giải quyết vấn đề này ta có thể sử dụng bảng

trang đảo

Trang 32

Cấu tạo của bảng trang đảo là 1 bảng kích thước cố định với số lượng

hàng tương đương với số lượng khung trong bộ nhớ

Hoạt động của bảng trang đảo khác hoạt động của bảng trang chuẩn.Vì chỉ

1 bảng trang trong hệ thống còn có nhiều không gian địa chỉ khác ánh xạ bộ nhớ vật lí, nên các bảng trang đảo thường yêu cầu 1 định danh không gian được lưu trong mỗi mục từ của bảng trang Lưu trữ định danh không gian địa chỉ đảm bảo rằng ánh xạ của trang vật lí cho 1 quá trính xác định tới khung trang vật lí tương ứng

Ưu điểm: LÀm giảm dung lượng bộ nhớ cần để lưu các bảng trang

Nhược điểm: làm tăng lượng thời gian cần cho việc tìm kiếm bảng khi có 1 tham chiếu xảy ra Vì bảng trang đảo lưu bởi địa chỉ vật lí nhưng tìm kiếm xảy

ra trên địa chỉ ảo, toàn bộ bảng trang có thể cần được tìm kiếm sự trùng khớp

Trang 33

VIII TRANG DỮ LIỆU BẢNG:

Các hệ thống bảng trang đơn giản thường duy trì 1 bảng trang và và bảng khung Bảng khung chứa thông tin về những khung được ánh xạ

Bảng trang chứa ánh xạ giữa địa chỉ ảo của 1 trang và địa chỉ của 1 khung vật lí Các trang có thể được trải ra trong và ngoài của bộ nhớ vật lí và đĩa Bit cập nhật cho phép tối ưu hóa hiệu suất Một trang trên đĩa đó được chuyển vào bộ nhớ vật lí,sau đó đọc từ, tiếp theo chuyển ra lại không cần ghi lại vào đĩa kể từ khi các trang không thay đổi

Bit cập nhật được thiết lập, chỉ ra rằng trang được viết phải được viết lại ở chỗ sao lưu Nó yêu cầu việc sao lưu trữ lại 1 bảng trang của trang trước nó được chuyển ra trong bộ nhớ

Trang 34

khi bit cập nhật không được sử dụng, việc sao lưu chỉ cần trang được chuyển

ra có kích thước lớn ở mọi thời điểm.Khi bit cập nhật được sử dụng, mọi thời điểm 1 số trang sẽ tồn tại cả ở bộ nhớ vật lí và lưu trữ lại

Trong hệ điều hành, không gian địa chỉ hoặc thông tin id quá trình là rất cần thiết, nhờ đó mà hệ thống điều hành bộ nhớ ảo biết được những trang nào gần với quá trình nào

Bảng trang phải cung cấp ánh xạ bộ nhớ ảo khác nhau cho 2 quá trình Điều đó được thực hiện bằng cách gán cho 2 quá trình nhận dạng địa chỉ bản đồ riêng biệt, hoặc bằng sử dụng quá trình id

IX ĐA BẢNG TRANG:

Bảng trang ngược giữ 1 danh sách các ánh xạ được thiết lập từ mọi khung trong bộ nhớ vật lí Đây là 1 sự lãng phí lớn Thay vào đó ta có thể lập bảng trang cấu trúc chứa ánh xạ từ trang ảo Nó được thực hiện bằng cách

Trang 35

giữ cho trang chứa bộ nhớ ảo Đa bảng trang có thể giữ 1 vài trang nhỏ hơn

để thiết lập cái mới khi thật cần thiết Khi đó mỗi bảng trang khác nhỏ hơn liên kết với nhau bởi bảng trang chủ, từ đó tạo cây dữ liệu cấu trúc

Một địa chỉ ảo ở đây có thể được chia làm 3 phần: chỉ số của bảng trang gốc, chỉ số trong bảng trang phụ và phần bù trong trang đó

X Bảng trang ảo:

Việc tạo ra cấu trúc bảng trang có chứa ánh xạ cho mỗi trang ảo của không gian địa chỉ ảo là rất lãng phí Để giải quyết vấn đề này, ta có thể đặt bảng trang trong bộ nhớ ảo và để hệ thống bộ nhớ ảo quản lí bộ nhớ cho bảng trang Tuy nhiên cấu trúc bảng trang phải luôn ở trong bộ nhớ vật lí để chống lại các trang lỗi, tìm phần quan trọng của bảng trang nhưng không ở trong bảng trang

Ngày đăng: 23/04/2015, 16:47

HÌNH ẢNH LIÊN QUAN

Bảng phân đoạn. - bài tập lớn môn Kiến trúc máy tính Chuyên đề Bộ nhớ ảo
Bảng ph ân đoạn (Trang 13)
Bảng trang ngược có một mục  nhập cho từng khung hình - bài tập lớn môn Kiến trúc máy tính Chuyên đề Bộ nhớ ảo
Bảng trang ngược có một mục nhập cho từng khung hình (Trang 15)
1. BẢNG TRANG PHÂN CẤP: - bài tập lớn môn Kiến trúc máy tính Chuyên đề Bộ nhớ ảo
1. BẢNG TRANG PHÂN CẤP: (Trang 30)
3. BẢNG TRANG ĐẢO: - bài tập lớn môn Kiến trúc máy tính Chuyên đề Bộ nhớ ảo
3. BẢNG TRANG ĐẢO: (Trang 31)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w