Kernel Comparison: Linux (2.6.28) versus Windows (Vista SP1)

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 |
Page Attribute Table (PAT) |
Y |
Y |
x86 MTRR (Memory Type Range Registers) |
Y |
Y |
Cyrix ARR (Address Range Registers) |
Y |
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 2009
Comments (0)
You don't have permission to comment on this page.