Since around 2003, growth in CPU clock speeds has stagnated. The speeds have remained roughly between 3GHz and 4GHz over the past 17 years. In decades leading up to 2003, however, the CPU clock spe…| Binary Debt
System call table is an array of function pointers. It is defined in kernel space as variable sys_call_table and it contains pointers to functions which implement system calls. Index of each functi…| Binary Debt
Kernel symbols are names of functions and variables. Global symbols are those which are available outside the file they are declared in. Global symbols in the Linux kernel currently running on a sy…| Binary Debt
In higher level languages like Java and C#, one can recover from unexpected bahaviour using try/catch like language constructs. Things are different inside Linux kernel. The code is considered trus…| Binary Debt
VT-x is name of CPU virtualisation technology by Intel. KVM is component of Linux kernel which makes use of VT-x. And QEMU is a user-space application which allows users to create virtual machines.…| Binary Debt
Typically, sockets are classified along two orthogonal dimensions: domain and type. This is reflected in the system call used to create a socket int socket(int domain, int type, int protocol) In ty…| Binary Debt
Our last post left the story of paging in Linux on x86 incomplete. Today we will cover that. This is a vast topic whose tentacles go far and wide into almost all aspects of the kernel. So we will c…| Binary Debt
In our last post we covered how x86 logical address is translated into linear address. In this one we will look at translation from linear to physical. We will use the terms ‘virtual address&…| Binary Debt
Background: Address space segmentation basically means dividing all possible virtual addresses into groups – segments – and applying some properties on those segments, e.g. privilege le…| Binary Debt
When we switch on a computer, it goes through a series of steps before it is able to load the operating system. In this post we will see how a typical x86 processor boots. This is a very complex an…| Binary Debt