Found 179 Articles for Windows

Multithreaded using the Pthreads API

Arnab Chakraborty
Updated on 16-Oct-2019 08:36:40

1K+ Views

Pthreads refers to the POSIX standard (IEEE 1003.1c) defining an API for thread creation and synchronization, which is a specification for thread behavior, not an implementation. This specification may be implemented by Operating-system designers in any way they wish. The C program shown in below, demonstrates the basic Pthreads API for constructing a multithreaded program that calculates the summation of a nonnegative integer in a separate thread. Separate threads begin execution in a specified function, in a Pthreads program. In below program, this is the runner() function. When the program begins, a single thread of control begins in main(). main() ... Read More

Programming challenges in multicore systems

Arnab Chakraborty
Updated on 16-Oct-2019 08:29:58

1K+ Views

The trend towards multicore systems continues to place pressure on system designers and application programmers to create higher use of the multiple computing cores. Designers of operational systems should write programing algorithms that use multiple process cores to permit the parallel execution shown in below Figure −Figure: Parallel execution on a multicore systemFor application programmers, the challenge is to switch existing programs with its style new programs that are multithreaded. In general, 5 areas of challenges are there in programming for multicore systems −Identifying tasks − This involves examining applications to seek out areas that may be divided into separate, ... Read More

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

Arnab Chakraborty
Updated on 16-Oct-2019 08:28:43

2K+ 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.Actions taken by a kernel to context-switch between kernel-level threads are-Context switching between kernel threads typically requires saving the value of the CPU registers from the thread being switched out and restoring the CPU registers of the new thread being scheduled.

Actions taken by a kernel to context-switch between processes

Arnab Chakraborty
Updated on 16-Oct-2019 08:26:51

7K+ Views

Actions taken by a kernel to context-switch between processes are -The OS must save the PC and user stack pointer of the currently executing process, in response to a clock interrupt and transfers control to the kernel clock interrupt handlerSaving the rest of the registers, as well as other machine state, such as the state of the floating point registers, in the process PCB is done by the clock interrupt handler.The scheduler to determine the next process to execute is invoked the OS.Then the state of the next process from its PCB is retrieved by OS and restores the registers. ... Read More

Advanced local procedure call (ALPC)

Arnab Chakraborty
Updated on 16-Oct-2019 08:24:50

1K+ Views

Advanced Local Procedure Call(ALPC) is a message-passing mechanism. A globally visible connection-port object is published by the server process. When a client wants services from a subsystem or service, it opens a handle to the server’s connection-port object and sends a connection request to the port. A channel is created by the server and returns a handle to the client. This channel consists of a pair of private communication ports: one for client-to-server messages and the other for server-to-client messages. Communication channels support a callback mechanism, so the client and server can accept requests when they would normally be expecting ... Read More

What is marshalling in RPC?

Arnab Chakraborty
Updated on 16-Oct-2019 08:23:45

2K+ Views

Remote Procedure Call (RPC) is a client-server mechanism that enables an application on one machine to make a procedure call to code on another machine. The client calls a local procedure—a stub routine—that packs its arguments into a message and sends them across the network to a particular server process. The client-side stub routine then blocks. Meanwhile, the server unpacks the message, calls the procedure, packs the return results into a message, and sends them back to the client stub. The client stub unblocks, receives the message, unpacks the results of the RPC, and returns them to the caller. This ... Read More

What is the difference between context switching and interrupt handling?

Arnab Chakraborty
Updated on 16-Oct-2019 08:22:20

1K+ Views

Context switching involves storing the context or state of a method or thread in order that it will be reloaded once needed and execution will be resumed from constant purpose as earlier. This can be a feature of a multitasking software system and permits one computer hardware to be shared by multiple processes.When Associate in Nursing interrupt happens, the hardware mechanically switches a region of the context. The handler could save further context, counting on details of the actual hardware and software package styles. Typically, solely a minimal part of the context is modified so as to reduce the quantity ... Read More

Microsoft Interface Definition Language

Arnab Chakraborty
Updated on 16-Oct-2019 08:20:33

199 Views

DefinitionThe Microsoft Interface Definition Language (MIDL) defines interfaces between client and server programs. The MIDL compiler with the Platform Software Development Kit (SDK) to enable developers to create the interface definition language (IDL) files and application configuration files (ACF) required for Remote Procedure Call (RPC) interfaces and COM/DCOM interfaces are included with Microsoft. MIDL also supports the generation of type libraries for OLE Automation.ApplicationMIDL can be used in all client/server applications based on Windows operating systems. To create client and server programs for heterogeneous network environments that include such operating systems as Unix and Apple, MIDL can also be used. ... Read More

Big Endian and Little Endian

Arnab Chakraborty
Updated on 11-Oct-2019 13:15:43

16K+ Views

All computers do not store the bytes that comprise a multi-byte value in the same order. Consider a 16-bit internet that is made up of 2 bytes. Two ways to store this value −Little Endian − In this scheme, low-order byte is stored on the starting address (A) and high-order byte is stored on the next address (A + 1).Big Endian − In this scheme, high-order byte is stored on the starting address (A) and low-order byte is stored on the next address (A + 1).To allow machines with different byte order conventions communicate with each other, the Internet protocols ... Read More

How does a process look like in memory?

Arnab Chakraborty
Updated on 11-Oct-2019 13:04:47

3K+ Views

A program loaded into memory and executing is called a process. In simple, a process is a program in execution.When a program is created then it is just some pieces of Bytes which is stored in Hard Disk as a passive entity. Then the program starts loading in memory and become an active entity, when a program is double-clicked in windows or entering the name of the executable file on the command line. (i.e. a.out or prog.exe)Let’s look at each memory segment and how does a process look like within memory −Figure: Process in MemoryTEXTA process is more than the ... Read More

Advertisements