In some operating systems, including Unix and Linux, a pseudoterminal, pseudotty, or PTY is a pair of pseudo-device endpoints (files) which establish asynchronous, bidirectional communication (IPC) channel (with two ports) between two or more processes. The master provides means by which a terminal emulator process controls the slave. The slave emulates a hardware text terminal device. PTY are similar to bidirectional pipes. The master files are typically used by networking applications (e.g. rlogin) and slave files are used by terminal-oriented programs such as shells (e.g. bash) as a processes to read/write data back from/to master endpoint. Common application of PTYs is in providing network login services. Devpts is a Linux Kernel virtual file system used to emulate PTYs connection. Linux implementation is based on System V-style terminals (commonly referred as UNIX 98 pseudoterminals) and provides POSIX and the Single Unix Specification API in the form of a function since 1998. Unix command is typically used to get PTY file path connected to the current standard input. Pseudoterminals were present in the DEC PDP-6 Timesharing Monitor at least as early as 1967, and were used to implement batch processing. They are described in the documentation for the succeeding TOPS-10 on the PDP-10. Other DEC operating systems also had PTYs, including RSTS/E for the PDP-11, as did the third-party TENEX operating system for the PDP-10. Implementations of Unix pseudo terminals date back to the modifications that RAND and BBN made to a 6th Edition in the late 1970s to support remote access over a network.[ ``PTY Driver for SRI-NOSC Net UNIX] lines 15-31 Modern Unix pseudoterminals originated in 1983 during the development of Eighth Edition Unix and were based on a similar feature in TENEX. They were part of the 4.2 release of BSD, with a rather cumbersome interface defined for use. AT&T's System V included support for pseudoterminals as a driver in their STREAMS device model, along with the pseudoterminal multiplexer ().