Citizendia
Your Ad Here

Doors are an inter-process communication facility for Unix computer systems. Inter-Process Communication ( IPC) is a set of techniques for the exchange of data among two or more threads in one or more processes. Unix (officially trademarked as UNIX, sometimes also written as Unix with Small caps) is a computer They provide a form of procedure call. In Computer science, a subroutine ( function, method, procedure, or subprogram) is a portion of code within a larger

Contents

History

Doors were developed by Sun Microsystems as a core part of the Spring operating system, then added to Solaris in version 2. Sun Microsystems Inc ( is a multinational vendor of Computers computer components Computer software, and Information technology services Spring was an experimental Microkernel -based Object oriented Operating system developed at Sun Microsystems in the early 1990s Solaris is a Unix -based Operating system introduced by Sun Microsystems in 1992 as the successor to SunOS. 5 as an undocumented internal interface. [1] They became a documented feature in Solaris 2. 6, though Sun still classifies the doors API as an "evolving" interface. Recent versions of Solaris use doors in many places, including nscd (the name service cache daemon) and syslog. In Computing, a name server (also called 'nameserver' consists of a program or computer server that implements a name-service protocol. syslog is a standard for forwarding log messages in an IP network.

The doors facility has been ported to Linux, but is only available for version 2. Linux (commonly pronounced ˈlɪnəks 4. 18. [2]

Overview

The doors subsystem is implemented as a user-space library with some kernel support, and relies heavily on threads. "kernel space" redirects here For mathematical definition see Null space. In Computer science, the kernel is the central component of most computer Operating systems (OS A thread in Computer science is short for a thread of execution. It is designed for low overhead, and the Solaris implementation uses some assembler code for maximum efficiency.

Doors are created by server processes (which must use threads) and called by client processes. (It is possible for one process to both create and call a door. ) When creating a door, the server must specify a server procedure, which will be called by the doors library on behalf of clients. Unlike most Remote procedure call systems, each door has only one server procedure. Remote procedure call ( RPC) is an Inter-process communication technology that allows a Computer program to cause a Subroutine or procedure to A server can "attach" a door to a file, enabling clients to connect to that door simply by opening that file.

Clients use door_call() to invoke the door's server procedure, passing a contiguous region of memory and a list of file descriptors as arguments, and getting back another contiguous region and list of file descriptors. In computer programming a file descriptor is an abstract key for accessing a file Either region may be empty, as may either list. Usually, two C structs will be defined, one for the input data and one for the output data. tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured (Alternatively, tagged unions may be used, allowing a door procedure to provide multiple actions in much the same way as the ioctl system call. In Computer science, a tagged union, also called a variant variant record discriminated union, or Disjoint union, is a Data structure used In computing an ioctl (aɪˈɒktəl or "i-o-control" is part of the user -to- kernel interface of a conventional operating system ) Every file descriptor is accompanied by a flags word. The DOOR_RELEASE flag requests that a file descriptor be closed in the sending process after being duplicated in the receiving process. If a file descriptor that refers to a door is sent, the system records the properties of that door in the flags word.

As well as representing a procedure, or a group of procedures, a door can represent a stateful data object, making it possible to pass references to such objects between processes. In its simplest embodiment an object is an allocated region of storage Such a door would typically take a tagged union as input data with each tag value denoting a different method. In Object-oriented programming, the term method refers to a Subroutine that is exclusively associated either with a class (called class methods

The doors system also provides a way for clients and servers to get information about each other. For example, a server can check the client's user credentials or process ID to decide whether the client is allowed to do something.

The doors library normally creates and manages a pool of threads in the server process to handle calls, but it is possible to override this behaviour. The doors system does not provide any form of synchronization, but servers can use the normal thread-level synchronization primitives. Doors can be used to synchronize access to shared memory segments, allowing single-copy data transfer. In Computing, shared memory is a memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies [3]

See also

External links

The local procedure call ( LPC) facility is a service provided by the Microsoft Windows NT kernel for light weight Message queue between Almost all substantial UNIX and Unix-like Operating systems have extensive documentation known as man pages (short for "manual pages"
© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic