Unix History, and Background

Download Report

Transcript Unix History, and Background

Unix History, and Background
Background 1
• typically used by academic and scientific
researchers, as opposed to commercial and
home users.
• Developed in 1969 in Bell labs.
• Ken Thompson and Dennis Ritchie rewrote Unix
in C in 1973.
• MULTICS (Multiplexed Operating and
Computing System.)
• Unix (UNICS or Uniplexed Operating and
Computing System.)
• Unix no longer is an acronym for anything.
Background 2
• Source code is publicly available, so people can
contribute to it.
• Linux is a Unix variant. (www.unix.org)
• Cygwin is a Unix emulator (www.cygwin.com)
• A GUI (graphical user interface) is not an
operating system.
• Text based command entry often helps improve
efficiency (think of hotkeys and shortcuts)
Unix has advantages
• Openness: source code is publicly available. Developers
can adapt utilities to suit their needs.
• Utilities: there are a multitude of programs as standard.
• Portability: virtually every computer supports Unix.
• Multiuser: Unix can handle many users running different
programs.
• Multitasking: a user can run different programs
simultaneously.
• Networking: Unix allows computers to connect and share
information.
Background 3
• Microsoft DOS (Disc operating system) is
command line based.
• The Mac operating system is now based
on Unix.
• There are now GUIs available for Unix.
Background 4
• Data is stored as files.
• A collection of files is stored in a directory, which
is in turn stored in a directory tree.
• An operating system is a program which enables
other programs to use the computers hardware.
• A program would have to be written for each
type of computer as each has different software.
• A compiler translates or ports programs to
machine language,
• and so only needs to be written once and can be
used for lots of programs.
Unix and Legal
• Unix did come for free due to a legal argument.
• Berkeley created its own version, Berkeley
Software Development Unix (BSD Unix)
• Unix is a powerful and flexible operating system
that is far more reliable than most personal
computer based operating systems.
• Many vendors such as Sun, IBM, and HewlettPackard purchased the source code, and
developed their own versions of Unix.
• The internet runs primarily on Unix.
3 major movements
• There are 3 major movements concerning
Unix.
• The free software movement.
• the Linux and FreeBSD communities.
• the Open Source movement.
Free Software movement
• The Free Software movement is attributed to Richard
Stallman.
• He runs Free Software Foundation (gnu.org)
• He worked on a project to make a freely available
operating system open to all.
• called GNU, GNU not Unix (a recursive acronym).
• The GNU General Public Licence
(gnu.org/licenses/licenses.html).
• The first piece of software was GNU Emacs, a text editor
(still used today)
• Many programmers use their free time to work on GNU
software.
• see www.fsf.org (Free Software Foundation)
License Constraints
•
•
•
•
•
•
His license contains constraints.
1. the software can be used for any purpose.
2. the user has the right to copy the software.
3. the user can redistrubute the software.
4. the user can modify the software
5. the user must give these same rights to
subsequent users.
• (compare this with Microsoft)
Linux and FreeBSD
• Linus Torvalds, a Finnish university
student,dissatified with IBM 386 and MS-DOS
operating systems coded the first kernal in 1991.
With a stable release in 1994.
• People pack the operating system with GNU
software in a distribution.
• There are over 100 distributions.
• Redhat, Debian, Ubuntoo, each with own focus.
• FreeBSD is freely used, modified and
redistributed, but you do not have to make your
source code for modifications available.
4 categories of Linux distribution
• 1. Amusements (games and graphics)
• 2. applications (emulators, editors,
systems packages)
• 3. Development (debuggers, libraries,
tools and systems packages)
• 4. systems environments (kernals,
libraries, shell packages)
The open source movement
• Philosophy of morality, freedom,
assistance.
• Some say anti commercial, but it can be
used to make money.
• There is a difference between free and
open source software.
• www.opensource.org
Portable Operating System
Interface
• POSIX is a set of standard interfaces that allow
programs to run on different Unix variants.
• As long as the operating system uses POSIX
compliant mechanisms, it can run software
regardless of the actual variant used.
• POSIX standard (1003) is administered by IEEE
(Institute of Electrical and Electronics Engineers)
• The standard is also recognized by the
International Organization for Standardization
• under ISO/IEC9945-1 (see iso.org)
The Unix Philosophy
• small; Unix consists of many small modules that can be combined
into more complex objects.
• consistent; modules that make up Unix interact in a consistent way.
e.g. things are represented as files (files, programs, directories,
hardware)
• configurable; Unix programs have many options which make them
configurable and flexible.
• non-captive; programs use other programs to generate input or
process output.
• there is not a human sitting there waiting to double click something.
• a non-interactive mode makes automation possible without human
input.
• automatable; scripts or programs will run commands automatically.
• automate tasks whenever possible.
Source Code
• Source code is what humans write.
• Access to source code makes it easier to
modify a program.
• Most commercial programs are distributed
in binary form,
• meaning they are ready to run, but are not
human-readable.
Stable or Trial Version
• To help people gauge if they are using a
stable version of linux the following is
used.
• In version l.x.y
• if x is an even number, then l.x.y is a
stable version,
• if x is odd, then its a beta (trial) release of
Linux.
Advantages of Linux
• Reliability; Linux servers are not shut down for years!
• Backward compatibility;
• easy up-grade and installation; allows up-grades from previous
versions.
• Low cost;
• Graphical User Interface (GUI); allows easy interaction with
computer.
• The GUI of Linux is X Window System.
• Linux has a number of GUIs called Desktop Environments (GNOME,
KDE)
• Security; Linux if free of virus attacks.
• This is the reason many Internet Service Providers replace their
current operating systems with Linux.
• High User Load; supports a large number of users working
simultaneously, and is being adopted by large organizations.