Kernel Burning Edge
This aims to be the most comprehensive kernel comparison of the latest
most popular Unix style kernel verses the latest most popular current
kernel. A kind of kernel comparison FAQ.
In Q4 2006, this means Linux 2.6.18, 2.6.19 kernel verses Windows Server 2003 R2 kernel.
In Q1 2007, this means Linux 2.6.20 kernel verses Windows Vista kernel. Johnathon Weare
Windows | Linux | Solaris | FreeBSD | OS X | |
New features | 2003SP2 vs. Vista vs. | 2.6.19 | |||
This page | 2003 R2 vs. | 2.6.18 | |||
Overview | 2003 R2 vs. | 2.6.18 vs. | 10 vs. | 6.1 | |
Linux OSX | 2.6 vs. | 10.4 | |||
Linux OSX | 2.6.8 vs. | 10.3.7 | |||
Solaris Linux FreeBSD | 2.6 vs. | 10 vs. | 5.3 | ||
Solaris Linux | 2.6 vs. | 10 | |||
Linux | 2.6.4 vs. 2.4.25 | ||||
2000 Linux FreeBSD | 2000 vs. | 2.2 vs. | 4 | ||
Linux FreeBSD | 2.2 vs. | 4.1 |
Kernel New Features Comparison 2.6.19 2.6.20 2003SP2 Vista
History
Better in other Kernels / OS
Security Hardened Systems
General OS Flexibility
Filesystems
Current Kernel | Linux | Windows |
OS | 2.6.18 | Server 2003 R2 |
Version | Linux 2.6.18.x | NT 5.2.3790 |
Release Date | Q3 2006 | Q4 2005 |
Architecture (kernel) | Linux | Windows |
monolithic (#1, #2) | Y | Y |
i.e. kernel protection from drivers (#1, #2) | N | N |
Architecture (OS API) | ||
OS APIs - in user space (built-in) (#1, #2) | N | Y |
OS APIs - POSIX API (built-in) | Y | Y |
OS APIs - Linux API (POSIX superset) (built-in) | Y | N |
OS APIs - Win32 API (built-in) | N | Y |
OS APIs - Win32 API - Wine (add-on) | Y | - |
OS APIs - OS/2 API (built-in) | N | Y |
Architecture (graphics) | ||
layered graphics system | Y | N |
modular graphics system | Y | N |
network transparent windowing system | Y | N |
graphics system user mode (drivers) | Y | N |
graphics system user mode (system) | Y | N |
windowing system user mode (interface) | Y | N (Y some) |
graphics system only user privileges (drivers) | N | N |
windowing system only user privileges (system) | N | N |
windowing system only user privileges (interface) | Y | N |
Architecture (drivers) | ||
i.e. drivers user space (exceptions below) (#1, #2) | N | N |
exceptions - user space drivers - USB (#157, -) | Y | N |
exceptions - user space drivers - printing | Y | N |
exceptions - user space drivers - FUSE | Y | N |
exceptions - user space drivers - Graphics - see below (#159, #160) | Y | N |
Development Model (kernel) | Linux | Windows |
development model | open source | closed source |
development cycle time (#89, #90) | 3 months | 12 months (6-48 months) |
Development Model (drivers) | ||
development model | open source | closed source |
development model - exceptions | few binary drivers | - |
constant kernel ABI | N | Y |
drivers in kernel source tree | Y | N |
drivers in kernel source tree - exceptions | few binary drivers | - |
binary driver testing (as part of release) | N (few) | Y |
Source Code (no drivers) | Linux | Windows |
language - C (#411, #412) | Y | Y |
language - Assembly (#411, #412) | Y | Y |
language - SEH (#411, #412) | N | Y |
language - VEH (#411, #412) | N | Y |
language - no C++ (#411, #412) | Y | N |
language - C proportion (#57, #58) | 94% +-3% | 60% +-25% |
compiler (#41, -) | gcc | closed |
compiler - additional (#41, -) | - | closed SEH/VEH compiler |
compiler version (#41, -) | 3.2-4.x (latest best) | closed |
compiler - alternative (not recommended) | Intel icc | - |
kernel - size Source_lines_of_code (SLOC) (no drivers) (#7, #8) | 3.5M +-0.5M | 7.5M +-2.5M |
Source Code (drivers) | ||
language - C (#411, #412) | Y | Y |
language - Assembly (#411, #412) | Y | Y |
language - SEH (#411, #412) | N | Y |
language - VEH (#411, #412) | N | Y |
language - no C++ (#411, #412) | Y | N |
drivers proportion of total (#51, #52) | 50% | 40% +-20% |
drivers proportion of total bugs (#51, #52) | 85% | 75% +-20% |
Source Code (kernel + drivers) | ||
language - C proportion (#57, #58) | 94% +-3% | 70% +-25% |
kernel space Source_lines_of_code (SLOC) (with drivers) (#3, #4) | 6M +-2M | 25M (+15M -5M) |
kernel + user space Source_lines_of_code (SLOC) (with drivers) (#3, #4) | 6M +-2M | 30M +-10M |
average bug error rate per line (#5, #6) | 0.02% | 1.2% (0.21%-2.5%) |
i.e. estimated kernel space bugs total (#3 * #5, #4 * #6) | 1200 | 300000 (53000-630000) |
i.e. estimated kernel + user space bugs total (#3 * #5, #4 * #6) | 1200 | 360000 (63000-750000) |
Boot Image | Linux | Windows |
boot switching between uniprocessor/multiprocessor optimised images (#67, #68) | Y | Y |
boot self patching between uniprocessor/multiprocessor optimised images (#?, #?) | Y | N |
runtime loadable modules | Y | Y |
boot image file - uniprocessor (#19, #20) | vmlinuz | NTOSKRNL.EXE |
boot image file - multiprocessor | (same file as above) | NTKRNLMP.EXE |
boot image file - uniprocessor, PAE | another file | NTKRNLPA.EXE |
boot image file - multiprocessor, PAE | (same file as above) | NTKRPAMP.EXE |
Kernel mode (size) | ||
boot image filesize - uniprocessor (#19, #20) | 2.3MB | 2.4MB |
boot image - kernel mode additional files HAL.DLL (#21, #22) | - | 0.5MB |
boot image - kernel mode additional files GDIPLUS.DLL | - | 1.7MB |
boot image - kernel mode additional files | - | ? |
boot image total file sizes (no drivers, GDI+, uniprocessor) (#17, #18) | 2.3MB | >4.6MB |
Kernel + user mode (size) | ||
boot image - user mode additional files NTDLL.DLL (#23, #24) | - | 0.7MB |
boot image - user mode additional files WIN32K.SYS (#25, #26) | - | 1.7MB |
boot image - user mode additional files KERNEL32.DLL (#29, #30) | - | 1.0MB |
boot image - user mode additional files CSRSS.EXE (#27, #28) | - | 0.7MB (not counted) |
boot image total file sizes (no drivers, GDI+, uniprocessor) (#17, #18) | 2.3MB | >8.0MB |
Hardware Architectures (PC) | Linux | Windows |
PC x86 | Y | Y |
PC AMD64 | Y | Y |
PC IA-64 | Y | Y |
Hardware Architectures (other) | ||
Alpha | Y | N |
PPC | Y | N |
PPC64 | Y | N |
SPARC32 | Y | N |
SPARC64 | Y | N |
ARM | Y | N |
HP PA-RISC | Y | N |
Motorola 680x0 | Y | N |
MIPS | Y | N |
MIPS (DEC) | Y | N |
PowerPC | Y | N |
IBM S/390 | Y | N |
others | Y | N |
Graphics (performance) | Linux | Windows |
direct graphics | Y | Y |
driver speed (subjective, in general) | ok | good |
driver features (subjective, in general) | ok | good |
Process Management (general) | Linux | Windows |
process - nomenclature | task | container |
process - holds address space | Y | Y |
process - holds handle table | Y | Y |
process - holds statistics | Y | Y |
process - holds at least one thread | N | Y |
parent-child relationship | Y | N |
Process Management (thread) | ||
thread model (#171, -) | 1×1 | m×n |
i.e. preemptive thread scheduling (-, #174) | N | Y |
threads are basic scheduling units | Y | Y |
fibers | Y | Y |
fibers - better than just by sharing handle table, PID, address space | N | Y |
POSIX Threads (built-in) (#101, #102) | Y | N |
POSIX Threads (add-on) (#101, #102) | - | Y |
Process Management (performance) | ||
process cheap (#131, #132) | Y | N |
thread cheap (#131, #132) | Y | Y |
fiber cheap (#131, #132) | Y | Y |
Scheduling (general) | Linux | Windows |
O(1) scheduler | Y | Y |
pre-sorted queues | Y | Y |
queue per processor | Y | Y |
reentrant | Y | Y |
preemptible user mode | Y | Y |
preemptible kernel mode | Y | Y |
Scheduling (classes) | ||
scheduling classes | 4 | 2 |
1. Normal (dynamic) priorities | 39 "100-139" | 15 "1-15" |
2. Real Time FIFO (fixed) priorities | 100 "0-99" | 16 "16-31" |
3. Real Time Round Robin (fixed) priorities | 100 "0-99" | 0 |
4. Batch (IDLEPRIO) (fixed) | 39 "100-139" | 0 |
scheduling priorities ranked most favoured->least | Low->High | High->Low |
Scheduling (dynamism) | ||
priority dynamism - use timeslice | go up (decay) | - |
priority dynamism - do not use timeslice | go down | - |
priority dynamism - on wakeups | - | get boosted |
priority dynamism - general | - | never lowered |
Scheduling (timeslice) | ||
timeslice runtime configurable (default) (-, #332) | N | Y (Server or Client) |
timeslice - uniprocessor Client (default) (#331, #332) | 100ms | 20ms, 40ms, 60ms |
timeslice - uniprocessor Server (default) (#331, #332) | 100ms | 120ms |
timeslice - multiprocessor Client (default) (#331, #332) | 100ms | 30ms, 60ms, 90ms |
timeslice - multiprocessor Server (default) (#331, #332) | 100ms | 180ms |
timeslice - uniprocessor Client (range) (#331, #332) | 10ms-200ms | 10ms-120ms |
timeslice - uniprocessor Server (range) (#331, #332) | 10ms-200ms | 120ms |
timeslice - multiprocessor Client (range) (#331, #332) | 10ms-200ms | 15ms-180ms |
timeslice - multiprocessor Server (range) (#331, #332) | 10ms-200ms | 180ms |
timeslice vary - entire range - priority, interactivity (#, #) | Y | N |
timeslice vary - user setting, window boost (#, #) | N | Y |
Scheduling (performance) | ||
i.e. process minimum CPU (1 maximum vs 1 minimum) | 4.8% | 7.7% |
scheduling latency (average) (#201, #202) | 0.009mS | 2mS (old data) |
scheduling latency (worse) (#203, #204) | 0.3mS | 16mS (old data) |
Scheduler (prioritising tweaks) | ||
priority interactive boost/CPU bound cut | -5 to +5 (batch = +5) | ? |
focused window process boost (-, #342) | N | Y |
focused window process boost - timeslice change (-, #342) | - | 3x |
i.e. Interactive Process boost | Y | Y |
Power Management | Linux | Windows |
idle process | Y | Y |
CPU frequency throttling (ACPI) | Y | Y |
CPU voltage throttling (ACPI) | Y | Y |
peripheral sleep (ACPI) | Y | Y |
system sleep - software suspend to RAM (ACPI) | Y | Y |
system sleep - software suspend to disk | Y | Y |
Multiprocessor Support (architecture) | Linux | Windows |
SMP | Y | Y |
scheduler SMP processor affinity | Y | Y |
NUMA | Y | Y |
scheduler NUMA node affinity | Y | Y |
NUMA Memory Manager Support (#421, -) | Y | Y |
Hyperthreading (SMT) | Y | Y |
scheduler Hyperthread affinity | Y | Y |
scheduler favours physical CPU over Hyperthread | Y | Y |
Multicore | Y | Y |
scheduler Core affinity | Y | Y |
scheduler favours physical CPU over Multicore | Y | Y |
Multiprocessor Support (limits) | ||
CPUs 32bit (#47, -) | unlimited | 32 |
CPUs 64bit (#47, -) | unlimited | 64 |
Multiprocessor Support (load balancing) | ||
scheduler load balancing - initial | Y | Y |
scheduler load balancing - rebalance | Y | N |
scheduler load balancing - smpnice | Y | N |
scheduler load balancing period (#151, -) | 200ms | N |
Virtual Memory Management (general) | Linux | Windows |
per-CPU kernel memory buffers | Y | Y |
lock pages in memory | Y | Y |
copy-on-write executables (COW) (#81, #82) | Y | Y |
demand paging (#311, #312) | Y | Y |
Virtual Memory Management (limits) | ||
split user-mode/kernel-mode 32bit 1GB/3GB | Y | N |
split user-mode/kernel-mode 32bit 2GB/2GB | Y | Y |
split user-mode/kernel-mode 32bit 3GB/1GB | Y | Y |
split user-mode/kernel-mode 32bit - option 4GB/4GB | Y | N |
i.e. maximum memory per process 32bit | 3GB 4GB split option | 3GB |
maximum memory per process 32bit (PAE) (#113, #114) | N (Y non-standard 64GB) | N (Y other editions 64GB) |
split user-mode/kernel-mode 64bit (#301, -) | 8192 PB/8192 PB | 8192 PB?/8192 PB? |
i.e. maximum memory per process 64bit (#301, #302) | 8192 PB | 8192 PB? |
Virtual Memory Management (performance) | ||
swap usage (subjective) | less | more |
Virtual Memory Management (working sets) | ||
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 (#45, -) | N | N |
Physical Memory Management | Linux | Windows |
RAM maximum 32bit | 64GB | 4GB |
RAM maximum 32bit - option (, other editions) | - | 64GB |
i.e. PAE (#111, #112) | Y | N |
i.e. PAE - option (, other editions) (#111, #112) | - | Y |
RAM maximum 64bit | 64GB | 32GB |
RAM maximum - option 64bit (, other editions) | ? | 1024GB |
Interrupts (hardware clock) | Linux | Windows |
timer interrupt frequency default - uniprocessor Hz (#321, #322) | 250 | 100 |
timer interrupt frequency build time configurable - uniprocessor Hz (#321, #322) | unlimited | N |
timer interrupt frequency - multiprocessor Hz (#321, #322) | 250 | 67 |
timer interrupt frequency build time configurable - multiprocessor Hz (#321, #322) | unlimited | N |
Interrupts (handling) | ||
interrupt handling (top half) (#9,#10) | Y | Y |
interrupt handling (bottom half) (#11, #12) | Y "IRQ/tasklet" | Y "DPC" |
interrupt classes - "softirq types" (bottom half) (#163, #164) | 32 (4 used) | - |
Interrupts (prioritisation) | ||
preemptive interrupt handling (top half) (-, #122) | N | Y |
preemptive interrupt handling (bottom half) (-, #122) | N | Y? |
interrupt priority levels (IPL) (top half) (#13, #14) | 1 | 32 |
interrupt priority levels (IPL) (bottom half) (#161, #162) | 1 | 3 |
Interrupts (performance) | ||
interrupt latency (average) (#155, #156) | 11uS | 36uS |
interrupt latency (maximum) (#191, #192) | 1000uS | 45000uS |
Interrupts (scaling) | ||
Adaptive Interrupt Coalescing (#167, #168) | Y | Y |
Interrupts (multiprocessor) | ||
all CPUs - can take interrupts (#501, #501) | Y | Y |
all CPUs - interrupt handling (top half) (#501, #501) | Y? | Y? |
all CPUs - interrupt handling (bottom half) (#501, #501) | Y? | Y? |
I/O Management (general) | Linux | Windows |
centred around | inode | file object |
layered I/O model | N | Y |
generic file descriptors (pipes and network connections that act like files) | Y | N |
wake-one socket semantics (#501, #501) | Y | Y |
I/O Management (performance) | ||
zero-copy file sending | Y | Y |
I/O Management (vectored) | ||
Scatter/Gather DMA | Y | Y |
vectored I/O support (#511, #512) | Y | Y |
asynchronous vectored I/O support (#511, #512) | Y | Y |
I/O Management (asynchronous) | ||
asynchronous I/O support (#501, #501) | Y | Y |
asynchronous I/O support - in general (#501, #501) | N | Y |
asynchronous I/O support - general technology (#501, #501) | AIO (or epoll) | completion ports |
I/O Management (prioritisation) | ||
I/O timeslices (read) (#43, #44) | Y | N? |
I/O timeslices (write) (#43, #44) | Y | N? |
I/O bandwidth reservation (read) (#43, #44) | N | N |
I/O bandwidth reservation (write) (#43, #44) | N | N |
I/O priority (read) (#43, #44) | Y | N |
I/O priority (write) (#43, #44) | N | N |
I/O priority - scheduling class levels (read) - realtime (IOPRIO_CLASS_RT) (#43, #44) | 8 | 0 |
I/O priority - scheduling class levels (write) - realtime (IOPRIO_CLASS_RT) (#43, #44) | 8 | 0 |
I/O priority - scheduling class levels (read) - best effort (IOPRIO_CLASS_BE) (#43, #44) | 8 | 0 |
I/O priority - scheduling class levels (write) - best effort (IOPRIO_CLASS_BE) (#43, #44) | 8 | 0 |
I/O priority - scheduling class levels (read) - idle (IOPRIO_CLASS_IDLE) (#43, #44) | 1 | 0 |
I/O priority - scheduling class levels (write) - idle (IOPRIO_CLASS_IDLE) (#43, #44) | 1 | 0 |
I/O priority - user control (ionice) (read, write) (#43, #44) | Y | N |
Configuration | Linux | Windows |
supports PnP | Y | Y |
Light-Weight Synchronization | Linux | Windows |
critical sections (#501, #501) | Y | Y |
futexes (prioritise waits) (#501, #501) | Y | N |
interprocess (prioritise waits) (#501, #501) | Y | N |
Filesystems (all) | Linux | Windows |
Filesystem (caching) | ||
single global common cache | N | Y |
i.e. Virtual File Cache - global | Y | Y |
i.e. Virtual File Cache - no user cache used (can cause inconsistencies) | N | Y |
directory lookup caching (good caching) (#501, #501) | Y | N |
Filesystem (mechanisms) | ||
FUSE | Y | N |
Loopback | Y | N |
automounter | Y (autofs 4) | N (Y only network shares) |
automounter (obsolete) | N (autofs 3) | N |
Filesystem (best in class only) | ||
general - XFS (#351, #352) | Y (native) | N (Y with add-on) |
general (new) - ZFS (#355, #356) | N | N |
network - NFS 4 (#353, #354) | Y (native) | N |
cross-platform file exchange - FAT32 | Y | Y (native) |
cross-platform network - SMB | Y | Y (native) |
Networking (general) | Linux | Windows |
protocols (#55, -) | more | less |
tcp buffer auto sizing | Y | Y |
IPv4 | Y | Y |
IPv6 | Y | Y |
Networking (prioritisation) | ||
QoS general (#?, #?) | Y? | Y? |
QoS wifi (#?, #?) | Y? | Y? |
Sound (performance) | Linux | Windows |
standard audio system | ALSA | DirectSound |
handles multiple audio streams | Y | Y |
full-duplex | Y | Y |
SMP, thread-safe | Y | Y? |
user space software mixing | Y | Y? |
user space "loopback/snoop" capabilities | Y | ? |
driver features (subjective, in general) | ok | good |
audio latency low (#?, #?) | Y? | N? (Y with Steinberg's ASIO) |
audio video sync accurate (#?, #?) | Y? | N? |
Hardware Support (PC) | Linux | Windows |
hardware support (new hardware) | none-good | ok-good |
hardware support (old hardware) | none-good | none-good |
supported list | LDP Suse RH | MS |
InfiniBand | Y | N (Y other editions) |
CPU Hotplug | Y | Y |
RAM Hotplug | Y | Y |
PCI Hotplug | Y | Y |
I/O host bridges Hotplug | ? | N |
wireless USB | Y | Y |
ExpressCard | Y | Y |
ACPI 3 | N? | N? |
ACPI 2 | Y (only some?) | Y (only some?) |
ACPI 1 | Y | Y |
Peripheral Support (PC) | Linux | Windows |
USB 2.0 | Y | Y |
USB 2.0 benchmark - hardware speed (#423, #424) | Y | N? |
Standards Support | Linux | Windows |
standards support | high | low |
POSIX | Y | Y |
network transparent windowing system | Y | N |
Security | Linux | Windows |
security model - Standard Unix Model | Y | N |
i.e. immunity from viruses (given common usage) | Y | N |
security model - ACL (built-in) | N (Y some distros) | Y |
security model - ACL (add-on) | Y - SELinux | - |
security model - Security Modules (#401, #402) | Y - LSM | Y - CAS |
user definition - privileges, member groups | Y | Y |
security is implemented - any object manager object (files, processes...) | N | Y |
security is implemented - free from object-by-object assignment | N | Y |
auditing support (built-in) | N (Y option) | Y |
auditing support (add-on) | Y | - |
NX | Y | Y |
ASLR | Y | N |
OS Security (open bugs) | Linux | Windows |
OS bugs | Debian 3.1 | Info |
#1 monolithic kernel
#2 monolithic kernel aka "hybrid" kernel
#3 estimate based on total SLOC + dependent on driver selection, X not included
#4 estimate based on total SLOC i.e. dependent on driver selection, GDI/GDI+ included
#5 0.016% defect density 2005 survey, 2004 survey, + guess 0.004% increase 2006 update Linux bugs increasing = 0.02%
#6 estimate, based on average of range Software Quality: Why Windows 2000 has 63,000 \"bugs\" and Linux* doesn't - survey 2004 general estimate for commercial software
#7 roughly - depends on options kernel, Microkernel
#8 estimate, based on newsgroup discussions Microkernel
#9 interrupts|interrupts
#10 ISR
#11 interrupts|interrupts
#12 DPC
#13 Interrupt_handler
#14 IRQL
#15 Open source
#16 Closed source
#17 2.3MB vmlinuz from 2.6.14 kernel on Kanotix
#18 >4.6MB=(2.4+0.5+1.7+?)MB , 8.0MB=4.6+(0.7+1.7+1.0)MB Windows 2003 SP1 fix Note - it is not clear which files correspond to kernel mode and user mode.
#19 or bzImage, zImage, vmlinux. 2.6.14 kernel on Kanotix
#20 NTOSKrnl.exe
#21 no known other files
#22 Windows_NT_Startup_Process, Server info
#23 no other known files
#24 Internet Explorer bug,
#25 no other known files
#26 Native API, bugfix
#27 no other known files
#28 csrss.exe
#41 Documentation/Changes kernel change
#43 default=(cpu_nice + 20) / 5 ioprio.txt
#44 Windows Vista: Kernel Changes - I/O, I/O, It's off to work I go...
#45 "swap daemon" is working set trimmer
#47 kernel build option
#51 user space device drivers
#52 estimate, based on #51 but reduced 10% due to larger size of Windows kernel
#55 networking
#57 see #3 - from 2.4.x study
#58 see #4
#67 Linux_2_6_17
#68 boot time flag NT kernel, but always SMP kernel?
#81 Linux
#82 Binding an Executable
#89 kernel changes
#90 Microsoft Windows
#99 IPL
#101 Native POSIX Thread Library (NPTL)
#102 with freeware Open Source POSIX Threads for Win32
#111 PAE
#112 PAE
#113 non-standard extension
#114 Address Windowing Extensions (AWE)
#122 NT RT
#131 Thread
#132 Thread
#151 Linux scheduler
#155 evaluationengineering
#156 36uS 1998 NT Real-Time, older, non-independent result 1995 23uS (mid of 17-30uS) NT RT , and NT latency
#157 user space device drivers
#161 Kernel Analysis HOWTO
#162 Advanced DPCs
#163 Linux Networking
#164 levels used
#167 Linux Networking
#168 [http://www.microsoft.com/technet/interopmigration/unix/sfu/perfnfs.mspx|]
#171 NPTL
#174 W2K thread scheduling
#191 997uS Montevista
#192 45027uS NT RTX realtime performance
#201 Montevista, similar to kerneltrap RT benchmark
#202 outdated benchmark - "few mS" taken as 2mS Michael B. Jones and John Regehr.
"The Problems You're Having May Not Be the Problems You Think You're
Having: Results from a Latency Study of Windows NT". In Proceedings of
the 7th Workshop on Hot Topics in Operating Systems, pages 96-101,
March 1999.
#203 Montevista
#204 outdated benchmark - as #202 16ms from "software delays up to 16ms", ignored "hardware delays up to 30ms"
#301 Linux maximum memory per process, Virtual Memory in the IA-64 Linux Kernel
#311 Demand paging
#312 Wake up...
#321 Linux: Changing The Default Hertz (2.6.13 Kernel Release change)
#322 Thread Scheduling (set by HAL not kernel)
#331 Linux Optimization
#332 Thread Scheduling
#342 Thread Scheduling
#351 filesystem comparison
#352 crossmeta ext2, XFS, Reiser add-on
#401 Linux Security Modules (LSM)
#402 CAS
#411 check of the Linux source!
#412 VEH, GDI
#421 What's what in Linux 2.6.16
#423 need better ref than this - linux kernel monkey log
#424 need better ref than this - linux kernel monkey log
#501 Windows vs Linux: A tale of two kernels The original source of information for this page.
#511 Asynchronous I/O and vectored operations, API changes: interrupt handlers and vectored I/O
#512 Inside I/O Completion Ports
1 TechEd 2004 - Session: Mark Russinovich \"Linux and Windows Kernel Comparison\"
kernel 2.6.18
Windows_2003
Linux_2_6_16
kernel 2.6
Linux 2.6.16
kernel bugs
future Windows graphics kernel
Win source code
OpenBSD
Solaris
Vista
Linux Distributions
Kernel HZ
Splice
threads
filesystem info
Linux RT latency
MontaVista RT
Linux_2_6_18
michaelhorowitz.com
wikipedia
2.6 kernel quality
Con Kolivas
Comparison of Solaris Linux and freeBSD kernels
What's not going into 2.6.18
Linux Interrupts: The Basic Concepts
Microsoft Vista kernel enhancements
RT enhancements to Linux 2.6.18
general OS info
XNU
Comparison of Solaris OS and Linux for Application Developers
AMD Designing for N cores
There have been 37488 pageviews until now.
Vertical Tab Firefox 2.0 Widefox 2.0
Johnathon Weare © Johnny Weare 2006
Page Information
|
Wiki Information |
Make your own wiki!This page is part of a public wiki.You can make your own free private or public wiki in just a few seconds. Click here, it's as easy as making a peanut butter sandwich! |