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
-
Economics & Finance
Articles by Kristi Castro
Page 2 of 8
Zombie vs Orphan vs Daemon Processes
Operating systems manage different types of processes during their lifecycle. Three important categories are zombie processes, orphan processes, and daemon processes. Each serves a different purpose and behaves uniquely in the system. Zombie Processes A zombie process is a process whose execution has completed but still has an entry in the process table. This occurs because the parent process needs to read the child's exit status before the process can be fully removed from the system. Zombie Process Lifecycle Parent Running Child Running ...
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 application performance using parallelism by sharing resources like data segment, code segment, and files with their peer threads while maintaining their own registers, stack, and program counter. However, multithreaded programming introduces several challenges that developers must carefully address to create robust and reliable applications. Major Issues with Multi-threaded Programs Multi-threading Issues Threading Issues ...
Read MoreDifferent Operations on Processes
There are many operations that can be performed on processes. Some of these are process creation, process preemption, process blocking, and process termination. These are given in detail as follows − Process Creation Processes need to be created in the system for different operations. This can be done by the following events − User request for process creation System initialization Execution of a process creation system call by a running process Batch job initialization A process may be created by another process using fork(). The creating process is called the parent process and the ...
Read MoreProcess Synchronization in Linux
Process synchronization in Linux involves coordinating multiple processes to ensure they access shared resources safely and execute in the correct order. This is crucial in multi-process environments where processes may compete for system resources or need to communicate with each other. Processes in Linux can be created using the fork() system call. The creating process is called the parent process and the newly created process is the child process. A child process can have only one parent, but a parent process may have many children. Both parent and child processes initially share the same memory image, open files, and ...
Read MoreDining Philosophers Problem (DPP)
The Dining Philosophers Problem (DPP) is a classic synchronization problem in computer science that illustrates the challenges of deadlock and resource sharing in concurrent systems. The problem states that there are 5 philosophers sharing a circular table where they eat and think alternatively. There is a bowl of rice for each philosopher and 5 chopsticks placed between them. A philosopher needs both their right and left chopstick to eat. A hungry philosopher may only eat if both chopsticks are available, otherwise they put down any chopstick they hold and begin thinking again. This problem demonstrates a large class of ...
Read MoreSymmetric Multiprocessing
Symmetric Multiprocessing (SMP) is a multiprocessor architecture where multiple processors share a common memory and operating system. All processors work together as equals to execute processes, with the operating system treating each processor identically and no processor reserved for special purposes. Most computer systems are single processor systems, but multiprocessor systems are increasing in importance nowadays. These systems have multiple processors working in parallel that share the computer clock, memory, bus, and peripheral devices. Types of Multiprocessor Systems There are mainly two types of multiprocessor systems − Symmetric Multiprocessor System − All processors are treated ...
Read MoreWhat is caching?
Cache is a small, high-speed memory that stores frequently accessed data to reduce the time needed to retrieve information from slower storage devices. The process of storing and accessing data from a cache is known as caching. Cache memory acts as an intermediary between the CPU and main memory, significantly improving system performance. How Caching Works When the CPU needs data, it first checks the cache. If the data is found (called a cache hit), it's retrieved quickly. If not found (called a cache miss), the system fetches the data from main memory and stores a copy in ...
Read MoreStorage Area Networks
Storage Area Networks (SANs) are specialized high-speed networks that provide block-level access to consolidated storage devices. Unlike traditional file-based storage access, SANs make storage devices appear as locally attached drives to servers, enabling multiple systems to share storage resources efficiently. SANs are widely adopted across organizations of all sizes due to their cost-effectiveness and scalability. They separate storage resources from individual servers, creating a dedicated storage infrastructure that can be managed centrally. Storage Area Network Architecture Host Layer Server 1 ...
Read MoreReal-Time Embedded Systems
Real-time embedded systems are specialized computing systems that combine the strict timing requirements of real-time systems with the dedicated functionality of embedded systems. These systems must respond to external events within specific time constraints while performing dedicated tasks within larger systems. A real-time system operates under strict time constraints and provides worst-case time estimates for critical operations. An embedded system provides specific functionality within a larger system. When these two concepts merge, we get a real-time embedded system that must meet both timing deadlines and perform specialized tasks reliably. Types of Real-Time Embedded Systems Real-time embedded systems ...
Read MoreAdvantages of using Loadable Kernel Modules
Loadable Kernel Modules (LKMs) are object files containing code that can extend the running kernel, also known as the base kernel. These modules allow dynamic addition of functionality such as device drivers, file systems, and system calls without modifying the core kernel code. Loadable Kernel Modules Architecture Base Kernel Core OS Functionality Process Management, Memory Module Interface File ...
Read More