The Linux kernel is essentially a resource manager that mediates access to the resources available on a system. The kernel is responsible for enabling multiple applications to effectively share the hardware by controlling access to the processor, memory, disk, networking and other resources.
The Linux kernel is divided into various subsystems that control various components of the system. All of these are tightly integrated. Each of these subsystems has a defined function.
The Linux source tree also mirrors the kernel structure and these various subsystems are structured in their own subdirectory inside the kernel’s source code. The subsystems interact with each other using function calls and shared data structures, such as task lists, memory maps and i-nodes etc.
When you drill down inside a subsystem, each is composed of several modules. A module is a piece of code that is designed to be linked to the kernel at runtime.
This structure of the kernel is responsible for two major contributing factors to the popularity of Linux. It allows for a large number of independent developers to collaborate and contribute to its development while also making provisions for extensibility. Each driver is implemented as a separate module. This allows an individual developer to write device drivers without interfering with the work of other developers
The Linux Kernel Timeline
25 August 1991
Linus announces his hobby project on comp.os.minix
Linus Torvalds, a 21-year-old student at the University of Helsinki, Finland, starts toying with the idea of creating his own clone of the Minix OS. He originally intended to call his kernel Freax. However, when he uploaded the first version of the kernel, the maintainer of the FTP server, Ari Lemmke, renamed the directory that housed the source to Linux.
17 September 1991
v0.01 posted on ftp.funet.fi
This release includes Bash v1.08 and GCC v1.40. At this time, the source-only OS is free of any Minix code and has a multi-threaded file system. Torvalds also famously mentions that Linux currently isn’t portable and “It probably never will support anything other than AT-hard disks, as that’s all I have.”
5 October 1991
The second release includes some bug fixes and a few additional programs. Torvalds successfully ran Bash, GCC, gnu-make, gnu-sed and compress etc under it. In addition to the source he also offers binaries of his OS.
Torvalds was mainly using Linux to read email and news from the university’s computer via a terminal emulator he’d written. One day he accidentally dialed his hard disk (/dev/hda1) instead of the modem (/dev/tty1) and overwrote some of the critical parts of the Minix partition. Since he couldn’t boot into Minix, he decided to write the programs to compile Linux under itself.
19 December 1991
Linux adoption got a serious bump up. Until then, Torvalds had received only small one-line bug fixes. But now, people were sending him new features. He doubled the RAM on
his machine to 8MB and bought a floating-point coprocessor, because people had been asking if Linux would support it.
If you have any questions or suggestions then please drop them in the comments.
If you want to read more then click on the Links below
What is Kali Linux?