Notional Lineage of Unix Systems

by Claude Wolfgang Stary.

Share
|
Homepage | Submit your article | Contact | TOS
More articles on linux  

You are here: Categories » Computers and technology » Linux

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.

Leave a comment or ask a question
Total comments: 0

Linux Disclaimer

  • The e-articles directory is not responsible for any and all copyright infringements by writers and authors. If you suspect the information contained by this page for any copyright infringements, please contact us to investigate the issue
History of Kubuntu - When Ubuntu was first being discussed there were rumors that it would be only based on GNOME, and KDE would be left out. Jonathan Riddell, a KDE developer, posted an article on his (more...)
Installing Kubuntu - Installing Kubuntu is just like installing Ubuntu. It is pretty much a snap. Let's start with where you find it. Where to Find Kubuntu Kubuntu is available a (more...)
Root iNode Corruption Cause Data Loss in Linux - Article contains information over root I node corruption failure causes data loss. Article also contains recovery solution for all kind of data loss in linux. In Linux and other Unix-like o (more...)
LINUX r Services - rlogind and rshd are the remote login and remote shell daemon. These so-called r services use TCP ports 513 and 514, respectively. The RLOGIN protocol is described in RFC 1282 and RSH in RFC. (more...)
Short History of Ubuntu - Born in April 2004, a history of Ubuntu may seem premature. However, the last years have been full ones for Ubuntu. With its explosive growth, it is difficult even for those involv (more...)
Free Open source Software and GNU Linux - Free Software and GNUIn a series of events that have almost become legend through constant repetition, Richard M. Stallman created the concept of "free software" in 1983. Stallman grew (more...)
Choose an Ubuntu Version - The developers behind Ubuntu have worked to make the software as easy and flexible to install as possible. They understand that people will be installing Ubuntu on different types of computers (more...)
Customize Ubuntu Look and Feel - Changing the Background To change the background of your desktop right-click it and select Change Desktop Background. Inside the dialog box that appears, choose yo (more...)
Configuring a Printer in Ubuntu - In the Linux world, configuring a printer has traditionally been a challenge. For years, newcomers to Linux have been repeatedly challenged and even bludgeoned with terms, commands, and phrases (more...)
Working with Windows from inside Ubuntu - Although the Linux platform offers an increasingly compelling platform for the desktop, there are sometimes situations when there is just no alternative application available. This is often the (more...)

 
free content
    Copyright © 2006 - 2012 e-articles.info.
The texts, articles and tutorials in the directory are property of their respective owners and authors.