Difference between Kernel and OS

Understanding the kernel and operating system is vital for technology professionals. The kernel manages core tasks like processing and memory, while the OS provides a user interface and additional services. This document defines their roles and interactions, offering diagrams and examples to clarify their collaboration in modern computing systems.

Read More Difference between Kernel and OS

Stages of Pipelining in A CPU

This write-up discusses CPU pipelining, an essential technique to optimize processor performance by overlapping instruction execution. It includes a link to a detailed PDF resource for further reading and is authored by Yashwanth Naidu Tikkisetty, with an accompanying LinkedIn post for additional context.

Read More Stages of Pipelining in A CPU

WHAT THE FU*K

The Fast Inverse Square Root line of code, ‘i = 0x5f3759df – (i >> 1);’, revolutionized graphics processing in the 90s by efficiently calculating 1/sqrt(x) through bit manipulation and approximation. It exemplified creative programming, significantly enhancing game performance and remains a celebrated part of programming lore and hacker culture.

Read More WHAT THE FU*K

What is Context SwitchingΒ 

The article explains context switching and details the roles of the scheduler and kernel during the process. It highlights how efficient context switching is crucial for multitasking in operating systems, allowing multiple processes to share system resources seamlessly. For further insights, the article is available in PDF format.

Read More What is Context SwitchingΒ 

π‘ͺ𝒂𝒄𝒉𝒆 π‘Ύπ’“π’Šπ’•π’† π‘»π’‰π’“π’π’–π’ˆπ’‰ 𝒂𝒏𝒅 π‘ͺ𝒂𝒄𝒉𝒆 π‘Ύπ’“π’Šπ’•π’† π‘©π’‚π’„π’Œ

Modern computing relies on the efficient interaction of components, particularly involving cache memory. This article explores the Write-Through and Write-Back strategies, detailing their operations, benefits, and drawbacks. Understanding these mechanisms enhances knowledge of the performance dynamics that underpin today’s digital environments.

Read More π‘ͺ𝒂𝒄𝒉𝒆 π‘Ύπ’“π’Šπ’•π’† π‘»π’‰π’“π’π’–π’ˆπ’‰ 𝒂𝒏𝒅 π‘ͺ𝒂𝒄𝒉𝒆 π‘Ύπ’“π’Šπ’•π’† π‘©π’‚π’„π’Œ

Ellipsis and Variadic

In C, when a function is called, the arguments are typically placed onto the stack, a region of memory. The function retrieves these arguments from the stack based on the function’s known parameter list. But when the number of arguments is variable, the function needs a way to access these “extra” arguments from the stack. […]

Read More Ellipsis and Variadic

What Are Registers?

Registers are essential components in computer architecture that hold data for quick access. Yashwanth Naidu Tikkisetty explores their significance in a concise and informative manner. Read the full article for a comprehensive understanding.

Read More What Are Registers?

A Deep Dive Into Memory

Dynamic memory allocation functions like malloc(), calloc(), realloc(), and free() are crucial in programming. The improved version, dlmalloc(), is widely adopted due to its efficiency. When called, these functions trigger system calls like brk()/sbrk() and mmap() to allocate memory. Understanding these processes is essential for efficient memory management in programming.

Read More A Deep Dive Into Memory

Memory Allocators PART-II

The “Best Fit” strategy in memory allocation finds the closest match, reducing wasted memory and working well with diverse request sizes. However, it can lead to increased fragmentation over time. While efficient, it may result in many tiny, unusable spaces in memory, posing a trade-off between immediate efficiency and potential long-term fragmentation.

Read More Memory Allocators PART-II