Kernel Linux
Sejarah

Pada April 1991, Linus Torvalds, seorang mahasiswa berusia 21 tahun dari Universitas Helsinski, Finlandia mulai memikirkan sesuatu ide sederhana untuk suatu sistem operasi. Ia memulai dengan task switcher dalam bahasa rakitan x86 pada Intel 80386 dan sebuah driver Terminal. Pada 25 Agustus 1991, Torvalds mengepos sebuah pesan di comp.os.minix, sebuah newsgroup di Usenet:
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since April, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months [...] Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.
[...] It's mostly in C, but most people wouldn't call what I write C. It uses every conceivable feature of the 386 I could find, as it was also a project to teach me about the 386. As already mentioned, it uses a MMU, for both paging (not to disk yet) and segmentation. It's the segmentation that makes it REALLY 386 dependent (every task has a 64Mb segment for code & data - max 64 tasks in 4Gb. Anybody who needs more than 64Mb/task - tough cookies). [...] Some of my "C"-files (specifically mm.c) are almost as much assembler as C. [...] Unlike minix, I also happen to LIKE interrupts, so interrupts are handled without trying to hide the reason behind them.
Setelah itu, banyak orang berkontribusi pada proyek ini. Pada awalnya, komunitas MINIX berkontribusi kode dan ide pada kernel Linux. Pada saat itu, Proyek GNU telah membuat banyak komponen yang diperlukan untuk sebuah sistem operasi gratis, tetapi, kernel mereka, GNU Hurd, pada saat itu masih belum sempurna dan belum tersedia. Sistem operasi BSD pada waktu itu juga belum membebaskan diri dari masalah legalitas. Meskipun pada versi awal fungsinya masih sangat terbatas, pengembang dan pengguna Linux berkembang cepat.
Pada September 1991, Linux versi 0.01 telah dirilis di peladen FTP ftp.funet.fi milik Finnish University and Research Network (FUNET). Rilis pertama tersebut memiliki 10.239 baris kode. Pada Oktober 1991, Linux versi 0.02 dirilis.
Pada Desember 1991, Linux 0.11 dirilis, versi ini adalah versi pertama yang di-host oleh Linus Torvalds sendiri. Linux 0.11 dapat dikompilasi oleh komputer yang menjalankan Linux 0.11. Saat ia merilis versi 0.12 di bulan Februari 1992, Torvalds mengadopsi GNU General Public License (GPL), dan berhenti menggunakan lisensi yang ia buat sendiri, yang tidak boleh didistribusikan secara komersial.
Newsgroup dengan nama alt.os.linux juga dibuat, dan pada 19 Januari 1992, kiriman pertama pada alt.os.linux dibuat. Pada 31 Maret 1992, alt.os.linux berubah menjadi comp.os.linux.
X Window System juga segera diport ke Linux. Pada Maret 1992, Linux versi 0.95 adalah versi pertama yang bisa menjalankan X. Lompatan versi yang jauh ini (dari 0.1x ke 0.9x) karena Torvalds merasa fitur-fiturnya sudah lumayan lengkap dan ia menganggap sudah layak untuk langsung ke versi 1.0. Namun, ternyata langkah ini terlalu berlebihan, karena dari tahun 1993 sampai awal 1994, muncul 15 versi perkembangan Linux 0.99.
Pada 14 Maret 1994, Linux 1.0.0 dirilis, dengan 176.250 baris kode. Pada Maret 1995, Linux 1.2.0 dirilis (310.950 baris kode).
Versi 2 Linux, dirilis pada 9 Juni 1996, dan diikuti oleh perubahan versi besar di bawah versi kepala 2:
25 Januari 1999 - Linux 2.2.0 dirilis (1.800.847 baris kode).
18 Desember 1999 - patch IBM mainframe untuk versi 2.2.13 diterbitkan, yang memperbolehkan Linux dijalankan di mesin bisnis.
4 Januari 2001 - Linux 2.4.0 dirilis (3.377.902 baris kode).
17 Desember 2003 - Linux 2.6.0 dirilis (5.929.913 baris kode).
Mulai 2004, proses rilis diubah dan kernel baru mulai dirilis rutin setiap 2-3 bulan, dengan nomor 2.60, 2.6.1, sampai 2.6.39.
Pada 21 Juli 2011 Linus Torvalds mengumumkan rilis Linux 3.0. Lompatan versi ini bukan karena perubahan teknologi besar-besaran dibandingkan dengan Linux 2.6.39; tetapi menandakan ulang tahun ke-20 kernel Linux. Proses waktu rilis tetap sama.
Per tahun 2012, Linux 3.2 telah memiliki 14.998.651 baris kode.