Linux kernel bits which I feel excited about…
Here are some comparisions between:
Linux (2.6.23) versus Windows (Server 2008)…
I compiled these here so that, next time if I want to check the scheduler latency of linux kernel, I should not go for googling. 🙂
—-
Performance
Scheduler (performance) | Linux | Windows |
scheduling latency (average) | 0.009mS | 2mS |
scheduling latency (worse) | 0.3mS | 16mS |
.
.
Interrupt Performance
Interrupt (performance) | Linux | Windows |
interrupt latency (average) | 11uS
5uS (custom) |
36uS |
interrupt latency (maximum) | 1000uS | 45000uS |
.
.
Stack
Stack (kernel) | Linux | Windows |
kernel stack size | 8KB | 12KB |
.
.
Uniprocessor Boot Image
Boot Image (uniprocessor, no PAE) | Linux | Windows |
filesizes – kernel mode (no drivers) | 1.7MB | 6.9MB (3.3+0.5+2.0+2.0MB) |
filesizes – user mode (no drivers) | – | 3.0MB (0.7+1.0+0.6+0.7MB) |
filesizes – total (no drivers) | 1.7MB | 9.9MB |
.
.
Hardware Clock
Hardware Clock | Linux | Windows |
tickless | Y |
N |
timer interrupt frequency default – uniprocessor | 250Hz | 100Hz |
timer interrupt frequency build time configurable – uniprocessor | unlimited | N |
timer interrupt frequency – multiprocessor | 250Hz | 66.6Hz |
timer interrupt frequency build time configurable – multiprocessor | unlimited | N |
.
.
Memory Hardware Limits
Memory Limits (Hardware Support) | Linux | Windows |
Maximum RAM – 32bit, no PAE | <4GB | 1GB (Starter)
<4GB (others) |
Maximum RAM – 32bit, PAE | 64GB | 1GB (Starter)
<4GB (others) |
Maximum RAM – 64bit | 1024GB-8589934592GB | – (Starter)
8GB (Home Basic) 16GB (Home Premium) 128GB (others) |
.
.
Multiprocessor Limits
Multiprocessor (limits) | Linux | Windows |
Maximum number of CPUs – 32bit SMP | 32 (logical) | 1 (Starter, Basic, Premium)
2 (Business, Ultimate, Enterprise) |
Maximum number of CPUs – 32bit NUMA | 32 or 1024? | 1 (Starter, Basic, Premium)
2 (Business, Ultimate, Enterprise) |
Maximum number of CPUs – 64bit SMP | 255 (AMD64/Intel64)
1024 (IA-64) |
0 (Starter)
1 (Basic, Premium) 2 (Business, Ultimate, Enterprise) |
Maximum number of CPUs – 64bit NUMA | >1024 | 0 (Starter)
1 (Basic, Premium) 2 (Business, Ultimate, Enterprise) |
.
.
Device Limits
Device (limits) | Linux | Windows |
Block device limit 32bit | 16TB | 16TB |
Block device limit 64bit | 8EB | 256TB |
Major/minor numbers | 4k/1M | – |
.
.
Kernel Source Code
Kernel Language (no drivers) | Linux | Windows |
source | open source | closed source
partly open source (WAP access WRK) |
language – C | Y | Y |
language – Assembly | Y | Y |
language – SEH | N | Y |
language – VEH | N | Y |
language – C++ | N | Y |
language – C proportion | 94% ±3%y | 60% ±25% |
kernel – size Source_lines_of_code | 3.5M ±0.5M | 10M ±5M |
.
.
Kernel + Drivers Source Code
Source Code (kernel + drivers) | Linux | Windows |
language – C proportion | 94% ±3% | 70% ±25% |
language – C++ | N | Y |
total Source_lines_of_code | 7M ±2M | 17M ±9M |
estimated bug error rate per line | 0.02% | 0.2% |
i.e. estimated bugs total | 1400 | 34000 |
.
.
Kernel Development
Development (kernel) | Linux | Windows |
development model | open source | closed source |
development cycle time -major release | 35 months | 63 months |
development cycle time -minor release | 3 months | 31 months |
development cycle time -patch release | ongoing | ongoing |
development process – simple | Y | N |
modularity – high | Y | N |
.
.
Hardware Form
Hardware (PC) | Linux | Windows |
Desktop | Y | Y |
Laptop | Y | Y |
Media Center | Y | Y |
Tablet | Y | N (Starter, Basic)
Y (others) |
Rack, Server etc | Y | Y (see limits) |
Wearable | Y | Y |
Hardware (other) | ||
PDA | Y | N |
mobile phone (cell phone) | Y | N |
router | Y | N |
internet tablet | Y | N |
watch | N
Y |
N |
coffee machine | N | N
Y (XP) |
embedded (other) | Y | N |
.
.
Hardware Architecture
Hardware Architecture Support (PC) | Linux | Windows |
x86 (Intel) | Y | Y
N (Starter not all) |
AMD64/Intel64 (AMD/Intel) | Y | Y
N (Starter) |
IA-64 (Intel) | Y | N |
Hardware Architecture Support (current) | ||
PPC64 – PowerPC-64 (AIM) | Y | N |
SPARC64 (Sun) | Y | N |
ARM (ARM) | Y | N |
PA-RISC (HP) | Y | N |
Cell (STI) | Y | N |
AVR32 (Atmel) | Y | N |
Blackfin (Analog Devices) | Y | N |
MN10300/AM33 (MEI/Panasonic) | Y |
N |
Orion Feroceon (Marvell) | Y |
N |
System i (AS/400) – POWER (IBM) | Y | N |
Cray – Opteron (Cray/AMD) | Y | N |
z/Architecture (IBM) | Y | N |
ETRAX CRIS (Axis) | Y | N |
H8 (Renesas/Hitachi) | Y | N |
SH – SuperH (Renesas/Hitachi) | Y | N |
SH64 – (Renesas/Hitachi) | Y | N |
V850 (NEC) | Y | N |
MIPS-64 (MIPS) | Y | N |
MIPS-64 (Cavium OCTEON) | N
Y (patch) |
N |
MIPS (MIPS) | Y | N |
Hardware Architecture Support (non-current) | ||
PPC – PowerPC (AIM) | Y | N |
SPARC32 (Sun) | Y | N |
Alpha (DEC) | Y | N |
Cray – pre-Opteron (Cray) | N | N |
System i (AS/400) – IMPI (IBM) | N | N |
System i (AS/400) – RS64 (IBM) | Y | N |
m68k (Motorola) | Y | N |
m88k (Motorola) | N
Y (branch) |
N |
S/390x (IBM) | Y | N |
S/390 (IBM) | Y | N |
MIPS (DEC) | Y | N |
Hardware Architecture Support (game consoles) | ||
Wii (Nintendo) | Y | N |
Xbox 360 (Microsoft) | Y | N
Y (branch) |
Xbox (Microsoft) | Y | N
Y (branch) |
PS3/Playstation 3 (Sony) | Y | N |
PS2/Playstation 2 (Sony) | Y | N |
Gamecube (Nintendo) | Y | N |
Hardware Architecture Support (other) | ||
others | Y | N |
.
.
Virtualization
Guest
Virtualization (Guest) | Linux | Windows |
Can be run as guest | Y | N (illegal Starter, Basic, Premium)
Y (+1 licence Business, Ultimate) Y (Enterprise) |
maximum number of guests (RHEL, Microsoft Virtual Server) | unlimited | 512 (with Virtual Server 2005 R2 SP1, for free) |
.
.
These comparision are blindly copied from this link.
Many thanks to the author of this comparision, for his hard work and for enlightening us.
–
leave a comment