37 Facts About Linux kernel


Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel.

FactSnippet No. 430,242

Linux kernel is provided under the GNU General Public License version 2 only, but it contains files under other compatible licenses.

FactSnippet No. 430,243

Linux kernel is deployed on a wide variety of computing systems, such as embedded devices, mobile devices, personal computers, servers, mainframes, and supercomputers.

FactSnippet No. 430,244

Linux kernel started with a task switcher in Intel 80386 assembly language and a terminal driver.

FactSnippet No. 430,245

At this point, Linux kernel was able to run Bash, GCC, and some other GNU utilities:.

FactSnippet No. 430,246

Torvalds assigned version 0 to the Linux kernel to indicate that it was mainly for testing and not intended for productive use.

FactSnippet No. 430,247

The initial success of Linux kernel was driven by programmers and testers across the world.

FactSnippet No. 430,248

The fact that Linux is a monolithic kernel rather than a microkernel was the topic of a debate between Andrew S Tanenbaum, the creator of MINIX, and Torvalds.

FactSnippet No. 430,249

Linux kernel used to be maintained without the help of an automated source code management system until, in 2002, development switched to BitKeeper.

FactSnippet No. 430,250

Linux kernel typically makes use of memory protection and virtual memory and can handle non-uniform memory access, however the project has absorbed µClinux which makes it possible to run Linux kernel on microcontrollers without virtual memory.

FactSnippet No. 430,251

Linux kernel is a clone of UNIX, and aims toward POSIX and Single UNIX Specification compliance.

FactSnippet No. 430,252

The kernel provides system calls and other interfaces that are Linux-specific.

FactSnippet No. 430,253

Therefore, they must always be recompiled whenever a new Linux kernel executable is installed in a system, otherwise they will not be loaded.

FactSnippet No. 430,254

In-tree drivers that are configured to become an integral part of the kernel executable are statically linked by the building process.

FactSnippet No. 430,255

In-Linux kernel APIs include libraries of low-level common services used by device drivers:.

FactSnippet No. 430,256

Modules compiled for a specific version of the Linux kernel cannot be loaded into another version without being recompiled, assuming that the in-Linux kernel API has remained the same at the source level; otherwise, the module code must be modified accordingly.

FactSnippet No. 430,257

Linux kernel creates processes by means of the or by the newer system calls.

FactSnippet No. 430,258

Linux kernel scheduler is modular, in the sense that it enables different scheduling classes and policies.

FactSnippet No. 430,259

Normal tasks, by default, the Linux kernel uses the Completely Fair Scheduler class, introduced in the 2.

FactSnippet No. 430,260

PREEMPT_RT code included in mainline Linux kernel provide RT-mutexes, a special kind of Mutex which do not disable preemption and have support for priority inheritance.

FactSnippet No. 430,261

The first part is made up of an asynchronous interrupt service routine that in Linux kernel is known as the top half, while the second part is carried out by one of three types of the so-called bottom halves.

FactSnippet No. 430,262

The modifications to the kernel were so fundamental that Torvalds viewed the Motorola version as a fork and a "Linux-like operating system".

FactSnippet No. 430,263

Linux kernel has been ported to various handheld devices such as Apple's iPhone 3G and iPod.

FactSnippet No. 430,264

Rebootless updates can even be applied to the Linux kernel by using live patching technologies such as Ksplice, kpatch and kGraft.

FactSnippet No. 430,265

Linux kernel is written in a special C programming language supported by GCC, a compiler that extends in many ways the C standard, for example using inline sections of code written in the assembly language of the target architecture.

FactSnippet No. 430,266

Google moved its production Linux kernel used throughout its datacenters to being built with Clang in 2020.

FactSnippet No. 430,267

Each Linux kernel subsystem is assigned a maintainer who is responsible for reviewing patches against the Linux kernel code standards and keeps a queue of patches that can be submitted to Linus Torvalds within a merge window of several weeks.

FactSnippet No. 430,268

Patches are merged by Torvalds into the source code of the prior stable Linux kernel release, creating the -rc release candidate for the next stable kernel.

FactSnippet No. 430,269

The -rc development release of the kernel goes through regression tests and once it is judged to be stable by Torvalds and the kernel subsystem maintainers a new Linux kernel is released and the development process starts all over again.

FactSnippet No. 430,270

In 2014, Sharp backed out of Linux kernel development, saying that "The focus on technical excellence, in combination with overloaded maintainers, and people with different cultural and social norms, means that Linux kernel maintainers are often blunt, rude, or brutal to get their job done".

FactSnippet No. 430,271

Torvalds contended that there would never be consistency in the handling of patches because different Linux kernel subsystems have, over time, adopted different development processes.

FactSnippet No. 430,272

Mainline Linux kernel has only solid support for a small subset of the many devices that run Linux kernel.

FactSnippet No. 430,273

Some operating systems developed for mobile phones initially used heavily modified versions of Linux kernel, including Google Android, Firefox OS, HP webOS, Nokia Maemo and Jolla Sailfish OS.

FactSnippet No. 430,274

In 2010, the Linux community criticised Google for effectively starting its own kernel tree:.

FactSnippet No. 430,275

Prominent Linux kernel developers have been aware of the importance of avoiding conflicts between developers.

FactSnippet No. 430,276

In September 2006, a survey of 29 key Linux kernel programmers indicated that 28 preferred GPLv2 to the then-current GPLv3 draft.

FactSnippet No. 430,277

Linux kernel is a registered trademark of Linus Torvalds in the United States, the European Union, and some other countries.

FactSnippet No. 430,278