How large is the virtual address space for a process

ใน linux การเลือกใช้งาน CPU และ kernel ให้ถูกต้องตามความต้องการของ application นั้นจะทำให้ระบบทำงานได้อย่างมีเสถียรภาพ

ในความเป็นจริงแล้ว processor ที่เป็น x86_64 (AMD64, EM64T) คือ 64 bit processor และสามารถใช้งาน kernel 32 bit และ kernel 64 bit ได้ และเมื่อเราใช้งาน 64 bit kernel ระบบจะสามารถรันโปรแกรมที่เป็นแบบ 32 bit และ 64 bit ได้อย่างไม่มีปัญหา แต่ถ้า CPU เป็น Intel Pentium 4 และ AMD Athlon ที่เป็น 32-bit processors จะสามารถใช้งานโปรแกรมได้แบบ 32 bit และทำงานในแบบ 32 bit environment ได้อย่างเดียว

ในแต่ละ processor และ kernel จะสามารถรองรับ virtual address space ได้ไม่เท่ากัน ซึ่งรายละเอียดต่างๆ สามารถแสดงรายละเอียดได้ตามตารางด้านล่างนี้

CPU                 Kernel                  Application       Virtual Address Size
32 or 64 bit       32 bit (smp)          32 bit              slightly under 3GB
32 or 64 bit       32 bit (hugemem)   32 bit              slightly over 3.7GB
64 bit               64 bit                   32 bit              4GB
64 bit               64 bit                   64 bit              more than 256GB

You May Have Missed