ArticleslgStudy

computer science

Linux kernel

Linux kernel is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Linux kernel rather than just read about it. In short: The Linux kernel is a free and open-source Unix-like kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the kernel for the GNU operating system (OS), which was created to be a free replacement for Unix.

Linux kernel — main illustration
Linux kernel — illustration

Key takeaways

  • Linux kernel belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Linux kernel to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Linux kernel from memory before moving on to harder problems.

Reference excerpt

The Linux kernel is a free and open-source Unix-like kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the kernel for the GNU operating system (OS), which was created to be a free replacement for Unix. Since the late 1990s, it has been included in many operating system distributions, many of which are called Linux. One such Linux kernel operating system is Android, which is used in many mobile and embedded devices. Most of the kernel code is written in C as supported by the GNU Compiler Collection (GCC), which has extensions beyond standard C. The code also contains assembly code for architecture-specific logic such as optimizing memory use and task execution. The kernel has a modular design such that modules can be integrated as software components – including dynamically loaded. The kernel is monolithic in an architectural sense since the entire OS kernel runs in kernel space. Linux is provided under the GNU General Public License version 2, although it contains files under other compatible licenses.

History

In 1991, Linus Torvalds was a computer science student enrolled at the University of Helsinki. During his time there, he began to develop an operating system as a side-project inspired by UNIX, for a personal computer. He started with a task switcher in Intel 80386 assembly language and a terminal driver. On 25 August 1991, Torvalds posted the following to comp.os.minix, a newsgroup on 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 protable [sic] (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. On 17 September 1991, Torvalds prepared version 0.01 of Linux and put on the "ftp.funet.fi" – FTP server of the Finnish University and Research Network (FUNET). It was not even executable since its code still needed Minix to compile and test it. On 5 October 1991, Torvalds announced the first "official" version of Linux, version 0.02.

[As] I mentioned a month ago, I'm working on a free version of a Minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02...but I've successfully run bash, gcc, gnu-make, gnu-sed, compress, etc. under it. At the time, the GNU Project had completed many components for its free UNIX replacement, GNU, but its kernel, the GNU Hurd, was incomplete. The project adopted the Linux kernel for its OS. Torvalds labeled the kernel with major version 0 to indicate that it was not yet intended for general use. Version 0.11, released in December 1991, was the first version to be self-hosted; compiled on a computer running the Linux kernel. When Torvalds released version 0.12 in January 1992, he adopted the GNU General Public License version 2 (GPLv2) over his previous self-drafted license, which had not permitted commercial redistribution. GPL took effect as of 1 February 1992. In contrast to Unix, all Linux source files are freely available, including device drivers. The initial success of Linux was driven by programmers and testers across the world. Because Linux implemented Unix-like system call semantics and exposed the standard POSIX APIs through an implementation of the C standard library, Linux could run software and applications that had been originally developed for Unix.

… excerpt ends here. Continue reading the full article.

Illustrations

Linux kernel illustration
Linux kernel illustration
Linux kernel: Linus Torvalds at the LinuxCon Europe 2014
Linus Torvalds at the LinuxCon Europe 2014
Linux kernel: The Linux kernel supports various hardware architectures, providing a common platform for software, including proprietary software.
The Linux kernel supports various hardware architectures, providing a common platform for software, including proprietary software.
Linux kernel: Redevelopment costs of Linux kernel
Redevelopment costs of Linux kernel

Worked examples

Example 1 — a first encounter with Linux kernel

Start with the simplest possible case. Write down what Linux kernel claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Linux kernel before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Linux kernel ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Linux kernel

In research
Linux kernel appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Linux kernel in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Linux kernel is common in secondary-school and first-year university syllabi. It links to neighbouring topics Finnish inventions, Free software programmed in C, Free system software, so understanding it makes those chapters shorter.
In everyday life
Look for Linux kernel outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Linux kernel” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Linux kernel in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Linux kernel means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Linux kernel out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Linux kernel in simple terms?

The Linux kernel is a free and open-source Unix-like kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the kernel for the GNU operating system (OS), which was created to be a free replacement for Unix.

Why does Linux kernel matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Linux kernel?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Linux kernel.

Tags

  • Finnish inventions
  • Free software programmed in C
  • Free system software
  • Linus Torvalds
  • Linux kernel
  • Monolithic kernels
  • Operating systems
  • Software using the GNU General Public License
  • Unix variants

Keep exploring