seen from Kazakhstan
seen from China
seen from China

seen from United Kingdom
seen from United Kingdom
seen from United States
seen from United Kingdom
seen from United Kingdom
seen from China
seen from Hong Kong SAR China
seen from United Kingdom
seen from Türkiye
seen from China
seen from China

seen from Kazakhstan

seen from Malaysia
seen from China
seen from China
seen from Italy
seen from China
Introduction
Ever wanted to get into CS, and then realised... "SHIT I MIGHT BE HOMELESS... AI... FUCK... UHHH... TOO MANY PEOPLE FUCK NOOOO!!!" well... you aren't alone! same actually... which is why i made this page! to vent out my frustrations with Hobbyist AND career CS.
MORE ABOUT ME!
Well, I'm still deciding my Major, but unfortunely CS is seeming less like a choice everyday... so let's have a toast to not getting into CS! I was thinking about... electrical engineering... lets see how that goes. FOLLOW FOR MORE PROGRAMMING AND CS SHIT!
Kernel (GeeksForGeeks)
A kernel is the core part of an operating system. It acts as a bridge between software applications and the hardware of a computer.
The kernel manages system resources, such as the CPU, memory and devices, ensuring everything works together smoothly and efficiently.
It handles tasks like running programs, accessing files and connecting to devices like printers and keyboards.
An Operating System includes the kernel as its core, but also provides a user interface, file system management, network services and various utility applications that allow users to interact with the system
Facilitates communication between hardware and user applications.
Ensures efficient and secure multitasking.
Manages system stability and prevents unauthorized resource access.
Types of Kernel
The following are different types of kernels.
Monolithic kernel: all OS services run in kernel space → fast, but less fault-isolation. Examples are Unix, Linux, Open VMS, XTS-400 etc.
Microkernel: minimal kernel functionality; most services moved to user space → better reliability, but more overhead. Examples are Minix 3 and Mach (true microkernel versions like Mach 3.0),
Hybrid kernel: mixes monolithic + microkernel ideas; some services in kernel for speed, others isolated for safety. Examples are Windows NT family (Windows 2000, XP, Vista, 7, 8, 10 etc.), macOS / XNU, ReactOS and Haiku OS
Nanokernel: extremely minimal kernel, providing only basic hardware abstraction; everything else outside. Examples are Nemesis and MIT Exokernel projects like XOK, Aegis
Exokernel: separates protection vs. management; gives apps direct control over hardware abstractions so apps decide what abstractions to build.
Functions of Kernel
The kernel is responsible for various critical functions that ensure the smooth operation of the computer system. These functions include:
Process Management : Scheduling and execution of processes.
Memory Management : Allocation and deallocation of memory space, managing virtual memory, handling memory protection and sharing.
Device Management : Managing input/output devices, providing a unified interface for hardware devices and handling device driver communication.
File System Management : Managing file operations and providing a file system interface to applications.
Resource Management : Managing system resources (CPU time, disk space, network bandwidth). Mainly allocating and deallocating resources as needed.
Security and Access Control : Enforcing access control policies like user permissions and authentication.
Inter-Process Communication : Facilitating communication between processes by providing mechanisms like message passing and shared memory.
Working of Kernel
The kernel is the first part of the OS loaded into memory during boot, and it stays resident while the system is running.
It operates in a privileged mode (kernel mode), separate from user mode for applications; user apps can’t directly access hardware or critical resources.
Applications make requests to the kernel via system calls (or software interrupts). The kernel handles these by switching from user mode to kernel mode.
Kernel executes the requested operation (e.g. file I/O, process creation, memory allocation).
On completion, kernel returns result (or error) to user space.
Kernel does context switching as needed (scheduler picks next process/thread) to allow multitasking.
Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning comput
A roadmap to teach myself compiler dev, malware reverse engineering, exploitation and kernel dev fundamentals - ujjwal-kr/system-programming
System Programming Roadmap - GitHub link
Bibliography: p. 441-450
Systems programming : Donovan, John J
It took two and a half years after I graduated, but I am now getting paid to actually write program code.
Don’t graduate during the middle of pandemics. Definitely do not recommend.
Looking for pair programming partner? Here are some tips to look for in your systems programming partner. Systems programming also lies at the heart of high-performing applications
It won’t be off the mark to say that systems programming is the backbone of good application development.
Artificial Intelligence, or AI as we popularly know it, has stepped out of the science fiction movies and has become a part of our everyday lives.