the gnu/linux operating system

Upload: manu-krishnan-tv

Post on 10-Apr-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 The GNU/Linux Operating System

    1/54

  • 8/8/2019 The GNU/Linux Operating System

    2/54

  • 8/8/2019 The GNU/Linux Operating System

    3/54

  • 8/8/2019 The GNU/Linux Operating System

    4/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    The Making of GNU/Linux Includes

    The development of GNU applications

    Failure of the GNU micro kernel project Integration of Linux kernel to the GNU

    applications

    The GNU Logo >>

  • 8/8/2019 The GNU/Linux Operating System

    5/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    History of GNU In late 1970's, the computers were very

    large, rare and can been seen only in large

    Labs. Each of such computers had their own OS

    and researchers worked on improving it as

    a community. Richard Mathew Stallman was one of the

    workers in the MIT Artificial Intelligence lab.

  • 8/8/2019 The GNU/Linux Operating System

    6/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    The community was enhancing thefunctioning of the Time Sharing OS (ITS)

    used in PDP-10 manufactured by DEC

    His words follows...

    History of GNU

  • 8/8/2019 The GNU/Linux Operating System

    7/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    We did not call our software free software,

    because that term did not yet exist; but thatis what it was. Whenever people fromanother university or a company wanted toport and use a program, we gladly let them.If you saw someone using an unfamiliar andinteresting program, you could always askto see the source code, so that you couldread it, change it, or cannibalize parts of itto make a new program.

  • 8/8/2019 The GNU/Linux Operating System

    8/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    PDP-10

  • 8/8/2019 The GNU/Linux Operating System

    9/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    The AI lab hacker community collapsed, as in1981, the company Symbolics had hired away

    nearly all of the hackers from the AI lab Also, when the AI lab bought a new PDP-10 in

    1982, its administrators decided to use

    Digital's non-free timesharing system insteadof ITS.

    Stallman resigned from MIT and started

    writing codes for the GNU project to build anentire free Operating System. GNU stands for GNU is Not UNIX

  • 8/8/2019 The GNU/Linux Operating System

    10/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    The Contributions The GNU project started of with the GCC

    compiler

    Later came GNU Emacs a text editor BASH The Shell

    GNOME The graphical user environment HURD The Micro Kernel

    And many more from the supporters

  • 8/8/2019 The GNU/Linux Operating System

    11/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    The GNU softwares became popular and

    was widely used in UNIX systems By 1990, the GNU system was almost

    complete; the only major missing

    component was the kernel. GNU HURD; the project for kernel

    development started in 1990, but due to the

    complex architecture and message passingfeatures, it was not completed in time. HURD developments still continues...

  • 8/8/2019 The GNU/Linux Operating System

    12/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    History of Linux Almost the same time, when GNU started,

    DOS was the most used OS in PC's.

    The other one; UNIX was more expensive. The source code of Unix, once taught in

    universities courtesy of Bell Labs, was now

    cautiously guarded and not publishedpublicly.

  • 8/8/2019 The GNU/Linux Operating System

    13/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    The history of Linux really start with MINIX MINIX was written from scratch by Andrew S

    Tanenbaum, a professor who wanted to teach hisstudents the inner working of OS

    Around 12,000 lines of code

    Written in C and assembly language Had the advantage that the source code was

    available

    In 1991, in Helsinki, Linus Torvalds; secondyear student of Computer Science began aproject based on MINIX that later became theLinux kernel

  • 8/8/2019 The GNU/Linux Operating System

    14/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    The early Linux project (Freax)

    Was initially a terminal emulator, which wasused to access the large UNIX servers of theHelsinki university.

    Written as OS independent and for a PC withan 80386 processor.

    Used GCC for compiling

    The Linux Logo (TUX) >>

  • 8/8/2019 The GNU/Linux Operating System

    15/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    In August 25, 1991 the historic post was

    sent to the MINIX news group by Linus,regarding his project. Linux version 0.01 was released by mid of

    September 1991. The development gathered momentum

    really fast.

    By December 1991, came version 0.10.

  • 8/8/2019 The GNU/Linux Operating System

    16/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    17/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    The GNU/Linux Time line

    1992: The Linux kernel is relicensed underthe GNU GPL. 1993:

    Over 100 developers work on the Linux kernel.With their assistance the kernel is adapted tothe GNU environment

    The oldest currently existing Linux distribution,Slackware, is released for the first time.

    The Debian project is established. Today it isthe largest community distribution.

  • 8/8/2019 The GNU/Linux Operating System

    18/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    1994: In March, Torvalds judges all components of the

    kernel to be fully matured: he releases version1.0 of Linux.

    The XFree86 project contributes a graphic userinterface (GUI).

    Red Hat and SUSE publish version 1.0 of theirLinux distributions.

    1995: Linux is ported to the DEC Alpha and to the Sun

    SPARC.Over the following years it is ported toan ever greater number of platforms.

  • 8/8/2019 The GNU/Linux Operating System

    19/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    1996: Version 2.0 of the Linux kernel is released. The

    kernel can now serve several processors at thesame time, and thereby becomes a seriousalternative for many companies.

    1998: Many major companies such as IBM, Compaq

    and Oracle announce their support for Linux.

    A group of programmers begins developing thegraphic user interface KDE, which dependedon the then proprietary Qt toolkit.

  • 8/8/2019 The GNU/Linux Operating System

    20/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    1999: A group of developers begin work on the

    graphic environment GNOME, which shouldbecome a free replacement for KDE.

    During the year IBM announces an extensive

    project for the support of Linux. 2004:

    The XFree86 team splits up and joins with theexisting X Window standards body to form theX.Org Foundation, which results in asubstantially faster development of the XWindow Server for Linux.

  • 8/8/2019 The GNU/Linux Operating System

    21/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    The detailed time line can be obtained from

    http://lwn.net/Articles/Timeline200 X / Replace X by 2 to 8

    Older Time lines

    2001: http://lwn.net/2001/features/Timeline/ 2000: http://lwn.net/2000/features/Timeline/ 1999: http://lwn.net/1999/features/Timeline/

    1998: http://lwn.net/1999/features/1998timeline/

  • 8/8/2019 The GNU/Linux Operating System

    22/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    23/54>> 0 >> 1 >> 2 >> 3 >> 4 >>

    GNU/Linux Distros

    Since GNU and Linux are two separateprojects, companies and communitiescombined these with few other softwares,

    and made packages, which could work as acomplete Operating System Slackware, RedHat, etc were among the

    first GNU/Linux distributions(Distros) Today, 1000's of GNU/Linux distros are

    available

  • 8/8/2019 The GNU/Linux Operating System

    24/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    Community Backed

    Debian Fedora Puppy

    Commercially Backed RedHat Suse

    Ubuntu

  • 8/8/2019 The GNU/Linux Operating System

    25/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    26/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    27/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    GNU/Linux Architecture Similar to the UNIX structure Entirely different from UNIX code

  • 8/8/2019 The GNU/Linux Operating System

    28/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    29/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    GNU/Linux

    Architecture

  • 8/8/2019 The GNU/Linux Operating System

    30/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    GNU/Linux

  • 8/8/2019 The GNU/Linux Operating System

    31/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    32/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    33/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    Booting

    Boot Loaders: GRUB LILO

  • 8/8/2019 The GNU/Linux Operating System

    34/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    Ownership of Files and Processes

    Each file has an owner and group owner Owner has all privilages over the file and

    can set the privilages for other users

    GNU/Linux keeps tracks of files using UID'sand GID's

  • 8/8/2019 The GNU/Linux Operating System

    35/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    File Permissions

    Uses traditional UNIX model CHMOD

    0 : --- 1 : --X 2 : -W- 3 : -WX 4 : R--

    5 : R-W 6 : RW- 7 : RWX

  • 8/8/2019 The GNU/Linux Operating System

    36/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    Processes

    The Kernel's internal data structures recordvarious pieces of information about eachprocess

    Address space map Current status Priority

    Resources used

    Files and ports used Owner

  • 8/8/2019 The GNU/Linux Operating System

    37/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    Kernel assigns a unique ID number to eachprocess PID Assignesd in the order in which processes are

    created System processes have low PID

  • 8/8/2019 The GNU/Linux Operating System

    38/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    Process is created by a fork system call as

    in UNIX Creates a copy of process with unique PID Uses exec system calls to begin execution of

    new process Clone Calls set of processes that share

    memory, I/O or both. INIT Automatically started process during

    booting; PID=1 INIT executes startup scripts

  • 8/8/2019 The GNU/Linux Operating System

    39/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    INIT

    Represents a particular complement ofservices that the system should be running O completely Shutdown 1 Single User Mode 2 to 5 Multiuser Levels 6 Reboot

  • 8/8/2019 The GNU/Linux Operating System

    40/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    Process States

    Four execution states Running Process can be executed Sleeping Waiting for some resource

    Zombie Trying to die Stopped Suspended (Not allowed to execute)

  • 8/8/2019 The GNU/Linux Operating System

    41/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    Desktop Environments Variety of desktop environments are

    available

    KDE GNOME XFCE LXDE

  • 8/8/2019 The GNU/Linux Operating System

    42/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    KDE

  • 8/8/2019 The GNU/Linux Operating System

    43/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    GNOME

  • 8/8/2019 The GNU/Linux Operating System

    44/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    45/54

  • 8/8/2019 The GNU/Linux Operating System

    46/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    Desktop Managers There were many recent advancements in

    the GNU/Linux Desktop managers Compiz OpenBox

  • 8/8/2019 The GNU/Linux Operating System

    47/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    48/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

  • 8/8/2019 The GNU/Linux Operating System

    49/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    GNU HURD The original Kernel project for GNU A Micro Kernel

    Initially decided to use Mach micro kernel In 2004, decided to port to L4

    GNU HURD Logo >>

  • 8/8/2019 The GNU/Linux Operating System

    50/54

  • 8/8/2019 The GNU/Linux Operating System

    51/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    According to the Debian documentationthere are 24 servers (18 core servers and 6file system servers)

    Core servers auth (authentication server) crash (crash server) exec (execution server) Fifo (FIFO translator) new-fifo (new FIFO server) firmlink (the firmlink translator)

  • 8/8/2019 The GNU/Linux Operating System

    52/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    fwd (forward server) hostmux (host multiplexer server) ifsock (server for sockets interface) init (init server) magic (magic server) Null (null server) pfinet (pfinet server) Pflocal (pflocal server) proc (process server) symlink (symbolic link translator)

  • 8/8/2019 The GNU/Linux Operating System

    53/54

    >> 0 >> 1 >> 2 >> 3 >> 4 >>

    term (terminal server) usermux (user multiplexer server)

    Filesystem servers The ext2fs server "ext2fs" The iso filesystem server "isofs" The nfs server "nfs" The ufs server "ufs" The ftp filesystem translator "ftpfs" "storeio"; The storage translator

  • 8/8/2019 The GNU/Linux Operating System

    54/54

    Thats all for now

    Thanks for your patience....