The first example that is always depicted in understanding any coding language (or kernel programming in our case) is to write the hello world example. Let us write a simple kernel program which outputs ‘hello’ and ‘goodbye’. Below is the sample code for the driver – it has comments placed to explain what each line […]
Monolithic Linux Kernel
One would have read this statement in many books/internet sites or heard from different people – “Linux is a Monolithic Kernel”. What this means is that the entire operating system (which includes the device drivers, file system, IPC) are running in the kernel space. In a Micro-kernel architecture most of the OS services are running […]
An understanding of memory layout in C – Part 2
The interested reader can peruse the first part of this series here – <An understanding of memory layout in C – Part 1> From the previous article it was seen how the different layers of memory are aligned for a C program that runs on a system. A “C” Program is provided below which progressively […]
An understanding of memory layout in C – Part 1
This article tries to discuss the basics of memory layouts in C. When a C file is preprocessed, compiled, assembled and linked – a memory layout of the code/data/stack/heap area is generated. The C program memory layout is depicted below FIG COURTESY:https://en.wikipedia.org/wiki/File:Program_memory_layout.pdf The different sections are .text segment – code section – the C code […]