Nếu đạt toàn bộ không gian địa chỉ vào bộ nhớ vật lý, thì kicks thước của chương trình bị giới hạn bởi kích thước bộ nhớ vật lý. Thực tế, trong nhiều trường hợp, chúng ta đang phải nạp toàn bộ chương trình vào bộ nhớ vật lý cùng một lúc, vì tại một thời điểm chỉ có một chỉ thị của tiến trình được xử lý. Ví dụ, các chương trình đều có một đoạn code xử lý lỗi, nhưng đoạn code này hầu như rất ít khi được sử dụng vì hiếm khi xảy ra lỗi, trong trường hợp này, không cần thiết phải nap đoạn code xử lý lỗi từ đầu. Từ nhận xét trên, một giải pháp được đề xuất là cho phép thực hiện một chương trình chỉ được nạp từng phần vào bộ nhớ vật lý.Ý tưởng chính của giải pháp này là tại mỗi thời điểm chỉ lưu trữ trong bộ nhớ vật lý các chỉ thị và dữ liệu của chương trình cần thiết cho việc thi hành tại thời điểm đó. Khi cần đến các chỉ thị khác, những chỉ thị mới sẽ được nạp vào bộ nhớ, tại thời điểm trước đó bị chiếm giữ bởi các chỉ thị nay không còn cần đến nữa. Với giải pháp này, một chương trình chể lớn hơn kích thước của vùng nhớ cấp phát cho nó.
Nguyên lý hệ điều hành Đề 10 : Nêu cách quản lý nhớ ảo win Sinh viên thực hiện: Nguyễn Thị Dung Phạm Thị Tươi Nguyễn Thị Tuyết Nhung Lớp :Tin kinh tế k56 Phân chia công việc: Nguyễn Thi Dung : Giới thiệu chung , quản lý phân trang phân đoạn Phạm Thị Tươi: Quản lý phân trang Nguyễn Thị Tuyết Nhung : Quản lý phân đoạn Mục Lục 1.Giới thiệu chung Bộ nhớ ảo kỹ thuật đại giúp cho người dùng giải phóng hoàn toàn khỏi mối bận tâm giới hạn nhớ 1.1 Cơ chế nhớ ảo Nếu đạt toàn không gian địa vào nhớ vật lý, kicks thước chương trình bị giới hạn kích thước nhớ vật lý Thực tế, nhiều trường hợp, phải nạp toàn chương trình vào nhớ vật lý lúc, thời điểm có thị tiến trình xử lý Ví dụ, chương trình có đoạn code xử lý lỗi, đoạn code sử dụng xảy lỗi, trường hợp này, không cần thiết phải nap đoạn code xử lý lỗi từ đầu Từ nhận xét trên, giải pháp đề xuất cho phép thực chương trình nạp phần vào nhớ vật lý.Ý tưởng giải pháp thời điểm lưu trữ nhớ vật lý thị liệu chương trình cần thiết cho việc thi hành thời điểm Khi cần đến thị khác, thị nạp vào nhớ, thời điểm trước bị chiếm giữ thị không cần đến Với giải pháp này, chương trình chể lớn kích thước vùng nhớ cấp phát cho Một cách để thưc ý tưởng giải pháp sử dụng kỹ thuật overlay Kỹ thuật overlay không đòi hỏi trợ giúp đặc biệt hệ điều hành, trái lại, lập trình viên phải biết cách lập trình theo cấu trúc overlay, điều đòi hỏi nhiều công sức Để giải phóng lập trình viên khỏi suy tư giới hạn nhớ, mà không tăng thêm khó khăn cho công việc lập trình họ, người ta nghĩ đến kỹ thuật tự động, cho phép xử lý chương trình có kích thước lớn với vùng nhowscos kích thước nhỏ Giair pháp tìm thấy với khái niệm nhớ ảo (virtual memory) Định nghĩa: Bộ nhớ ảo kỹ thuật cho phép xử lý tiến trình koong nạp toàn vào nhớ vật lý Bộ nhớ ảo mô hình hóa nhớ bảng lưu trữ lớn đồng nhất, tách biệt hẳn không gian địa không gian địa lý Người sử dụng nhìn thấy làm việc không gian địa ảo, việc chuyển đổi sang không gian vật lý hệ điều hành thực với trợ giúp chế phần cứng cụ thể 1.2.Các cách quản lý nhớ ảo *Quản lý nhớ ảo phân trang *Quản lý nhớ ảo phân đoạn *Quản lý nhớ ảo phân đoạn kết hợp phân trang Quản lý nhớ ảo phân trang 2.1 Nguyên lý hoạt động : lập trình, lệnh truy xuất địa không gian phẳng có dùng lượng lớn (4GB) Không gian gọi luận lý (ảo) Nếu phần mềm hạn chế truy xuất không gian HĐH đảm bảo chạy tốt cho dù kích thước thật RAM nhỏ nhiều Để quản lý việc swap (nạp vào/ghi ra) nhớ ảo, HĐH chia nhớ ảo ứng dụng thành nhiều đơn vị quản lý có kích thước đồng nhất, đơn vị gọi trang ảo Kích thước trang ảo = 2i (256, 512, 1K, 2K, 4K, 8K, ) Bộ nhớ RAM chia thành nhiều đơn vị quản lý, đơn vị gọi trang thật (page frame) Kích thước thật = kích thước trang ảo Trang thật nơi chứa trang ảo cần thiết, thời điểm, trang thật chứa tốt đa trang ảo, theo thời gian chứa nhiều trang ảo khác Khi ứng dụng truy xuất ô nhớ theo địa tuyến tính số nguyên, HĐH biết ô nhớ thuộc trang ảo nào, nằm Offset trang ảo � Để quản lý trình ánh xạ trang ảo chương trình vào trang thật, HĐH dùng bảng đặc tả trang ảo cho chương trình, bảng có số phần tử = số trang ảo chương trình tương ứng, phần tử bảng record chứa thông số quản lý trang ảo tương ứng 2.2 Chuyển đổi địa hệ thống phân trang: Chương trình người sử dụng sử dụng địa logic virtual gồm: page number offset để truy xuất liệu nhớ Bộ phận quản lý nhớ phải chuyển địa virtual thành địa vật lý tương ứng bao gồm: page number offset Để thực việc phận quản lý nhớ phải dựa vào bảng trang (PCT) Vì kích thước PCT lớn thay đổi theo kích thước tiến trình kỹ thuật nhớ ảo hệ điều hành thường chứa PCT nhớ dùng ghi để ghi địa bắt đầu nhớ nơi lưu trữ PCT tiến trình tiến trình nạp vào nhớ để chạy Hình 1: Sơ đồ chuyển địa hệ thống phân trang Đa số hệ điều hành thiết kế bảng trang riêng cho tiến trình Nhưng tiến trình chiếm giữ không gian lớn nhớ ảo, trường hợp bảng trang lớn hệ thống phải tốn không gian nhớ để chứa Ví dụ, tiến trình có đến 231 = 2GB nhớ ảo, trang có kích thước 29 = 512 byte, tiến trình phải cần đến 222 phần tử bảng trang Để khắc phục vấn đề này, kỹ thuật nhớ ảo hệ thống lưu trữ bảng trang nhớ ảo không lưu trữ nhớ thực, thân bảng trang phải phân trang Khi tiến trình thực hiện, có phần trang nạp vào nhớ chính, phần chứa phần tử trang thực thời điểm Một số processor sử dụng lược đồ hai cấp (two-level) để tổ chức bảng trang lớn, lược đồ có thư mục bảng trang (page directory) mà phần tử trỏ đến bảng trang Trong trường hợp này, chiều dài thư mục trang X chiều dài tối đa bảng trang Y tiến trình có X x Y trang Chiều dài tối đa bảng trang kích thước trang Chúng ta xem ví dụ minh họa bảng trang hai cấp sau đây: Hình 2: Cấu trúc bảng trang cấp Giả sử có không gian địa ảo 32 bít, chia thành trường: PT1 10 bít, PT2 10 bít Offset 12 bít Hình vẽ 3.10.c cho thấy cấu trúc bảng trang cấp tương ứng với không gian địa ảo 32 bít Bên trái top-level bảng trang (bảng trang cấp 1), gồm có 1024 mục vào (tương ứng với 10 bít PT1), tức PT1 địa ảo dùng để mục đến phần tử bảng trang cấp Mỗi mục vào dùng để mô tả 4Mb nhớ, toàn GB (32 bit) không gian địa ảo chia thành 1024 phần Entry mục bảng trang cấp từ PT1 cho địa số hiệu khung trang trang thứ hai (secondlevel) Có 1024 bảng trang cấp 2, đánh số từ đến 1023, bảng trang cấp thứ (0) quản lý không gian nhớ 4Mb từ 0Mb đến 4Mb, bảng trang cấp thứ hai (1) quản lý không gian nhớ 4Mb từ 8Mb,… Trường PT2 dùng để mục đến bảng trang cấp để tìm số hiệu khung trang page tương ứng Giá trị tìm kết hợp với thành phần Offset để có địa vật lý ô nhớ tương ứng với địa ảo 32 bit phát sinh ban đầu 2.3 Phân trang theo yêu cầu Một hệ thống phân trang theo yêu cầu tương tự hệ thống phân trang với hoán vị (hình VIII-2) Các trình định vị nhớ phụ (thường đĩa) Khi muốn thực thi trình, hoán vị vào nhớ Tuy nhiên, thay hoán vị toàn trình nhớ, dùng hoán vị lười (lazy swapper) Bộ hoán vị lười không hoán vị trang vào nhớ trừ trang yêu cầu Vì xem trình chuỗi trang không gian địa liên tục có kích thước lớn, nên dùng hoán vị không phù hợp kỹ thuật Một hoán vị thao tác toàn trình, ngược lại phân trang (pager) quan tâm với trang riêng rẻ trình Do đó, dùng phân trang (hơn hoán vị) nối kết với phân trang theo yêu cầu Hình 3: Chuyển nhớ phân trang tới không gian đĩa liên tục 2.4 Lỗi trang Truy xuất đến trang đánh dấu bất hợp lệ làm phát sinh lỗi trang (page fault) Khi dò tìm bảng trang để lấy thông tin cần thiết cho việc chuyển đổi địa chỉ, nhận thấy trang yêu cầu truy xuất bất hợp lệ, chế phần cứng phát sinh ngắt để báo cho hệ điều hành Hệ điều hành xử lý lỗi trang sau : Kiểm tra truy xuất đến nhớ hợp lệ hay bất hợp lệ Nếu truy xuất bất hợp lệ : kết thúc tiến trình Ngược lại : đến bước Tìm vị trí chứa trang muốn truy xuất đĩa Tìm khung trang trống nhớ : Nếu tìm thấy : đến bước Nếu không khung trang trống, chọn khung trang « nạn nhân » chuyển trang « nạn nhân » nhớ phụ (lưu nội dung trang chiếm giữ khung trang lên đĩa), cập nhật bảng trang tương ứng đến bước Chuyển trang muốn truy xuất từ nhớ phụ vào nhớ : nạp trang cần truy xuất vào khung trang trống chọn (hay vừa làm trống ) ; cập nhật nội dung bảng trang, bảng khung trang tương ứng Tái kích hoạt tiến trình người sử dụng Hình 4: Các giai đoạn xử lý lỗi trang 2.5 Thay trang Thay trang thực tiếp cận sau Nếu khung trống, tìm khung không dùng giải phóng Khi giải phóng khung cách viết nội dung tới không gian hoán vị thay đổi bảng trang (và bảng trang khác) để hiển thị trang không nhớ (hình VIII-5) Bây dùng khung giải phóng để quản lý trang cho trình bị lỗi Chúng ta sửa đổi thủ tục phục vụ lỗi trang để chứa thay trang: 1) Tìm vị trí trang mong muốn đĩa 2) Tìm khung trang trống a) Nếu có khung trống, dùng b) Nếu khung trống, dùng giải thuật thay trang để chọn khung “nạn nhân” c) Viết trang “nạn nhân” tới đĩa; thay đổi bảng trang khung trang tương ứng 3) Đọc trang mong muốn vào khung trang trống; thay đổi bảng trang khung trang 4) Khởi động lại trình Hình 7: Đường cong lỗi trang cho thay FIFO chuỗi tham khảo 2.7.2.Thay trang tối ưu hoá Kết phát nghịch lý Belady tìm giải thuật thay trang tối ưu Giải thuật thay trang tối ưu có tỉ lệ lỗi trang thấp tất giải thuật không gặp phải nghịch lý Belady Giải thuật tồn gọi OPT hay MIN Nó đơn giản là: thay trang mà không dùng cho khoảng thời gian lâu Sử dụng giải thuật thay trang đảm bảo tỉ lệ lỗi trang nhỏ cho số lượng khung cố định Thí dụ, chuỗi tham khảo mẫu, giải thuật thay trang tối ưu phát sinh lỗi trang, hiển thị hình VIII-8 tham khảo gây lỗi điền vào khung trống Tham khảo tới trang thay trang không dùng tham khảo 18, trái lại trang dùng trang 14 Tham khảo tới trang thay trang trang trang cuối trang nhớ tham khảo lần Với lỗi trang, thay tối ưu tốt nhiều giải thuật FIFO, có 15 lỗi (Nếu bỏ qua lỗi đầu mà tất giải thuật phải gặp thay tối ưu tốt gấp lần thay FIFO.) Thật vậy, giải thuật thay xử lý chuỗi tham khảo khung với lỗi Tuy nhiên, giải thuật thay trang tối ưu khó cài đặt yêu cầu kiến thức tương lai chuỗi tham khảo Do đó, giải thuật tối ưu dùng chủ yếu cho nghiên cứu so sánh Thí dụ, có ích để biết rằng, giải thuật không tối ưu nằm 12.3% tối ưu tệ, 4.7% trung bình Hình 8: giải thuật thay trang tối ưu 2.7.3.Thay trang LRU Nếu giải thuật tối ưu không khả thi, có lẽ xấp xỉ giải thuật tối ưu Sự khác biệt chủ yếu giải thuật FIFO OPT FIFO dùng thời gian trang mang vào nhớ; giải thuật OPT dùng thời gian trang sử dụng Nếu dụng khứ gần xấp xỉ tương lai gần thay trang mà không dùng cho khoảng thời gian lâu (hình VIII-9) Tiếp cận giải thuật dùng gần (least-recentlyused (LRU) Hình 9: giải thuật thay trang LRU Thay trang LRU gắn với trang thời gian sử dụng cuối trang Khi trang phải thay thế, LRU chọn trang không dùng khoảng thời gian lâu Chiến lược giải thuật thay trang tối ưu tìm kiếm lùi theo thời gian hướng tới (gọi SR trình tự ngược chuỗi tham khảo S tỉ lệ lỗi trang cho giải thuật OPT S tương tự tỉ lệ lỗi trang cho giải thuật OPT SR Tương tự, tỉ lệ lỗi trang giải thuật LRU S giống tỉ lệ lỗi trang cho giải thuật LRU SR) Kết ứng dụng thay LRU chuỗi tham khảo điển hình hiển thị hình VIII-10 Giải thuật LRU sinh 12 lỗi lỗi giống thay tối ưu Tuy nhiên, tham chiếu tới trang xảy thay LRU thấy khung nhớ, trang dùng gần Trang dùng gần trang 0, trước trang dùng Do đó, giải thuật LRU thay trang 2, trang để dùng Sau đó, gây lỗi trang 2, giải thuật LRU thay trang 3, trang nhớ {0, 3, 4} trang sử dụng gần Mặc dù vấn đề thay LRU với 12 lỗi tốt thay FIFO với 15 Hình 10: giải thuật thay trang Chính sách LRU thường dùng giải thuật thay trang xem tốt Vấn đề cách cài đặt thay LRU Một giải thuật thay trang LRU yêu cầu trợ giúp phần cứng Vấn đề xác định thứ tự cho khung định nghĩa thời gian sử dụng gần Hai cách cài đặt khả thi là: • Bộ đếm: trường hợp đơn giản nhất, gắn mục từ bảng trang trường số lần sử dụng thêm CPU đồng hồ luận lý hay đếm Đồng hồ tăng cho tham khảo nhớ Bất tham khảo tới trang thực hiện, nội dung ghi đồng hồ chép tới trường số lần sử dụng mục từ bảng trang cho trang Trong cách này, có thời gian tham khảo cuối tới trang Chúng ta thay trang với giá trị số lần sử dụng nhỏ Cơ chế yêu cầu tìm kiếm bảng trang để tìm trang LRU viết tới nhớ (tới trường thời gian dùng bảng trang) cho truy xuất nhớ Số lần phải trì bảng trang bị thay đổi (do định thời CPU) Vượt giới hạn đồng hồ phải xem xét • Ngăn xếp: tiếp cận khác để cài đặt thay LRU giữ ngăn xếp số trang Bất trang tham khảo, bị xoá từ ngăn xếp đặt đỉnh Trong cách này, đỉnh ngăn xếp trang dùng gần đáy trang LRU (hình VIII-11) Vì mục từ phải xoá từ ngăn xếp, cài đặt tốt danh sách liên kết kép với trỏ đầu đuôi Xoá trang đặt đỉnh ngăn xếp sau yêu cầu thay đổi trỏ trường hợp xấu Mỗi cập nhật chi phí không cần tìm thay thế; trỏ đuôi tới đáy ngăn xếp trang LRU Tiếp cận đặc biệ Thay tối ưu hoá LRU không gặp phải nghịch lý Belady Có lớp giải thuật thay trang gọi giải thuật ngăn xếp, mà không hiển thị nghịch lý Belady Một giải thuật ngăn xếp giải thuật mà hiển thị tập hợp trang nhớ n khung trang tập hợp tập hợp trang mà nhớ với n + khung Đối với thay LRU, tập hợp trang nhớ n trang tham khảo gần Nếu số trang gia tăng n trang trang tham khảo gần nhớ Chú ý cài đặt LRU trợ giúp phần cứng ngoại trừ ghi TLB Cập nhật trường đồng hồ hay ngăn xếp phải thực cho tham khảo nhớ Nếu sử dụng ngắt cho tham khảo nhớ, cho phép phần mềm cập nhật cấu trúc liệu làm chậm tham khảo nhớ gần phần 10 Rất hệ thống chịu cấp độ chi phí cho việc quản lý nhớ Hình 11: sử dụng ngăn xếp để ghi tham khảo trang gần 3.Quản lý nhớ ảo phân đoạn Trong kỹ thuật phân trang, không gian ảo mà chương trình truy xuất có kích thước lớn (4GB), không gian phẳng nên số chương trình lớn gặp phiền hà sau : chương trình tự chia không gian ảo thành nhiều partition khác để chứa thông tin độc lập cần xử lý, trình chạy, partition không đủ chỗ chứa thông tin chương trình bị dừng đột ngột Do đó, thay cấp phát cho chương trình không gian phằng nhất, hệ thống cấp phát cho chương trình không gian nhớ độc lập có kích thước thay đổi động theo nhu cầu (miễn tổng kích thước chúng bị hạn chế đó) chương trình không gặp vần đề tràn nhớ Sự phân đoạn cho phép người lập trình xem nhớ bao gồm tập không gian nhớ đoạn (segment) có địa xác định Với nhớ ảo người lập trình không cần quan tâm đến giới hạn nhớ đưa nhớ Các segment có kích thước không ấn định cách động Địa tham chiếu nhớ trường hợp bao gồm: Segment Number Offset Đối với người lập trình phân đoạn không gian địa có số thuận lợi sau so với trường hợp không phân đoạn không gian địa chỉ: Nó đơn giản để điều khiển cấu trúc liệu lớn dần (growing) trình hoạt động hệ thống Nếu người lập trình trước liệu lớn đến chừng thời điểm chạy việc ấn định kích thước động cho segment mang lại nhiều thuận lợi cho người lập trình Nó cho phép chương trình không phụ thuộc vào thay đổi vào biên dịch lại Nó không yêu cầu thiết lập lại toàn chương trình chương trình liên kết nạp trở lại Việc thực cách sử dụng nhiều phân đoạn (Multiple Segment) Nó thích hợp với chiến lược chia sẻ segment tiến trình Người lập trình đặt chương trình tiện ích bảng liệu thường sử dụng vào segment mà tham chiếu nhiều tiến trình khác Nó thích hợp với chiến lược bảo vệ nhớ Bởi segment sinh để chứa tập xác định thủ tục liệu, sau người lập trình người quản trị hệ thống gán quyền truy cập với độ ưu tiên thích hợp 3.1 Nguyên lí hoạt động ♦ lập trình, chương trình phép truy xuất liệu nhiều không gian khác nhau, không gian gọi segment Mỗi segment có kích thước thay đổi theo thời gian, ô nhớ segment ♦ Bộ nhớ RAM có kích thước nhỏ Các segment chương trình thường nắm đĩa cứng, cần thiết segment nạp vào vùng thích hợp RAM ♦ Tại thời điểm, vùng nhớ RAM thật chứa tốt đa segment ảo, theo thời gian chứa nhiều segment ảo khác ♦ Khi ứng dụng truy xuất ô nhớ, xác định địa ô nhớ dạng phân cấp : segment + offset ♦ Để quản lý trình ánh xạ segement ảo chương trình vào vùng RAM, HĐH dùng bảng đặc tả sgement cho chương trình, bảng có số phần tử = số segement chương trình tương ứng, phần tử bảng record chứa thong số quản lý segement tương ứng : Protection , ModifiedAddress in disk , địa thật trong, RAM (start_addr) , inRAM Cơ chế MMU kĩ thuật phân đoạn: cần phải xây dựng ánh xạ để chuyển đổi địa chiều người dung định nghĩa thành địa vật lí chiều.sự chuyển đổi thực qua bảng phân chia.Mỗi thành phần bảng phân đoạn bao gồm ghi ghi giới hạn Thanh ghi lưu trữ địa vật lý nơi bắt đầu phân đoạn nhớ,trong ghi giới hạn đặc tả chiều dài phân đoạn 3.2 Cài đặt bảng phân đoạn: Có thể sử dụng ghi để lưu trữ bảng phân đoạn số lượng phân đoạn nhỏ Trong trường hợp chương trình bao gồm nhiều phân đoạn,bảng phân đoạn phải đuwơcj lưu nhớ chính.Một ghi bảng phân đoạn (STBR) đến địa bắt đầu bảng phân đoạn.Vì số lượng phân đoạn sử dụng mọt chương trình biến động,cần sử dụng thêm ghi đặc tả kích thước bảng phân đoạn(STLR).Với địa logic ,trước tiên số hiệu phân đoạn s kiểm tra tính hợp lệ (s[...]... TLB Cập nhật các trường đồng hồ hay ngăn xếp phải được thực hiện cho mỗi tham khảo bộ nhớ Nếu chúng ta sử dụng ngắt cho mỗi tham khảo bộ nhớ, cho phép phần mềm cập nhật cấu trúc dữ liệu thì nó sẽ làm chậm mỗi tham khảo bộ nhớ gần 1 phần 10 Rất ít hệ thống có thể chịu cấp độ chi phí đó cho việc quản lý bộ nhớ Hình 11: sử dụng ngăn xếp để ghi những tham khảo trang gần nhất 3 .Quản lý bộ nhớ ảo phân đoạn... đoạn ra lại bộ nhớ ngoài là không cần thiết, điều này giúp tăng tốc độ trong các thao tác thay thế đoạn Hình 12:Một phần tử trong bảng Đoạn thước khác nhau cho các phân đoạn của chương trình trên bộ nhớ vật lý, điều này phức tạ ♦ Bít P (Present): Cho biết đoạn tưong ứng đang ở trên bộ nhớ chính (= 1) hay ở trên bộ nhớ phụ (= 0) ♦ Các bít điều khiển khác: Các bít này phục vụ cho các mục đích bảo vệ trang... tạo ra địa chỉ vật lý mà trình quản lý bộ nhớ sử dụng.khi lập trình, các lệnh truy xuất các địa chỉ trong không gian phẳng có dùng lượng rất lớn (4GB) Không gian này được gọi làluận lý (ảo) Nếu phần mềm hạn chếtruy xuất trong không gian này thì HĐH sẽ đảm bảo nó chạy tốt cho dù kích thước thật của RAM nhỏ hơn nhiều ƒ Đ quản lý việc swap (nạp vào/ghi ra) bộ nhớ o, HĐH chia bộ nhớ ảo của ứng dụng ra... chương trình các không gian bộ nhớ độc lập có kích thước thay đổi động theo nhu cầu (miễn sao tổng kích thước của chúng bị hạn chế trên nào đó) thì chương trình sẽ không gặp vần đề tràn bộ nhớ Sự phân đoạn cho phép người lập trình xem bộ nhớ như bao gồm một tập các không gian nhớ hoặc các đoạn (segment) có địa chỉ được xác định Với bộ nhớ ảo người lập trình không cần quan tâm đến giới hạn bộ nhớ được đưa... trang ảo khác nhau ƒ Khi ứng dụng truy xuất 1 ô nhớtheo địa chỉ tuyến tính sốnguyên, HĐH biết ngay ô nhớ đóthuộc trang ảo nào, nằm ở Offset nào trong trang ảo. Đ quản lý quá trình ánh x các trang ảo của chương trình vào các trang thật, HĐH dùng 1 bảng đặc tảtrang ảo cho mỗi chương trình, bảng này có sốphần tử= sốtrang ảo của chương trình tương ứng, mỗi phần tửcủa bảng là 1 record chứa các thông s quản lý. .. đầu là rỗng 3 tham khảo đầu tiên (7, 0, 1) gây ra lỗi trang và được mang vào các khung rỗng này Tham khảo tiếp theo (2) thay thế trang 7, vì trang 7 được mang vào trước Vì 0 là tham khảo tiếp theo và 0 đã ở trong bộ nhớ rồi, chúng ta không có lỗi trang cho tham khảo này Tham khảo đầu tiên tới 3 dẫn đến trang 0 đang được thay thế vì thế nó là trang đầu tiên của 3 trang trong bộ nhớ (0, 1, 2) để được... toán thay thế trang 2 .7 Các giải thuật thay trang Mục tiêu: Giảm thiểu tỷ lệ page fault thấp nhất Đánh giá giải thuật bằng cách chạy nó trên một chuỗi riêng biệt các tham chiếu bộ nhớ và tính số page fault trên chuỗi đó Các giải thuật thay thế trang phụ thuộc vào resident set (số frame cấp cho mỗi process) Trong tất cả các ví dụ Chuỗi tham chiếu là 1, 2, 3, 4, 1, 2, 5, 1, 2, 3,4,5 2 .7. 1.Thay thế trang... là cách cài đặt thay thế LRU Một giải thuật thay thế trang LRU có thể yêu cầu sự trợ giúp phần cứng Vấn đề là xác định thứ tự cho các khung được định nghĩa bởi thời gian sử dụng gần nhất Hai cách cài đặt khả thi là: • Bộ đếm: trong trường hợp đơn giản nhất, chúng ta gắn mỗi mục từ bảng trang một trường số lần sử dụng và thêm CPU một đồng hồ luận lý hay bộ đếm Đồng hồ được tăng cho mỗi tham khảo bộ nhớ. .. thể được hiển thị rằng tập hợp trang trong bộ nhớ đối với n khung trang luôn là tập hợp con của tập hợp các trang mà nó ở trong bộ nhớ với n + 1 khung Đối với thay thế LRU, tập hợp trang trong bộ nhớ là n trang được tham khảo gần đây nhất Nếu số trang được gia tăng thì n trang này sẽ vẫn là những trang được tham khảo gần đây nhất và vì thế sẽ vẫn ở trong bộ nhớ Chú ý rằng cài đặt LRU sẽ có thể không... ra thành nhiều đơn vị quản lý có kích thước đồng nhất, mỗi đơn vị được gọi là trang ảo Kích thước trang ảo = 2i (256, 512, 1K, 2K, 4K, 8K, ) ƒ Bộ nhớRAM cũng được chia thành nhiều đơn vị quản lý, mỗi đơn vị được gọi là trang thật (page frame) Kích thước thật = kích thước trang ảo. Trang thật là nơi chứa trang ảo khi cần thiết, tại từng thời điểm, mỗi trang thật chứa tốt đa 1 trang ảo, nhưng theo thời