In: Categories » Computers and technology » Linux » Notional Lineage of Unix Systems
|
Although the major portions of Linux comprise code developed independently of traditional Unix source bases, the interfaces that Linux provides were influenced heavily by existing Unix systems. In the early 1980s, Unix development split into two camps, one at the University of California at Berkeley, the other at AT&T's Bell Laboratories. Each institution developed and maintained Unix operating systems that were derived from the original Unix implementation done by Bell Laboratories. The Berkeley version of Unix became known as the Berkeley Software Distribution (BSD) and was popular in academia. The BSD system was the first to include TCP/IP networking, which contributed to its success and helped to convince Sun Microsystems to base Sun's first operating system, SunOS, on BSD. Bell Laboratories also worked on enhancing Unix, but, unfortunately, it did so in ways slightly different from those of the Berkeley group. The various releases from Bell Laboratories were denoted by the word System followed by a roman numeral. The final major release of Unix from Bell Laboratories was System V (or SysV); UNIX System V Release 4 (SVR4) provides the code base for most commercial Unix operating systems today. The standard document describing System V is the System V Interface Definition (SVID). This forked development of Unix caused major differentiation in the system calls, system libraries, and basic commands of Unix systems. One of the best examples of this split is in the networking interfaces that each operating system provided to applications. BSD systems used an interface known as sockets to allow programs to talk to one another over a network. By contrast, System V provided the Transport Layer Interface (TLI), which is completely incompatible with sockets, and is officially defined in the X/Open Transport Interface (XTI). This divergent development greatly diminished the portability of programs across versions of Unix, increasing the cost and decreasing the availability of third-party products for all versions of Unix. Another example of the incompatibilities among Unix systems is the ps command, which allows users to query the operating system's process information. On BSD systems, ps aux gives a complete listing of all the processes running on a machine; on System V, that command is invalid, and ps -ef can be used instead. The output formats are as incompatible as the command-line arguments. (The Linux ps command attempts to recognize both styles.) In an attempt to standardize all the aspects of Unix that had diverged because of the split development in this period (affectionately known as the Unix Wars), the Unix industry sponsored a set of standards that would define the interfaces Unix provides. The portion of the standards that deals with programming and system-tool interfaces was known as POSIX (technically, this is the IEEE Std 1003 series, comprised of many separate standards and draft standards), and was issued by the Institute for Electrical and Electronic Engineers (IEEE). The original POSIX series of standards, however, were insufficiently complete. For example, basic UNIX concepts such as processes were considered optional. A more complete standard went through several versions and names (such as the X/Open Portability Guide [XPG] series of standards) before being named the Single Unix Specification (SUS), released by The Open Group (the owner of the UNIX trademark). The SUS has gone through several revisions and now also has been adopted by the IEEE as the latest version of the POSIX standard, currently IEEE Std 1003.1-2004, and updated occasionally by corrigenda. IEEE Std 1003.1-2003 was also adopted as an ISO/IEC standard as ISO/IEC 9945-2003. You can read the latest version of the standard online at http://www.unix-systems.org/. Older standards from which this newer unified standard was created include all the older IEEE Std 1003.1 (POSIX.1—the C programming interface), IEEE Std 1003.2 (POSIX.2—the shell interface), and all related POSIX standards, such as the real-time extensions specified as POSIX.4, later renamed POSIX.1b, and several draft standards.
|
legal disclaimer
1) Our website is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringements, please read the Terms of service and contact us to investigate the problem.
2) The E-articles directory team is not responsible for inaccuracies, falsehoods, or any other types of misinformation this tutorial may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here. Please read the Terms of service
Useful tools and features
related articles
Problem: Since many programs use services that send clear-text data over the network, it is desirable to find something that can be used to encrypt the network traffic for these services while minimizing any change to end users. SSH provides this functionality with port forwarding. Port forwarding allows a user to create an encrypted session from a client to a remote server for any TCP-based service by tunneling the service through SSH. Of course, this requires that the user have an account on the remote server and tha...
2. How to use PuTTY Passphrase Agents
STEP1: Use Pageant to store your private keys in memory To make public key authentication more convenient, the developers of PuTTY created Pageant. Pageant is a program included with PuTTY that will keep your decrypted private keys in memory so you only have to enter your passphrase once rather than every time you authenticate to a server using public key authentication. While this will make your day-to-day use more convenient, please keep in mind that it also poses a slight risk, since other applications (inc...
3. Interactively transfer files from the command line with PSFTP
One method to transfer files from the Windows command line is to use PSFTP. PSFTP creates an interactive SFTP file transfer session where you can use many of the commands available within a normal FTP session. Since PSFTP uses the SFTP protocol, which is only available with servers running protocol SSHv2, you may not be able to run it on every server. PSFTP is run from the command line and provides numerous options. To see the options available run PSFTP with the –h option: ...
4. Using Plink to initiate an SSH session from the command line or a script
Using PuTTY from the command line will create an SSH interactive session. This may not be what we want if for example we need to remain at the Windows command line or we want to issue an SSH command from within a script. In order to satisfy these types of needs, PuTTY provides a tool called Plink. Plink is a command line tool that will allow you to log in to a remote machine using SSH and either create an SSH session or execute a command, all from the command line and without opening another window. Plink comes with many comma...
Problem: How can a key-pair be created in OpenSSH?STEP1: Generating your public/private key-pairThe ssh-keygen command is utilized to generate your public and private keys. OpenSSH provides authentication methods via a choice of three public key "cryptosystems": RSA1, RSA, and DSA. RSA1 works with SSHv1 while RSA and DSA are for SSHv2. RSA and DSA use different techniques for authenticating and have different capabilities, but for purposes of this guide, either will suffice.To create a key-pair, r...
6. Transfer files from the command line with PSCP
A second method to transfer files from a Windows command line prompt is to use PSCP. Unlike PSFTP, PSCP is not interactive and is designed to transfer files "in one shot" and then exit, much like OpenSSH's scp command. PSCP also allows you to specify wildcards within filenames (PSFTP does not). Additionally, PSCP will work with any SSH server as it is not dependent on SSHv2 being present. Note PSCP will blindly copy files to the remote server, overwriting any files with the same name, without prompting for veri...
7. Create an SSH session from the command line using PuTTY
There are multiple ways to create an SSH session from the command line using PuTTY. The first way involves using the PuTTY program itself. PuTTY comes with a number of options that can be used to invoke the graphical PuTTY terminal from the command line. A description of these options is available within the PuTTY help file. To run PuTTY from the command line: Note ...
8. Install SSH Windows Clients to Access Remote Machines Securely
Problem: Many times administrators will find themselves on a Windows machine with no way to access a remote server securely since Microsoft does not yet package an SSH client. There are a number of excellent tools available that provide SSH client connectivity from a Windows platform. A list of these tools is available at http://www.openSSH.com/windows.html. ...










