Teknik Informatika    
   
Daftar Isi
(Sebelumnya) Comparison of OpenXPS and PDFComparison of operating systems (Berikutnya)

Perbandingan -- operating system kernels

A kernel is the core component of every computer operating system. While kernels are highly technical in nature, and may be hidden from the user under many layers of software and applications, they do have distinguishing or characteristic features, such as computer architecture, design goals, as well as the more practical features that they provide. A direct comparison of operating system kernels can highlight these design choices, and provide insight into different niches and the evolving technology of kernels.

Contents

Comparison criterion

The following tables compare general and technical information for a number of widely used and currently available operating system kernels. Please see the individual products' articles for further information.

Even though there is a large number and variety of available Linux distributions, all of these kernels are grouped under a single entry in these tables, due to differences being of the patch level. See comparison of Linux distributions for a detailed comparison. Linux distributions that have highly modified kernels, for example Real-time computing kernels, should be listed separately. There are also a wide variety of minor BSD operating systems, many of which can be found at Perbandingan -- BSD operating systems.

The tables specifically do not include subjective viewpoints on the merits of each kernel or operating system. For this kind of information, please see operating system advocacy.

Feature overview

The major contemporary general-purpose kernels are shown in comparison. Only an overview of the technical features is detailed.

Kernel nameUsed inCreatorExecutable
format
(also see
section
below)
TypeIntegrated firewallSMP supportMultiple architecture
support
(also see
section below).
MultitaskingVirtualizationSecurityProfiling/DebuggingSoft real-time supportHard real-time supportCan keep RTC in UT[1]
Agnix [3]???????Yes??????
Amiga ExecAmigaOSCommodore InternationalHUNKExokernel (atypical)[2]NoNoNoYesNoNoYesNoNoNo
Amiga Exec SG (2nd Generation)AmigaOS 4Hyperion EntertainmentELF/HUNKExokernel (atypical)NoNoNoYesNoNoYesNoNo?
DragonFly BSD kernel [4]DragonFly BSDMatt DillonELF, others - platform dependenthybridIPFilter, Ipfirewall,
PF
YesYesYeschroot, jail,vkernel?DDB[disambiguation needed], KGDB???
FreeBSD kernelFreeBSD,

Debian GNU/kFreeBSD, Gentoo/FreeBSD

The FreeBSD ProjectELF, others - platform dependentmonolithicIPFilter, Ipfirewall,
PF
YesYesYeschroot, jailPOSIX.1e and NFSv4 ACLs,[3] Capsicum, TrustedBSD MAC, OpenBSMKDB, DDB[disambiguation needed], KGDB, DTrace, hwpmcYes?Yes
GNU Hurd [5]Arch Hurd,

Debian
GNU/Hurd
, NixOS[4]

GNU Project/Free Software FoundationELFmicrokernel?NoNoYes??????
GNU Mach [6]?GNU Project/Free Software Foundation?microkernel?NoNoYes??????
Inferno kernelInfernoBell Labs / Vita Nuova Holdings?virtual machine?YesYesYes??????
L4L4Jochen Liedtke?microkernel?YesYesYesYesAfterburner/L4 [7], Marzipan [8], capabilities in L4/Fiasco[5]L4/Fiasco[5]L4/Fiasco[5]??
Linux kernel [9]LinuxLinus TorvaldsELF, othersmonolithicnetfilter/
iptables
YesYesYescgroups, chroot, Lguest, Xen, KVM, kvm-lite, LXCPOSIX ACL, POSIX Capabilities, keyctl, LSM(SELinux, SMACK, TOMOYO Linux, AppArmor)OProfile, kprobe, SystemTap, JProbe, ftrace, KDB, KGDB, kernel marker, perf toolsCONFIG_PREEMPT(CONFIG_PREEMPT_RT Patch)Yes
Mach [10]NextStep and OpenStepCarnegie Mellon UniversityMach-Omicrokernel??????????
Minix 3 [11]Minix 3Andrew S. TanenbaumELF,[6] a.out[7][8]microkernelNoNoNoYesNoUnix permissionsCall profiling, statistical profiling, Minix Debugger (mdb)NoNo?
MkLinux [12]?OSF Research Institute and Apple Computer?microkernel??????????
NetBSD kernelNetBSD,

Debian GNU/NetBSD,

The NetBSD ProjectELF, others - platform dependentmonolithic, any kernel using RUMP architectureIPFilter

PF

YesYesYesXen, chrootkauthDDB[disambiguation needed], KGDB, tprofPOSIX real-time scheduling extensionsKernel preemption[citation needed]?
NetWare kernelNovell NetWareNovellNLMhybridYesYesNoYes??????
OpenBSD kernelOpenBSDOpenBSD developersELF, others - platform dependentmonolithicPFYesYesYes??????
Plan 9 kernelPlan 9 from Bell LabsBell Labs?hybridipmuxYesYesYes??????
ReactOS kernelReactOSReactOS FoundationPE, others?hybrid???Yes??????
Rockbox kernelRockboxThe Rockbox Project????Yes???????
SunOS kernelSunOSSun Microsystemsa.out
monolithic?YesYesYes??????
Solaris kernelSolaris,

OpenSolaris, Nexenta OS

Sun MicrosystemsELF (32-bit only until
Solaris 7 in 1998)
monolithicIPFilterYesYesYesZones, chrootACL, RBAC, Auditing, Privileges, Zones, Trusted ExtensionsDTrace, CPU profiling, microstate accounting, perf counters, kernel lock stats, kstats, mdb, kmdbReal-time scheduler??
TrixTrixMassachusetts Institute of Technologya.outmonolithic?YesNoYes??????
Windows NT kernel [13]Windows NT, 2000,
XP, 2003, Vista, Windows 7
MicrosoftPE, others?hybridYesYesYesYesHyper-VACLEvent Tracing[9]NoNoUnofficial[10]
XNU (Darwin kernel) [14]Mac OS X,

OpenDarwin, GNU/Darwin

Apple ComputerMach-OhybridIpfirewall,
PF (starting in Lion)
YesYesYes??DTrace???
SPARTAN kernel [15]HelenOSJakub JermarELFmicrokernel?YesYesYes??????
Kernel nameUsed inCreatorExecutable
format
(also see
section
below)
TypeIntegrated firewallSMP supportMultiple architecture
support
(also see
section below).
MultitaskingVirtualizationSecurityProfiling/DebuggingSoft real-time supportHard real-time supportCan keep RTC in UT

Transport protocol support

Kernel NameTCPUDPSCTPDCCP
FreeBSD kernelYesYesYesNo
Linux kernelYesYesYesYes
Solaris kernelYesYesYes?
Windows NT kernelYesYesNo?
XNUYesYesNoNo

In-kernel Security

Kernel NameFile access controlDisable memory execution supportKernel ASLRMandatory access controlCapability-based securityIn-kernel key managementAudit APISandboxSYN flood protectionUDP flood protectionPing flood protectionSmurf attack protectionNetwork Behavior Analysis
Linux KernelTraditional Unix permissions, POSIX ACLYesYesLSM(SELinux, SMACK, TOMOYO Linux, AppArmor)YeskeyctlfanotifySELinux Sandbox, seccomp, KVMSYN cookiesNo?No?No?No
FreeBSD KernelTraditional Unix permissions, POSIX and NFSv4 ACLYes?TrustedBSD MACCapsicum?OpenBSMCapsicumSYN cookies????
Solaris KernelTraditional Unix permissions, POSIX ACL, NFSv4 ACLDefault?Solaris Trusted Extensions?????????
Windows NT kernelAccess control listDEPYesMandatory Integrity Control?????????
XNUTraditional Unix permissions, access control listYesYesTrustedBSD MAC??OpenBSMApple XNU Sandbox?????

In-kernel Virtualization

Kernel NameContainer (no resource management, no security)Container (no resource management)Container (resource management)ParavirtualizationFull virtualizationUser-space execution
Linux KernelchrootLXCVirtio, Hyper-V (guest only), Xen (guest only), VMI (guest only), kvm-lite, lguestKVMUML
FreeBSDchrootjailVirtio, Xen (guest only)BHyVe (KVM)?
Solaris kernelchrootSolaris Containers / ZonesNoNoNo
Windows NT kernelAppContainersAppContainersAppContainersHyper-VHyper-V?
XNUchroot?????

In-kernel server support

Kernel NameHTTPFTPNFSCIFSName servertransport-layer load balancerapplication-layer load balancer9PSSL proxy
Linux kernel(TUX web server patch)(TUX web server patch)knfsdNo?IP Virtual Server(KTCPVS)(patch available)No
FreeBSDNoNoYesNoNoYesNoNoNo
Solaris kernel??YesYes[11]?Yes[12]Yes[12]?KSSL
Windows NT kernelHTTP.sys??Yes?YesYesNo?
XNUNoNoYesNoNoNoNoNoNo

Binary format support

A comparison of OS support for different binary formats (executables):

Kernel Namea.outECOFFELFFDPIC
ELF
binaries
(mmu less)
flat
binaries
(superH)
HUNKMach-OMisc
(wrapper
based,
like
interpreters)
PESOM
(PA-RISC,
HP-UX)
NLMPEFDOS COMMZLELXNE
Amiga ExecNoNoYes[13]NoNoYesNoNoNoNo???????
HP-UXNoNoYesNoNoNoNoNoNoYesNoNo?????
Linux kernelYesYesYesYesYesNoNoYesSome[14]Yes?No?????
MINIX 3Some[7][8]NoYes[6]NoNoNoNoNoNoNoNoNo?????
NetBSD kernelYesYesYes???Yes?Yes????????
ReactOS kernel????????Yes????????
Solaris kernelYes[15]NoYes[16]NoNoNoNoNoSome[17]No???????
Windows NT kernelNoNoNoNoNoNoNoNoYesNoNoNo?????
XNUNoNoNoNoNoNoYesNoNoNoNoNoNoNoNoNoNo

File system support

Physical file systems:

KernelAcorn ADFSAmiga FFSBeFSBFScramfsEFSext2ext3ext4FATFreeVxFSHFSHFS+HPFSISO 9660JFFSJFFS2JFSMINIX fsNSSNTFSOCFSQNX4 FSSystem V FSUDFUFSXFSZFSReiserFSReiser4BtrfsHAMMERTux3exFAT
FreeBSD kernelNoNoNoNoNoNoYesYesYesYesNoNoNoNoYesNoNoNoNoNolimited writeNoNoNoYesYesread onlyYesread onlyNoNoNoNo?
Linux kernelYes
[18]
Yesread onlyYesYesread onlyYesYesYesYesread onlyYesYesYesYesYesYesYesYesYeslimited write
[19]
YesYes
[18]
[20]
write support?YesYes
[18]
Yesboth FUSE and nativeYesYesYesNoYes(experimental patch is available[21])
MINIX 3NoNoNoNoNoNoYesNoNoTools available, cannot mountNoNoNoNoYesNoNoNoYesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
NetWare kernelNoNoNoNoNoNoNoNoNoYesNoNoNoNoYesNoNoNoNoYesNoNoNoNoYesNoNoNoNoNoNoNoNo?
ReactOS kernelNoNoNoNoNoNoNoNoNoYes[22]NoNoNoNoYes[22]NoNoNoNoNoNoNoNoNoYes[22]NoNoNoNoNoNoNoNoNo
Solaris kernel??????Yes??Yes????Yes????NoNo???YesYes?YesNoNoNoNoNo?
Windows NT kernel??????Yes
[23]
Yes
[24]
?Yes?Yes
[24]
Yes
[24]
NoYes????NoYes???Yes??NoNoNoNoNoNoYes
XNUNoNoNoNoNoNoYes
[25]
Yes
[25]
NoYesNoYesYesNoYesNoNoNoNoNolimited writeNoNoNoYesYesNoread onlyNoNoNoNoNoYes

Networked filesystem support

Kernel NameNFSAFSCIFSCoda9PCeph
FreeBSD kernelYesYesYesYesNoNo
Linux kernelYesYesYesYesYesYes
Solaris kernelYesYesYesNoNoNo
Windows NT kernelYesYesYesNoNoNo
XNUYesYesYesNoNoNo

Supported CPU architectures

kernelDECARM HoldingsHPIntelMIPS TechnologiesAIMIBMRenesas ElectronicsSun MicrosystemsMotorolaAnalog DevicesXilinxRenesas ElectronicsTensilicaAxis CommunicationsFujitsuAtmelPanasonicHyperstoneAlteraWDCSunplus TechnologyTileraTexas Instruments
VAXAlphaARMPA-RISCx86i960IA-64MIPS


PowerPCSystem/
390
z/ArchitectureH8300M16CM32RSuperH


SPARCm68kBlackfin (nommu)MicroBlaze78KV850XtensaETRAX CRISFR-VAVR32MN10300E1 (nommu)Nios (nommu)Nios IIWDC 65C816S+coreTileraC6X
mmunommux86x86-64mmunommu32-bit64-bitmmunommu32-bit64-bitnommummunommummunommummunommu
DragonFly BSD kernel?NoNoNoNoYesYes?NoNoNoNoNoNoNo???NoNoNoNoNoNoNo??????????????????
FreeBSD kernelNoNoYes?NoYesYes?YesYesNoYesYesNoNo???NoNoNoYes?NoNo??????????????????
Linux kernelNoYesYesYesYesYesYesNoYesYes?YesYesYesYesYesNoYesYesYesYesYesYesYesYesYesYesNoNo (dropped in 2.6.x)YesYesYesYesYesYesNoNoYesYesNoYesYesYes
MINIX 3?NoIn progress?NoYesIn progressNoNoIn progress?NoNoNoNoNo?NoNoNoNoNoNoNoNoNoNo?NoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
NetBSD kernelYesYesYesNo[26]YesYesYes?YesYesNo[26]YesNoNoNo???YesNo[26]YesYesNo[26]YesNo[26]??????????????????
NetWare kernelNoNoNoNoNoYesNo?NoNoNoNoNoNoNo???NoNoNoNoNoNoNo??????????????????
OpenBSD kernelYesYesYes?YesYesYes?NoYes?YesNoNoNo???Yes?YesYes?YesYes??????????????????
Rockbox kernel??Yes??????Yes????No???Yes????Yes???????????????????
Solaris kernelNoNoNoNoNoYesYes?NoNoNoNoNoNoNo???NoNoYesYes?NoNo??????????????????
Windows NT kernelNoNT 5.0 RC1 and below onlyYesNoNoYesYesNoYesNT 4.0 and below onlyNoNT 3.51 and NT 4.0 onlyNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
Windows CE kernelNoNoYes?NoYes?NoNoYes?NoNoNoNoNo?NoYes?NoNoNoNoNoNoNo?NoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
XNUNoNoYes?NoYesYes?NoNoNoYesYesNoNo???NoNoNoNoNoNoNo??????????????????
SPARTAN kernel?NoYes?NoYesYes?YesYes?YesIn ProgressNoNo???NoNoNoYes?NoNo??????????????????
FreeRTOS kernel???Yes???????Yes??No??????????YesYesYesYes????Yes????Yes????

Supported kernel execution environment

Kernel nameLinuxDarwinWindows NT kernelFreeBSDNetBSDSolarisOSF/1Amiga UnixSunOSBSDIIBCS2 systemsIRIXUltrixNDISSVR4
FreeBSDYes[27]NoNoYesNoNoNoNoNoNoNoNoNoYes[27]Yes[27]
LinuxYesNoNoNoNoNoNoNoNoNoNoNoNoNoNo
NetBSDYes[28]No? [16]?No? [17]?Yes[28]YesYes[28]Yes[28]Yes[28]Yes[28]Yes[28]Yes[28]Yes[28]Yes[28]Yes [18]Yes
OpenBSDYesNoNoYesYesYesNoNoYes????NoYes
Windows NT kernelNoNoYesNoNoNoNoNoNoNoNoNoNoNoNo
ReactOS kernelNoNoYesNoNoNoNoNoNoNoNoNoNoNoNo
XNUNoYesNoNoNoNoNoNoNoNoNoNoNoNoNo
Kernel nameLinuxDarwinWindows NT kernelFreeBSDNetBSDSolarisOSF/1Amiga UnixSunOSBSDIIBCS2 systemsIRIXUltrixNDISSVR4

Supported cipher algorithms

This may be usable on some situations like file system encrypting.

Kernel nameDESAESBlowfishTriple DESSerpentTwofishCAST-128DES-XIDEARC2RC5SEEDSkipjackTEAXTEACAST-256RC4CamelliaAnubisKHAZADSalsa20FCrypt
LinuxYesYesYesYesYesYesYes????Yes?YesYesYesYesYesYesYesYesYes
WindowsYesYesNoYesNoNoNoNoNoYesNoNoNoNoNoNoYesNoNoNoNoNo
Kernel nameDESAESBlowfishTriple DESSerpentTwofishCAST-128DES-XIDEARC2RC5SEEDSkipjackTEAXTEACAST-256RC4CamelliaAnubisKHAZADSalsa20FCrypt

Supported compression algorithms

This may be usable on some situations like compression file system.

Kernel nameDeflatezlibLZOLZJBgzip
LinuxYesYesYes?Yes
Solaris???YesYes
Kernel nameDeflatezlibLZOLZJBgzip

Supported hash algorithms

Kernel nameCRC-32 (IEEE)CRC32cMD2MD4MD5SHA-1SHA-256SHA-384SHA-512Michael MICRIPEMD-128RIPEMD-160RIPEMD-256RIPEMD-320TigerWhirlpoolHMACMDC2GOSTLASH-160LASH-256LASH-384LASH-512
LinuxYes[29]Yes[30]Yes[31]YesYesYesYesYes[32]YesYesYesYesYesYesYesYes???????
SolarisYesYesYesYesYesYesYesYesYes??Yes??Yes?YesYes?????
Windows NT??YesYesYesYesYesYesYesNoNoNoNoNoNoNoYesNoNoNoNoNoNo
Kernel nameCRC-32 (IEEE)CRC32cMD2MD4MD5SHA-1SHA-256SHA-384SHA-512Michael MICRIPEMD-128RIPEMD-160RIPEMD-256RIPEMD-320TigerWhirlpoolHMACMDC2GOSTLASH-160LASH-256LASH-384LASH-512

Supported Bluetooth protocols

Kernel nameACLSCOLMPHCIL2CAPBNEPRFComm.SDPTCPAVTCPAVDTPOBEXCMTPHIDPHCRPCAPIPPP
FreeBSD kernel???YesYes?YesYes?????????
Linux?Yes?YesYesYesYes?????YesYes???
Kernel nameACLSCOLMPHCIL2CAPBNEPRFComm.SDPTCPAVTCPAVDTPOBEXCMTPHIDPHCRPCAPIPPP

See also

Footnotes

  1. ^ IBM PC Real Time Clock should run in UT
  2. ^ The Amiga hardware lacked support for memory protection, so the strong isolation goals of the microkernel design could not be achieved.[citation needed]
  3. ^ http://www.freebsd.org/doc/en/books/h andbook/fs-acl.html
  4. ^ http://hydra.nixos.org/jobset/gnu/hur d-master
  5. ^ a b c "The Fiasco microkernel - Status". Retrieved January 11, 2013. 
  6. ^ a b Supports ELF since version 3.2.0 "MinixReleases". Minix Wiki. Retrieved 21 May 2012. 
  7. ^ a b a.out will be phased out in coming releases. van der Kouwe, Erik. "Re: ~Segmentation [Was: Minix3 for sparc]". Minix3 for sparc. Google Groups. Retrieved 21 May 2012. 
  8. ^ a b Commit to remove a.out utils from minix; only supports running a.out now. Leca, Antoine. "3fb8cb760c9075fab05682b89b1542d66481 ba58". minix.git. Retrieved 21 May 2012. 
  9. ^ http://msdn.microsoft.com/en-us/libra ry/windows/desktop/bb968803%28v=vs.85 %29.aspx
  10. ^ https://www.cl.cam.ac.uk/~mgk25/mswis h/ut-rtc.html
  11. ^ OpenSolaris Project Weaves CIFS Server Into the Solaris Kernel
  12. ^ a b Integrated Load Balancer
  13. ^ AmigaOS up to version 3.9 could use the ELF format for PowerPC executables and libraries through ppc.library, also known as PowerUP. AmigaOS 4, uses ELF as its native executable format.
  14. ^ The Linux kernel can recognize PE binaries through binfmt_misc and run them using Wine
  15. ^ to support SunOS 4.x binaries
  16. ^ including a Linux compatibility option
  17. ^ The Solaris kernel can PE using Wine
  18. ^ a b c experimental and dangerous write support
  19. ^ The only supported operation is overwriting existing files, without changing the file length so a loop file on a ntfs volume can be written; better write support can be achieved through ntfs-3g, although that is a FUSE filesystem and therefore not strictly a kernel feature
  20. ^ write support currently broken
  21. ^ Fat64 / exFat fs and Linux
  22. ^ a b c Version Status - ReactOS
  23. ^ additional driver needed - see http://www.fs-driver.org/
  24. ^ a b c additional driver needed
  25. ^ a b Third party module required. Mac OS X Kernel Module available here
  26. ^ a b c d e NetBSD Projects - Support for MMU-less systems
  27. ^ a b c Linux emulation in FreeBSD - 2 A look inside...
  28. ^ a b c d e f g h i j NetBSD Binary Emulation
  29. ^ [1]
  30. ^ [2]
  31. ^ MD2 Linux man page
  32. ^ GNU SHA2 utilities
(Sebelumnya) Comparison of OpenXPS and PDFComparison of operating systems (Berikutnya)