MCA Articles

Page 10 of 95

What is PID manager in Linux?

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 1K+ Views

In Linux, when an executable stored on disk is called a program, and a program loaded into memory and running is called a process. A process is given a unique number called process ID (PID) that identifies that process to the system when it is started. If we ever need to kill a process, for example, we can refer to it by its PID. As each PID is unique, there is no ambiguity or risk of accidentally killing the wrong process (unless you enter the wrong PID). The PID manager is a kernel subsystem responsible for allocating, managing, and ...

Read More

Microsoft Interface Definition Language

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 456 Views

Microsoft Interface Definition Language (MIDL) is a language used to define interfaces between client and server programs in distributed computing environments. MIDL enables developers to create standardized interface definitions that facilitate communication between different software components, whether they are running on the same machine or across a network. Definition The MIDL compiler is included with the Microsoft Platform Software Development Kit (SDK) and allows developers to create Interface Definition Language (IDL) files and Application Configuration Files (ACF) required for: Remote Procedure Call (RPC) interfaces for distributed computing COM/DCOM interfaces for component-based programming Type libraries for OLE ...

Read More

What is the difference between context switching and interrupt handling?

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 2K+ Views

Context switching and interrupt handling are two fundamental mechanisms in operating systems that manage how the CPU processes tasks. While both involve changing the CPU's execution state, they serve different purposes and operate at different levels of the system. Context Switching Context switching is the process of storing the complete state of a currently running process or thread and loading the state of another process to resume its execution. This mechanism enables multitasking by allowing a single CPU to be shared among multiple processes. During a context switch, the operating system saves the current process's state including ...

Read More

Advanced local procedure call (ALPC)

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 2K+ Views

Advanced Local Procedure Call (ALPC) is a high-performance message-passing mechanism in Windows that enables efficient inter-process communication (IPC) between client and server processes. ALPC replaced the older Local Procedure Call (LPC) mechanism and provides optimized communication channels with multiple message-passing techniques based on data size requirements. How ALPC Works The ALPC mechanism follows a client-server communication model. The server process publishes a globally visible connection-port object that clients can access to request services. When a client needs services from a subsystem, it opens a handle to the server's connection-port and sends a connection request. ...

Read More

Actions taken by a kernel to context-switch between kernel-level threads.

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 3K+ Views

Context Switching involves storing the context or state of a process or thread so that it can be reloaded when required and execution can be resumed from the same point as earlier. This is a feature of a multitasking operating system and allows a single CPU to be shared by multiple processes and threads. When the kernel needs to switch between kernel-level threads, it performs a series of specific actions to ensure proper state preservation and restoration. Unlike user-level thread switching, kernel-level thread context switching requires direct kernel intervention and system-level operations. Actions Taken by Kernel for Context ...

Read More

Programming challenges in multicore systems

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 2K+ Views

The trend towards multicore systems continues to place pressure on system designers and application programmers to make better use of multiple computing cores. Designers of operating systems must write programming algorithms that utilize multiple processor cores to enable parallel execution as shown below − Parallel Execution on a Multicore System CPU Package Core 1 Task A Task B ...

Read More

Multithreaded using the Pthreads API

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 2K+ Views

Pthreads refers to the POSIX standard (IEEE 1003.1c) that defines an API for thread creation and synchronization. This is a specification for thread behavior, not a specific implementation, allowing operating system designers to implement it according to their requirements. The Pthreads API provides a standardized way to create multithreaded programs in C, enabling concurrent execution of multiple threads within a single process. Each thread shares the same memory space but can execute different parts of the program simultaneously. How Pthreads Work In a Pthreads program, separate threads begin execution in specified functions. The main thread starts in ...

Read More

What is Thread cancellation?

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 6K+ Views

Terminating a thread before it has completed is called thread cancellation. For example, if multiple threads are concurrently searching through a database and one thread returns the result, the remaining threads might be canceled. Another situation occurs when a user presses a stop button on a web browser to halt page loading. Often, a web page loads using several threads — each image is loaded in a separate thread. When the stop button is pressed, all threads loading the page are canceled. A thread that is to be canceled is often referred to as the target thread. Cancellation of ...

Read More

Thread-local storage (TLS)

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 1K+ Views

Thread-local storage (TLS) is a mechanism that allows each thread to maintain its own separate copy of certain data variables. While threads in a process normally share the same memory space, TLS creates private storage areas that are unique to each individual thread, enabling thread-specific data management without the need for explicit synchronization. How Thread-Local Storage Works In a typical multithreaded environment, all threads share the process's global variables and heap memory. However, with TLS, the system creates separate instances of specified variables for each thread. When a thread accesses a TLS variable, it automatically gets its own ...

Read More

Scheduler activations

Arnab Chakraborty
Arnab Chakraborty
Updated on 17-Mar-2026 2K+ Views

Scheduler activations is a technique that enables effective communication between the user-thread library and the kernel. This mechanism provides an elegant solution to the problem of managing user threads efficiently while maintaining kernel awareness of thread activities. How Scheduler Activations Work The kernel provides an application with a set of virtual processors (also called Lightweight Processes or LWPs). The application can then schedule user threads onto these available virtual processors. The key innovation is that the kernel must inform the application about certain critical events through a mechanism called upcalls. Scheduler Activations Architecture ...

Read More
Showing 91–100 of 941 articles
« Prev 1 8 9 10 11 12 95 Next »
Advertisements