ขีด จำกัด 2GB บนระบบปฏิบัติการ 32 บิต


8

ไม่ขีด จำกัด 2GB บนระบบปฏิบัติการ 32 บิตหมายความว่าแต่ละขั้นตอนสามารถเข้าถึงหน่วยความจำ 2GB หรือว่าทุกกระบวนการร่วมกันสามารถใช้เพียง 2GB ของหน่วยความจำกายภาพทั้งหมด?

ดังนั้น 2GB ที่สงวนไว้สำหรับเคอร์เนลจะ จำกัด ปริมาณรวมที่กระบวนการทั้งหมดใช้ร่วมกันได้หรือไม่?


โปรดทราบว่าเฟเบียนหมายถึงหน่วยความจำกายภาพเท่านั้นไม่ใช่ไฟล์เพจจิ้ง
Arda Xi

เขาอ้างถึง Windows เท่านั้นไม่ใช่ระบบปฏิบัติการโดยทั่วไป
Arda Xi

เขาอาจจะถามเกี่ยวกับสิ่งนั้น แต่ไม่มีความสัมพันธ์เช่นนั้น แต่ละกระบวนการสามารถเข้าถึง 2 GB เสมือน ส่วนนี้จะอยู่ใน RAM ("ถิ่นที่อยู่") บนไคลเอนต์ Windows รุ่น 32 บิตผลรวมของหน่วยความจำภายในของกระบวนการทั้งหมดรวมถึงหน่วยความจำภายในของระบบปฏิบัติการต้องไม่เกิน 4 GB ไม่มีการแบ่ง 2 GB ในการจัดสรรหน่วยความจำกายภาพ
เจมี่ Hanrahan

คำตอบที่ยอมรับในโพสต์นี้ให้ข้อมูลที่น่าประทับใจเต็ม - stackoverflow.com/questions/490520//
RBT

คำตอบ:


4

มีความเข้าใจผิดมากมายเกี่ยวกับขีด จำกัด หน่วยความจำในระบบปฏิบัติการ Windows แบบ 32 บิต

ก่อนอื่นเลยเมื่อฉันพูด RAM มันรวมถึงแรมทุกชนิด ไม่ใช่แค่ปกติ แต่ยังรวมถึงแรมวิดีโอของคุณ

จำนวน RAM สูงสุดต่อกระบวนการสำหรับระบบปฏิบัติการ 32 บิตคือ 2 GB หากคุณมีระบบปฏิบัติการ 64 บิตกระบวนการ 32 บิตสามารถจัดสรรได้สูงสุด 4 GB

นอกจากนี้ทั้งระบบปฏิบัติการสามารถระบุที่อยู่ได้ 4 GB สำหรับทุกกระบวนการรวมกันในขณะที่ระบบปฏิบัติการ 64 บิตสามารถจัดสรรได้ 8 TB

ที่น่าสนใจก็คือข้อ จำกัด นี้เพิ่มขึ้นไปยังจพู ซึ่งหมายความว่าระบบปฏิบัติการ 32 บิตไม่สามารถใช้งานได้มากกว่า 2 GB ซึ่งหมายถึง 6 GB สำหรับแอปพลิเคชันทั้งหมดรวมถึงหน่วยความจำเสมือน แน่นอนว่านี่ไม่มีส่วนเกี่ยวข้องกับ RAM เพราะอีก 2 GB จะถูกเก็บไว้ในแฟ้มเก็บเพจซึ่ง จำกัด ความเร็วของฮาร์ดไดรฟ์ของคุณ

สำหรับข้อมูลเพิ่มเติมโปรดดูที่ขีด จำกัด หน่วยความจำสำหรับ Windows ข่าว

หมายเหตุ: สำหรับแอปพลิเคชันเท่านั้น Windows OS แบบ 32 บิตสามารถจัดสรรผลรวมได้สูงสุด 4 GB แต่จะมีการจัดสรร 2 GB สำหรับระบบที่ใช้เท่านั้นโดยเหลือเพียง 2 GB สำหรับแอปพลิเคชันที่จะใช้ ในบางกรณี (โดยเฉพาะระบบปฏิบัติการที่ใหม่กว่า) ซึ่งจะแบ่งออกเป็น 3 GB สำหรับแอปพลิเคชันและ 1 GB สำหรับเคอร์เนล

ฉันพูดถึง Windows เพียงเพราะนั่นเป็นบริบทที่คำถามนั้นมีความหมาย ฉันไม่คุ้นเคยกับข้อ จำกัด ของระบบปฏิบัติการอื่น


2
คำตอบนี้ไม่สมบูรณ์ - ไม่ได้รวมแนวคิดของ "พื้นที่ที่อยู่" นอกเหนือจากการพูดว่าหน่วยความจำวิดีโอรวมอยู่และความจริงที่ว่าพื้นที่ที่อยู่ในระบบปฏิบัติการแบบ 32 บิตนั้น จำกัด อยู่ที่ 4GB โดยไม่มีส่วนขยายไม่ใช่ 2GB (คุณ สามารถบอกได้ว่าสำเนา XP แบบ 32 บิตเพื่อบู๊ตด้วย RAM ขนาด 3GB)
lunixbochs

1
คำถามไม่ได้เกี่ยวกับพื้นที่ที่อยู่ ฉันสามารถเจาะคุณได้ทั้งหมดโดยการพูดคุยถึงวิธีการจัดการหน่วยความจำและขีด จำกัด ของจำนวนเต็ม 32 บิต แต่นั่นไม่ใช่สิ่งที่คำถามนี้เกี่ยวกับดังนั้นจึงดูเหมือนซับซ้อนโดยไม่จำเป็น และใช่คุณสามารถใช้สวิตช์ / 3GB คำถามนี้ไม่รวมถึง
Arda Xi

1
ขีด จำกัด หน่วยความจำ 4GB ใช้กับหน่วยความจำกายภาพในสถาปัตยกรรม 32 บิต x86 มาตรฐานเท่านั้น หน่วยความจำเสมือนแตกต่างกันและระบบปฏิบัติการแบบ 32 บิตสามารถใช้หน่วยความจำมากกว่า 4GB (ทั้งหมดไม่รวมต่อกระบวนการ) หากใช้ไฟล์เพจหรือพาร์ทิชันสลับ ความเร็วของฮาร์ดไดรฟ์ไม่มีผลกับขนาดของไฟล์เพจหรือพื้นที่สว็อปหากฮาร์ดไดรฟ์มีพื้นที่ว่างมากกว่าที่จะสามารถเพจหรือสลับได้ มันมีผลต่อประสิทธิภาพการสลับหน้า / การสลับเท่านั้น

1
โอ้ฉันลืมที่จะพูดถึง ram วิดีโอไม่ใช่ปัจจัยเว้นแต่ว่ามันเป็น ram วิดีโอรวมที่ใช้ร่วมกัน ram หลัก แต่แม้แล้วมันก็แค่ลบออกจาก ram ทางกายภาพที่มีอยู่ มันไม่มีผลต่อหน่วยความจำเสมือนที่มีอยู่ การ์ดแสดงผลเฉพาะมีหน่วยประมวลผลและหน่วยความจำของตัวเองที่ไม่มีปัจจัยในระบบหน่วยความจำที่มีอยู่

@ Spooky ไม่จริงอย่างสมบูรณ์ หากคุณดูที่ลิงค์ของฉันคุณจะเห็นว่าจพูถูก จำกัด ด้วยพื้นที่ที่อยู่เสมือนโหมดเคอร์เนลซึ่งมีขนาด 2 GB ซึ่งหมายความว่าทั้งหมดประมาณ 6 GB
Arda Xi

0

ถ้า OP อ้างถึงระบบปฏิบัติการ Windows กว่า OS 32 บิตทั้งหมดจะถูก จำกัด ไว้ที่ 4GB ทั้งหมดยกเว้นสำหรับศูนย์ข้อมูลเซิร์ฟเวอร์ 2003 หรือองค์กรที่มีแนวคิดที่เรียกว่า PAE (ส่วนขยายที่อยู่ทางกายภาพ) นี้ยังมีอยู่ในเมล็ดลินุกซ์ที่ทันสมัย แน่นอนว่าโปรเซสเซอร์ 32- บิตนั้นหาได้ยากยิ่งขึ้นนอกพื้นที่มือถือ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.