Introduction Welcome to a new operating systems post. Today, we are going to clarify some terms frequently used in concurrency and operating systems design. You have probably heard of the following terms… Processes and threads Shared memory and resources Race conditions Mutual exclusion Critical section or critical region Synchronization primitives or constructs Locks and spin
Introduction Concurrency and parallelism are often used interchangeably in computing, however they do not necessarily mean the same thing. If you Google concurrency vs parallelism, you will find different articles explain it differently. I think part of the confusion comes from the way people define these terms. In this post, I am not going to
Introduction This is a commonly asked question among students. I think part of the confusion comes from mixing terms from academia specially operating systems courses with software industry terms such as cloud computing and big data. Network operating systems and distributed operating systems are fundamentally different concepts. Let us see what the difference is. Network
Introduction Throughput, turnaround time, response time and waiting time are frequently mentioned terms in operating systems. They may look similar but they refer to different methods for evaluating CPU scheduling algorithms. When multiple processes are running, the CPU has to determine which process runs next in order to utilize resources and optimize system performance. For
Introduction Today, I am going to talk about memory mapping, a typical topic in operating systems design. I will provide a short summary of memory mapped files in an easy to follow manner. Before we start, I recommend that you get a basic idea about some relevant concepts such as multitasking and paging. Here are
Introduction This is a commonly asked question in operating systems design. In this post, I am going to provide few examples to clarify the difference between policy and mechanism in OS. Let us first explain what policy and mechanism stand for. Definition Given a particular task, policy refers to what needs to be done (i.e.
Introduction The purpose of this short post is to explain operating system’s page table vs inverted page table, mention their advantages and disadvantages in an easy to follow manner. Many students and beginners do not get the point behind these two concepts so my intention here is to clear any possible confusion rather than dive
Introduction I highly recommend that you check out the following article to get a quick idea about different terms used in operating systems with regard to concurrency, multitasking and threading. Back to our topic, In this short post, I am going to demonstrate the use of mutex in python. Let us get started. What on
Introduction Finding differences between two terms may imply that we are aware of what each individual term stands for yet the purpose of comparison is just seeking a better way of understanding. I think that is true to some extent however I also noticed that there are people who ask the “difference between x and
This is a commonly asked question that sadly confuses many computer science students. Confusion comes from the fact that the literal meaning of the two terms is very close. Also, the historical context of the two terms does not help much as different people use the terms differently. In this post I am going to