/home/Notoveryet

Linux kernel bits which I feel excited about…

Posted in Comparision, Linux, Technology, Vista by notoveryet on July 9, 2009

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.