Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
MCA Articles
Page 71 of 94
What is Amdahl's Law?
Amdahl’s LawSuppose, Moni have to attend an invitation. Moni’s another two friend Diya and Hena are also invited. There are conditions that all three friends have to go there separately and all of them have to be present at door to get into the hall. Now Moni is coming by car, Diya by bus and Hena is coming by foot. Now, how fast Moni and Diya can reach there it doesn’t matter, they have to wait for Hena. So to speed up the overall process, we need to concentrate on the performance of Hena other than Moni or Diya.This is ...
Read MoreZombie vs Orphan vs Daemon Processes
Details about the zombie, orphan and daemon processes are given as follows −Zombie ProcessesA zombie process is a process whose execution is completed but it still has an entry in the process table. Zombie processes usually occur for child processes, as the parent process still needs to read its child’s exit status. Once this is done using the wait system call, the zombie process is eliminated from the process table. This is known as reaping the zombie process.A diagram that demonstrates the creation and termination of a zombie process is given as follows −Zombie processes don't use any system resources ...
Read MoreProcess Scheduling Fundamentals
Process Scheduling handles the selection of a process for the processor on the basis of a scheduling algorithm and also the removal of a process from the processor. It is an important part of multiprogramming in operating system.Process Scheduling AlgorithmsProcess scheduling algorithms are used to handle the selection of a process for the processor or distribute resources maong processes.Some of the process scheduling algorithms are given as follows −First Come First ServedThis algorithm handles the processes in the order they arrive in the ready queue. FCFS is the simplest scheduling algorithm. There is no preemption in FCFS and so no ...
Read MoreSingle-threaded and Multi-threaded Processes
Single threaded processes contain the execution of instructions in a single sequence. In other words, one command is processes at a time.The opposite of single threaded processes are multithreaded processes. These processes allow the execution of multiple parts of a program at the same time. These are lightweight processes available within the process.Multithreaded Processes ImplementationMultithreaded processes can be implemented as user-level threads or kernel-level threads. Details about these are provided using the following diagram −User-level ThreadsThe user-level threads are implemented by users and the kernel is not aware of the existence of these threads. It handles them as if they ...
Read MorePriority Inversion
Priority inversion is a operating system scenario in which a higher priority process is preempted by a lower priority process. This implies the inversion of the priorities of the two processes.Problems due to Priority InversionSome of the problems that occur due to priority inversion are given as follows −A system malfunction may occur if a high priority process is not provided the required resources.Priority inversion may also lead to implementation of corrective measures. These may include the resetting of the entire system.The performance of the system can be reduces due to priority inversion. This may happen because it is imperative ...
Read MoreMajor issues with Multi-threaded Programs
Multithreaded programs allow the execution of multiple parts of a program at the same time. These parts are known as threads and are lightweight processes available within the process.Threads improve the application performance using parallelism. They share information like data segment, code segment files etc. with their peer threads while they contain their own registers, stack, counter etc.Some of the issues with multithreaded programs are as follows −Let us see them one by one −Increased Complexity − Multithreaded processes are quite complicated. Coding for these can only be handled by expert programmers.Complications due to Concurrency − It is difficult to ...
Read MoreStarvation and Deadlock
Starvation and Deadlock are situations that occur when the processes that require a resource are delayed for a long time. However they are quite different concepts.Details about starvation and deadlock are given as follows −StarvationStarvation occurs if a process is indefinitely postponed. This may happen if the process requires a resource for execution that it is never alloted or if the process is never provided the processor for some reason.Some of the common causes of starvation are as follows −If a process is never provided the resources it requires for execution because of faulty resource allocation decisions, then starvation can ...
Read MoreThe Benefits of Multithreaded Programming
Multithreading allows the execution of multiple parts of a program at the same time. These parts are known as threads and are lightweight processes available within the process. So multithreading leads to maximum utilization of the CPU by multitasking.Some of the benefits of multithreaded programming are given as follows −Resource SharingAll the threads of a process share its resources such as memory, data, files etc. A single application can have different threads within the same address space using resource sharing.ResponsivenessProgram responsiveness allows a program to run even if part of it is blocked using multithreading. This can also be done ...
Read MoreCritical Section Problem
The critical section is a code segment where the shared variables can be accessed. An atomic action is required in a critical section i.e. only one process can execute in its critical section at a time. All the other processes have to wait to execute in their critical sections.A diagram that demonstrates the critical section is as follows −In the above diagram, the entry section handles the entry into the critical section. It acquires the resources needed for execution by the process. The exit section handles the exit from the critical section. It releases the resources and also informs the ...
Read MoreShared Memory Model of Process Communication
Process communication is the mechanism provided by the operating system that allows processes to communicate with each other. This communication could involve a process letting another process know that some event has occurred or transferring of data from one process to another. One of the models of process communication is the shared memory model.The shared memory in the shared memory model is the memory that can be simultaneously accessed by multiple processes. This is done so that the processes can communicate with each other. All POSIX systems, as well as Windows operating systems use shared memory.A diagram that illustrates the ...
Read More