What is progress and bounded waiting in critical section?

First, let me introduce some terminology. A critical section (CS) is a sequence of instructions that can be executed by at most one process at the same time. When using critical sections, the code can be broken down into the following sections: // Some arbitrary code (such as initialization). EnterCriticalSection(cs); // The code that constitutes …

Read more

What is the difference between Full, Para and Hardware assisted virtualization?

Paravirtualization is virtualization in which the guest operating system (the one being virtualized) is aware that it is a guest and accordingly has drivers that, instead of issuing hardware commands, simply issue commands directly to the host operating system. This also includes memory and thread management as well, which usually require unavailable privileged instructions in …

Read more

What is the difference between a stack overflow and buffer overflow?

Stack overflow refers specifically to the case when the execution stack grows beyond the memory that is reserved for it. For example, if you call a function which recursively calls itself without termination, you will cause a stack overflow as each function call creates a new stack frame and the stack will eventually consume more …

Read more