Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
3,96 MB
Nội dung
TRƯỜNG ĐẠI HỌC PHENIKAA KHOA KHOA HỌC CƠ BN ⸎⸎⸎⸎⸎ Chủ đề : “Trình bày quản lý nhớ theo nội dung chương 20 + 21 (Operating Systems Three Easy Pices)” Giảng viên hướng dẫn : Lê Hoàng Anh Lớp học phần : Hệ điều hành -1-1-22(N07) Nhóm : h Năm h@c 2022-2023 h Group MỤC LỤC Danh mục từ ngữ viết tắt thường gặp 20 Paging: Smaller Table ( Phân trang: Bảng trang nhỏ hơn) 20.1 Giải pháp đơn giản: Trang lớn (Bigger Pages) .2 20.2 Phương pháp kết hợp: Phân trang Phân đoạn (Hybrid Approach: Paging and Segments) .3 20.3 Bảng phân trang phân cấp (Multi-level Page Table) 20.4 Bảng trang đảo (Inverted Page Tables) 18 20.5 Hoán đổi bảng trang sang đĩa (Swapping the Page Tables to Disk) 20 20.6 Tóm tắt 22 21 Beyond Physical Memory: Mechanisms (Ngoài nhớ vật lý: Cơ chế) 23 21.1 Khơng gian hốn đổi (Swap Space) .23 21.2 Bit (The Present Bit) 25 21.3 Lỗi trang (The Page Fault) 25 21.4 Nếu nhớ đầy sao? (What If Memory Is Full ?) .26 21.5 Luồng kiểm soát lỗi trang (Page Fault Control Flow) .27 21.6 Khi thay thực xảy (When Replacements Really Occur) .28 21.7 Tóm tắt (Summary) 29 h Group T T Thành Viên MSSV Nhiệm vụ Nguyễn Thị Xuân Khánh 21010995 20.1, 20.2, 21.3 Nguyễn Văn Doanh 21013195 21.6, 21.7 Nguyễn Diệu Linh 21012736 20.4, 20.5, 20.6 Nguyễn Thị Như Quỳnh 21012322 20.3, 21.4, 21.5 Nguyễn Thị Quỳnh Trang 21013197 21.1, 21.2 h Group Danh mục từ ngữ viết tắt thường gặp TBL (Translation look aside buffer) : định nghĩa nhớ đệm sử dụng để làm giảm thời gian truy cập lại bảng trang Là nhớ đệm gần CPU thời gian CPU truy cập vào TBL thời gian truy cập vào nhớ Nói cách khác, TBL nhanh nhỏ nhớ rẻ lớn ghi PTE (Page Table Entry) : Bảng phân trang PTE chứa thông tin số khung (địa nhớ nơi cần tham chiếu đến) số bit hữu ích khác PTE cho biết trang thực nằm đâu nhớ PFN (Page Frame Number): Số khung trang VPN (Virtual Page Number): Số trang ảo Số trang ảo sử dụng làm mục cho đồ trang Số trang ảo bao gồm tất bit địa ảo phần độ lệch trang SN (segment number): số đoạn Page |1 h Group 20 Paging: Smaller Table ( Phân trang: Bảng trang nhỏ hơn) Bộ nhớ vật lý chia thành khối nhỏ, kích thước cố định gọi khung trang (page frame) Không gian địa logic tiến trình chia thành khối gọi trang (page), có kích thước khung Tiến trình cấp khung để chứa trang Các trang chứa khung nằm rải rác nhớ Hệ điều hành quản lý việc cấp phát khung cho tiến trình bảng trang (bảng phân trang): ô tương ứng với trang chứa số khung cấp cho trang Mỗi tiến trình có bảng trang riêng, khung trống lưu MEM Mỗi truy cập nhớ đòi hỏi quyền truy cập bảng phân trang, tổ chức bảng trang cho tốc độ truy cập nhanh Kích thước trang nhỏ => số lượng trang tăng => bảng trang to, khó quản lý giảm kích thước bảng trang giúp tối ưu hóa cho việc quản lý truy xuất nhớ Vậy làm để bảng trang nhỏ ? 20.1 Giải pháp đơn giản: Trang lớn (Bigger Pages) Chúng ta giảm kích thước bảng trang theo cách đơn giản: sử dụng trang lớn Ví dụ: Không gian địa 32 bit với trang có độ rộng 4KB bảng phân trang chiếm độ rộng Byte (Hình 20.1) Kích thước bảng trang = ((2^32)/(4*2^10))*4 = 4*(2^20) Byte = 4MB Page |2 h Group Nhưng tăng kích thước trang lên thành 16KB giữ nguyên số khác, bảng trang có kich thước = (2^32/(16*2^10))*4 = 2^20 Byte = 1MB Như muốn kích thước bảng trang giảm n lần cần tăng kích thước trang lên n lần Tuy nhiên, vấn đề phương pháp việc trang lớn dẫn đến lãng phí trang, gây phân mảnh Các tiến trình chiếm số lượng trang định phần cuối tiến trình sử dụng bit mẩu nhỏ trang có kích thước lớn, nhớ mau chóng bị lấp đầy Vì vậy, hầu hết hệ thống sử dụng kích thước trang tương đối nhỏ, phổ biến là: 4KB (trong x86) 8KB (trong SPARCv9) ,và mà vấn đề khơng đươc giải môt cách đơn giản 20.2 Phương pháp kết hợp: Phân trang Phân đoạn (Hybrid Approach: Paging and Segments) Ví dụ ta có khơng gian địa nhỏ 16KB với trang với kích thước 1KB (Hình 20.1) bảng trang cho khơng gian địa (Hình 20 2) Page |3 h Group Hình 20.1 Hình 20.2 Ta thấy rõ ví dụ hầu hết bảng trang không sử dụng, gây lãng phí nhớ Đây ví dụ cho không gian địa nhỏ 16KB, lớn khơng gian địa 32 bit chắn gây lãng phí lớn Do giải pháp đưa kết hợp phân trang phân đoạn Trong hệ thống kết hợp phân trang phân đoạn, không gian địa nhớ người sử dụng chia thành đoạn theo ý muốn người lập trình, sau đoạn lại chia thành trang có kích thước cố định Trong hệ thống phân trang kết hợp phân đoạn này, thay có bảng trang cho tồn khơng gian địa tiến trình có thêm bảng cho phân đoạn Hệ điều hành kết hợp với tiến trình có bảng đoạn nhiều bảng trang, phần tử bảng đoạn đến bảng trang, bảng trang quản lý trang đoạn tương ứng Ứng với phân đoạn, có ghi sở cho biết vị trí phân đoạn nhớ vật lý Page |4 h Group ghi giới hạn cho biết kích thước phân đoạn Khi tiến trình riêng biệt chạy, ghi giữ địa bắt đầu bảng đoạn tiến trình Trong hệ thống địa ảo processor đưa phải gồm thành phần: Segment Number, Page Number Offset Segment number vào bảng đoạn tiến trình để tìm bảng trang segment Sau page number sử dụng để mục đến bảng trang tìm số hiệu khung trang tương ứng, giá trị kết hợp với thành phần Offset địa ảo để có địa vật lý thực mong muốn Lấy ví dụ đơn giản để làm rõ: Giả sử không gian địa ảo 32 bit với trang 4KB không gian địa chia làm phân đoạn Ta sử dụng ba phân đoạn cho ví dụ này: cho code, cho heap cho stack Để xác định tham chiếu đến phân đoạn cần sử dụng hai bit không gian địa Giả sử 00 phân đoạn không sử dụng, với 01 cho code, 10 cho heap 11 cho stack Do địa ảo trông này: Trong phần cứng, giả sử có ba cặp sở/giới hạn, cặp cho code, heap stack Khi trình chạy, ghi sở cho phân đoạn chứa địa vật lý bảng trang tuyến tính cho phân đoạn đó; đó, tiến trình hệ thống có ba bảng trang liên kết với Trên chuyển đổi ngữ cảnh, ghi phải thay đổi để phản ánh vị trí bảng trang tiến trình chạy Khi TLB bị nhỡ (giả sử TLB phần cứng quản lý, nghĩa phần cứng chịu trách nhiệm xử lý lỗi TLB), phần cứng sử dụng bit phân đoạn (SN) để xác định cặp sở giới hạn sử dụng Sau đó, phần cứng lấy địa vật lý kết hợp với VPN sau để tạo thành địa PTE: Page |5 h Group Trình tự trơng giống với biết với bảng trang tuyến tính Tất nhiên khác biệt việc sử dụng ba ghi sở phân đoạn thay ghi sở bảng trang đơn Sự khác biệt quan trọng diện ghi giới hạn phân đoạn; ghi giới hạn giữ giá trị trang hợp lệ tối đa phân đoạn Ví dụ: đoạn mã sử dụng ba trang (0, 1, 2), bảng trang đoạn mã có mục phân bố cho ghi giới hạn đặt đến 3; truy cập nhớ phần cuối phân khúc tạo ngoại lệ có khả dẫn đến việc chấm dứt trình Theo cách này, phương pháp kết hợp phân trang phân đoạn giúp tiết kiệm nhớ đáng kể so với bảng trang tuyến tính; trang chưa phân bổ stack heap khơng cịn chiếm dung lượng bảng trang (chỉ để đánh dấu chúng không hợp lệ) Tuy nhiên, cách không tồn vấn đề Đầu tiên yều cầu sử dụng phân đoạn mà việc phân đoạn khơng hồn tồn linh hoạt giả định kiểu sử dụng định không gian địa chỉ; chẳng hạn có heap lớn mà sử dụng cuối gây lãng phí nhiều bảng trang Ngoài kết hợp lại gây phân mảnh Bộ nhớ quản lý theo đơn vị kích thước trang, bảng trang lại có kích thước tùy ý việc tìm kiếm không gian trống cho chúng nhớ phức tạp Ta cần tìm kiếm cách tốt để triển khai bảng trang nhỏ Page |6 h Group Giải thích thuật tốn: Đầu tiên, phần cứng kiểm tra TLB - Nếu truy cập thành cơng tới TLB địa vật lý (PhysAddr) hình thành trực tiếp mà khơng cần truy cập vào bảng phân trang - Ngược lại, truy cập không thành công, phần cứng thực tra cứu bảng đa mức Hình bảng trang mức: hai lần truy cập nhớ bổ sung để tra cứu dịch hợp lệ Sau truy cập bảng trang, thông tin dùng để tạo địa vật lý, đồng thời số thứ tự trang khung vừa tìm được thêm vào TLB Như vậy, lần truy cập sử dụng trang này, số thứ tự trang lưu TLB không cần truy cập bảng trang lần P a g e | 17 h Group 20.4 Bảng trang đảo (Inverted Page Tables) Thông thường, trình có trang gắn liền với Bảng trang có mục từ cho trang mà q trình sử dụng Biểu diễn bảng trang biểu diễn tự nhiên tham chiếu trình phân trang thông qua địa ảo trang Sau đó, hệ điều hành phải dịch tham chiếu vào địa nhớ vật lý Một khó khăn phương pháp bảng trang chứa hàng triệu mục từ tiêu tốn lượng lớn nhớ vật lý P a g e | 18 h Group Để giải vấn đề sử dụng bảng trang đảo (inverted page table) Bảng trang đảo có mục từ cho trang thật (hay khung) nhớ Mỗi mục từ chứa địa ảo trang lưu vị trí nhớ thật đó, với thơng tin q trình sở hữu trang Do đó, bảng trang hệ thống có mục từ cho trang nhớ vật lý Vì bảng trang hệ thống cịn có nhiều khơng gian địa khác ánh xạ nhớ vật lý, nên bảng trang đảo thường yêu cầu định danh không gian địa lưu mục từ bảng trang Lưu trữ định danh không gian địa đảm bảo ánh xạ trang luận lý cho trình xác định tới khung trang vật lý tương ứng Ví dụ, hệ thống dùng bảng trang đảo gồm UltraSPARC 64-bit PowerPC Hình 20.7 Bảng trang đảo Để hiển thị phương pháp này, mô tả ấn đơn giản hoá cài đặt bảng trang đảo dùng IBM RT Mỗi địa ảo hệ thống chứa ba: Mỗi mục từ bảng trang đảo cặp , process-id đảm bảo vai trò định danh P a g e | 19 h Group không gian địa Khi tham chiếu nhớ xảy ra, phần địa ảo, gồm , diện hệ thống nhớ Sau đó, bảng trang đảo tìm kiếm trùng khớp Nếu trùng khớp tìm thấy mục từ i địa vật lý tạo Nếu khơng tìm thấy truy xuất địa không hợp lệ cố gắng thực Mặc dù chế giảm lượng nhớ yêu cầu để lưu bảng trang, gia tăng lượng thời gian cần cho việc tìm kiếm bảng có tham chiếu xảy Vì bảng trang đảo lưu địa vật lý tìm kiếm xảy địa ảo, tồn bảng trang cần tìm kiếm trùng khớp Sự tìm kiếm thời gian dài Để làm giảm vấn đề này, sử dụng bảng băm mô tả hình để giới hạn việc tìm kiếm Dĩ nhiên, truy xuất tới bảng băm thêm tham chiếu tới thủ tục, tham chiếu nhớ ảo yêu cầu hai thao tác đọc nhớ thật: cho mục từ bảng băm cho bảng trang Để cải tiến lực thực hiện, TLB tìm kiếm đầu tiên, trước bảng băm tra cứu 20.5 Hoán đổi bảng trang sang đĩa (Swapping the Page Tables to Disk) Một trình cần nhớ để thực thi Tuy nhiên, q trình hốn vị (swapped) tạm thời khỏi nhớ tới vùng lưu trữ phụ backing store, sau mang trở lại nhớ để việc thực thi tiếp tục Thí dụ, giả sử môi trường đa chương với giải thuật lập thời biểu CPU round-robin Khi định mức thời gian hết, quản lý nhớ bắt đầu hoán vị (swap out) vùng lưu trữ phụ trình vừa kết thúc hoán vị vào (swap in) q trình khác tới khơng gian nhớ trống Do đó, định thời biểu CPU cấp phần thời gian tới trình khác nhớ, quản lý hốn vị q trình đủ nhanh để vài trình nhớ, sẳn sàng P a g e | 20 h Group thực thi, định thời CPU muốn định thời lại CPU Định mức phải đủ lớn để phù hợp lượng tính tốn thực hốn vị Biến thể sách hốn vị (thường gọi cuộn ra(roll out), cuộn vào(roll in)) dùng cho giải thuật định thời sở ưu tiên Nếu q trình có độ ưu tiên cao đến muốn phụ vụ, quản lý nhớ hốn vị q trình có độ ưu tiên thấp để nạp thực thi q trình có độ ưu tiên cao Khi q trình có độ ưu tiên cao kết thúc, q trình có độ ưu tiên thấp hốn vị vào trở lại tiếp tục Thơng thường, q trình hoán vị hoán vị trở lại vào khơng gian nhớ mà chiếm trước Sự giới hạn sai khiến phương pháp liên kết địa Nếu liên kết địa thực thời điểm hợp dịch hay nạp q trình khơng thể di chuyển vào khơng gian nhớ khác địa vật lý tính thời gian thực thi Hốn vị u cầu vùng lưu trữ phụ (backing store), thường đĩa tốc độ cao Nó phải đủ lớn để chứa tất hình ảnh nhớ cho tất người dùng phải cung cấp truy xuất trực tiếp tới hình ảnh nhớ Hệ thống trì hàng đợi sẳn sàng chứa tất trình mà hình ảnh nhớ vùng lưu trữ phụ hay nhớ sẳn sàng để thực thi Khi định thời CPU định thực thi q trình, gọi phân phát (dispacher) Bộ phân phát kiểm tra trình hàng đợi nhớ khơng Nếu khơng, khơng có vùng nhớ trống, phân phát hoán vị q trình hành nhớ hốn vị vào q trình mong muốn, sau nạp lại ghi chuyển điều khiển tới q trình chọn.Trong hệ hốn vị, q trình cần phân chia khoảng thời gian sử dụng CPU đủ lớn để không thấy rõ chậm trễ thao tác hoán P a g e | 21 h Group vị gây Nếu không, hệ thống dùng phần lớn thời gian để hoán vị q trình vào nhớ chính, CPU khơng sử dụng hiệu Hốn vị bị ràng buộc yếu tố khác Nếu muốn hốn vị q trình phải đảm bảo hoàn toàn rỗi, đặc biệt việc chờ nhập/xuất Một q trình chờ thao tác nhập/xuất hốn vị q trình tới nơi trống nhớ Nếu nhập/xuất truy xuất khơng đồng bộ nhớ người dùng cho nhập/xuất vùng đệm, trình khơng thể hốn vị Giải pháp chủ yếu cho q trình khơng hốn vị trình chờ nhập/xuất hay thực thi thao tác nhập/xuất vùng đệm hệ điều hành Chuyển vùng đệm hệ điều hành nhớ trình xảy q trình hốn vị vào 20.6 Tóm tắt Có thể thấy bảng trang thực xây dựng không thiết mảng tuyến tính mà cấu trúc liệu phức tạp Bảng lớn lỗi TLB sửa chữa nhanh ngược lại Do đó, việc lựa chọn cấu trúc phụ thuộc nhiều vào ràng buộc môi trường định Các giải thuật quản lý nhớ cho hệ điều hành đa chương trải dài từ tiếp cận hệ thống người dùng đơn tới phân đoạn phân trang Yếu tố định lớn phương pháp dùng hệ thống cụ thể phần cứng cải thiện Mỗi địa nhớ được tạo CPU phải kiểm tra hợp lệ ánh xạ tới địa vật lý Kiểm tra cài đặt (hữu hiệu) phần mềm Do đó, bị ràng buộc tính sẵn dùng phần cứng P a g e | 22 h Group 21 Beyond Physical Memory: Mechanisms (Ngoài nhớ vật lý: Cơ chế) Bây giờ, muốn hỗ trợ nhiều không gian địa lớn chạy đồng thời cần cấp độ bổ sung hệ thống phân cấp nhớ tất trang nằm nhớ vật lý Để hỗ trợ không gian địa lớn hệ điều hành cần vị trí có nhiều dung lượng nhớ thường chậm Lý mà muốn hỗ trợ nhiều khơng gian địa lớn tiện lợi dễ sử dụng mà không cần lo lắng dung lượng nhớ liệu chương trình mà cần cấp phát nhớ cần thiết 21.1 Khơng gian hốn đổi (Swap Space) Khơng gian hốn đổi cho phép hệ điều hành hỗ trợ ảo ảnh nhớ ảo lớn cho nhiều chương trình chạy đồng thời để sử dụng máy cách hiệu Đây trình trang nhớ chép tới khơng gian cấu hình trước ổ cứng (khơng gian hốn đổi) nhằm giải phóng trang nhớ Kích thước kết hợp từ nhớ vật lý không gian hốn đổi tổng dung lượng nhớ ảo Khơng gian hốn đổi cần thiết hệ thống yêu cầu lượng nhớ nhiều mức RAM cho phép, chức hoán đổi kernel đẩy bớt pages dùng ngồi gửi lượng nhớ cho ứng dụng cần Có số pages quan trọng sử dụng ứng dụng suốt trình startup, dùng cho khởi tạo thơi, sau P a g e | 23 h Group khơng dùng lại nữa, hệ thống swap out pages ra, giải phóng nhớ cho ứng dụng khác Điều quan trọng kích thước khơng gian hốn đổi cuối xác định số lượng trang nhớ tối đa mà hệ thống sử dụng thời điểm 21.1 Bộ nhớ vật lý khơng gian hốn đổi Trong linux có loại khơng gian hốn đổi partition hoán đổi tập tin hoán đổi Partition hoán đổi phần độc lập ổ cứng sử dụng để hốn đổi; khơng tập tin khác lưu trữ Tập tin hoán đổi tập tin đặc biệt tập tin hệ thống có khả lưu trữ nơi hệ thống tập tin liệu Code thực thi partiton hoán đổi: - Sử dụng lệnh swapon –s để biết dung lượng không gian hoán đổi: Filename Type Size Used Priority /dev/sda5 partition 859436 -1 - Chạy lệnh fdisk -l /dev/hdb để kiểm tra partition đánh dấu chưa Device Boot Start End Blocks Id P a g e | 24 h System Group /dev/hdb1 2328 2434 859446 82 Linux swap / Solaris - Dùng lệnh mkswap /dev/hdb1 để chuẩn bị - Sử dung swapon /dev/hdb1 để cài đặt khơng có lỗi Code thực thi tệp tin hốn đổi: - Dùng lênh • dd để tạo mơ •t tâ •p tin trống: dd if=/dev/zero of=/swapfile (tên tệp tin hốn đổi) bs=1024 count=1048576 (kích cỡ tệp tin tính kilobyte) - Chuẩn bị tâp• tin hốn đổi sử dùng mkswap tạo mơ •t partition, dùng tên tâp• tin hốn đổi: mkswap /swapfile - Cài đă •t tâp• tin hốn đổi dùng lê •nh swapon: swapon /swapfile - Đầu vào /etc/fstab mơ •t tâp• tin hốn đổi có dạng sau: /swapfile none swap sw 0 Tuy nhiên việc hốn đổi khơng phải hồn tồn tốt So với nhớ, ổ chạy chậm 21.2 Bit (The Present Bit) Bit cho biết trang cụ thể mà bạn tìm kiếm có hiển diện hay khơng Trong trường hợp khơng xuất gọi lỗi Page Fault (lỗi trang) Nó đặt thành trang tương ứng khơng có nhớ Được sử dụng để kiểm sốt lỗi trang hệ điều hành Đơi bit gọi bit hợp lệ 21.3 Lỗi trang (The Page Fault) P a g e | 25 h Group Với TLB, có dịch quản lý phần cứng phần mềm Trong hai hệ thống, trang không xuất hiện, hệ điều hành chịu trách nhiệm giải vấn đề Hầu tất hệ thống xử lý lỗi trang phần mềm, với TLB phần cứng quản lý Điều việc hoán đổi trang từ đĩa sang nhớ diễn chậm, đó, HĐH cần thời gian để thực thi lỗi, thân hoạt động đĩa theo truyền thống nơi chịu trách nhiệm Ngồi ra, để xử lý lỗi trang, phần cứng phải hiểu khơng gian hốn đổi, cách cấp I/O cho đĩa chi tiết khác mà phần cứng Hệ điều hành cần trao đổi trang vào nhớ phải biết cách tìm trang mong muốn Thay vào đó, hệ điều hành sử dụng bit PTE thường sử dụng cho liệu, chẳng hạn PFN trang cho địa đĩa Khi hệ điều hành nhận lỗi trang cho trang, tìm PTE để tìm địa đĩa đưa yêu cầu tìm nạp trang vào nhớ Khi việc nhập xuất đĩa hoàn tất, hệ điều hành cập nhật bảng trang để đánh dấu trang tại, cập nhật trường PFN PTE để ghi lại vị trí nhớ trang tìm nạp thử lại hướng dẫn Lần thử dễ dàng tạo lỗi TLB, lỗi cập nhật vào TLB lần khởi động lại khác tìm thấy dịch TLB, tiếp tục tìm nạp liệu lệnh mong muốn từ nhớ Trong I/O diễn để lấy trang từ đĩa, trình bị chặn Hệ điều hành tự chạy quy trình sẵn sàng khác lỗi trang bảo dưỡng Bởi I/O đắt tiền, chồng chéo I/O (lỗi trang) quy trình việc thực quy trình khác cách khác để hệ thống đa chương trình sử dụng phần cứng hiệu 21.4 Nếu nhớ đầy sao? (What If Memory Is Full ?) P a g e | 26 h Group Trong quy trình mơ tả trên, người ta cho có nhớ trống để đặt trang vào trang từ khơng gian hốn đổi Đây khơng phải trường hợp hệ điều hành phải loại bỏ trang Một nhiều trang để nhường chỗ cho trang xuất Quá trình chọn trang để loại bỏ thay sách thay trang Loại bỏ sai trang vào sai thời điểm gây ảnh hưởng xấu đến hiệu suất, điều quan trọng 21.5 Luồng kiểm soát lỗi trang (Page Fault Control Flow) Hiện có ba trường hợp quan trọng cần xem xét xảy lỗi TLB: - Trang phải diện nhớ vật lý hợp lệ, trường hợp đó, lấy PFN từ PTE đặt vào TLB - Nếu hợp lệ khơng có, trình xử lý lỗi trang phải chạy để đưa vào nhớ vật lý, sử dụng PFN PTE làm địa đĩa để lấy trang hốn đổi từ Nó trang khơng hợp lệ, chí địa nằm ngồi khơng gian địa quy trình lỗi chương trình chẳng hạn - Trong trường hợp này, phần cứng bẫy vào nhân trình bị hủy trước kiểm tra bit Khi hệ điều hành hoán đổi trang, hệ điều hành phải đảm bảo có dung lượng nhớ vật lý VPN = (VirtualAddress & VPN_MASK) >> SHIFT (Success, TlbEntry) = TLB_Lookup(VPN) if (Success == True) // TLB Hit if (CanAccess(TlbEntry.ProtectBits) == True) Offset = VirtualAddress & OFFSET_MASK PhysAddr = (TlbEntry.PFN