System libraries are special functions or programs using which application programs or system utilities accesses Kernel's features.
These libraries implement most of the functionalities of the operating system and do not requires kernel module's code access rights
The drivers/modules that are stored under here are the loadable kernel modules.
When modprobe inserts a module into the running kernel, modprobe is inserting modules that are under this directory.
The filesystem drivers are also under this directory. For instance, the FAT filesystem driver is /lib/modules/5.15.4-arch-1/kernel/fs/fat/msdos.o.
System libraries are special functions or programs using which application programs or system utilities accesses Kernel's features.
These libraries implement most of the functionalities of the operating system and do not requires kernel module's code access rights
Getpid() always be successful and no return value is reserved to indicate an error.
Alarm() It arranges for a signal to be delivered to the calling process.
Sleep() Meanwhile, during this interval, another process is given chance to execute. (USEFUL FOR SCHEDULING ALGORITHMS)
The pipe() system function is used to open file descriptors.
Shmget() This system call is used to access the shared memory and access the messages in order to communicate with the process.
The mmap() system call is responsible for mapping the content of the file to the virtual memory space of the process.
Fork() It is one of the most widely used system calls under process management.
Exit() The operating system reclaims resources that were used by the process after the exit() system call.
Exec() Any process may call exec() at any time. The currently running program is immediately terminated, and the new program starts executing in the context of the existing process.
BIOS Stage
Boot Loader Stage
Kernel Stage
When the machine is powered on BIOS is the first one to be called to verify if the hardware is present in the machine and if it is functioning.
After a successful test, BIOS checks the MBR (Master Boot Record) in the hard disk to check if it refers to the location of the boot loader.
The boot loader will present the user with a list of menu entries, each of which corresponds to different operating system
The boot loader will then start to boot the operating system
When you select the the option to start Linux, it decompresses the Linux kernel in memory
After that Linux kernel (which you selected to boot from) loads initrd (Initial ramdisk)
The initrd is used by the Linux kernel as a temporary filesystem in the memory
It contains tools and kernel modules which will continue the boot process including mounting a virtual root file system temporarily.
Instead of using initrd, some Linux filesystem will also use initramfs.
It serves the same purpose of initrd, it is just that it is a successor of initrd
linuxrc is an executable file that is next spawn, it probes the mass storage hardware and finds a suitable kernel module to drive the mass storage hardware
This is required to prepare the real root filesystem to be mounted by the Linux kernel
In the kernel stage of the Linux boot sequence, the Linux kernel based on the result of linuxrc can then mount the real root file system
The real root file system in Linux is referenced as "/" and it is where all other sub directory and files visible when Linux is running exist
The kernel will then spawn the init process, this process always has the process identifier (PID) as "1" because it is the first background process or daemon started by the kernel upon boot
All other background daemons are spawned from the init process
So the init process will load other system daemons depending upon the configuration of different runlevel
The Framebuffer Console — The Linux Kernel documentation https://www.kernel.org/doc/html/latest/fb/fbcon.html
What are the features of fbcon? The framebuffer console supports high resolutions,
varying font types,
display rotation, p
rimitive multihead, etc.
Theoretically, multi-colored fonts,
blending,
aliasing, and any feature made available by the underlying graphics card are also possible.
For example :
Memory type range registers ( MTRRs) are a set of processor supplementary capability control registers that provide system software with control of how they have access to memory ranges by the CPU are cached.
The “DESKTOP BUS” (dbus) -> Out of Memory (OOM) killer is called by kernel to free some memory