Đề tài 3. Nghiên cứu tìm hiểu về quản lý Bộ nhớ trong trong HĐH Windows.

24 1.7K 16
Đề tài 3. Nghiên cứu tìm hiểu về quản lý Bộ nhớ trong trong HĐH Windows.

Đ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

màTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN Môn : Nguyên hệ điều hành - ĐỀ TÀI - Nghiên cứu tìm hiều quảnnhớ Trong Hệ Điều Hành Windows Giáo viên hướng dẫn: Nguyễn Thanh Hải Nhóm sinh viên thực : Nhóm Nguyễn Hữu Bình-MSV :1041060070 Phạm Văn Nguyên- MSV:1041060017 Phạm Đức Cảnh- MSV:1041060050 Đỗ Anh Tuấn- MSv:1041060024 Nguyễn Hữu Tiến-MSV:1041040171 Mục Lục Chương Lời Mở Đầu Bộ nhớ thiết bị lưu trũ mà thông qua CPU trao đổi thông tin với môi trường bên ngoài,nó tài nguyên quan trọng thứ sau CPU Do nhu cầu quảnnhớ nhiệm vụ hàng đầu HĐH Bộ nhớ tổ chức mảng chiều bao gồm byte từ nhớ (word) đánh địa Đây chỗ chứa tiến trình liệu tiến trình Việc quản lí sử dụng nhớ hợp lí ảnh hưởng tới tốc độ khả toàn hệ thống tính toán Các công việc liên quan tới quảnnhớ bao gồm quảnnhớ trống, cấp phát nhớ trống cho tiến trình giải phóng nhớ cấp phát, ngăn chặn việc truy xuất trái phép tới vùng nhớ, ánh xạ địa logic địa vật lí Trong trường hợp yêu cầu nhớ tiến trình lớn dung lượng nhớ vật lí HĐH cho phép trao đổi thông tin đĩa nhớ tổ chức nhớ ảo để thỏa mãn nhu cầu tiến trình Chương I.Dẫn nhập khái niệm : 1.Dẫn nhập: Chúng ta thấy CPU dùng chung nhiều process Do kết định thời CPU, cải tiến hiệu suất CPU lẫn tốc độ đáp ứng người dùng Để thực việc làm tăng hiệu phải lưu giữ vài trình nhớ, tức cần phải dùng nhớ dùng chung Bộ nhớ trung tâm hoạt động hệ thống máy tính đại Bộ nhớ gồm dãy lớn words byte mà có địa riêng chúng - Quảnnhớ công việc HĐH với hỗ trợ phần cứng nhằm phân phối, xếp process nhớ cho hiệu - Mục tiêu cần đạt nạp nhiều process vào nhớ tốt (gia tăng mức độ đa chương) - Trong hầu hết hệ thống, Kernel (nhân hệ điền hành ) chiếm phần cố định nhớ, phần lại phân phối cho process 2.Khái niệm: - Địa luận lí hay gọi địa ảo ( Virtual Address ) : tất địa vi xử lí tạo Tập hợp tất địa luận lí tạo nên không gian địa luận lí - Địa vật hay gọi địa thực : địa thực tế mà trình quản nhớ nhìn thấy thao tác Tập hợp tất địa vật tạo nên không gian địa vật - Paging & Page File : Paging(Phân trang) kỹ thuật sử dụng hệ thống nhớ ảo để đảm bảo liệu cần tồn ( available ) nhanh tốt HĐH copy số trang định từ thiết bị lưu trữ vào nhớ Khi chương trình cần trang mà không tồn nhớ chính, HĐH copy trang cần thiết vào nhớ copy trang khác vào lại ổ đĩa Page File file ổ cứng, Windows sử dụng làm nhớ ảo để lưu trữ chương trình liệu, nhớ vật ( RAM ) không đủ chỗ chứa Chương II.Hệ thống Windows quản lí logic theo cấu trúc phân trang (paging) : Physical Storage(Bộ nhớ vật lí) : Mức tối đa dung lượng nhớ vật hệ thống Windows hỗ trợ khoảng từ 2GB->2TB, tùy thuộc vào phiên Windows Phiên Hệ 32 bit Hệ 64 bit Windows 2000 Professional 4GB Không hỗ trợ Windows XP 4GB 128GB Windows Server 2003 SP2 Datacenter Edition 128GB 2TB Windows Server 2008 R2 Datacenter Không hỗ trợ 2TB 4GB 192GB Windows Ultimate ( Bảng so sánh giới hạn nhớ vật lí phiên khác HĐH Windows ) Không gian địa ảo tiến trình nhỏ lớn tổng dung lượng nhớ vật máy tính Tập hợp không gian địa ảo tiến trình cư trú nhớ vật gọi “ working set ” Virtual Addess Space : Mỗi tiến trình người dùng tảng Windows 32-bit cấp phát không gian địa ảo (Virtual Address Space) GB.Còn tảng Windows 64-bit, tiến trình người dùng cấp phát không gian địa ảo lên tới 8TB Tất tiểu trình tiến trình truy cập vào vùng địa ảo nó, nhiên tiểu trình lại truy cập vào vùng địa ảo thuộc tiến trình khác Không gian địa ảo tiến trình tập hợp tất địa nhớ ảo mà sử dụng Các không gian nhớ ảo thiết lập riêng tư ( private ) tiến trình khác không chia sẻ Windows hệ thống 32 bit x86 systems truy xuất (access) 4GB nhớ vật Do thực tế bus addr vi xử (processor) 32 lines hay 32 bits truy xuất vùng addr từ 0x00000000 đến 0xFFFFFFFF tức có 4GB 4GB chia làm hai phần : - 0->2 GB dưới: chứa liệu lệnh riêng tiến trình.Vùng hoạt động chế độ user-mode, người dùng thao tác vùng 2GB - 2->4 GB trên: chứa thành phần liệu thuộc hệ điều hành, chia sẻ chung cho tiến trình, hoạt động chế độ kernel-mode, vùng HĐH quản lí người dùng tác động vào vùng - Hình II.1: Không gian địa ảo cấp phát cho tiến trình Windows làm cấp phát vùng addr 4GB cho nhiều processes tổng nhớ truy xuất bị giới hạn 4GB? Để đạt điều này, Windows dùng đặc tính x86 processer (386 trở lên) biết đến “phân trang” (paging) Paging cho phép phần mềm sử dụng địa nhớ (được biết đến logical address: địa luận lý) khác với địa nhớ vật (physical memory address) Paging processor chuyển đổi logical address thành physical address cách dễ dàng Điều cho phép process system có vùng addr logical 4GB Để hiểu điều chi tiết hơn, bắt đầu tìm hiểu cách paging môi trường làm việc x86 Processer Phân trang ( paging ) : Trong xử x86 vùng địa vật (physical address space) chia thành page có kích thước 4KB Vì để đánh địa 4GB nhớ, cần MB (1024x1024) trang (pages) có kích thước 4KB.Bộ vi xử dùng lớp cấu trúc để tham chiếu đến Mega pages Chúng ta nghĩ ma trận chiều kích thước 1024x1024 phần tử.Chiều thứ biết đến Page Directory chiều thứ biết Page Table.Vì cần cài đặt Page Directory với 1024 thành phần, thành phần point (trỏ đến) đến Page Table Điều cho phép có 1024 Page Table.Mỗi Page Table lại có 1024 thành phần, thành phần lại trỏ đến 4KB page Hình II.2: Paging in x86 Processor Mỗi thành phần Page Directory Entry (PDE) có kích thước bytes trỏ đến Page Table Tương tự , Page Table Entry (PTE) có kthước bytes trỏ đến physical address (địa vật lý) 4KB page.Để chứa 1024 PDE mà thành phần lại chứa 1024 PTE, cần tổng nhớ 4x1024x1024 bytes, có nghĩa 4MB Vì chia toàn 4GB vùng addr cho 4KB page, cần 4MB vùng nhớ Hình II.3: Address Translation hệ thống phân trang Không gian địa ảo Windows quản theo kiểu phân trang, kích thước trang 4kB = 212 byte; 4GB=220 x 4kB => nhớ ảo chứa 220 trang ảo Mỗi trang ảo nằm trạng thái: - Free: trang chưa dùng để chứa liệu sử dụng tiểu trình tiến trình chứa nó, trang Free không đưa vào RAM.Tham chiếu đến trang free gây lỗi (Page Fault), lỗi không xử - Committed: trang ánh xạ liệu, nằm RAM vùng - Paging File (Paging file vùng nhớ tổ chức RAM, cho cảm giác RAM mở rộng dùng để chứa nội dung trang bị đẩy từ RAM).Khi CPU gọi đến trang Committed trang vùng Paging File xuất Page Fault, trang đẩy vào RAM để hoạt động.Còn trang RAM không xuất Page Fault - Reserved: trang chưa có nhớ vật lý, đặt trước để chứa liệu code.Khi CPU gọi đến trang xuất Page Fault Trang Ví dụ: Khi tiểu trình sinh cần trang committed thời điểm đặt trước đến 1MB trang reserved liên tiếp cạnh trang committed, để tiểu trình sử dụng sau Hình vẽ mô tả mối quan hệ trạng thái trang: xử để chuyển sang trạng thái committed Hình II.4: Chuyển đổi trạng thái trang ảo hàm API Windows Page Table Management( Quản lí trang bảng) : Trong Windows, process có Page Directory Page Table Vì Windows cấp 4MB vùng nhớ cho process Khi process cài đặt, thành phần Page Directory chứa physical address (địa vật lý) Page Table Các thành phần Page Table valid (hợp lệ) , invalid (không hợp lệ) Các thành phần valid chứa physical address 4KB page cấp cho process Một thành phần invalid (không hợp lệ) chứa vài bits đặc biệt đánh dấu không hợp lệ thành phần biết Invalid PTEs (Page Table Entry) Khi memory cấp cho process, thành phần Page Table lắp địa vật pages cấp Ở process điều địa vật sử dụng logical address (địa luận lý) mà Chi tiết việc logical address tương ứng với physical address quản chuyển đổi Windows Memory Manager Processor (bộ vi xử lý) Address Page Directory process định vị physical memory tham chiếu đến Page Directory Base address Page Directory Base address chứa ghi đặc biệt CPU CR3 (trên x86) Để chuyển đổi context khác, Windows tải giá trị CR3 để trỏ đến Page Directory base process Với cách process lấy phần phân chia 4GB physical address space (không gian địa vật lý) Tất nhiên, tổng dung lượng nhớ cấp thời điểm cho tất process hệ thống vượt số lượng RAM+kích thước pagefile theo lược đồ thảo luận cho phép Windows cấp cho process vùng address logical (hay Virtual: ảo) 4GB Chúng ta gọi vùng địa ảo (Virtual Addres sapce) process có đến range (phạm vi) 4GB address, sử dụng memory cấp cho Nếu process thử truy xuất (access) địa không cấp phép, gây access violation (sự vi phạm truy xuất) PTE tương ứng với address trỏ đến giá trị ko hợp lệ (invalid value) Cũng vậy, process ko thể cấp memory nhiều phép system Phương thức tách riêng logical memory từ physical memory có nhiều thuận lợi Một process có vùng address 4GB tuyến tính , lập trình viên ứng dụng ko phải lo lắng segments hoàn toàn không giống ngày tháng cũ làm việc với DOS Nó cho phép Windows chạy nhiều prosses lúc cho phép chúng dùng physical memory máy tính mà lo lắng chúng đè lên vùng address space process khác Một logical address process không trỏ đến physical memory cấp cho process khác (trừ chúng sử dụng phần để shared memory) Vì vậy,một process không read hay write vào memory process khác Sự chuyển đổi từ logical address (địa luận lý) sang physical address (địa vật lý) thực vi xử Một 32bit logical address chia thành phần hình đây: 10 bits 10 bits 12 bits Vi xử loads physical address page directory lưu trữ CR3 Rồi sử dụng 10 bits thấp từ logical address mục Page directory Tạo cho processor page directory entry (PDE) trỏ đến Page Table 10 bits sử dụng mục Page Table Sử dụng 10 bits này, lấy page table entry (hay PTE) trỏ đến 4KB physical page 12 bits thấp sử dụng đánh địa bytes riêng lẻ page Windows Memory Protection ( Bảo vệ nhớ ): Windows hổ trợ bảo vệ memory cho tất processes mục đích để process truy xuất vùng nhớ process khác Điều đảm bảo họat động nhiều processes lúc cách trôi chảy Windows đảm bảo chế độ bảo vệ cách theo bước sau: - Chỉ đặt physical address memory định vị PTE cho process Điều đảm bảo process bắt access violation thử truy xuất địa mà không định vị Một rouge process (tiến trình thực thi) cố gắng thay đổi page tables để truy xuất physical memory thuộc process khác, điều dẫn đến lỗi trang.Windows bảo vệ khỏi loại công chế cất giữ page tables kernel address space Cấu trúc đa bảng trang : - Windows sử dụng hai cấp bảng trang: bảng trang cấp (PT1-page table 1) bảng trang cấp (PT2-page table 2)để quản nhớ nhằm tránh việc quản tất bảng trang nhớ lúc, bảng trang kích thước trang ảo 4KB.Mỗi tiến trình có bảng trang cấp 1, 1024 bảng trang cấp - Bảng trang cấp quản địa vật bảng trang cấp 2.Bảng trang cấp có 1024 mục mục byte (hay 32 bit), quản địa vật 1024 bảng trang cấp 2.Trong mục, 20 bits đầu dùng chứa địa vật bảng trang cấp bảng trang cấp nạp vào RAM; 12 bit cuối chứa thuộc tính bảng trang đó, bit Present/Absent trang RAM, ngược lại gán giá trị Trong trường hợp trang cấp chưa nạp vào RAM 20 bit đầu chứa toàn 0, bit 10 Present/Absent - Bảng trang cấp quản địa vật trang ảo.Bảng trang cấp có1024 mục, mục byte (hay 32 bit), quản địa 1024 trang ảo.Như bảng trang cấp quản địa vật 4MB trang ảo.Cấu tạo mục PT2 tương tự mục PT1 Tức 20 bits đầu dùng chứa địa vật trang ảo 12 bits lại lưu trữ số thuộc tính bảo vệ; bit Present/Absent trang RAM, ngược lại Hình II.5:Cấu trúc đa bảng trang Cơ chế Overlay: Tại thời điểm, giữ lại nhớ lệnh liệu cần thiết, giải phóng lệnh/dữ liệu chưa không cần dùng đến Cơ chế hữu dụng kích thước process lớn không gian nhớ cấp cho process đó.Cơ chế điều khiển người sử dụng(thông qua hỗ trợ thư viện lập trình) không cần hỗ trợ hệ điều hành Cơ chế swapping: 11 Một process tạm thời bị swap khỏi nhớ lưu hệ thống lưu trữ phụ Sau đó,process nạp lại vào nhớ để tiếp tục trình thực thi Swapping policy: hai ví dụ -Round-robin: swap out P1 ( vừa tiêu thụ hết quantum nó), swap in P2, thực thi P3,… -Roll out, roll in: dùng chế định thời theo chế độ ưu tiên (priority-based scheduling) process có độ ưu tiên thấp bị swap ot nhường chỗ cho process có độ ưu tiên cao đến nạp vào nhớ để thực thi (hiện hệ thống sử dụng chế swapping trên) Chương III Quảnnhớ ảo ( nhớ Logic ) : Bộ nhớ ảo ( Virtual Memory ): kĩ cho phép xử lí tiến trình không 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ái niệm không gian địa ảo (virtual address space) không gian vật (physical space) Một điểm lợi quan trọng chế chương trình chạy lớn hợn nhớ vật Ngoài ra, nhớ ảo phóng đại nhớ thành nhớ luận cực 12 lớn hiển thị người dùng Kỹ thuật 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 nhớ Bộ nhớ ảo cho phép trình dễ dàng chia sẻ tập tin không gian địa chỉ, cung cấp chế hữu cho trình Hình III.1: Minh họa nhớ ảo lớn nhớ vật lí Ánh xạ ( dịch ) từ nhớ Logic sang nhớ thực : 13 Hình III.2: CPU làm việc với MMU Bộ phận dịch (MMU).MMU viết tắt Memory Management Unit Để thi hành lệnh đó,CPU gửi địa ảo đến MMU Thông qua MMU, địa ảo ánh xạ tương ứng với địa vật cụ thể gửi tới bus địa Cuối thông qua bus địa để truy cập tới vùng nhớ cụ thể RAM Page Faults : * Định nghĩa: Page faults vấn đề loại phần mềm nay, phần hệ thống phần cứng, chương trình truy cập đến page ánh xạ không gian địa ảo chưa lưu vào nhớ vật MMU vi xử lí phần cứng đóng vai trò phát trường hợp xảy Page faults Hệ điều hành xử page faults cách: - Tạo page yêu cầu dễ dàng hiểu chúng đặt nơi địa vật lí - Loại bỏ chương trình trường hợp chúng có biểu truy xuất không hợp lệ Trái ngược với Page Faults loại lỗi thường xuyên cần thiết để gia tăng số lượng nhớ sẵn có để cung cấp cho chương trình cho HĐH có sử dụng nhớ ảo bao gồm : Microsoft Windows, Mac os X , Linux, * BSD, Solaris, AIX, and HP-US z/OS Một điều đáng lưu ý mà Microsoft dùng thuật ngữ hard fault để định nghĩa page fault : gây Page Faults: 14 a.Một lỗi trang xảy xử truy cập tới địa mà trang tương ứng với địa không đánh dấu cácMMU (đơn vị quản nhớ) nạp nhớ Các lỗi phần cứng lỗi phát sinh trường hợp phụ thuộc vào kiến trúc tập lệnh xử Với số tập lệnh kiến trúc, lỗi phần cứng câu hỏi tạo điều kiện khác truy cập vào địa trang không tải vào nhớ, điều có nghĩa xử cho lỗi phần cứng phải tìm xem có tương ứng với trang lỗi hay không b.Một khái niệm có liên quan với Page Fault gọi Protection fault tạo để truy cập trang mà trang tương ứng với địa yêu cầu đánh dấu đơn vị quản nhớ nạp nhớ, không đánh dấu cho phép hoạt động mà vi xử thực Ví dụ, trang đánh dấu không cho phép lưu trữ, trường hợp cố gắng để lưu trữ vào trang tạo lỗi bảo vệ, đánh dấu không cho phép thực thi mã, trường hợp cố gắng để lấy hướng dẫn từ trang tạo lỗi bảo vệ Một lần nữa, lỗi phần cứng lỗi phát sinh trường hợp phụ thuộc vào tập lệnh xử Các thuật ngữ "Page fault" "Protection Fault" sử dụng thấy cách hệ điều hành xử lỗi, không thiết phải tên dành cho lỗi phần cứng xảy Ví dụ, kiến trúc x86, truy cập vào page mà không trình bày truy cập vào trang bảo vệ báo cáo thông qua lỗi phần cứng gọi lỗi "trang ", phần cứng xử cung cấp thông tin cho xử lỗi trang cho biết loại truy cập kích hoạt lỗi, mà cách xử hệ điều hành phân biệt Việc sử dụng lỗi bảo vệ không nên nhầm lẫn với trường hợp ngoại lệ lỗi x86 nói chung bảo vệ, sử dụng để vi phạm tín hiệu nhớ truy cập dựa phân khúc Các loại Page Faults khắc phục : 15 • Loại 1: Truy nhập đến trang reserved tức trang đặt trước mà chưa đưa vào RAM Khi Page Fault xảy trang reserved xử lí để thành trang committed tức ánh xạ trang vào RAM • Loại 2: Page Fault xảy kĩ thuật copy-on-write Khi xảy lỗi trang, cần phải mang trang vắng mặt vào nhớ Nếu khung trang trống, hệ điều hành cần thực công việc thay trang – nghĩa chọn trong nhớ mà không sử dụng thời điểm chuyển không gian swapping đĩa để giải phóng khung trang dành chỗ nạp trang cần truy xuất vào nhớ Hình III.3: Một “Blue Screen” xuất xảy PAGE FAULT Quá trình dịch địa ảo : 16 Hình III.4: Tổ chức 32-bits địa ảo Một địa ảo trang Windows chia làm phần Giả sử CPU phát sinh địa ảo số 32 bit để tìm đến byte nhớ Bộ phận dịch Memory Management Unit (MMU) nhận địa thực thao tác dịch: - Bước 1: MMU nhận 10 bít tìm PT1 để lấy địa vật PT2 Nếu PT2 reserved Page Fault nạp PT2 vào RAM - Bước 2: Khi PT2 có RAM, MMU dùng 10 bits để tìm PT2 lấy địa vật trang chứa byte cần tìm.Nếu trang trạng thái reserved xảy Page Fault nạp trang vào RAM - Bước 3: Khi trang có RAM, MMU dùng 12 bits cuối để tìm đến byte cụ thể khung trang trả cho CPU địa vật cụ thể byte cần tìm Hình III.5: Minh họa trình dịch 17 Kỹ thuật Copy-on-Write: Windows cho phép nhiều tiến trình khác chia sẻ physical page RAM để tiết kiệm nhớ Các trang dùng chung cho phép tiến trình dùng thay đổi nội dung không, vào thuộc tính bảo vệ trang chia sẻ Trong trường hợp thuộc tính bảo vệ không cho phép tiến trình chỉnh sửa trang để tránh việc tiến trình thay đổi nội dung trang làm ảnh hưởng đến tiến trình khác, Windows sử dụng kỹ thuật copy-on-write với nguyên sau: “ Tất tiến trình ánh xạ đến trang dùng chung tiến trình làm thay đổi nội dung trang Khi đó, Page Fault xảy báo cho hệ thống xử tình sau: tiến trình làm trang thay đổi copy trang dùng chung vùng nhớ riêng thao tác vùng nhớ đó; tiến trình lại sử dụng trang nhớ cũ.” Hình III.6: Minh họa kỹ thuật Copy-On-Write Những thành phần nạp vào RAM: Bộ nhớ RAM chia làm hai phần: - The Non-Paged are : Có số phần hệ điều hành quan trọng không phân trang Khu vực RAM dùng cho phần gọi “Non-Paged are”, dành cho code lõi hệ thống (core code of the system) 18 - The Page Pool : Được dùng để lưu trữ: • Mã chương trình • pages có liệu ghi • Một phần dung lượng dành cho “file cache”, lưu trữ thông tin tập tin vừa xử đọc/ghi từ ổ cứng Bất kỳ lượng RAM lại sử dụng để làm dung lượng nhớ Cache lớn Page File đâu : Trong hệ thống Windows, page file tệp tin ẩn lưu với tên pagefile.sys.File tạo lần hệ điều hành boot Để xem file này, vào ổ đĩa lưu page file vào Folder Options View chọn “Show hidden files and folders” bỏ chọn mục “Hide Protected mode System files” Hình III.7: Một Page File hệ thống Windows XP 19 Theo mặc định, Windows tự set dung lượng “page file” gấp 1.5 lần dung lượng nhớ RAM máy tính Để tắt nhớ ảo, vào Control Panel System, chọn tab Advance sau click vào nút Settings Performance, tiếp tục click vào tab Advanced click vào nút Change.Chọn “No paging file” click nút Set để xóa file pagefile.sys Hình III.8: Tắt “page file” hệ thống Windows XP Tuy nhiên việc không sử dụng nhớ ảo làm tiêu tốn nhiều tài nguyên RAM, dẫn tới hiệu suất hoạt động hệ thống bị giảm.Lý thực tế, chương trình thực thi thường yêu cầu lượng nhớ lớn lượng nhớ thực đưa vào sử dụng.Các yêu cầu địa ô nhớ hệ thống giao cho nới Nếu tệp tin trang (page file) có sẵn, hệ thống giao cho nó.Nhưng tắt “page file” (không sử dụng nhớ ảo) hệ thống giao toàn cho RAM, điều làm lãng phí nhiều tài nguyên RAM, có đến vài trăm megabytes chương trình chạy 20 Chương IV Quảnnhớ vật lí: Phân chia vùng RAM: - Working Set: Tập trang hoạt động - Modified List: Các trang bị loại khỏi Working Set, liên quan đến tiến trình gọi - Standby List: Các trang bị loại khỏi Modified List, liên quan đến tiến trình gọi nó, có vùng Paging File nhớ ngoài, xóa gốc RAM cần - Free List: Các trang bị loại khỏi Standby List không gắn với tiến trình - Zeroed List: Các trang chuyển từ Free List ghi lại hoàn toàn mã Cách thức chuyển đổi vùng RAM: Giải thuật thay trang đảm bảo cho trang ảo nạp vào RAM cần xóa khỏi RAM không cần dùng để thay trang khác Sơ đồ sau mô tả giải thuật thay trang Hình IV.1: Các vùng RAM 21 - Khi tiến trình gọi đến trang nạp vào vùng Working Sets Cứ khoảng 4s, trang tiến trình rỗi, bị đẩy từ Working Set sang đáy Modified List Standby List(tùy trường hợp cụ thể), biểu diễn (1) Các trang vùng có giá trị tiến trình gọi lại nạp vào Working Set, biểu diễn (2) Khi tiến trình kết thúc trang không chia sẻ với tiến trình khác, trang từ Working Set bị đẩy sang Free List, biểu diễn (3) - Sau thời gian định trang Modified List bị đẩy sang vùng Standby List, biểu diễn (4) Sự khác biệt vùng Modified List đẩy vào Working Set nhanh hơn, Standby List có backup nhớ ngoài, trang Standby List xóa RAM đầy, cần nạp trang backup - Các trang Standby List không gắn với tiến trình bị đẩy vùng Free List, biểu diễn (5) Các trang Free List chứa liệu không giá trị, bị ghi đè trang chuyển vào Working Set hoạt động, biểu diễn (6) - Trong số trường hợp đặc biệt, tiến trình đòi hỏi trang hoàn toàn chưa chứa liệu đê ghi thông tin mới, trang lấy từ vùng Zeroed List Zeroed List có nhờ xóa liệu trang Free List, biểu diễn (7) 22 CSDL khung trang: Để quản RAM, vùng trang RAM tiện lợi cho việc ánh xạ nhớ ảo vào RAM, Windows sử dụng bảng liệu khung trang Các thông tin đọc từ bảng gồm có: - Số thứ tự trang nhớ vật Vùng mà trang tồn Số bảng trang trỏ đến trang trang Con trỏ trỏ đến bảng trang sử dụng trang Con trỏ đến trang vùng List RAM Hình IV.2: Bảng liệu khung trang 23 24 ... giữ vài trình nhớ, tức cần phải dùng nhớ dùng chung Bộ nhớ trung tâm hoạt động hệ thống máy tính đại Bộ nhớ gồm dãy lớn words byte mà có địa riêng chúng - Quản lí nhớ công việc HĐH với hỗ trợ... 2)để quản lý nhớ nhằm tránh việc quản lý tất bảng trang nhớ lúc, bảng trang kích thước trang ảo 4KB.Mỗi tiến trình có bảng trang cấp 1, 1024 bảng trang cấp - Bảng trang cấp quản lý địa vật lý bảng... lớn hợn nhớ vật lý Ngoài ra, nhớ ảo phóng đại nhớ thành nhớ luận lý cực 12 lớn hiển thị người dùng Kỹ thuật 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 nhớ Bộ nhớ ảo cho

Ngày đăng: 13/06/2017, 13:31

Từ khóa liên quan

Mục lục

  • Chương I.Dẫn nhập và khái niệm :

  • 1.Dẫn nhập:

  • 2.Khái niệm:

  • Chương II.Hệ thống Windows quản lí bộ logic theo cấu trúc phân trang (paging) :

  • Chương III. Quản lí bộ nhớ ảo ( bộ nhớ Logic ) :

  • 1. Bộ nhớ ảo ( Virtual Memory ): là một kĩ năng cho phép xử lí 1 tiến trình không được nạp toàn bộ vào bộ nhớ vật lí. Bộ nhớ ảo là mô hình hóa bộ nhớ như 1 bảng lưu trữ rất lớn và đồng nhất, tách biệt hẳn khái niệm không gian địa chỉ ảo (virtual address space) và không gian vật lý (physical space). Một điểm lợi quan trọng của cơ chế này là các chương trình được chạy có thể lớn hợn bộ nhớ vật lý. Ngoài ra, bộ nhớ ảo phóng đại bộ nhớ chính thành bộ nhớ luận lý cực lớn khi được hiển thị bởi người dùng. Kỹ thuật này 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ớ. Bộ nhớ ảo cũng cho phép các quá trình dễ dàng chia sẻ tập tin và không gian địa chỉ, cung cấp cơ chế hữu hiện cho quá trình.

  • 2. Ánh xạ ( dịch ) từ bộ nhớ Logic sang bộ nhớ thực :

  • 3. Page Faults :

  • 4. Quá trình dịch địa chỉ ảo :

  • 5. Kỹ thuật Copy-on-Write:

  • 6. Những thành phần được nạp vào RAM:

  • Chương IV. Quản lí bộ nhớ vật lí:

Tài liệu cùng người dùng

Tài liệu liên quan