Computer Science Articles

Page 5 of 53

Cooperating Process

Ricky Barnes
Ricky Barnes
Updated on 17-Mar-2026 11K+ Views

Cooperating processes are those that can affect or are affected by other processes running on the system. These processes may share data with each other and work together to accomplish common goals, making them essential for modern multiprogramming systems. Reasons for Needing Cooperating Processes There are several compelling reasons why cooperating processes are necessary in modern operating systems: Modularity − Complex tasks are divided into smaller, manageable subtasks. Each subtask can be handled by different cooperating processes, leading to faster and more efficient completion of the overall task. Information Sharing − Multiple processes often need access ...

Read More

Major issues with Multi-threaded Programs

Kristi Castro
Kristi Castro
Updated on 17-Mar-2026 8K+ Views

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 More

Process Synchronization in Linux

Kristi Castro
Kristi Castro
Updated on 17-Mar-2026 5K+ Views

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 More

Semaphore Introduction

Shubhi Rastogi
Shubhi Rastogi
Updated on 17-Mar-2026 1K+ Views

A semaphore is a synchronization primitive used in operating systems to control access to shared resources by multiple processes or threads. It consists of an integer variable and a queue of waiting processes, providing a mechanism to solve critical section problems and prevent race conditions in concurrent systems. Semaphores use two atomic operations: wait() (also called P() or down()) and signal() (also called V() or up()) to manage access to shared resources. The integer value represents the number of available resources, while the queue holds processes waiting for access. How Semaphores Work A semaphore S is initialized ...

Read More

Difference between User-CPU-Time and System-CPU-Time in UNIX

Pradeep Kumar
Pradeep Kumar
Updated on 17-Mar-2026 757 Views

In UNIX-based operating systems, such as Linux, there are two types of CPU time that are commonly measured: user CPU time and system CPU time. These metrics provide insights into how the CPU resources are being utilized by different components of a system or process. Understanding the difference between user CPU time and system CPU time is essential for performance analysis and troubleshooting. CPU Time in UNIX Systems User Mode Application Code Library Functions User Calculations ...

Read More

Difference between Turn Around Time (TAT) and Waiting Time (WT) in CPU Scheduling

Pradeep Kumar
Pradeep Kumar
Updated on 17-Mar-2026 2K+ Views

CPU scheduling is a crucial aspect of operating systems that determines the order in which processes are executed on the central processing unit (CPU). Two important metrics used to evaluate the efficiency of CPU scheduling algorithms are Turn Around Time (TAT) and Waiting Time (WT). Understanding the difference between these two metrics provides insights into the performance and responsiveness of a CPU scheduling algorithm. What is Turn Around Time (TAT)? Turn Around Time (TAT) is the total time taken for a process to complete its execution from the moment it enters the system until it finishes. It includes ...

Read More

Difference Between Sporadic and Aperiodic Real-time Tasks

Pradeep Kumar
Pradeep Kumar
Updated on 17-Mar-2026 2K+ Views

Real-time systems are critical in aerospace, automotive, medical, and industrial applications where tasks must meet strict timing requirements. Real-time tasks are classified based on their arrival patterns and timing characteristics. Two important types are sporadic tasks and aperiodic tasks, which both involve irregular arrival times but differ in predictability and scheduling requirements. Sporadic Real-time Tasks Sporadic real-time tasks occur at irregular intervals but have a minimum inter-arrival time — a guaranteed minimum time between consecutive task instances. They are triggered by external events and have specific deadlines that must be met. Sporadic Task ...

Read More

Semaphores in Operating System

David Meador
David Meador
Updated on 17-Mar-2026 222K+ Views

Semaphores are integer variables used to solve the critical section problem through two atomic operations: wait and signal. They provide a synchronization mechanism that allows processes to coordinate access to shared resources safely. How Semaphores Work Semaphores use two fundamental operations that must be executed atomically (without interruption): Wait Operation The wait operation decrements the value of its argument S if it is positive. If S is zero or negative, the process blocks until the semaphore becomes positive. wait(S) { while (S

Read More

Distributed Systems

David Meador
David Meador
Updated on 17-Mar-2026 42K+ Views

A distributed system contains multiple nodes that are physically separate but linked together using the network. All the nodes in this system communicate with each other and handle processes in tandem. Each of these nodes contains a small part of the distributed operating system software. Distributed System Architecture Network Node 1 OS Part A Node 2 OS Part ...

Read More

Readers-Writers Problem

Ricky Barnes
Ricky Barnes
Updated on 17-Mar-2026 64K+ Views

The readers-writers problem relates to an object such as a file that is shared between multiple processes. Some of these processes are readers i.e. they only want to read the data from the object and some of the processes are writers i.e. they want to write into the object. The readers-writers problem is used to manage synchronization so that there are no problems with the object data. For example − If two readers access the object at the same time there is no problem. However if two writers or a reader and writer access the object at the same ...

Read More
Showing 41–50 of 521 articles
« Prev 1 3 4 5 6 7 53 Next »
Advertisements