Week 3 Part 1
Where is Unix used?
Unix has been used continuously since 1969.
Unix is used on most of the computers running the Internet (web servers, domain
name servers, email servers, web hosting)
Mac OS/X is based on Unix
So are Android phones
Unix Versions:
Many versions of Unix. Most are based from 2 original versions:
o System V - the original version from AT&T
o BSD - from the University of California at Berkeley
Lots of little differences - commands with different options, different structure of
directories for system administration.
Unix Irregularities:
Quite a lot of Unix, especially the various scripting languages and the individual
commands grew up in an ad-hoc and unregulated, haphazard fashion.
While this resulted in a much more powerful and versatile operating system, it also
results in being rather confusing at the user level.
Unix Standardisation:
IEEE tried to standardise Unix:
o Called IEEE 1003, or better known as “POSIX”
o Defined: commands, utilities, system interfaces, scripting language.
POSIX has been largely ignored by vendors - $$$ and too complex —> 1990’s UNIX
wars
Result: inconsistency and difficulty in transferring code between systems.
Finally, 2002, new Single Unix Specification (SUS) agreed.
o If version meets spec —> can be called UNIX.
o Otherwise called “Unix-like”
o Unix and Unix-like are mixed in this subject for simplicity
Why has Unix survived?
No one owns these ideas:
Unix is a set of ideas, none of which are secret
Any person or group is free to implement these ideas.
There have been court cases over specific lines of code in “official” Unix (System
V) , but the lines of code are only a specific implementation of these principles
Unix is based on simple concepts:
i.e. files, processes, permissions and users
Even hardware devices e.g. /dev/mouse are represented as files
This has simplified the conceptual picture of Unix (if not the internal code)
It has also allowed Unix to incorporate new ideas and technologies quite easily
Unix is portable:
Unix is written in C
o i.e. not tied to any particular CPU
o Any computer with a C compiler can usually compile the source code
The technology of computer hardware has evolved enormously since 1970, but is still
conceptually the same
Unix (at least some varieties) is free:
1993/1994 onwards: free versions of Unix (Linux, FreeBSD)
Especially available to cheap Intel based PCs — lots of them around because of
Microsoft Windows
Unix is efficient, stable and relatively secure:
Unix is fast and stable (system crashes are rare)
Designed for security for multi-user systems — files have owners, security
permissions are tight
o Therefore fewer viruses for Unix
The “Unix as a set of tools” approach:
The Unix CLI has some very powerful features
Specifically, simple commands, pipes, and I/O redirection
You can create very powerful ad hoc tools
o By passing the output of one command to another command
o This has a great appeal to many technically oriented users
File Systems
A file system is a part of the OS that manages data storage and access
Logical File System:
How we view the file system
o Files
o Directories/subdirectories
o Partitions
Physical File System:
How these items are physically represented and stored
Logical File System
Files
o Executable files (programs)
o Data files
Directories
o Store files and (usually) subdirectories
o Often hierarchical (”tree”) format
Partitions
o Some directories may reside in different partitions from other directories
o Abstracts physical infrastructure from users