Giáo trình -Lý thuyết hệ điều hành - chương 3 docx

65 402 0
Giáo trình -Lý thuyết hệ điều hành - chương 3 docx

Đ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

Chương III QUẢN LÝ BỘ NHỚ Quản lý nhớ nhiệm vụ quan trọng phức tạp hệ điều hành Bộ phận quản lý nhớ xem nhớ tài nguyên hệ thống dùng để cấp phát chia sẻ cho nhiều tiến trình trạng thái active Các hệ điều hành mong muốn có nhiều tiến trình nhớ Cơng cụ quản lý nhớ phân trang (paging) phân đoạn (segmentation) Với phân trang tiến trình chia thành nhiều phần nhỏ có quan hệ với nhau, với kích thước trang cố định Sự phân đoạn cung cấp cho chươngtrình người sử dụng khối nhớ có kích thước khác Hệ điều hành kết hợp phân trang phân đoạn để có chiến lược quản lý nhớ linh hoạt III.1 Nhiệm vụ quản lý nhớ Trong hệ thống đơn chương trình (uniprogramming), nhớ ngồi hệ điều hành, có chương trình thực Trong hệ thống đa chương (multiprogramming) nhớ ngồi hệ điều hành, có nhiều tiến trình hoạt động Do nhiệm vụ quản lý nhớ hệ điều hành hệ thống đa chương trình phức tạp nhiều so với hệ thống đơn chương trình Trong hệ thống đa chương phận quản lý nhớ phải có nhiệm vụ đưa tiến trình vào nhớ có yêu cầu, kể nhớ khơng cịn khơng gian trống, ngồi phải bảo vệ hệ điều hành tiến trình nhớ tránh trường hợp truy xuất bất hợp lệ xảy Như việc quản lý nhớ hệ thống đa chương quan trọng cần thiết Bộ phận quản lý nhớ phải thực nhiệm vụ sau đây:  Sự tái định vị (Relocation): Trong hệ thống đa chương, khơng gian nhớ thường chia sẻ cho nhiều tiến trình khác yêu cầu nhớ tiến trình ln lớn khơng gian nhớ vật lý mà hệ thống có Do dó, chương trình hoạt động nhớ bị đưa đĩa (swapout) đưa vào lại (swap-in) nhớ thời điểm thích hợp sau Vấn đề đặt đưa chương trình vào lại nhớ hệ điều hành phải định vị vào vị trí mà nạp trước Để thực điều hệ điều hành phải có chế để ghi lại tất thơng tin liên quan đến chương trình bị swap-out, thông tin sở để hệ điều hành swap-in chương trình vào lại nhớ cho tiếp tục hoạt động Hệ điều hành buộc phải swap-out chương trình cịn khơng gian nhớ để nạp tiến trình khác, dó sau swap-out chương trình hệ điều hành phải tổ chức lại nhớ để chuẩn bị nạp tiến trình vừa có u cầu Các nhiệm vụ phần quản lý nhớ hệ điều hành thực Ngoài nhiệm vụ hệ điều hành phải có khả chuyển đổi địa nhớ ghi code chương trình thành địa vật lý thực tế nhớ chương trình thực thao tác truy xuất nhớ, người lập trình khơng biết trước trạng nhớ vị trí mà chương trình nạp chương trình họ hoạt động Trong số trường hợp khác chương trình bị swapout swap-in vào lại nhớ vị trí khác với vị trí mà nạp trước  Bảo vệ nhớ (Protection): Mỗi tiến trình phải bảo vệ để chống lại truy xuất bất hợp lệ vơ tình hay có chủ ý tiến trình khác Vì tiến trình chương trình khác khơng thể tham chiếu đến vùng nhớ dành cho tiến trình khác để thực thao tác đọc/ghi mà khơng phép (permission), mà truy xuất đến không gian địa nhớ mà hệ điều hành cấp cho tiến trình Để thực điều hệ thống quản lý nhớ phải biết không gian địa tiến trình khác nhớ phải kiểm tra tất yêu cầu truy xuất nhớ tiến trình tiến trình đưa địa truy xuất Điều khó thực khơng thể xác định địa chương trình nhớ q trình biên dịch mà phải thực việc tính tốn địa thời điểm chạy chương trình Hệ điều hành có nhiều chiến lược khác để thực điều Điều quan trọng mà hệ thống quản lý nhớ phải thực khơng cho phép tiến trình người sử dụng truy cập đến vị trí hệ điều hành, ngoại trừ vùng liệu rountine mà hệ điều hành cung cấp cho chương trình người sử dụng  Chia sẻ nhớ (Sharing): Bất kỳ chiến lược cài đặt phải có tính mềm dẻo phép nhiều tiến trình truy cập đến địa nhớ Ví dụ, có nhiều tiến trình thực chương trình việc cho phép tiến trình truy cập đến copy chương trình thuận lợi cho phép tiến trình truy cập đến copy sở hữu riêng Các tiến trình đồng thực (co-operating) vài tác vụ cần để chia sẻ truy cập đến cấu trúc liệu Hệ thống quản lý nhớ phải điều khiển việc truy cập đến không gian nhớ chia sẻ mà không vi phạm đến yêu cầu bảo vệ nhớ Ngồi ra, mơi trường hệ điều hành đa nhiệm hệ điều hành phải chia sẻ không gian nhớ cho tiến trình để hệ điều hành nạp nhiều tiến trình vào nhớ để tiến trình hoạt động đồng thời với  Tổ chức nhớ logic (Logical organization): Bộ nhớ hệ thống máy tính tổ chức dịng mảng, khơng gian địa bao gồm dãy có thứ tự byte word Bộ nhớ phụ tổ chức tương tự Mặc dù việc tổ chức có kết hợp chặt chẽ với phần cứng thực tế máy khơng phù hợp với chương trình Đa số chương trình chia thành modun, vài số khơng thể thay đổi (read only, execute only) vài số chứa liệu thay đổi Nếu hệ điều hành phần cứng máy tính giao dịch cách hiệu với chương trình người sử dụng liệu modun số thuận lợi thấy rõ sau đây:  Các modun viết biên dịch độc lập, với tất tham chiếu từ modun đến modun khác giải hệ thống thời điểm chạy  Các mức độ khác bảo vệ, read-only, execute-only, cho modun khác  Nó đưa chế để modun chia sẻ tiến trình Cơng cụ đáp ứng cho yêu cầu phân đoạn (segmentation), kỹ thuật quản lý nhớ trình bày chương  Tổ chức nhớ vật lý (Physical organization): Như biết nhớ máy tính tổ chức theo cấp: nhớ nhớ phụ Bộ nhớ cung cấp tốc độ truy cập liệu cao, liệu phải làm tươi thường xuyên tồn lâu dài Bộ nhớ phụ có tốc độ truy xuất chậm rẻ tiền so với nhớ khơng cần làm tươi thường xun Vì nhớ phụ có khả lưu trữ lớn cho phép lưu trữ liệu chương trình khoảng thời gian dài, nhớ để giữ (hold) khối lượng nhỏ chương trình liệu sử dụng thời điểm Trong giản đồ cấp này, việc tổ chức luồng thơng tin nhớ nhớ phụ nhiệm vụ quan trọng hệ thống Sự chịu trách nhiệm cho luồng gán cho người lập trình riêng, điều khơng hợp lý gây rắc rối, hai nguyên nhân:  Không gian nhớ dành cho chương trình với liệu thường khơng đủ, trường hợp này, người lập trình phải tiến hành thao tác hiểu Overlaying, theo chương trình liệu tổ chức thành modun khác gán vùng nhớ, có chương trình chịu trách nhiệm chuyển modun vào cần  Trong mơi trường đa chương trình, người lập trình khơng thể biết thời điểm xác định có khơng gian nhớ cịn trống khơng gian nhớ trống Như nhiệm vụ di chuyển thông tin cấp nhớ phải hệ thống thực Đây nhiệm vụ mà thành phần quản lý nhớ phải thực III.2 Kỹ thuật cấp phát nhớ (nạp chương trình vào nhớ chính) III.2.1 Kỹ thuật phân vùng cố định (Fixed Partitioning) Trong kỹ thuật khơng gian địa nhớ chia thành phần cố định, phần nằm vùng địa thấp dùng để chứa hệ điều hành, phần lại, tạm gọi phần user program, sẵn sàng cho việc sử dụng tiến trình tiến trình nạp vào nhớ Trong hệ thống đơn chương, phần user program dùng để cấp cho chương trình nhất, nhiệm vụ quản lý nhớ hệ điều hành trường hợp đơn giản hơn, hệ điều hành kiểm soát truy xuất nhớ chương trình người sử dụng, khơng cho truy xuất lên vùng nhớ hệ điều hành Để thực việc hệ điều hành sử dụng ghi giới hạn để ghi địa ranh giới hệ điều hành chương trình người sử dụng, theo chương trình người sử dụng cần truy xuất địa hệ điều hành so sánh địa với giá trị địa ghi thành ghi giới hạn, nhỏ từ chối khơng cho truy xuất, ngược lại cho phép truy xuất Việc so sánh địa cần phải có hỗ trợ phần cứng làm giảm tốc độ truy xuất nhớ hệ thống bảo vệ hệ điều hành tránh việc chương trình người sử dụng làm hỏng hệ điều hành dẫn đến làm hỏng hệ thống Trong hệ thống đa chương, phần user program lại phân thành nhiều phân vùng (partition) với biên vùng cố định có kích thước hay khơng Trong trường hợp tiến trình nạp vào partition kích thước nhỏ kích thước partition partition cịn trống Khi có tiến trình cần nạp vào nhớ tất partition chứa tiến trình khác hệ điều hành chuyển tiến trình đó, mà hệ điều hành cho hợp lệ (kích thước vừa đủ, khơng trạng thái ready running, khơng có quan hệ với tiến trình running khác, ), (swap out), để lấy partition trống nạp tiến trình vừa có u cầu Đây nhiệm vụ phức tạp hệ điều hành, hệ điều hành phí cao cho cơng việc Có hai trở ngại việc sử dụng phân vùng cố định với kích thước nhau:  Thứ nhất, kích thước chương trình q lớn so với kích thước partition người lập trình phải thiết kế chương trình theo cấu trúc overlay, theo phần chia cần thiết chương trình nạp vào nhớ khởi tạo chương trình, sau người lập trình phải nạp tiếp modun cần thiết khác vào partition chương trình ghi đè lên chương trình liệu Cấu trúc chương trình overlay tiết kiệm nhớ yêu cầu cao người lập trình  Thứ hai, kích thước chương trình nhỏ kích thước partition lớn so với kích thước partition bội số kích thước partition dễ xảy tượng phân mảnh bên (internal fragmentation) nhớ, gây lãng phí nhớ Ví dụ, có khơng gian trống kích thước 30K nằm rãi rác nhớ, khơng nạp modun chương trình có kích thước 12K, tượng gọi tượng phân mảnh bên Cả hai vấn đề khắc phục cách sử dụng phân vùng có kích thước khơng Việc đưa tiến trình vào partition hệ thống đa chương với phân vùng cố định kích thước khơng phức tạp nhiều so với trường hợp phân vùng có kích thước Với partition có kích thước khơng có hai cách để lựa chọn đưa tiến trình vào partition:  Mỗi phân vùng có hàng đợi tương ứng, theo tiến trình cần nạp vào nhớ đưa đến hành đợi phân vùng có kích thước vừa đủ để chứa nó, để vào/để đợi vào phân vùng Cách tiếp cận đơn giản việc đưa tiến trình từ hàng đợi vào phân vùng khơng có lựa chọn khác đây, phân vùng mà tiến trình đợi trống đưa vào phân vùng Tuy nhiên tiếp cận linh động có phân vùng trống, có nhiều tiến trình phải phải đợi để nạp vào phân vùng khác, điều gây lãng phí việc sử dụng nhớ  Hệ thống dùng hàng đợi chung cho tất phân vùng, theo tất tiến trình muốn nạp vào phân vùng chưa vào đưa vào hàng đợi chung Sau có phân vùng trống hệ thống xem xét để đưa tiến trình có kích thước vừa đủ vào phân vùng trống Cách tiếp cận linh động so với việc sử dụng nhiều hàng đợi trên, việc chọn tiến trình hàng đợi để đưa vào phân vùng việc làm phức tạp hệ điều hành phải dựa vào nhiều yếu tố khác như: độ ưu tiên tiến trình, trạng thái tiến trình, mối quan hệ tiến trình, New Process Mặc dầu phân vùng cố định với kích thước khơng cung cấp mềm dẻo so với phân vùng cố định với kích thước nhau, hai loại số hạn chế sau đây:  Số lượng tiến trình hoạt động hệ thống thời điểm phụ thuộc vào số lượng phân vùng cố định nhớ  Tương tự trên, nêu kích thước tiến trình nhỏ kích thước phân vùng dẫn đến tượng phân mảnh nội vi gây lãng phí việc sử dụng nhớ Sự phân vùng cố định sử dụng hệ điều hành III.2.2 Kỹ thuật phân vùng động (Dynamic Partitioning) Để khắc phục vài hạn chế kỹ thuật phân vùng cố định, kỹ thuật phân vùng động đời Kỹ thuật thường sử dụng hệ điều hành gần hệ điều hành mainframe IBM, hệ điều hành OS/MVT, Trong kỹ thuật phân vùng động, số lượng phân vùng nhớ kích thước phân vùng thay đổi Tức phần user program nhớ khơng phân chia trước mà ấn định sau có tiến trình nạp vào nhớ Khi có tiến trình nạp vào nhớ hệ điều hành cấp cho khơng gian vừa đủ để chứa tiến trình, phần cịn lại để sẵn sàng cấp cho tiến trình khác sau Khi tiến trình kết thúc đưa ngồi phần khơng gian nhớ mà tiến trình trả lại cho hệ điều hành hệ điều hành cấp cho tiến trình khác, tiến trình có kích thước nhỏ kích thước khơng gian nhớ trống Pro cess3 360 k Pro cess2 Pro cess2 280 k Pro cess1 280 k Pro cess1 320 Pro cess1 320 320 k k k HƯ ®iỊu h nh HƯ ®iỊu h nh HƯ ®iỊu h nh HƯ ®iỊu h nh (a) (b) (c) (d) Pro Pro Pro Pro cess3 cess3 360 k cess3 360 k Pro cess4 Pro cess4 cess3 360 k 360 k Pro cess4 Pro cess1 Pro Pro cess1 320 320 cess2 k HƯ ®iỊu h nh HƯ ®iỊu h nh HƯ ®iỊu h nh k HƯ ®iỊu h nh (e) (h) (g) (f) Hình 3.2: Kết phân trang động với thứ tự nạp tiến trình Hình vẽ 3.2 minh họa cho trình nạp/kết thúc tiến trình theo thứ tự: nạp process1, nạp process2, nạp process3, kết thúc process2, nạp process4, kết thúc process1, nạp process2 vào lại, hệ thống phân vùng động Như nhớ hình thành nhiều khơng gian nhớ có kích thước nhỏ khơng đủ chứa tiến trình nằm rải rác nhớ chính, tượng gọi thượng phân mảnh bên (external fragmentation) Để chống lại lãng phí nhớ phân mảnh, hệ điều hành phải thực việc xếp lại nhớ, để không gian nhớ nhỏ rời rác nằm liền kề lại với tạo thành khối nhớ có kích thước đủ lớn để chứa tiến trình Việc làm làm chậm tốc độ hệ thống, hệ điều hành phí cao cho việc này, đặc biệt việc tái định vị tiến trình tiến trình bị đưa khỏi nhớ nạp vào lại nhớ để tiếp tục hoạt động Trong kỹ thuật phân vùng động hệ điều hành phải đưa chế thích hợp để quản lý khối nhớ cấp phát hay trống nhớ Hệ điều hành sử dụng chế: Bản đồ bít Danh sách liên kết Trong chế hệ điều hành chia không gian nhớ thành đơn vị cấp phát có kích thước nhau, đơn vị cấp phát liên tiếp tạo thành khối nhớ (block), hệ điều hành cấp phát block cho tiến trình nạp tiến trình vào nhớ B D Hình 3.3a: Một đoạn nhớ bao gồm 22 đơn vị cấp phát, tạo thành block, có block cấp phát (tơ đậm, kí hiệu P) cho tiến trình: A, B, C, D block chưa cấp phát (để trắng, kí hiệu H)  Trong chế đồ bít: đơn vị cấp phát đại diện bít đồ bít Đơn vị cấp phát cịn trống đại diện bít 0, ngược lại đơn vị cấp phát đại diện bít Hình 3.3b đồ bít khối nhớ 00111000 11000011 H P P H H 10 P 14 H 17 P 18 20 101100  Trong chế danh sách liên kết: Mỗi block nhớ đại diện phần tử danh sách liên kết, phần tử gồm có trường chính: trường thứ cho biết khối nhớ cấp phát (P: process) hay trống (H: Hole), trường thứ hai cho biết thứ tự đơn vị cấp phát block, trường thứ ba cho biết block gồm đơn vị cấp phát Hình 3.3c danh sách liên kết khối nhớ Như cần nạp tiến trình vào nhớ hệ điều hành phải dựa vào đồ bit danh sách liên kết để tìm block có kích thước đủ để nạp tiến trình Sau thực thao tác cấp phát sau đưa tiến trình khỏi nhớ hệ điều hành phải cập nhật lại đồ bít danh sách liên kết, điều làm giảm tốc độ thực hệ thống Chọn kích thước đơn vị cấp phát vấn đề quan trọng thiết kế, kích thước đơn vị cấp phát nhỏ đồ bít lớn, hệ thống phải tốn nhớ để chứa Nếu kích thước đơn vị cấp phát lớn đồ bít nhỏ, lãng phí nhớ đơn vị cấp phát cuối tiến trình lớn kích thước tiến trình bội số đơn vị cấp phát Điều vừa trình bày trường hợp danh sách liên kết Danh sách liên kết xếp theo thứ tự tăng dần giảm dần kích thước địa chỉ, điều giúp cho việc tìm khối nhớ trống có kích thước vừa đủ để nạp tiến trình theo thuật tốn đạt tốc độ nhanh hiệu cao Một số hệ điều hành tổ chức danh sách liên kết riêng để theo dõi đơn vị cấp phát nhớ, danh sách để theo dõi block cấp phát danh dách để theo dõi block trống Cách giúp việc tìm khối nhớ trống nhanh hơn, tìm danh sách khối nhớ trống, tốn thời gian nhiều cho việc cấp nhật danh sách sau thao tác cấp phát, phải thực hai danh sách Khi có tiến trình cần nạp vào nhớ mà nhớ có nhiều khối nhớ trống (Free Block) có kích thước lớn kích thước tiến trình đó, hệ điều hành phải định chọn khối nhớ trống phù hợp để nạp tiến trình cho việc lựa chọn dẫn đến việc sử dụng nhớ hiệu Có thuật toán mà hệ điều hành sử dụng trường hợp này, là: Best-fit, First-fit, Next-fit Cả thuật toán phải chọn khối nhớ trống có kích thước lớn kích thước tiến trình cần nạp vào, có điểm khác sau đây:  Best-fit: chọn khối nhớ có kích thước vừa kích thước tiến trình cần nạp vào nhớ  First-fit: trường hợp hệ điều hành bắt đầu quét qua khối nhớ trống khối nhớ trống nhớ, chọn khối nhớ trống có kích thước đủ lớn để nạp tiến trình 8k 12k 8k 22k 6k Hình 3.4: Ví dụ thuật tốn cấp phát nhớ 18k 14k 36k khối nhớ vừa cấp phát cuối  Next-fit: tương tự First-fit hệ điều hành bắt đầu quét từ khối nhớ trống kế sau khối nhớ vừa cấp phát chọn khối nhớ trống đủ lớn để nạp tiến trình Hình vẽ 3.4 cho thấy nhớ có khối nhớ chưa đươc cấp phát theo thứ tự là: 8k, 12k, 22k, 18k, 8k, 6k, 14k, 36k Trong trường hợp có tiến trình có kích thước 16k cần nạp vào nhớ, hệ điều hành nạp vào:  khối nhớ 22k theo thuật toán First-fit  khối nhớ 18k theo thuật toán Best-fit  khối nhớ 36k theo thuật toán Next-fit Như theo Best-fit xuất khối phân mảnh 2k, theo First-fit xuất khối phân mảnh 6k, theo Next-fit xuất khối phân mảnh 20k Các hệ điều hành không cài đặt cố định trước thuật toán nào, tuỳ vào trường hợp cụ thể mà chọn cấp phát theo thuật tốn đó, cho chi phí việc cấp phát thấp hạn chế phân mảnh nhớ sau Việc chọn thuật toán thường phụ thuộc vào thứ tự swap kích thước tiến trình Frame Frame Frame 2 2 2 2 3 3 3 5 5 5 5 1 4 2 F F F F Theo bảng trường hợp xảy lỗi trang, hệ điều hành cần nạp trang vào nhớ phải đưa trang ngồi để lấy frame2 nạp trang 5, hệ điều hành thấy trang 3, trang 2, trang vừa truy xuất cách lâu Thuật tốn cần phải có hỗ trợ phần cứng để xác định thời điểm gần trang truy xuất tất trang nhớ Có hai cách áp dụng:  Sử dụng đếm: cách này, processor thêm vào cấu trúc phần tử bảng trang trường mới, tạm gọi trường LRU, trường ghi nhận thời điểm trang tương ứng truy xuất gần Và thêm vào cấu trúc CPU đếm (Counter) Mỗi có truy xuất nhớ Counter tăng lên đơn vị Mỗi trang nhớ truy xuất giá trị Counter ghi vào trường LRU phần tử bảng trang tương ứng với trang Như trang chọn để thay trang có LRU nhỏ  Sử dụng Stack: cách hệ điều hành sử dụng Stack để lưu trữ số hiệu trang nạp vào nhớ Khi trang truy xuất số hiệu trang xóa khỏi Stack vị trí đưa lên lại đỉnh Stack Như trang có số hiệu nằm đỉnh stack trang sử dụng gần nhất, trang có số hiệu nằm đáy stack trang lâu sử dụng Và trang chọn để thay trang có số hiệu nằm đáy stack  Thuật toán Optinal (tối ưu) Theo thuật tốn trang hệ điều hành chọn để thay trang lâu sử dụng tương lai Bảng sau minh hoạ cho việc chọn trang để swap out thay thuật toán Optinal: Frame Frame Frame 2 2 2 2 4 4 2 2 3 3 3 3 3 1 5 5 5 5 F F F Theo bảng trường hợp xảy lỗi trang, hệ điều hành cần nạp trang vào nhớ phải đưa trang ngồi để lấy frame3 nạp trang 5, hệ điều hành cho trang trang lâu s dụng t ương lai Mặc dầu thuật tốn xảy lỗi trang hơn, thực tế khó cài đặt hệ điều hành khó đốn trước trang truy xuất trở lại Thuật tốn không chiu tác động nghịch lý Belady Chú ý: Các tài liệu hệ điều hành đưa nhiều thuật tốn thay trang, chúng tơi khơng trình bày đây, bạn tìm đọc tài liệu tham khảo [1] [2] III.7 Cấp phát khung trang Với kỹ thuật nhớ ảo phân trang hệ điều hành khơng cần mang tất page tiến trình nạp vào nhớ để chuẩn bị thực Vì hệ điều hành cần phải định nạp page, tiến trình vào nhớ Hay xác nạp tiến trình tiến trình nạp page vào nhớ (được cấp khung trang) Hệ điều hành định vấn đề theo chọn lựa sau đây:  Chỉ có lượng nhỏ, tối thiểu, page tiến trình nạp vào nhớ Như hệ điều hành nạp nhiều tiến trình vào nhớ thời điểm Điều làm tăng khả đa chương hệ điều hành khả tìm thấy tiến trình Ready hệ điều hành lớn nhờ mà hiệu điều phối hệ điều hành tăng lên Nhưng trường hợp hệ điều hành phải ý đến việc nạp thêm page tiến trình vào nhớ hệ điều hành khó xác định số lượng khung trang tối thiểu mà tiến trình cần khởi tạo  Nếu có lượng vừa phải page tiến trình nhớ có số tiến trình nạp vào nhớ Như đa chương giảm xuống tốc độ thực tiến trình cải thiện thị page nhớ cần truy xuất đến page khác nhiều khả page có nhớ Nhưng lý thuyết hệ điều hành chứng minh trường hợp tỉ lệ xảy lỗi trang lớn  Nếu có lượng lớn page tiến trình nhớ chính, đa chương giảm xuống đáng kể Nhưng lý thuyết hệ điều hành chứng minh trường hợp tỉ lệ xảy lỗi trang thấp Mặt khác điều gây lãng phí nhớ có page tiến trình sử dụng nhớ Theo chọn lựa có điểm thuận lợi điểm chưa thuận lợi riêng, tùy trường hợp cụ thể mà hệ điều hành thực cấp phát khung trang cho tiến trình theo chọn lựa đó, để đảm bảo có nhiều tiến trình nạp vào nhớ chính, khả tỉ lệ lỗi trang thấp lãng phí nhớ thấp Để đáp ứng điều hệ điều hành thường thực việc cấp phát khung trang cho tiến trình theo hai sách: Cấp phát tĩnh Cấp phát động  Chính sách cấp phát tĩnh (fixed – allocation): Với sách hệ điều hành cấp cho tiến trình số lượng khung trang cố định, để nạp đủ page tiến trình vào nhớ để hoạt động Số lượng khung trang định thời điểm khởi tạo/tạo tiến trình Hệ điều hành định số lượng khung trang tối thiểu cho tiến trình dựa vào loại tiến trình, tiến trình tương tác, tiến trình xử lý theo lơ hay tiến trình theo hướng ứng dụng Với cấp phát tĩnh, có lỗi trang xảy q trình thực tiến trình hệ điều hành phải swap out page tiến trình để thực việc xử lý lỗi trang  Chính sách cấp phát động (variable - allocation): Với sách hệ điều hành cấp lượng vừa đủ khung trang, để nạp đủ trang cần thiết tiến trình, để tiến trình khởi tạo hoạt động được, sau tuỳ theo u cầu tiến trình mà hệ điều hành cấp phát thêm khung trang cho nó, để nạp thêm trang cần thiết khác Hệ điều hành thường cấp thêm khung trang cho tiến trình tiến trình bị rơi vào tình trạng lỗi trang, với tiến trình có tầng suất xảy lỗi trang lớn hệ điều hành phải cung cấp lượng khung trang lớn, cách vượt bật, đủ để tiến trình khỏi lỗi trang nguy lỗi trang thấp III.8 Một số vấn đề quản lý nhớ Windows 2000 III.8.1 Nhiệm vụ quản lý nhớ Windows 2000 Thành phần quản lý nhớ Windows 2000 thực hai nhiệm vụ sau đây:  Chuyển đổi, hay ánh xạ, không gian địa ảo tiến trình vào nhớ vật lý để tiểu trình thực thi ngữ cảnh tiến trình đó, đọc hay ghi vào khơng gian địa ảo địa vật lý xác tham chiếu  Phân trang vài nội dung nhớ đĩa (swap out) trở nên vượt đáp ứng nhớ hệ thống Có nghĩa là, việc thực thi tiểu trình hay mã hệ thống cố gắng sử dụng nhiều nhớ vật lý khả thời – mang nội dụng trở lại vào nhớ vật lý (swap in) cần Hệ điều hành Windows 2000 Professional Server hỗ trợ lên đến 4GB nhớ vật lý, Windows 2000 Advanced Server hỗ trợ lên đến GB, Windows 2000 Datacenter Server lên đến 64 GB Thực tế nhớ lớn cho Windows 2000 Datacenter Server phụ thuộc vào khả phần cứng Bởi Windows 2000 hệ điều hành 32-bit, nên tiến trình người sử dụng có không gian địa ảo 32-bit, 4GB nhớ phẳng Ngoài việc cung cấp quản lý nhớ ảo, trình quản lý nhớ cung cấp tập lõi dịch vụ mà hệ thống môi trường Windows 2000 khác xây dựng Các dịch vụ bao gồm tập tin ánh xạ nhớ, nhớ copy-on-write, hỗ trợ cho ứng dụng sử dụng không gian địa lớn, không liên tiếp Cũng tất thành phần windows 2000 executive, trình quản lý nhớ hỗ trợ thực thi đồng thời hệ thống đa xử lý Nó cho phép hai tiểu trình thu tài nguyên theo cách mà sau chúng khơng làm cho hỏng liệu tiến trình khác Để đạt mục tiêu này, trình quản lý nhớ sử dụng vài chế đồng nội khác để điều khiển truy xuất vào cấu trúc liệu nội riêng III.8.2 Các dịch vụ trình quản lý nhớ cung cấp Trình quản lý nhớ cung cấp tập dịch vụ hệ thống để định vị giải phóng nhớ ảo, chia sẻ nhớ tiến trình, ánh xạ tập tin vào nhớ, flush trang ảo vào đĩa, truy lục thông tin vùng trang ảo, thay đổi bảo vệ trang ảo, khoá trang ảo vào nhớ Trình quản lý nhớ cung cấp lượng dịch vụ, định vị bỏ định vị nhớ vật lý khoá trang nhớ vật lý cho trao đổi truy xuất nhớ trực tiếp (DMA), đến thành phần chế độ kernel khác bên Executive device driver Các hàm bắt đầu với tiền tố Mm Ngồi ra, khơng hồn tồn phần trình quản lý nhớ, Executive hỗ trợ thường trình bắt đầu với Ex mà sử dụng để định vị bỏ định vị từ heap hệ thống (vùng phân trang không phân trang) để vận dụng danh sách look-aside Sau xem xét vài nhiều dịch vụ mà trình quản lý nhớ Windows 2000 cung cấp:  Bảo vệ nhớ Windows 2000 cung cấp quản lý nhớ để khơng tiến trình người sử dụng nào, không cố ý hay cố ý, làm hỏng không gian địa tiến trình khác hệ điều hành Windows 2000 cung cấp bảo vệ theo bốn cách sau đây:  Thứ nhất, tất cấu trúc liệu vùng nhớ sử dụng thành phần hệ thống kernel-mode thể truy xuất kernelmode Các tiểu trình user-mode khơng thể truy xuất page Nếu tiểu trình cố gắng thực truy xuất phần cứng phát sinh lỗi, trình quản lý nhớ gởi thơng báo vi phạm truy xuất đến cho tiểu trình  Thứ hai, tiến trình có khơng gian địa riêng, tách biệt, bảo vệ khỏi bị truy xuất tiểu trình thuộc tiến trình khác Chỉ ngoại lệ tiến trình chia sẻ trang với tiến trình khác hay tiến trình khác có truy xuất đọc hay ghi nhớ ảo vào đối tượng tiến trình sử dụng hàm ReadProcessMemory hay WriteProcessMemory Mỗi tiểu trình tham chiếu địa chỉ, phần cứng nhớ ảo, phối hợp với trình quản lý nhớ, can thiệp chuyển đổi địa ảo thành địa vật lý Bằng cách điều khiển địa ảo chuyển đổi, Windows 2000 đảm bảo tiểu trình thực thi tiến trình khơng truy xuất bất hợp lệ trang thuộc tiến trình khác  Thứ ba, cung cấp bảo vệ cho việc chuyển đổi địa ảo thành đại vật lý, tất processor hỗ trợ Windows 2000 cung cấp số hình thức bảo vệ nhớ điều khiển phần cứng (như đọc/ghi; đọc, …); chi tiết xác bảo vệ thay đổi theo processor Ví dụ, page mã không gian địa tiến trình đánh dấu đọc bảo vệ khỏi sửa đổi tiểu trình người sử dụng Các page mã cho tiến trình điều khiển thiết bị đánh dấu đọc  Và cuối cùng, section object nhớ chia sẻ có danh sách điều khiển truy xuất Windows 2000 chuẩn, mà kiểm tra tiến trình cố gắng mở chúng, việc giới hạn truy xuất nhớ chia sẻ đến tiến trình với quyền thích hợp Bảo mật thừa hưởng cách hoạt động tiểu trình tạo section để chứa tập tin ánh xạ Để tạo section, tiểu trình phải có truy xuất đọc đến đối tượng tập tin sở hay thao tác lỗi  Copy-On-Write Sự bảo vệ trang copy-on-write tối ưu việc quản lý nhớ Windows 2000 Để thấy ý nghĩa việc sử dụng trang copy-on-write xem ví dụ sau đây: Có hai tiến trình chia sẻ ba trang (page1, page2, page3), trang đánh dấu copy-on-write, hai tiến trình khơng sửa đổi liệu trang Hình 3.20.a: “Trước” copy-on-write Nếu tiểu trình hai tiến trình ghi vào trang, lỗi quản lý nhớ phát sinh Trình quản lý nhớ xem việc ghi vào trang copy-on-write, nên thay báo lỗi vi phạm truy xuất, định vị trang read/write nhớ vật lý, sau chép nội dung trang ban đầu vào trang mới, cập nhật thông tin bảng trang tương ứng tiến trình để trỏ đến vị trí mới, thao tác ghi hệ thống chuyển hướng để thực trang Lần này, thao tác ghi hoàn thành, trình bày hình sau, trang chép sở hữa tiến trình thực ghi không thấy từ tiến trình khác, chia sẻ trang copy-onwrite Mỗi tiến trình ghi vào trang chia sẻ nhận riêng Hình 3.20.b: ”Sau” copy-on-write Một ứng dụng copy-on-write để cài đặt điểm ngắt hỗ trợ trình gỡ rối Ví dụ, mặc định, trang mã bắt đầu thực thi Tuy nhiên, lập trình viên thiết đặt điểm ngắt gỡ rối chương trình, trình gỡ rối phải thêm thi điểm ngắt vào mã Nó thực điều cách thay đổi bảo vệ trang thành PAGE_EXECUTE_READWRITE sau thay đổi luồng thị Bởi trang mã phần mapped section, nên trình quản lý nhớ tạo bảo riêng cho tiến trình với tập điểm ngắt, tiến trình khác tiếp tục sử dụng trang mã chưa sửa đổi Hệ thống POSIX lợi dụng copy-on-write để cài đặt chức fork (phân nhánh) Điển hình, ứng dụng UNIX gọi hàm fork để tạo tiến trình khác, điều mà tiến trình thực gọi hàm exec để khởi tạo lại không gian địa với ứng dụng thực thi Thay chép tồn khơng gian địa fork, tiến trình chia sẻ trang tiến trình cha cách đánh dấu chúng copy-on-write Nếu tiến trình ghi lên liệu, riêng tiến trình thực Nếu khơng, hai tiến trình tiếp tục chia sẻ khơng có việc chép thực Một cách hay cách khác, trình quản lý nhớ chép trang tiến trình cố gắng ghi thay chép tồn khơng gian địa  AWE: Address Windowing Extension Mặc dù hệ điều hành Windows 2000 hỗ trợ 64 GB nhớ vật lý, tiến trình người sử dụng 32-bit có khơng gian địa ảo GB GB Để cho phép tiến trình 32-bit định vị truy xuất nhiều nhớ vật lý hơn, thể khơng gian địa bị giới hạn nó, Windows 2000 cung cấp tập hàm gọi Address Windowig Extensions (AWE) Ví dụ, hệ thống Windows 2000 Advanced Server với GB nhớ vật lý, ứng dụng sở liệu server sử dụng AWE để định vị sử dụng gần GB nhớ cache sở liệu Việc định vị sử dụng nhớ thông qua hàm AWE thực qua ba bước: Định vị nhớ vật lý để sử dụng Tạo vùng không gian địa ảo để hoạt động cửa sổ để ánh xạ khung nhìn nhớ vật lý Ánh xạ khung nhìn nhớ vật lý vào cửa sổ Hình 3.21: Sử dụng AWE để ánh xạ nhớ vật lý Để định vị nhớ vật lý, ứng dụng gọi hàm Win32 AllocateUserPhysicalPages Ứng dụng sau sử dụng hàm Win32 VirtualAlloc với cờ MEM_PHYSICAL để tạo cửa sổ phần riêng khơng gian địa tiến trình mà ánh xạ đến số tất nhớ vật lý định vị trước Bộ nhớ AWE định vị sau với gần tất hàm Win32 API Nếu ứng dụng tạo cửa sổ 256Mb không gian địa định vị 4Gb nhớ vật lý (trên hệ thống với GB nhớ vật lý), ứng dụng sử dụng hàm Win32 MapUserPhysicalPages hay MapUserPhysicalPagesScatter để truy xuất phần cửa sổ không gian địa ảo xác định lượng nhớ vật lý mà ứng dụng truy xuất với ánh xạ định Hình 3.21 trình bày cửa sổ AWE không gian địa ứng dụng phục vụ ánh xạ đến vùng nhớ vật lý định vị trước AllocateUserPhysicalPages Các hàm AWE tồn tất ấn Windows 2000 sử dụng bất chấp hệ thống có nhớ vật lý Tuy nhiên, AWE hữu ích hệ thống với nhiều GB nhớ vật lý, cách cho tiến trình 32-bit trực tiếp sử dụng nhiều GB nhớ Cuối cùng, có số hạn chế việc định vị nhớ định xạ hàm AWE:  Các trang chia sẻ tiến trình  Cùng trang vật lý ánh xạ nhiều địa ảo tiến trình  Sự bảo vệ trang giới hạn đến read/write III.8.3 Address Space Layout Theo mặc định, tiến trình người sử dụng phiên 32-bit Windows 2000 có 2Gb không gian địa riêng; hệ điều hành giữ 2Gb Windows 2000 Advanced Server Windows 2000 Datacenter Server hỗ trợ tuỳ chọn thời điểm khởi động cho phép khơng gian địa tiến trình/chương trình người sử dụng lên đến 3Gb Tùy chọn khơng gian địa 3Gb mang lại cho tiến trình không gian địa 3Gb (dành 1Gb cho không gian hệ thống) Đặc tính thêm vào giải pháp tình để đáp ứng cần thiết cho ứng dụng server sở liệu để giữ nhiều liệu nhớ so với thực với không gian địa 2Gb Không gian địa ảo hệ điều hành windows trước tổ chức khác so với Windows 2000 Nó cung cấp khơng gian địa ảo 32 bít 4Gb cấp phát khơng gian địa 2Gb riêng cho tiến trình người sử dụng, chia 2Gb cịn lại thành phần, 1Gb cho không gian hệ thống, 1Gb dùng làm không gian chia sẻ cho tất tiến trình người sử dụng  Không gian địa hệ thống: Trong kiến trúc Intel x86, không gian địa 2Gb hệ thống phân thành vùng khác nhau, mô tả hình 3.22 sau: Trong đó:  System code: Chứa hệ điều hành, HAL điều khiển thiết bị sử dụng để boot hệ thống  System mapped views: Sử dụng để ánh xạ Win32k.Sys, nạp phần hệ thống Win32 chế đọ kernel mode điều khiển đồ hoạ  Session space: Được sử dụng để ánh xạ thông tin đến session người sử dụng cụ thể  Process page tables and page directory: Được dùng để chứa bảng trang tiến trình danh mục bảng trang  Hyperspace: Đây vùng đặc biệt, sử dụng để ánh xạ danh sách working set tiến trình để ánh xạ tạm trang vật lý khác  System working set list: Chứa trúc liệu danh sách working set mà mơ tả working set hệ thống  System cache: Không gian địa ảo sử dụng để ánh xạ file mở hệ thống cache  Paged pool: Chứa pool phân trang  System page table entries (PTEs): Pool PTEs hệ thống sử dụng để ánh xạ trang hệ thống như: không gian I/O, stack kernel danh sách mô tả nhớ  Nonpaged pool: Chứa pool không phân trang  Crash dump information: Được dự trữ để ghi thông tin trạng thái hệ thống Crash  HAL usage: Hệ thống nhớ dự trữ cho kiến trúc HAL đặc biệt Hình 3.22: Phân lớp không gian địa x86 Chú ý: Khi khởi tạo hệ thống, trình quản lý nhớ tạo hai kiểu vùng nhớ pool định kích thước tự động mà thành phần chế độ kernel sử dụng để định vị nhớ hệ thống:  Vùng Pool không phân trang: bao gồm vùng địa ảo hệ thống bảo đảm tồn nhớ vật lý tất thời điểm truy xuất mà không mắc phải lỗi trang  Vùng pool phân trang: vùng nhớ ảo không gian hệ thống phân trang ngồi hệ thống Các trình điều khiển thiết bị sử dụng vùng phân trang Cả hai vùng nhớ định vị phần hệ thống không gian địa ánh xạ vào không gian địa ảo tiến trình Trình Excutive cung cấp thường trình để định vị giải phóng từ vùng III.8.4 Chuyển đổi địa  Sơ đồ chuyển đổi địa ảo thành địa vật lý Theo mặc định hệ điều hành Windows 2000 chạy hệ thống x86 sử dụng cấu trúc bảng trang cấp (two-level) để chuyển đổi địa ảo thành địa vật lý 32 bít khơng gian địa ảo chia thành thành phần: 10 bít cao Page Directory Index, 10 bít Page Table Index, 12 bít thấp Byte Index ( Byte Index rộng 12 bít x86 kích thước page 4096 byte (212 = 4096)) Hình vẽ 3.23 sau cho thấy ý nghĩa sử dụng ba thành phần cách chuyển đổi từ địa ảo 32 bít thành địa vật lý hệ thống x86_Windows 2000 xem lại mục III.2.3.c trên) Hình 3.23: Sơ đồ chuyển địa ảo thành vật lý hệ thống x86 Sau là bước thực việc chuyển đổi địa ảo theo sơ đồ trên: Bộ phận phần cứng quản lý nhớ tìm đến danh mục bảng trang (page directory) tiến trình Thành phần Page Directory Index sử dụng để mục vào page directory để tìm mục vào danh mục bảng trang (PDE: page directory entry), mà mơ tả vị trí bảng trang (page table) cần để ánh xạ địa ảo PDE chứa số hiệu khung trang (PFN: page frame number) bảng trang (nếu thường trú nhớ Vì bảng trang phân trang ngồi) Thành phần Page Table Index sử dụng để mục vào page table để tìm mục vào bảng trang (PTE: page table entry), mà mơ tả vị trí vật lý trang ảo địa ảo PTE sử dụng để định vị trang Nếu trang hợp lệ, chứa PFN trang nhớ vật lý chứa trang ảo Nếu PTE báo trang khơng hợp lệ, trình quản lý nhớ điều khiển lỗi trang cố gắng làm cho trở thành hợp lệ Khi PTE trỏ đến trang hợp lệ, Byte Index sử dụng để tìm đến địa xác ô nhớ phạm vị trang vật lý tương ứng với địa ảo 32 bít ban đầu mà tiến trình phát Sau xem xét cách chi tiết cấu trúc page directory, page table page table entry để thấy đặc thù Windows 2000 so với mà ta khảo sát cách tổng quát mục trước:  Danh mục bảng trang (page directory) Mỗi tiến trình có có page directory đơn, trình quản lý nhớ dùng trang để tạo đồ định bảng trang tiến trình Địa vật lý page directory tiến trình lưu trữ block KPROCESS Địa vật lý (cơ sở) page directory ghi điều khiển CR3 hệ thống x86 Mỗi có chuyển đổi ngữ cảnh xuất với tiểu trình mằm tiến trình khác tiến trình giá trị ghi CR3 nạp vào block KPROCESS tiến trình khác đó.Việc chuyển đổi ngữ cảnh tiểu trình tiến trình khơng nạp lại địa vật lý page directory tất tiểu trình tiến trình chia sẻ khơng gian địa tiến trình Page directory bao gồm các mục vào danh mục bảng trang (PDE: page Directory Entry) Mỗi entry dài byte (8 byte hệ thống chạy chế độ PAE), để mô tả trạng thái vị trí tất bảng trang tiến trình Các bít PDE tương tự bít PTE Trên hệ thống x86, 1024 (2048 hệ thống PAE) yêu cầu để mô tả đầy đủ 4Gb không gian địa ảo Page directory tiến trình ánh xạ đến bảng trang chứa 1024 PDE Do đó, page directory index cần phải rộng 10 bít (210 = 1024)  Bảng trang tiến trình bảng trang hệ thống Trước tham chiếu đến byte phạm vi trang byte offset, CPU cần phải tìm đến trang mà chứa byte yêu cầu liệu Để tìm đến trang này, hệ điều hành xây dựng trang khác nhớ, trang chứa thông tin ánh xạ cần thiết để tìm đến trang mong muốn chứa liệu Trang thông tin ánh xạ gọi page table Vì Windows 2000 cung cấp khơng gian địa riêng cho tiến trình nên tiến trình sở hữu tập bảng trang tiến trình để ánh xạ đến khơng gian địa riêng đó, ánh xạ khác tiến trình Các bảng trang mơ tả khơng gian hệ thống chia sẻ cho tất tiến trình Khi tiến trình tạo, PDE khơng gian hệ thống khởi tạo để đến bảng trang hệ thống tồn Nhưng tất tiến trình có điểm nhìn khơng gian hệ thống Khi bảng trang hệ thống thay đổi đến vị trí cấp phát phận quản lý nhớ không cập nhật tất page directory tiến trình, trình quản lý nhớ cập nhật page directory tiến trình tiến trình tham chiếu đến địa ảo Hình 3.26: Bảng trang hệ thống bảng trang riêng tiến trình Số lượng PTE Windows 2000 tính tốn dựa vào kích thước nhớ Ta quy định số lượng cách thay đổi Registry, giá trị lớn mà hệ thống x86 chấp nhận 128.000 PTE  Các mục vào bảng trang (PTE) Một PTE dài 32 bít, gồm 13 trường mơ tả hình đây: Sau mơ tả bít trạng thái bít bảo vệ PTE:      Accesed: Trang đọc Cache disabled: Cấm cache trang Dirty: Trang ghi đến Global: Sự chuyển đổi áp dụng đến tất tiến trình Large page: Chỉ báo PDE ánh xạ đến trang 4Mb hệ thống với 128Mb (hoặc hơn) nhớ  Owner: Chỉ báo có hay khơng code user-mode thể truy cập trang có hay khơng trang giới hạn truy cập kernel-mode  Valid: Chỉ báo có hay khơng chuyển đổi ánh xạ đến trang nhớ vật lý  Write through: Cấm cache cho việc ghi đến trang với mục địch thay đổi ghi đến đĩa  Write: Trên hệ thống uniprocessor, báo có hay khơng trang read/write read-only Trên hệ thống multiprocessor, báo có hay khơng trang write (bit Write lưu trữ bit dự trữ PTE) Trên hệ thống x86, phần cứng PTE chứa bít Dirty bít Accesed Bít Accessed bị xố (= 0) trang vật lý trình bày PTE khơng thể đọc ghi, Processor thiết lập bít (= 1) trang đọc ghi lần Processor thiết lập bít Dirty trang lần ghi Kiến trúc x86 thêm vào bít Write để cung cấp bảo vệ trang, bít bị xố trang trở thành read-only, bít thiết lập trang write/read Nếu tiểu trình cố gắng ghi đến trang mà bít Write = trình quản lý nhớ phát sinh ngoại lệ truy cập, phận điều khiển lỗi truy cập phải xác định có hay khơng tiểu trình ghi đến trang (trong trường hợp copy-on-write) có hay khơng vi phạm truy cập phải sinh Trên phần cứng x86, PTE luôn rộng byte (32 bít), byte hệ thống cho phép chế độ PAE, bảng trang chứa 1024 PTE , 512 hệ thống PAE (4096 byte page, byte PTE) ánh xạ 1024 trang (512 page PAE) cho tổng số 4Mb (2 Mb PAE) trang liệu Trường page table index địa ảo đến PTE page table, để từ ánh xạ đến trang liệu mà tiến trình yêu cầu Trên hệ thống x86, page table index rộng 10 bít (9 bít PAE), cho phép tham chiếu đến 1024 PTE (512 PAE) Tuy nhiên, windows 2000 cung cấp 4Gb khơng gian địa ảo riêng, nên cần nhiều page table để ánh xạ tồn khơng gian địa Ta tính số lượng page table u cầu để ánh xạ tồn khơng gian địa 4Gb tiến trình sau: 4Gb/4Mb = 1024 page table, 2048 page table 4Gb/2Mb =1028 page table PAE (mỗi bảng trang hệ thống x86 ánh xạ 4Mb (2 Mb PAE) trang liệu)  Byte phạm vi trang (byte within page) Mỗi trình quản lý nhớ tìm thấy trang vật lý tương ứng với địa ảo mà tiến trình đưa để truy xuất liệu nhớ, phải tìm đến liệu u cầu phạm vi trang Đây nơi thành phần Byte Index vào Byte Index cho CPU biết byte liệu trang mà tiến trình muốn tham chiếu đến Trên hệ thống x86, byte index rộng 12 bít, cho phép tiến trình tham chiếu đến 4096 byte liệu (đây kích thước trang)  Mở rộng địa vật lý Tất processor thuộc họ Intel x86 bao gồm chế độ ánh xạ nhớ gọi PAE (Physical Address Extension) Với chipset thích hợp chế độ PAE cho phép truy cập đến 64GB nhớ vật lý Khi thực thi x86 chế độ PAE, thành phần quản lý nhớ (MMU) processor chia địa ảo thành thành phần Trong trường hợp hệ thống sử dụng bảng trang ba cấp (threelevel) để thực việc chuyển đổi địa Hình 3.24: Ánh xạ trang với PAE MMU cài đặt page directory page table cấp thứ page directory pointer table PAE đánh địa nhớ nhiều chế độ chuẩn mở rộng cấp bảng trang mà PDE PTE rộng 64 bít khơng phải 32 bít Với địa vật lý bên 24 bít, nên x86 có khả quản lý 64Gb (224+12 byte) nhớ Để chọn Windows 2000 hoạt đọng chế độ PAE ta phải chọn boot với tham số khoá chuyển /PAE Boot.ini Chế độ hỗ trợ tập tin Ntkrpamp.exe ...swap-in chương trình vào lại nhớ cho tiếp tục hoạt động Hệ điều hành buộc phải swap-out chương trình cịn khơng gian nhớ để nạp tiến trình khác, dó sau swap-out chương trình hệ điều hành phải... gần nhất, hệ điều hành không swap out mà hệ điều hành nạp page vào nhớ ghi đè lên nó, điều có nghĩa hệ điều hành tiết kiện thời gian swap out page tiến trình đĩa Để làm điều hệ điều hành phải... hành Để thực việc hệ điều hành sử dụng ghi giới hạn để ghi địa ranh giới hệ điều hành chương trình người sử dụng, theo chương trình người sử dụng cần truy xuất địa hệ điều hành so sánh địa với

Ngày đăng: 28/07/2014, 20:21

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan