Linux Administration Course
Chapter 1: Computer System Introduction and History of Linux
The document provides an overview of computer systems and operating systems, and the history of Linux. It discusses the development of early operating systems like MULTICS and UNIX. Key events included the creation of the C programming language, which improved UNIX's portability. UNIX was licensed for educational use and BSD and System V arose as competing versions. Meanwhile, Richard Stallman founded the Free Software Foundation and created the GNU operating system using the GPL license. Linus Torvalds developed the Linux kernel as a free version of UNIX for personal computers, combining it with software from the GNU project to create the GNU/Linux operating system. Linux soon gained widespread adoption
3. Computer Systems Introduction
● Computer Complexity:
› A computer is a very complex electrical machine.
› The technical evolutions and smaller size have allowed the
creation of smaller, more complex and with better capabilities
machines.
› A computer can have a lot of different uses.
› Buying a computer nowadays is simple but managing one is
not and our knowledge of the technical aspects depend on
each situation and usage.
4. Computer Systems Introduction
● Computer Intelligence
› On its own a computer only performs
the designated system processes.
› When talking about computer
intelligence we are referring to
calculating power.
› The computer understands binary
language, combination of zeros (0) and
ones (1) (machine language).
› The microprocessors use a language
called “assembly”, where each
instruction corresponds to an
equivalent in binary.
5. The operating System
› An operating system is
several programs working
together allowing easier
management of the
computer.
› It serves as an interface
between the physical
(hardware) and the logical
support (software).
› It offers an interface for
application programming
called API.
6. The operating System
› The operating system allows
programmers to focus on the objective of
their program without having to worry
about other tasks like hardware
management for example.
› The operating system manages:
- The memory.
- The access to peripherals.
- The disk data.
- The programs.
- The security.
- The information gathering.
› Recently the operating system tends to
include a graphical interface but that is
not mandatory.
7. The Linux Operating System
Linux is an operating system of
Unix Type in the family of the
multitasking and the Multi-user
systems.
› Multitasking: The system
manages the simultaneous
execution of several programs
called processes.
› Multi-user: The system allows
the existence of several
different users on the same
machine and at the same time.
8. Unix type systems
The diagram on the left provides a brief explanation of
the internal structure of a Unix type system.
› The system call interface is used by the user
applications to communicate with the Unix system.
› The process control is responsible for the process
multitasking.
› The Filesystem block is responsible for the reading
and writing of the data on the hard drives.
› In the memory management there is a block called
cache memory which is used for writing
information targeted initially for the disk drive. That
way accessing that information is faster as it is in
memory.
› The drivers manage at low level the hardware or
the logical hardware structures.
10. MULTICS
● From MULTICS to UNIX
The history of Linux starts in 1964, when the MIT,
Bell Labs (AT&T) and General Electric started
developing the experimental project MULTICS.
This project needed to offer a system complying
with the following requirements:
› Possibility to be used by several people at the
same time.
› Possibility to start processes in the
background.
› Better security management.
MULTICS was developed in a big GE-645 General
Electric system equipped with 2 processors,
capable of processing 435 000 instructions per
second, three units of 1 MB of memory each and
136 MB of storage.
11. Space Travel
Even though MULTICS reached soon high enough
stability for a production environment it’s
performance was smaller than the expected. This
caused Bell Labs to abandon the project in 1969
in order to dedicate to developing another
system called GEGOS.
Ken Thompson, a developer in Bell Labs
continued working in the GE-645 and decided to
create a game called Space Travel. But the
execution of the game was too slow and costly
which led Ken to write the game for the DEC
PDP-7. He was helped by Dennis Ritchie and
together they started the idea of writing a new
operating system for the PDP-7 using the new
filesystem that was file orientated developed by
Ruud Canaday and adding a command line
interface and some tools. This new operating
system was called Unics and could support
simultaneously two users.
Space Travel
12. Unics
UNICS takes the standard concepts
proposed by MULTICS and improves on
them:
› It proposes a completely new system
of communication between the
programs in which a program can send
its data to another program.
› A text editing program (ed and runoff)
is added for the PDP-11/20 and for the
first time in 1970 the term Unix
Operating System is used.
› Unix is used as a text processing
system.
13. Portability
● The C language
Due to its origins (developed in assembler)
Unix had to be re-written in part for each
of the new models of DEC computers
which creates a portability problem. In
order to tackle this problem new languages
were considered like TMG and Fortran but
finally an association with Dennis Ritchie
comes into place to create the B language
(coming from BCPL). After tests this
language didn’t seem adequate as well so
starting from B Ritchie designs the New B
(called C language). From 1973 Unix is
re-written completely in C which makes
portability simpler and speeds the system
development.
14. Unix Licenses
● Licenses and the BSD and System V Rise
Thanks to the 1956 Monopoly Decree issued to
AT&T the company is unable to sell Unix so in
1974 UNIX is made available for educational
reasons with the Universities and Schools. One
of those universities is the Berkeley University
which is one of the major contributors in
developing UNIX by developing the first UNIX
BSD version.
From 1978 there is a big competition between
two UNIX schools. The first AT&T which
developes UNIX System V and the Berkeley
University which developes new BSD versions
as an opensource alternative to UNIX SYSTEM
V. This also causes a war between the two
sides from the 80s till 1994.
15. Unix
Unix is a good example of the good work that
can be done when a lot of energy is dedicated
in the search of a technological ideal.
When the code was distributed almost freely
in 1974 to the universities a community was
created that spend a lot of time modifying
and improving the program initially uploading
all the changes to AT&T, so they could be
added to the official product but after the
change of license in 1978 all the community
effort was focused with the BSD (Berkeley
Software Distribution) university project
leaving the commercial AT&T Unix aside.
The first computers were essentially
investigation tools in the hands of universities
and in those investigation laboratories
programs developed by one programing team
could be easily accessed and/or altered by
other teams.
16. Minix
● Unix in personal computers
In 1987 the Minix operating system was
created by Andrew Stuart Tanenbaum
for education purposes. This OS didn’t
require a lot of resources:
› 20 MB of disk space.
› 2 MB of physical memory
Minix was very important for the future
development of Linux.
17. GNU and FSF
Soon the big companies saw the possibilities
offered by the computers specifically in the
management of accounts and with the purchase
of the first management computers specific
programs were required that needed to be
protected as trade secrets. Quickly access was
limited to some of the programs and specific
proprietary licenses appeared.
One of the many who didn’t like this evolution
was Richard Stallman. He faced a huge issue
while working in the artificial intelligence
laboratory in the MIT at the end of the 1970
when facing a lack of driver for a new Xerox
printer just recently bought which led him, to
decide in 1983, to write a new completely free
operating system, based in Unix, called GNU
(Gnu’s Not Unix).
For his system he needed a core (heart of the
operating system) and tools (for file
management).
18. Hurd
The design of the core was a complex
process and needed an important
theoretical phase. The project HURD (Hird
of Unix Replacing Daemons) focused on
creating a microcore, while the
subsystems are very distanced (in
separated drives) and needed to
communicate between them.
This caused the project to advance slowly
due to the hard technical implementation
The battle for the HURD development is
not only technical it is also political,
philosophical and commercial. So to
defend the free software, Stallman created
the FSF (Free Software Foundation) in
1985 that makes public the ideals of free
software.
19. GPL
One of the first jobs is the creation of a special
license for those programs called the GPL
(General Public License) granting four freedoms:
› Freedom 0: The freedom to use the program
independently of the usage given.
› Freedom 1: Freedom to study the functionality
of the program and adapt it to your needs.
› Freedom 2: Freedom to make copies with the
objective of helping your neighbour.
› Freedom 3: Freedom to improve the program
and publish it for the general public with the
objective so the general community could use it.
The freedoms 1 and 3 need to have access to the
code. The third freedom also defines the community
responsibility with the free software.
20. Open Source
The expression open source appeared in
1998 when Netscape Communicator
converted into a free software program.
This expression was used in commercial
campaigns to try and reach companies by
making public the source code where the
biggest challenge was to distance from
the influence of the free software and
concentrate in the technical and
economical benefits in this model.
This led to the term “limited open source”
allowing access to the source code but
without the right of modification or
making copies.
21. GNU/Linux
The history of Linux starts when Linus Torvalds buys a
386 computer in 1991. This 386 computer had a
microprocessor of 32 bits capable of managing the
virtual memory and task switching. But the biggest
problem was the fact that the PC was ill-equipped
with MS-DOS, a system that is not capable of getting
the full potential of that processor.
Linus decided to install another system called Minix, a
small and free Unix, and He starts working and
developing programs in order to master the
functionality of the 386 computer (mainly the task
switching in assembly language).
He starts working in a new project: a terminal
emulator, written completely in assembly language,
in order to connect to his university server.
22. GNU/Linux
Unfortunately a small accident occurred and Linus
deletes the first sectors of the partition that contain
Minix deleting that way the main development
tool.
In order to solve this problem Linus re-installs the
development environment, decides to improve the
project and adds base code, a rudimentary disk
management tool, switch to C language and on the
25th of August of 1991 the version 0.01 is ready and
officially published although it is going to be used as
the missing core for GNU project.
From the start the objective of Linux is to improve
Minix and in version 0.02 (5th of October 1992) it
already has a shell (command line interpreter) and
gcc (C compiler).
23. GNU/Linux
From the public release of version 0.02
contributions for Linux start appearing and the
Linux community is born and quickly the 0.03
version is released and then the 0.10 version.
In 1992 for the first time Linux can operate with a
graphical interface (X11). This advance makes the
release 0.99 possible although we have to wait
till the 1994 for the complete version of Linux
(1.0).
From 1994 till 1997 the big Linux distributions
that we know nowadays appeared and Linux
continues improving with the arrival of
modularity and version 2.0. During these years
Linux slowly abandons the hacker world and it
slowly expands in different companies.
During that time the idea of preparing Linux for
the desktop world slowly expands with products
like Gnome and KDE.
24. Tux
A fun fact is that the Linux Mascot, called Tux,
was created around 1996 by Larry Ewing with
the help of free software program GIMP. Tux is
not a standard pinguin but a banded penguin
and it is the only type of penguin that lives north
of the equator in the wild.
In 1998 finally everyone notices Linux not only
as a mere game for university students. In
January of 1998 Netscape declares it’s product
opensource giving birth to Mozilla, Firefox and
Thunderbird. The training centers add Linux to
their catalogue and in july the same year Oracle
and Informix add Linux Support to their
products.
In January 1999 Linux 2.2 arrives and the great
success makes Microsoft react in the market
creating a situation of David vs Goliath.
25. GNU/Linux
Nowadays Linux is famous for being a
stable, robust and efficient operating
system and is used in ⅓ of the servers all
around the world and in ⅔ of the web
servers worldwide. It has conquered the
company, university and scientific world
and 98% of the top 500 most powerful
systems have a Linux based operating
system.
Currently Linux is used by 80% of the
mobile phone users as those phones use
Android (a system with Linux Core).