OS - Kernel

Card Puncher Data Processing


In computing, the Kernel 1) is the central component of most computer operating systems; it is a bridge between:

  • the applications
  • and the actual data processing done at the hardware level.

The kernel in the application stack.

Application Kernel Assembler Firmware Hardware


The main task of a kernel is to allow the execution of applications and support them with features such as hardware abstractions.

To run an application, a kernel typically:

  • loads the file containing the application's code into memory (perhaps via demand paging),
  • sets up a stack for the program and branches to a given location inside the program, thus starting its execution.

Kernel Resources Management

Kernel Architecture

The kernel's primary purpose is to manage the computer's resources and allow other programs to run and use these resources. Typically, the resources consist of:

This is the most central part of a computer system, responsible for running or executing programs on it. The kernel takes responsibility for deciding at any time which of the many running programs should be allocated to the processor or processors (each of which can usually run only one program at a time)

Memory is used to store both program instructions and data. Typically, both need to be present in memory in order for a program to execute. Often multiple programs will want access to memory, frequently demanding more memory than the computer has available. The kernel is responsible for deciding which memory each process can use, and determining what to do when not enough is available.

  • Any Input/Output (I/O) devices present in the computer, such as keyboard, mouse, disk drives, printers, displays, etc. - Device management

The kernel allocates requests from applications to perform I/O to an appropriate device (or subsection of a device, in the case of files on a disk or windows on a display) and provides convenient methods for using the device (typically abstracted to the point where the application does not need to know implementation details of the device).

Io Request Lifecycle Windows

Discover More
Process Explorer Handle Open File Search
File System - File Descriptor or Handle (Open File)

A file descriptor (Unix, Linux) or a file handle (Windows) is the connection id (generally to a file) from the Operating system in order to perform IO operations (Input/Ouput of Bytes). For Wikipedia,...

Cheatsheet on the usage of Firewalld
Card Puncher Data Processing
Language - Assembly (asm)

Assembly language is a low-level programming language. It's a the second generation of language just above machine language. This language is a much more readable language than machine language because...
Application Kernel Assembler Firmware Hardware
Linux - Distribution (Or Operating System)

Linux is an open source software and anyone can take it and create this own Linux (of distribution of Operating system). It's why you can find a lot of distribution on the market : Red Hat Oracle...
Linux - Directory /proc/sys/kernel/

This directory contains configuration files that directly affect the operation of the Kernel acct — Controls the suspension of process accounting based on the percentage of free space available...
Linux - Disk (storage devices)

in Linux. It contains partitions that contains file system that are mounted to be made available to the OS. A disk name is the following syntax without the Partition number but to understand the...
Linux - How to determine the version of the kernel ?

This article regroups all the way that you have to determine the version of the kernel from a Linux software. Information the kernel can be found with uname command. To determine the kernel version,...
Linux - Kernel parameters (configuration files)

Kernel parameters are the configuration of the Linux kernel (ie linux). sysctl is the command line tool that manage the kernel parameters. See If you want to change the kernel parameter values,...
Linux - Resource Manager - Processes limitations (/etc/security/limits.conf)

Limiting user processes is important for running a stable system. To limit user process resource, you have just to set shell limit by adding: a user name or group name or all users to /etc/security/limits.conf...
Linux - sysfs file system

sysfs is a new filesystem to the 2.6 kernels. It is managed by the kernel, and exports basic information the devices currently plugged into your system. udev can use this information to create device...

Share this page:
Follow us:
Task Runner