operating system

Quorum Consensus

The Problem According to the CAP theorem, you can not achieve consistency, availability, and partition tolerance all at once. However, achieving strong consistency is desirable in many systems, but this strong consistency has a price that should be p…

Read article
operating system

Deadlock prevention & necessary conditions to occur

Deadlock is a state when a set of threads is waiting for an event that can only be raised by a thread(s) from the same set. There are many situations that developers think that it's a deadlock, and it is not. Sometimes it's a livelock or it's just …

Read article
operating system

Mesa VS Hoare semantics

Introduction While designing multithreaded programs, we need to keep sure that our shared objects are synchronized between all of the running threads. Monitors are used to ensuring this synchronization. A monitor provides the programmer with the abil…

Read article
multithreading

Thread Implementation & Modeling

Threads Implementation Kernel Threads Kernel threads are the simplest type of threads. They are implemented in the operating system kernel itself. It's used to execute the kernel code concurrently. Single-threaded processes with multiple kernel th…

Read article
multithreading

Thread Abstraction

Introduction Our real-world run concurrently, which means that there are many things that happen at the same time. For example, you are reading this blog post while your friend is driving, or maybe he is just sleeping! The fact that you are doing som…

Read article