(Page No) d (Offse t) Địa chỉảo v=(,d)

Một phần của tài liệu Kiến trúc hệ điều hành (Trang 61 - 66)

Process cú thể được thực hiện tiếp nếu trang hiện thời cần đến của nú nằm trong bộ

là page frame và cú kớch thước đỳng bằng kớch thước trang. Cỏc page frame bắt đầu từ cỏc địa chỉ (trong bộ nhớ thực) là bội số của kớch thước trang (h.8.9). Cỏc

trang cú thể được nạp vào bất kỳ page frame trống nào.

Hỡnh 8.9 Số trang 0 page frame 0 page frame 1 p 2p 3p page frame 2 Kích th-ớc Vùng địa chỉ 0 p 0 p-1 1 p p 2p-1 2 p 2p 3p-1

Biến đổi địa chỉ động trong hệ thống tổ chức theo trang, thực hiện theo cỏch sau:

Process truy nhập đến địa chỉ ảo v=(p,d). Cơchế ỏnh xạ trang thể hiện trờn h.8.10, đầu tiờn tỡm số trang p trong bảng ỏnh xạ trang và xỏc định được page frame p'

tươngứng với trang p. Địa chỉ thực được tớnh bằng tổng của p' và d.

Hỡnh 8.10

p d

page frame 0

page frame 1 p'

offset d page frame p' Bộ nhớ vật lý

....

Địa chỉ ảo

DAT

Page frame p' t-ơng ứng với trang ảo p

Chỳng ta sẽ xem xột quỏ trỡnh này kỹ hơn. Trong thực tế, thường thỡ khụng phải tất

cả cỏc page của process đều nằm trong bộ nhớ, do đú bảng ỏnh xạ phải chỉ ra là

trang cần truy nhập cú nằm trong bộ nhớ khụng và nằm ở đõu, cũn nếu khụng thỡ

nú nằm đõu trong bộ nhớ ngoài. Trờn h.8.11 biểu diễn một dũng dữ liệu trong bảng

ỏnh xạ trang. Bit flag r chỉ ra sự hiện diện của trang trong bộ nhớ: nếu r=1 tức là

trang nằm trong bộ nhớ thực, cũn nếu r=0 thỡ trang đú hiện khụng cú trong bộ nhớ

thực. Nếu nhưtrang đú khụng cú trong bộ nhớ thỡ s là địa chỉ (vị trớ) của trang

trong bộ nhớ ngoài, cũn nếu nú nằm trong bộ nhớ thỡ p' là số page frame. Chỳ ý

rằng p' khụng phải là địa chỉ thực thật sự. Địa chỉ thực a - của page frame p' được

tớnh bằng a=(p)*(p') (số trang p cú giỏ trị từ 0.1.2.3...)

r s p

Địa chỉ trong bộ nhớ ngoài (nếu không có

trong bộ nhớ)

Page frame (nếu trang có trong bộ

nhớ) Bit flag

Để tiết kiệm bộ nhớ (giảm kớch thước của bảng ỏnh xạ) thỡ mỗi dũng cú thể khụng

cần chứa thụng tin địa chỉ của trang trong bộ nhớ ngoài.

8.6.1 Biến đổi địa chỉ, ỏnh xạ trực tiếp

Chỳng ta sẽ xem xột một số phương phỏp biến đổi địa chỉ trang. Đầu tiờn chỳng ta

sẽ xem xột biến đổi (ỏnh xạ) trực tiếp, được biểu diễn trờn h.8.12

Hỡnh 8.12

Process đưa yờu cầu truy cập địa chỉ ảo v=(p,d). Trước khi process tiếp tục thực

hiện, OS nạp địa chỉ thực của bảng ỏnh xạtrang vào thanh ghi.Địa chỉ cơsở b này được cộng với số trang p, thu được địa chỉ thực b+p của dũng chứa ỏnh xạ trang p.

Dũng này chỉ ra page frame p' của p. Sau đú page frameđược cộng với offset d và

ta cú địa chỉ thực r. Cỏch tớnh này gọi là phương phỏp biến đổi trực tiếp (ỏnh xạ

trực tiếp), bởi vỡ bảng ỏnh xạ trang chứa từng dũng cho mỗi trang bộ nhớ ảo của

process. Nếu process cú n trang bộ nhớ ảo thỡ bảng ỏnh xạ trong phương phỏp ỏnh xạ trực tiếp chứa n dũng liờn tiếp cho cỏc trang từ 0 đến n-1

Địa chỉ ảo cần tớnh và địa chỉ bảng ỏnh xạ đều chứa trong cỏc thanh ghi của BXL

do đú cỏc thao tỏc với chỳng cú thể thực hiện rất nhanh trong vũng xử lý lệnh.

Nhưng cũn bảng ỏnh xạ, kớch thước khỏ lớn, thường nằm trong bộ nhớ, do đú để

truy nhập nú cần một thao tỏc đọc bộ nhớ. Vỡ thời gian đọc dữ liệu từ bộ nhớ lớn

hơn nhiều thời gian xử lý lệnh và chỳng ta cần thờm một lần đọc bộ nhớ để lấy được dũng cần thiết của bảng anhý xạ, điều đú cú nghĩa là phương phỏp ỏnh xạ

trực tiếp cú thể làm giảm tốc độ của hệ thống khi thực hiện chương trỡnh gần hai

lần. Điều đú tất nhiờn khụng chấp nhận được, do đú cần cú cỏc phương phỏp biến đổi địa chỉ nhanh hơn. Nhưng điều đú cũng khụng cú nghĩa là phương phỏp này hoàn toàn khụng thể ỏp dụng, vớ dụ nhưtrong một số hệ thống đó sử dụng phương phỏp này thành cụng bằng cỏch lưu toàn bộ bảng ỏnh xạ trong cache memory cú

tốc độ rất cao.

Một trong số cỏc phương phỏp cải thiện tốc độ của DAT là lưu toàn bộ bảng ỏnh

xạtrang trong associative memory (bộ nhớ kết hợp)- với associative memory thời

gian truy nhập (access cycle) nhỏ hơn nhiều lần so với bộ nhớ thụng thường. Trờn

h.8.13 biểu diễn quỏ trỡnh thực hiện biến đổi địa chỉđộng chỉ dựng associative

memory. Chương trỡnh truy nhập đến địa chỉ ảo v=(p,d). Tất cả cỏc dũng (record)

của bảng (nằm trong associative memory) được so sỏnh đồng thời với p.

Associative memory trả lại giỏ trị p' -địa chỉ của page frame của p. Sau đú cộng p'

với offset d ta cú địa chỉ thực r.

Hỡnh 8.13

Chỳng ta để ý rằng cỏc mũi tờn điđi tới associative memory tới tất cả cỏc bản ghi

(dũng) của bảng. Điều đú cú nghĩa là mỗi phần tử của associative memory được

phõn tớchđồng thời với địa chỉ p. Cũng vỡ tớnh chất này mà bộ nhớ kết hợp rất đắt.

ở đõy chỳng ta lại gặp vấn đề kinh tế: để cú thể ứng dụng thành cụng bộ nhớ ảo

cần cú cơchế biến đổi địa chỉ động (DAT) tốc độ cao. Nhưng dự sao sử dụng

cache memory hay associative memory thỡ đều quỏ đắt. Chỳng ta cần cú một giải

phỏp trung gian nào đú vẫn đảm bảo tốc độ nhưng giỏ cả phải chăng.

8.6.3 Biến đổi địa chỉ trang sử dụng kết hợp associative với ỏnh xạ trực tiếp.

Đến lỳc này chỳng ta luụn định hướng đến cỏc cụng cụ phần cứng để thực hiện bộ

nhớ ảo. Nhưng chỳng ta sẽ xem xột cỏc thiết bị một cỏch logic (trừu tượng) hơn là vật lý. Chỳng ta quan tõm khụng phải là một thiết bị cụ thể (vật lý) mà là tổ chức,

chức năng và tốc độ của chỳng.

Vỡ giỏ của cache memory và associative mrmory quỏ đắt so với RAM do đú chỳng ta cần giải phỏp trung gian để thựchiện ỏnh xạ trang. Trong giải phỏp này chỳng ta

sử dụng associative memory để lưu giữ một phần của bảng ỏnh xạ (h.8.14). Trong

bảng đú chỉ chứa cỏc ỏnh xạ trang được truy nhập gần nhất (về thời gian)-điều đú xuất phỏt từ kết quả tươngđối là trang đóđược truy nhập trong thời gian gần nhất

hoàn toàn cú thể (với xỏc suất lớn) lại được truy nhập tiếp. Trong cỏc hệ thống hiện đại sử dụng phương phỏp kết hợp này, chỉ số tốc độ đạt tới 90% hoặc hơn nữa so

với khi hoàn toàn chỉ dựng associative memory.

Sự biến đổi địa chỉ động được thực hiện theo cỏch sau: Chương trỡnh cần truy nhập

theođịa chỉ ảo v=(p,d). Cơchế biến đổi địa chỉ đầu tiờn sẽ thử tỡm ỏnh xạ của trang ảo p trong phần bảng ỏnh xạ nằm trong associative memory. Nếu nhưỏnh xạ trang

p cúở đú thỡ bảng ỏnh xạ trong associative memory trả lại kết quả số page frame p'

tươngứng với trang ảo p và giỏ trị p' này được cộng với offset d, ta cú được địa chỉ

thực r tươngứng với địa chỉ ảo v=(p,d).

Để đảm bảo chỉ số tốc độ cao, bảng ỏnh xạ trong asociative memory phải khụng

lớn quỏ. Thật vậy, trong thực tế, với cỏc hệ thống sử dụng chỉ 8 hoặc 16 thanh ghi

asociative memory, cú thể đạt được 90% hoặc hơn nữa tốc độ khi sử dụng hoàn

toàn associative memory (khi đú kớch thước associative memory cú thể lớn gấp

hàng chục đến 100 lần). Cú được kết quảđú là nhờ tớnh chất đặc biệt của cỏc

process hoạt động, gọi là tớnh địa phương - locality, hiện tượng này chỳng ta sẽ

xem xột sau.

Sử dụng cơchế kết hợp đú là lời giải kỹ thuật dựa trờn cỏc thụng số kinh tế của cỏc

thiết bị hiện cú.

8.6.4 Chia sẻ (dựng chung) chương trỡnh và dữ liệu trong hệ thống tổ chức trang

Trong cỏc hệ đa nhiệm, đặc biệt cỏc hệ phõn chia thời gian, thường xảy ra trường

hợp nhiều user cựng chạy cỏc chương trỡnh giống nhau. Nếu mỗiuser đều dựng

riờng một bản copy của chương trỡnh thỡ một phần đỏng kể bộ nhớ bị lóng phớ. Rừ

ràng cú một giải phỏp-đú là sử dụng chung (chia sẻ) cỏc trang cú thể chia sẻ.

Sử dụng chung cần phải xử lý , theo dừi cẩn thận để ngăn chặn tỡnh huống khi một

process cố thay đổi dữ liệu mà cựng lỳc đú process khỏc đangđọc. Trong nhiều hệ

thống tiờn tiến, cú sử dụng chung bộ nhớ, thường cỏc chương trỡnh cấu tạo từ hai

phần riờng biệt- vựng chương trỡnh (procedure) và vựng dữ liệu (data). Cỏc

procedure cố định (khụng thayđổi) hay cũn gọi là reentrant procedure, cú thể dựng

chung. Cỏc dữ liệu tĩnh (vớ dụ bảng thụng tin cố định nào đú)- cú thể dựng chung.

Tất cả điều đú núi lờn rằng mỗi trang bộ nhớ cần xỏc định xem cú thể dựng chung

hoặc khụng. Sau khi cỏc trang của mỗi process được chia ra hai loại, trong hệ

thống tổ chức theo trang thuần tuý việc chia sẻ bộ nhớ được biểu diễn trờn h.8.15.

Việc chia sẻ bộ nhớ làm giảm dung lượng bộ nhớ sử dụng và hệ thống cúthể phục

vụ số lượng user lớn hơn. Hỡnh 8.15

8

Một phần của tài liệu Kiến trúc hệ điều hành (Trang 61 - 66)

Tải bản đầy đủ (PDF)

(98 trang)