𝐄𝐱𝐩π₯𝐨𝐫𝐒𝐧𝐠 𝐭𝐑𝐞 π’π²π¬π­πžπ¦ 𝐜𝐚π₯π₯𝐬

To transition from user space to kernel space, system calls are essential for executing actions on the kernel’s behalf. One example is the use of dynamic memory allocators like malloc() and realloc(), which rely on system calls such as sbrk() and brk(). Additionally, system calls like system(), clone(), wait(), and rt_sigaction() play key roles in process management.

Read More 𝐄𝐱𝐩π₯𝐨𝐫𝐒𝐧𝐠 𝐭𝐑𝐞 π’π²π¬π­πžπ¦ 𝐜𝐚π₯π₯𝐬

The Shell – Terminal

The shell, acting as a command language interpreter, serves as the interface between the user and the system. It relies on the system kernel to execute programs and finds its home within a terminal emulator, like “bash,” enabling various operations and scripting capabilities in the UNIX and Linux world.

Read More The Shell – Terminal

Few GDB Debugging Commands

This guide introduces essential GDB debugger commands: break (set breakpoint), run (start execution), next (execute next line), step (execute and stop in function), continue (resume execution), print (print variable value), backtrace (display call stack), watch (set watchpoint), info (display program info), quit (exit debugger), and more.

Read More Few GDB Debugging Commands

Peeking Into The Assembly

Assembly is tough. How does the processing of c code takes place in assembly? What are the kinds of instructions that we could see? What is actually happening in this gigantic mesh of lines? This is my small step to look into the assembly code of a small program/ replicating a small segment of code […]

Read More Peeking Into The Assembly