Giới hạn 2GB trên hệ điều hành 32 bit


8

Có phải giới hạn 2GB trên các hệ điều hành 32 bit có nghĩa là mỗi quá trình chỉ có thể truy cập 2GB bộ nhớ hoặc tất cả các quy trình cùng nhau chỉ có thể sử dụng tổng cộng 2GB bộ nhớ vật lý ?

Vì vậy, 2GB dành riêng cho kernel có giới hạn tổng số tiền mà tất cả các quy trình có thể sử dụng không?


Xin lưu ý Fabian chỉ đề cập đến bộ nhớ vật lý, không phải tệp hoán trang.
Arda Xi

Anh ta cũng chỉ nói đến Windows, không phải hệ điều hành nói chung.
Arda Xi

Anh ta có thể hỏi về điều đó nhưng không có mối quan hệ như vậy. Mỗi quá trình có thể truy cập 2 GB ảo. Một số phần này sẽ nằm trong RAM ("cư dân"). Trên các phiên bản máy khách Windows 32 bit, tổng bộ nhớ lưu trú của tất cả các tiến trình cộng với bộ nhớ lưu trú của HĐH có thể không quá 4 GB. Không có sự phân chia 2 GB trong phân bổ bộ nhớ vật lý.
Jamie Hanrahan

Câu trả lời được chấp nhận trong bài đăng này cung cấp thông tin đầy đủ - stackoverflow.com/questions/490520/ trên
RBT

Câu trả lời:


4

Có nhiều quan niệm sai lầm về giới hạn bộ nhớ trong các HĐH Windows 32 bit.

Trước hết, khi tôi nói RAM, điều này bao gồm mọi loại RAM. Vì vậy, không chỉ thường xuyên, mà còn RAM video của bạn.

Dung lượng RAM tối đa có sẵn cho mỗi quá trình cho HĐH 32 bit là 2 GB. Nếu bạn có HĐH 64 bit, quy trình 32 bit có thể phân bổ tối đa 4 GB.

Ngoài ra, toàn bộ HĐH chỉ có thể giải quyết 4 GB cho mỗi quy trình được kết hợp, trong khi HĐH 64 bit có thể phân bổ 8 TB.

Cũng thú vị là giới hạn này thêm vào hồ bơi phân trang. Điều này có nghĩa là HĐH 32 bit không thể sử dụng tổng cộng hơn 2 GB, nghĩa là 6 GB cho tất cả các ứng dụng bao gồm cả bộ nhớ ảo. Tất nhiên, điều này không liên quan gì đến RAM, vì 2 GB còn lại sẽ được lưu trong tệp hoán trang, giới hạn ở tốc độ ổ cứng của bạn.

Để biết thêm thông tin, hãy xem Giới hạn bộ nhớ cho các bản phát hành Windows .

Lưu ý: cái này chỉ dành cho ứng dụng. Hệ điều hành Windows 32 bit có thể phân bổ tổng cộng tối đa 4 GB, nhưng 2 GB này chỉ được phân bổ cho sử dụng hệ thống, chỉ còn lại 2 GB cho các ứng dụng sử dụng. Trong một số trường hợp nhất định (đặc biệt là các hệ điều hành mới hơn), mức này được chia thành 3 GB cho các ứng dụng và 1 GB cho kernel.

Tôi chỉ thảo luận về Windows vì đó là bối cảnh mà câu hỏi có ý nghĩa. Tôi không quen thuộc với các giới hạn của các hệ điều hành khác.


2
Câu trả lời này chưa hoàn chỉnh - nó không bao gồm khái niệm "không gian địa chỉ" ngoài việc bao gồm bộ nhớ video và thực tế không gian địa chỉ trên các hệ điều hành 32 bit thực sự bị giới hạn ở 4GB không có phần mở rộng, không phải 2GB (bạn thậm chí có thể cho biết bản sao XP 32 bit để khởi động với 3GB ram)
lunixbochs

1
Câu hỏi không phải là về không gian địa chỉ. Tôi có thể làm bạn chán tất cả bằng cách thảo luận về cách giải quyết bộ nhớ và giới hạn của số nguyên 32 bit, nhưng đó không phải là câu hỏi này, vì vậy nó có vẻ phức tạp không cần thiết. Và có, bạn có thể sử dụng chuyển đổi / 3 GB. Câu hỏi này không bao gồm điều đó.
Arda Xi

1
Giới hạn bộ nhớ 4GB chỉ áp dụng cho bộ nhớ vật lý trên kiến ​​trúc 32 bit x86 tiêu chuẩn. Bộ nhớ ảo là khác nhau và hệ điều hành 32 bit có thể sử dụng hơn 4GB bộ nhớ (tổng cộng không phải trên mỗi quy trình) nếu sử dụng tệp trang hoặc phân vùng trao đổi. Tốc độ ổ cứng không ảnh hưởng đến kích thước tệp trang có sẵn hoặc không gian hoán đổi, nếu ổ cứng có dung lượng, hơn mức có thể trang hoặc hoán đổi. Nó chỉ có hiệu ứng phân trang / trao đổi hiệu suất.

1
Ồ tôi quên đề cập, ram video không phải là một yếu tố, trừ khi nó được tích hợp ram video chia sẻ ram chính, nhưng ngay cả khi đó nó chỉ trừ đi ram vật lý có sẵn. Nó không ảnh hưởng đến bộ nhớ ảo có sẵn. Thẻ video chuyên dụng có bộ xử lý và bộ nhớ riêng không có yếu tố trong bộ nhớ khả dụng của hệ thống.

@Spooky Không hoàn toàn đúng. Nếu bạn nhìn vào liên kết của tôi, bạn sẽ thấy rằng nhóm phân trang bị giới hạn bởi không gian địa chỉ ảo ở chế độ nhân là 2 GB. Điều này có nghĩa là tổng cộng khoảng 6 GB.
Arda Xi

0

Nếu OP đang đề cập đến các HĐH Windows, thì tất cả các HĐH 32 bit được giới hạn ở tổng số 4GB ngoại trừ trung tâm dữ liệu máy chủ hoặc doanh nghiệp 2003 với khái niệm gọi là PAE (Mở rộng địa chỉ vật lý). Điều này cũng có sẵn trong các nhân linux hiện đại. Tất nhiên, bộ xử lý 32 bit đang trở nên hiếm hơn ngoài không gian di động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.