8

Tôi đã đọc rằng các ứng dụng Windows 32 bit bị giới hạn ở mức 2 GB RAM vì không gian địa chỉ 2GB trên được dành riêng cho hệ điều hành Windows (và, iirc, VRAM). Nếu bạn sử dụng cờ/3GB trên WinXp 32 bit, bạn có thể nhận được tối đa 3 GB RAM để giải quyết, nhưng thông thường bạn phải tinh chỉnh với các giá trị userva. Tôi đã nghe nói rằng trên các phiên bản 64 bit của Windows, với một cờ nhận biết địa chỉ lớn trong tiêu đề PE và hơn 4 GB RAM, có thể ứng dụng sử dụng tất cả 4 GB không gian địa chỉ để quản lý bộ nhớ của riêng nó.Cờ cờ địa chỉ lớn hoạt động như thế nào đối với các ứng dụng 32 bit trên máy tính 64 bit?

Mặt khác, tôi khá chắc chắn rằng khi bạn gọi API cửa sổ, bạn phải gọi vị trí bộ nhớ trong không gian địa chỉ 32 bit mà bạn được cung cấp. Vì vậy, chính xác bao nhiêu RAM có thể sử dụng một ứng dụng nhận biết địa chỉ lớn 32-bit cho chính nó trong một môi trường 64-bit, thực sự? Và tại sao?

Cảm ơn bạn.

Trả lời

5

Không gian địa chỉ ảo được mở rộng thành 4GB. Nếu bạn không sử dụng Address Windowing Extension API, số lượng bộ nhớ tối đa bạn có thể truy cập là 4GB. Một số không gian đó sẽ được hệ điều hành lấy cho .dll và những thứ khác như vậy, nhưng bạn sẽ có thể lấy lại bộ nhớ sử dụng tất cả 32 bit của một con trỏ.

Ngẫu nhiên, nếu bạn không nhận biết được địa chỉ lớn, tất cả các con trỏ bộ nhớ sẽ không bị âm khi truyền tới số INT_PTR. Đây thực sự là một nguồn của nhiều lỗi nhỏ khi sử dụng cờ nhận biết địa chỉ lớn, vì con trỏ được xử lý các giá trị đã ký.

+0

Đợi một chút, trong trường hợp đó, có thể sử dụng AWE trên hệ điều hành Windows Xp 32 bit để tận dụng tối đa 4 GB RAM thay vì độ sệt/3 GB không? –

+7

+1 Nếu bạn dự định chạy dưới/LARGEADDRESSAWARE thì hãy cảnh báo rằng phần mềm khác có lỗi với con trỏ 32 bit> 2GB. Ngay cả một số chức năng MS API (tôi đang nhìn bạn GetCursorPos trên Vista!) Cách để tuôn ra những vấn đề này, và làm việc xung quanh họ nếu bạn cần phải sử dụng [cấp trên bộ nhớ cấp phát] (http://msdn.microsoft .com/ja-jp/isv/bb190527 (l = vi-us)) được bật với cài đặt đăng ký. –

+0

Có, nhưng bạn phải ánh xạ rõ ràng các trang bộ nhớ vật lý vào một không gian địa chỉ ảo. Nó tương tự như chuyển đổi ngân hàng VESA từ thời đại DOS cũ tốt. – MSN

Các vấn đề liên quan