Kernel Comparison: Linux (2.6.22) versus Windows (Vista)
Memory
Memory Hardware Limits
Memory Limits (Hardware Support) | Linux | Windows |
Maximum RAM - 32bit, no PAE | <4GB40 | 1GB (Starter) <4GB40 (others)'' |
Maximum RAM - 32bit, PAE | 64GB' | 1GB (Starter) <4GB40 (others)'' |
Maximum RAM - 64bit | 1024GB-8589934592GB | - (Starter) 8GB (Home Basic) 16GB (Home Premium) 128GB (others)' |
Virtual Memory Limits
Virtual Memory (limits) | Linux | Windows |
split user-mode/kernel-mode 32bit - default | static 3GB/1GB | dynamic 4GB/0GB-0GB/4GB |
split user-mode/kernel-mode 32bit - static 1GB/3GB40 | Y | N |
split user-mode/kernel-mode 32bit - static 2GB/2GB40 | Y | N |
split user-mode/kernel-mode 32bit - static 3GB/1GB40 | Y | N |
split user-mode/kernel-mode 32bit - dynamic 4GB/0GB-0GB/4GB | Y | Y |
i.e. maximum memory per process 32bit, no PAE | 3GB (default) <4GB40 (dynamic 4GB/0GB-0GB/4GB) | <4GB40 2.5GB-3.5GB (typically) |
maximum memory per process 32bit, PAE | 64GB' | <4GB40 2.5GB-3.5GB (typically)' |
split user-mode/kernel-mode 64bit | 8388608 TB/8388608 TB' | 8 TB/8 TB' |
i.e. maximum memory per process 64bit | 8388608 TB' | 8 TB' |
Memory Hardware Features
Memory (Hardware Features) | Linux | Windows |
Performance Acceleration Technology (PAT) | N | Y |
MTRR | Y | Y |
MTRR not needed (superseded by PAT) | N | Y |
ECC | Y | Y |
Virtual Memory Sets
Virtual Memory (working sets) | Linux | Windows |
working sets | global | per process |
working set management uses "clock" algorithm | Y | Y |
i.e. working set management - no set cap | Y | N |
i.e. working set management - LRU memory page | used on the entire system | removed for that process |
i.e. working set management - tuner adjusts sets according to memory needs | - | Y |
swapper | N' | N |
Virtual Memory Page Size
Virtual Memory (page size) | Linux | Windows |
IA-32 page size - default (4KB arch) | 4KB | 4KB |
Virtual Memory Priorities
Virtual Memory (priorities) | Linux | Windows |
memory priorities | N Y (patch) | Y |
priority levels | 0 | 8 "0-7" |
priority level - default | - | "5" |
priority level based on process/thread | N | Y |
Virtual Memory Features
Virtual Memory (features) | Linux | Windows |
lock pages in memory | Y | Y |
copy-on-write executables (COW) | Y' | Y' |
demand paging | Y' | Y' |
Virtual Memory Multiprocessor
Virtual Memory (multiprocessor) | Linux | Windows |
per-CPU kernel memory buffers | Y | Y |
NUMA Memory Manager Support | Y' | Y |
Swap
Virtual Memory Management (swap) | Linux | Windows |
swap prefetch | N Y (with patch) | N Y (if preload app) |
swap speculative | N Y (with patch) | N |
swap performance - amount used | less15 | more15 |
Stack
Stack (kernel) | Linux | Windows |
kernel stack size | 8KB' | 12KB' |
Networked Memory
Remote Direct Memory Access | Linux | Windows |
Remote Direct Memory Access (RDMA) | Y | Y |
InfiniBand | Y | N |
iWARP | Y | Y |
<-Prev|Next->
Johnathon Weare © Johnny Weare 2007
Widefox - the Vertical Tab Firefox
Comments (0)
You don't have permission to comment on this page.