Linux Kernel Principles

āđ€āļ„āļ­āļĢāđŒāđ€āļ™āļĨ (Kernel) āļŠāļēāļĄāļēāļĢāļ–āđāļĒāļāļ­āļ­āļāļĄāļēāđ„āļ”āđ‰ 3 āļ›āļĢāļ°āđ€āļ āļ— āđ„āļ”āđ‰āđāļāđˆ

  • Monolithic kernel āđ€āļŠāđˆāļ™ Linux Kernel, MS-DOS, Microsoft Windows 9x Series

  • Micro kernel āđ€āļŠāđˆāļ™ AIX, AmigaOS, Android OS, Haiku, L4 microkernel family āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™

  • Hybrid kernel āđ€āļŠāđˆāļ™ BeOS kernel, NetWare kernel, ReactOS kernel, NT kernel Windows NT kernel (Windows 2000/Windows XP/Windows 2003/Windows Vista), 8.XNU kernel (āđƒāļŠāđ‰āđƒāļ™ Mac OS X) āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™

āđāļĨāļ°āđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ—āļĢāļēāļšāļāļąāļ™āļ”āļĩāļ§āđˆāļēāļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨāđ‚āļ”āļĒāļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāļ™āļąāđ‰āļ™āļˆāļ°āđ€āļ›āđ‡āļ™āļŠāļ™āļīāļ” monolithic kernel āļ‹āļķāđˆāļ‡āļŦāļĄāļēāļĒāļ–āļķāļ‡āļŦāļ™āđ‰āļēāļ—āļĩāđˆāļŦāļĨāļąāļāđ‚āļ”āļĒāļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļˆāļ°āļ–āļđāļāđ€āļĢāļĩāļĒāļāļœāđˆāļēāļ™ Kernel āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āļ”āļąāļ‡āđāļŠāļ”āļ‡āđƒāļ™āļĢāļđāļ›āļ‚āđ‰āļēāļ‡āļĨāđˆāļēāļ‡

āđāļŠāļ”āļ‡āļāļēāļĢāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Monolithic Kernel

āđāļ•āļāļ•āđˆāļēāļ‡āļˆāļēāļ Micro Kernel āļ—āļĩāđˆāļšāļēāļ‡āļŠāđˆāļ§āļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļĒāļąāļ‡āļ„āļ‡āļ—āļģāđƒāļ™ Kernel āđ€āļŠāđˆāļ™ āļāļēāļĢāļŠāļ·āđˆāļ­āļŠāļēāļĢāļĢāļ°āļŦāļ§āđˆāļēāļ‡āđ‚āļ›āļĢāđ€āļ‹āļŠ (inter-process communication) āļāļēāļĢāļˆāļąāļ”āļĨāļģāļ”āļąāļšāļ‡āļēāļ™āļ‚āļ­āļ‡āļ­āļļāļ›āļāļĢāļ“āđŒāļ­āļīāļ™āļžāļļāļ•/āđ€āļ­āļēāļ—āđŒāļžāļļāļ• (basic input/output scheduling) āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ (memory management) āļŠāđˆāļ§āļ™āļŦāļ™āđ‰āļēāļ—āļĩāđˆāļ­āļ·āđˆāļ™āđ†āļˆāļ°āļ—āļģāļ āļēāļĒāļ™āļ­āļ Kernel āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ drivers, network stack, file systems

āđāļŠāļ”āļ‡āļāļēāļĢāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Micro Kernel

Linux Kernel

āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨāļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļāļĨāļēāļ‡āļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļĨāļĩāļ™āļļāļāļ‹āđŒāđƒāļ™āļāļēāļĢāļ•āļīāļ”āļ•āđˆāļ­āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāđāļĨāļ°āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđ‚āļ”āļĒāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ™āļąāđ‰āļ™āļŦāļĄāļēāļĒāļ–āļķāļ‡āļ­āļļāļ›āļāļĢāļ“āđŒāļ•āđˆāļēāļ‡āđ†āļ āļēāļĒāđƒāļ™āđāļĨāļ°āļ­āļļāļ›āļāļĢāļ“āđŒāļĢāļ­āļšāļ‚āđ‰āļēāļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļŦāļ™āđˆāļ§āļĒāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļĨāļēāļ‡ āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ āļāļēāļĢāđŒāļ”āđāļŠāļ”āļ‡āļœāļĨ āļŪāļēāļĢāđŒāļ”āļ”āļīāļŠāļāđŒ āļ­āļļāļ›āļāļĢāļ“āđŒāļ­āļīāļ™āļžāļļāļ•āđāļĨāļ°āđ€āļ­āļēāļ—āđŒāļžāļļāļ• āđ€āļĄāļēāļŠāđŒ āļ„āļĩāļĒāđŒāļšāļ­āļĢāđŒāļ” āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™ āļŠāļģāļŦāļĢāļąāļšāļ‹āļ­āļŸāđāļ§āļĢāđŒāļ™āļąāđ‰āļ™āļ›āļĢāļ°āļāļ­āļšāđ„āļ›āļ”āđ‰āļ§āļĒāđ‚āļ›āļĢāđāļāļĢāļĄāļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāđāļĨāļ°āđ‚āļ›āļĢāđāļāļĢāļĄāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāļ•āđˆāļēāļ‡āđ† āđ‚āļ”āļĒāļ āļēāļĒāđƒāļ™ Kernel āļˆāļ°āļ›āļĢāļ°āļāļ­āļšāđ„āļ›āļ”āđ‰āļ§āļĒ 2 āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāļ„āļ·āļ­ Kernel Module āđāļĨāļ° Device Driver āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļˆāļ°āļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđƒāļ™āļāļēāļĢāļ”āļđāđāļĨāļˆāļąāļ”āļāļēāļĢāļāļēāļĢāļĢāđ‰āļ­āļ‡āļ‚āļ­āļ—āļĩāđˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļˆāļēāļāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāđāļĨāļ°āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđāļĨāđ‰āļ§āļ—āļģāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ‡āļ•āđˆāļ­āđƒāļŦāđ‰āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļ•āđˆāļ­āđ„āļ› āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļšāļĢāļīāļŦāļēāļĢāļˆāļąāļ”āļāļēāļĢāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļĢāļ°āļšāļš

āđāļŠāļ”āļ‡āļāļēāļĢāļŠāļ·āđˆāļ­āļŠāļēāļĢāļĢāļ°āļŦāļ§āđˆāļēāļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāđƒāļ™āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāđāļĨāļ°āļ­āļļāļ›āļāļĢāļ“āđŒ

āļˆāļļāļ”āđ€āļ”āđˆāļ™āļŠāļģāļ„āļąāļāļ­āļĩāļāļˆāļļāļ”āļŦāļ™āļķāđˆāļ‡āļ„āļ·āļ­āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨāļŠāļēāļĄāļēāļĢāļ–āļĢāļ­āļ‡āļĢāļąāļšāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļ•āļąāđ‰āļ‡āđāļ•āđˆāđƒāļ™āļ­āļ”āļĩāļ•āļˆāļ™āļ–āļķāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ”āļđāļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ”āđ‰āļˆāļēāļāđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩ /arch āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āđāļĒāļāđ€āļ›āđ‡āļ™āļāļĨāļļāđˆāļĄāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđ„āļ”āđ‰ 2 āđāļšāļšāļ„āļ·āļ­āđāļšāļš 32 āļšāļīāļ• āđ€āļŠāđˆāļ™ arm, avr32, blackfin, m68k, microblaze, mips, score, sparc, um, x86, powerpc āđāļĨāļ°āļāļĨāļļāđˆāļĄāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđāļšāļš 64 āļšāļīāļ• āđ€āļŠāđˆāļ™ alpha, arm64, ia64, sparc64, tile, x86_64, powerpc

āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāđ„āļ›āļ­āđˆāļēāļ™āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāđ„āļ”āđ‰āļˆāļēāļāđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩ arch/<arch>/Kconfig, arch/<arch>/README āļŦāļĢāļ·āļ­āđƒāļ™āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩ Documentation/<arch>/ āļ™āļ­āļāļˆāļēāļāļ™āļąāđ‰āļ™āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨāļĒāļąāļ‡āļ–āļđāļāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđ‚āļ„āđ‰āļ”āļ āļēāļĒāđƒāļ™ āđƒāļŦāđ‰āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđāļĨāļ°āļĄāļĩāļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļŠāļđāļ‡āļāļąāļšāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ—āļĩāđˆāļŦāļĨāļēāļāļŦāļĨāļēāļĒāļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡āđāļĨāļ°āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āļāļąāļšāļĄāļēāļ•āļĢāļēāļāļēāļ™āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļĢāļļāđˆāļ™āđƒāļŦāļĄāđˆāđ†āđāļ•āđˆāļĒāļąāļ‡āļ„āļ‡āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļˆāļēāļāļœāļđāđ‰āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļāļ—āļĩāđˆāļ”āļđāđāļĨāļ‹āļ­āļĢāđŒāļŠāđ‚āļ„āđ‰āļ”āļˆāļēāļāļ—āļąāđˆāļ§āđ‚āļĨāļāđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āđƒāļ„āļĢāđāļ­āļšāļ‹āđˆāļ­āļ™āđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāđ„āļĄāđˆāļžāļķāļ‡āļ›āļĢāļ°āļŠāļ‡āļ„āđŒāļŦāļĢāļ·āļ­āļŠāļĢāđ‰āļēāļ‡āļ„āļ§āļēāļĄāđ„āļĄāđˆāļ›āļĨāļ­āļ”āļ āļąāļĒāđƒāļŦāđ‰āļāļąāļšāļĢāļ°āļšāļšāđ‚āļ”āļĒāļĢāļ§āļĄ

āļŠāļģāļŦāļĢāļąāļšāļ™āļąāļāļžāļąāļ’āļ™āļēāļĢāļ°āļšāļšāļŠāļĄāļ­āļ‡āļāļĨāļāļąāļ‡āļ•āļąāļ§āļŠāļēāļĄāļēāļĢāļ–āļ—āļĩāđˆāļˆāļ°āđ€āļĨāļ·āļ­āļāđƒāļŠāđ‰āļŸāļąāļ‡āļāđŒāļŠāļąāđˆāļ™āļšāļēāļ‡āļ•āļąāļ§āđƒāļ™āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄāļāļąāļšāļĢāļ°āļšāļšāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļšāļ™āļšāļ­āļĢāđŒāļ”āļŠāļĄāļ­āļ‡āļāļĨāļĢāļ§āļĄāļ—āļąāđ‰āļ‡āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāđ‚āļ›āļĢāđāļāļĢāļĄāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāļšāļēāļ‡āļ•āļąāļ§āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŦāđ‰āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆāđƒāļ™āļšāļ­āļĢāđŒāļ”āļŠāļĄāļ­āļ‡āļāļĨāļāļąāļ‡āļ•āļąāļ§āđ„āļ”āđ‰

Linux Versioning

āđ‚āļ”āļĒāļ›āļāļ•āļīāļ—āļļāļ 2-3 āļ›āļĩ āļˆāļ°āļĄāļĩāļāļēāļĢāļ­āļ­āļāļĢāļļāđˆāļ™āđ€āļŠāļ–āļĩāļĒāļĢ (stable) āļ‚āļ­āļ‡āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļ„āļđāđˆ āđ€āļŠāđˆāļ™ 1.0.x, 2.0.x, 2.2.x, 2.4.x, 2.6.x, 3.0.x āđ€āļĄāļ·āđˆāļ­āļĄāļĩāļāļēāļĢāļžāļąāļ’āļ™āļēāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļŸāļąāļ‡āļāđŒāļŠāļąāđˆāļ™āđƒāļŦāļĄāđˆāđ†āđ€āļ‚āđ‰āļēāđ„āļ›āđāļĨāļ°āļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ‚āļ„āđ‰āļ”āļŠāļļāļ”āđƒāļŦāļāđˆ āļāđ‡āļˆāļ°āļ­āļ­āļāđ€āļĨāļ‚āļĢāļļāđˆāļ™āđ‚āļ”āļĒāđƒāļŠāđ‰āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļ„āļĩāđˆ āđ€āļŠāđˆāļ™ 2.1.x, 2.3.x, 2.5.x āđāļ•āđˆāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđƒāļ™āļĢāļ°āļ”āļąāļšāđ€āļĨāđ‡āļāļĨāļ‡āļĄāļē (Minor release) āļˆāļ°āđƒāļŠāđ‰āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ€āļĨāļ‚āļĢāļļāđˆāļ™āļŦāļĨāļąāļāļ—āļĩāđˆāļŠāļēāļĄ āđ€āļŠāđˆāļ™ 2.5.12, 2.6.39

āđāļŠāļ”āļ‡āļāļēāļĢāļ­āļ­āļāđ€āļĨāļ‚āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡ Linux Kernel

āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ›āļĩ āļ„.āļĻ. 2003 āļ–āļķāļ‡ āļ„.āļĻ. 2011 āļĢāļļāđˆāļ™ 2.6.x āđ€āļ›āđ‡āļ™āļĢāļļāđˆāļ™āļ—āļĩāđˆāļĄāļĩāļĢāļ°āļĒāļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļĒāļēāļ§āļ™āļēāļ™āļĄāļēāļāđ€āļ›āđ‡āļ™āļžāļīāđ€āļĻāļĐ āļ­āļēāļˆāđ€āļ™āļ·āđˆāļ­āļ‡āļĄāļēāļˆāļēāļāļŠāđˆāļ§āļ‡āļ™āļąāđ‰āļ™āđ€āļ›āđ‡āļ™āļĒāļļāļ„āļ‚āļ­āļ‡āļāļēāļĢāđ€āļ•āļīāļšāđ‚āļ•āđāļĨāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ‚āļ­āļ‡āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļĢāļ§āļĄāļ—āļąāđ‰āļ‡āļ­āļļāļ›āļāļĢāļ“āđŒāļ­āļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ āļēāļĒāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āđāļĨāļ°āļ­āļļāļ›āļāļĢāļ“āđŒāļ•āđˆāļ­āļžāđˆāļ§āļ‡āļĢāļ­āļšāļ‚āđ‰āļēāļ‡āļ­āļĒāđˆāļēāļ‡āļĢāļļāļ™āđāļĢāļ‡āđāļĨāļ°āļĒāļąāļ‡āđ€āļ›āđ‡āļ™āļāļēāļĢāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļ‚āļ­āļ‡āļĒāļļāļ„āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļŠāļ™āļīāļ”āļžāļāļžāļē āđ€āļŠāđˆāļ™ Laptop, Netbook, Mobile Internet Device, Smart Phone, Tablet

āđƒāļ™āļ—āļĩāđˆāļŠāļļāļ”āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨāļĢāļļāđˆāļ™ 3.0 āļāđ‡āđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļāļēāļĻāđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢāđƒāļ™āđ€āļ”āļ·āļ­āļ™ āļāļĢāļāļāļēāļ„āļĄ āļ›āļĩāļ„.āļĻ. 2011 āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ‚āļĒāļąāļšāļ•āļąāļ§āđ€āļĨāļ‚āļˆāļēāļ 2.6 āđ„āļ›āļŠāļđāđˆ 3.0 āļ—āļĩāđˆāļĒāļēāļ§āļ™āļēāļ™āđāļ•āđˆāļāļĨāļąāļšāđ„āļĄāđˆāđ„āļ”āđ‰āđ€āļ›āđ‡āļ™āļāļēāļĢāđāļāđ‰āđ„āļ‚āđƒāļ™āļĢāļ°āļ”āļąāļšāđ‚āļ„āđ‰āļ”āļĄāļēāļāđāļ•āđˆāļ­āļĒāđˆāļēāļ‡āđƒāļ” āļ‚āļ™āļēāļ”āļ āļēāļĒāđƒāļ™āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨ 3.x āļˆāļ°āļĄāļĩāļ‚āļ™āļēāļ”āđ‚āļ”āļĒāļĢāļ§āļĄāļ­āļĒāļđāđˆāļ›āļĢāļ°āļĄāļēāļ“ 434 MB āļ”āđ‰āļ§āļĒāļˆāļģāļ™āļ§āļ™āđ„āļŸāļĨāđŒāļ–āļķāļ‡ 39,400 āļāļ§āđˆāļēāđ„āļŸāļĨāđŒ (āļĄāļēāļāļāļ§āđˆāļē 14,800,000 āļšāļĢāļĢāļ—āļąāļ”) āļ”āļąāļ‡āļ™āļąāđ‰āļ™āļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļˆāļ°āļ—āļģāļāļēāļĢāļšāļĩāļšāļ­āļąāļ”āđƒāļŦāđ‰āļĄāļĩāļ‚āļ™āļēāļ”āđ€āļĨāđ‡āļāļ—āļĩāđˆāļŠāļļāļ”āļ„āļ§āļĢāļˆāļ°āđ€āļ›āđ‡āļ™āļ™āļēāļĄāļŠāļāļļāļĨ .xz (āļĨāļ”āļĨāļ‡āđ„āļ›āđ„āļ”āđ‰āļ›āļĢāļ°āļĄāļēāļ“ 85.7%)

āļāļĢāļ“āļĩāļāļēāļĢāļžāļąāļ’āļ™āļēāļĢāļ°āļšāļšāļŠāļĄāļ­āļ‡āļāļĨāļāļąāļ‡āļ•āļąāļ§āļ™āļąāđ‰āļ™āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨāđ€āļĨāđ‡āļāļ—āļĩāđˆāļŠāļļāļ”āļ”āđ‰āļ§āļĒāļ‚āļ™āļēāļ”āđ€āļžāļĩāļĒāļ‡ 1.3 MB āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄāļāļąāļšāļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ‚āļ­āļ‡āļ—āļĢāļąāļžāļĒāļēāļāļĢāļ āļēāļĒāđƒāļ™āļšāļ­āļĢāđŒāļ”āđ€āļĄāļ·āđˆāļ­āđ€āļ—āļĩāļĒāļšāļāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļ—āļąāđˆāļ§āđ„āļ›

āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩ āđāļĨāļ°āļ‚āļ™āļēāļ”āļžāļ·āđ‰āļ™āļ—āļĩāđˆāļ‚āļ­āļ‡āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨ 3.2

āđāļŠāļ”āļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ‚āļ­āļ‡āļĨāļĩāļ™āļļāļāļ‹āđŒāđ€āļ„āļ­āļĢāđŒāđ€āļ™āļĨ
āđāļŠāļ”āļ‡āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ‚āļ™āļēāļ”āļāļēāļĢāđƒāļŠāđ‰āļžāļ·āđ‰āļ™āļ—āļĩāđˆāļ‚āļ­āļ‡āļĨāļĩāļ™āļļāļāļ‹āđŒāđ€āļ„āļ­āļĢāđŒāđ€āļ™āļĨāļ•āļąāđ‰āļ‡āđāļ•āđˆāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 2.2 āļ–āļķāļ‡ āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 3.3

āļ•āļēāļĢāļēāļ‡āđāļŠāļ”āļ‡āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļĨāļĩāļ™āļļāļāļ‹āđŒ Kernel code

āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩ
āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”

arch/<architecture>

Architecture specific code

arch/<architecture>/include/asm

Architecture and machine dependent headers

arch/<architecture>/mach-<machine>

Machine/board specific code

block

Block layer code

COPYING

Linux copyright conditions (GNU GPL)

CREDITS

Linux main contributors

crypto/

Cryptographic libraries

Documentation/

Kernel Documentation. Don’t miss!

drivers/

All device drivers expect sound ones (usb, pci..)

fs/

Filesystems (fs/ext3/, etc.)

include/

Kernel headers

include/linux

Linux kernel core headers

init/

Linux initialization (including main.c)

ipc/

Code used for process communication

Kbuild

Part of the kernel build system

Kernel/

Linux kernel core (very small!)

lib/

Misc library routines

MAINTAINERS

Maintain of each kernel part. Very Useful!

Makefile

Top Linux Makefile (Set arch and version)

mm/

Memory Management code

net/

Network support codes (not drivers)

README

Overview and Build Instructions

REPORTING-BUGS

Bug report instruction

samples/

Sample codes (markers, kprobes, kobjects)

scripts/

Scripts for internal or external uses

security/

Security Model Implementation (SELinux...)

sound/

Sound support codes and drivers

usr/

Code to generate an initramfs cpio archive.

Last updated

Was this helpful?