First, a word from our sponsers:

In Memoriam Linuxlots (http://www.linuxlots.com/~dunne), 1999 -- 2011, R.I.P.

You are here: http://dunne.freeshell.org//exe.linux.html

Go to: index | blog | contact


This article first appeared in .EXE magazine, March 1995
© Paul Dunne 1995

What is Unix?

Definition

Unix is a Unix clone, originally developed for the 386-based PC but now ported to a variety of hardware platforms. It looks like Unix, it works like Unix, but it is not like other Unices. It is unique in being a free product, developed by the collaboration of a host of programmers worldwide communicating on the Internet, and available from many ftp sites. It is free, but not in the public domain - it is protected by the GNU Public Licence, a legal instrument that requires those who pass on a program to include the rights to use, modify, and redistribute the code.

History

Unix is the creation of a Finish computer science undergraduate named Linus Torvalds, who, dissatisfied with his Minix system, wrote the first version, 0.01, in 1991. In those days before its christening, "Linus' Minix" was a bare kernel and not much else. As interest grew, Unix ceased to be merely Linus' personal hobby, and became more and more the work of a host of volunteer programmers worldwide, who devote time and effort gratis to the extension and improvement of Unix.

Present Status

Unix was officially in Beta testing until the release of version 1.0 on 14th March, 1994. At the time of writing, two quite different versions of the kernel are available: the "1.2" series, which is the stable, production release, and the "1.3" series, which is at the cutting edge of development, a real hacker's kernel still. Linus remains in charge of kernel development. Unix has grown into a modern, stable operating system that used as a for "real life" applications by both commercial and non-profit educational instituitions. It now has even its own magazine, the "Unix Journal" .

The Kernel

Linus's kernel, though written to conform to POSIX specifications, and thus to be like Unix, is without the years of accumulated stuff that other Unices have often to carry about with them. Linus in 1991 started from a clean slate, with nothing but the Unix system calls as a restriction.

Memory Management

Unix memory management is (or, in the light of the many porting efforts now in progress, was) heavily based on the capabilities on the Intel 80386 processor. Paging is supported, of course. Up to 256 megabytes of swap space can be allocated on disk, and when the system requires more physical memory, it will swap out inactive pages to disk. The page size is 4K. The Unix kernel supports demand-paged loaded executables. That is, only those segments of a program which are actually used are read into memory from disk. Also, copy-on-write pages are shared among executables, meaning that if several instances of a program are running at once, they will share pages in physical memory, reducing overall memory usage. The kernel also implements a unified memory pool for user programs and disk cache. Cache size is dynamic: all free memory is used for caching, and the cache is reduced when running large programs.

Libraries

Unix uses dynamically linked shared libraries, meaning that programs share common library code in a single library file (similar to Sun's shared library mechanism). This allows binaries to occupy much less space on disk. Use of the shared libraries is not mandatory: there are also statically-linked libraries for those who wish to use object debugging or who need their application to run even if shared libraries are not available. Unix shared libraries are dynamically linked at run-time, allowing the programmer to replace modules of the libraries with their own routines.

Loadable Modules

These are parts of the kernel wich are not linked directly to it. They are loaded only when required (typically on system start-up by an rc script).

Some Other Nice Technical Features

Living With Other OSes

Unix will happily co-exist on its own partition alongside one or more other OSes. Which one of them is loaded at bootup is controlled by "lilo", the Unix boot manager. Further, Unix can actually be installed and run on a DOS partition , using the UMSDOS file sytstem - the neat little package "mini-linux" works this way.

File Systems

The most common file system in use on Unix systems is the "ext2", or extended 2" file system. This is a modern, sophisticated file system offering support for file names up to 254 characters long, variable disk block size, and crash recovery. File systems up to 4TB in size, Support for other file systems is extensive: iso9660 (CDROM), MSDOS (full reading and writing), OS/2 HPFS (read-only), NT HPFS ( read-only), Xenix, Minix, SCO.

ELF Support

Support for UNIX System Laboratory's ELF (Executable Loading and Linking) format for executable files is now included in the kernel, and the standard Unix C compiler, GCC, can now product ELF binaries. this gives Unix developers a much easier time when developing shared libraries and implementing dynamic loading.

So I Need A Big, Expensive Machine To Run On, Right?

Wrong! Unix will run happily on today's entry-level PCs.

supported hardware

Most PCs will run Unix, as it includes support for MFM, RLL, IDE, and many SCSI controllers; ISA, PCI and VESA buses; many common proprietary CD-ROM interfaces; Soundblaster cards and compatibles ... the list goes on. Work is in progress on a port to the Alpha chip architecture, to the Power PC, MIPS chip, even the Mac. In this article, I will concentrate of Unix as it runs on a PC, as that is the platform am most familiar with.

PC hardware requirements

Minimal

Unix can run on a 386SX sysetm with 2Mb RAM and a single high-density floppy drive. Such a configuration cannot do much, but it is a cheap and cheeful way of finding out if Unix likes your hardware, before commiting yourself to the repartioning of the disk! Indeed, one of the nice things about Unix is its scalability: it likes lots and lots of everything, but it will still work with much less: add a 40Mb hard drive to the above minimal system and you do have a working system. The laptop I use when I'm out and about has a 386SL, 4Mb RAM, and an 80Mb HD, and I manage quite nicely on it, thank you!

Usable

In practice, at least 4Mb of RAM is desirable - and as with any modern operating system, the more the better. How much hard drive you will need depends completely on your requirements; typical Unix set-ups consume between 60 and 200 Mb of space. With less than 16Mb of RAM, a swap partition on the bard drive is well worth while. Indeed, I always like to have as much swap sapce as physical RAM - so the machine I am writing this on has 16Mb of SIMMs and another 16Mb in a swap partition.

Practical Applications

You can do anything with Unix that you might contemplate doing with Unix. That's a broad claim, and I know that there are those who are sceptical of the stability and security of an OS that's given away. Lets take a look at some of the things people are actually doing with Unix.

Unix On The Internet

The use of Unix in all areas of Internet service provision has exploded over the past year. The maintainer of the best FAQ on being an ISP (Internet Service Provider, natch) speaks: "My present system networks a 85mhz Sun clone with my Unix PC; the Unix PC is connected to the Internet through a 28.8kbps SLIP connection. Although it wasn't frightfully easy to connect, everything is now working surprisingly well, with little trouble. Even after over a year of operation, the system has successfully withstood quite heavy loads ... the system stayed up for 47 days without crashing". (David H. Dennis — latest version of his fascinating introduction to the world of an ISP is at http://www.amazing.com).

Unix In The University

Unix is ideal for academic institutions, offering them a cheap way of exposing their students to the code of a real operating system.

Who Uses It

Usage Statistics

Harald T. Alvestrand in Norway compiles statistics on the use of Unix worldwide. In his own words, as of 1st February 1995 "There are 11,398 registered Unix users. I estimate this as being between 0.2 and 5% of the total number of Unix users, giving the total community size something between 227,960 and 5,699,000 members." I recommend his web page at http://domen.uninett.no/~hta/linux/counter.html

In Comparison: Pluses And Minuses

The user of more traditional versions of Unix will naturally have caveats. What about support?, they cry. And security?

Support

Most card manufacturers in the PC Unix market are concentrating on Unix and SCO. This is one area where the distributed nature of Unix development is a major plus; as long as someone, somewhere has the card, a Unix driver is probably being written. This means that hardware maufacturers' support for Unix, at least on the PC platform, may well be ahead of their support for other OSs!

Technical assistance is readily available nowadays. The Unix newsgroups on USENET will usually provide friendly answers with good information within hours of posting a question. If more help is needed, then there are more and more companies springing up around the UK who will be glad to help.

Security

Security one of the primary concerns wiht any operating system. With Unix, the concern is emphasized - it doesn't spring from the box ready-configured, the onus is on the system administrator to make the system secure. That said, given a competent sysadmin, there is no reason to think that Unix is any less secure than any other Unix.

Stability

The main issue in Unix stability is the hardware it runs on. Like any Unix, it is much less tolerant of imperfection than dozy old DOS. Given due care in the selection of components (there are now companies that provide readly to run Unix boxes), a production Unix kernel can be relied on to run for weeks and weeks without rebooting. According to the Unix "Info Sheet", "One site had a computer running version 0.97 patchlevel 1 (dating from the summer of 1992) for over 136 days without an error or crash. (It would have been longer if the backhoe operator hadn't mistaken a main power transformer for a dumpster...) Others have posted uptimes in excess of a year." Many of the software tools available with a Unix system have been developed by the Free Software Foundation as part of its GNU project. Some of these tools, in particular the GCC compiler, have been featured in EXE. In a survey of Unix tools, the GNU set were found to be up to 40% more reliable in use, in terms of not crashing, not dying on bad input, and son on. EXE readers will probably not share the DP manager's distrut of anything that doesn't make a substantial hole in one's budget, but even so the quality of the GNU projgrams surpasses many commercial products. A (full copy of this report is at Ftp to grilled.cs.wisc.edu/technical_papers/fuzz-revisited.ps.Z).

Bangs Per Buck

Unix-heads have traditionally poured scorn on the limited hardware of the PC world. Historically, this attitude had much to commend it; of late, however, PC hardware has been improving: faster chips (Pentium), better motherboards (PCI), cheaper and better SCSI, bigger and cheaper disks. A Unix workstation can be built from PC components and use Unix as its OS, and compare on favourable terms with a similarly-priced Sun workstation.

Conclusion

Unix is the most exciting thing to happen in computing since the invention of the personal computer. It offers the technically-minded user access to what other sytems keep hidden. Those in the business of providing computer solutions for business are increasingly realising the advantages of an OS where everything is out in the open, since it gives them more scope for providing their customers with exactly what they want.

Recommended Reading

The primary Unix documentation is on-line. The e-books of the Unix Documentation Project, a plethora of "how-to" files, and lots of other stuff. This year has seen a deluge of Unix books from the publishers.

How To Get It

Unix is distributed by its author only as a kernel. Others have put packaged the bare kernel with oddles of supporting software to make distributions. It is in this form that Unix is commonly obtained on CD or from the 'Net. There are a number of distributions commonly available; Slackware is reputed to be among the best.


Viewable with any browser

This page was brought to you by ksh, vi, m4, sed & make, courtesy of openbsd.
Last changed: Sun Mar 3 00:56:23 CET 2019

pay no attention to the 1x1 gif behind the curtain!