SlideShare a Scribd company logo
Intro to Linux



            Kevin B. O'Brien
     Washtenaw Linux Users Group
        http://www.lugwash.org
        http://www.zwilnik.com
What is an OS? 1
   First computers had no OS
   They ran a program and data, prepared
    for specific hardware
   Ran one “job” at a time
   Time-sharing is what led to first OS



                                            2
What is an OS? 2
   These OS’s managed the hardware,
    scheduled the jobs, and contained
    “runtime libraries”
   Usually written in machine language




                                          3
Unix
   Developed at Bell Labs in late 1960s
   Owned by AT&T at the time, which meant
    you had to buy it once AT&T figured out it
    was valuable
   Written in C (a high level language)
   Needs to be compiled to run
   Can be easily moved to a different system
    by re-compiling for new hardware          4
BSD 1
   In 1973 UC Berkeley acquired a license
    on favorable terms.
   In 1977 Bill Joy (grad student at the time)
    released the first version of Berkeley
    Software Distribution (BSD). This
    becomes pretty much free to anyone who
    wants it.


                                                  5
BSD 2
   In 1990s legal battle between U C
    Berkeley and an AT&T subsidiary, BSD
    becomes legally free.
   BSD is in some sense “real” Unix. It uses
    code that can be traced back to Bell Labs.
   Has since split into various flavors
    (FreeBSD, NetBSD, OpenBSD)

                                                 6
GNU Project 1
   Richard M Stallman (rms) was a
    programmer at MIT, which had a hacker
    ethos
   Became very upset at rise of proprietary
    software that cannot be modified or
    hacked.



                                               7
GNU Project 2
   Founded GNU project in September 1983
    to create a Unix “clone” with 100% free
    code.
   Founded Free Software Foundation, and
    ultimately the GNU Public License (GPL),
    now in version 3



                                               8
GNU Project 3
   GNU project starts with developing the
    tools need to create an OS: compiler
    (GCC), text editor (Emacs), debugger,
    build automator. But still no kernel. Hurd,
    the proposed kernel, was started in 1990,
    but progress was slow.




                                                  9
Linux 1
   Linus Torvalds, Finnish computer student,
    wanted a simple OS for his computer.
   Looked at Minix, a very simple “Unix-like”
    OS. Hurd is still nowhere near ready
   The owner of Minix, Andrew Tanenbaum,
    would not make the changes people
    wanted to Minix

                                                 10
Linux 2
   Linus decides to make his own version,
    and is quite happy to work with others to
    make changes that people want. Post to
    Usenet in August 1991




                                                11
Linux 3
   Hello everybody out there using minix - I'm doing a (free) operating
    system (just a hobby, won't be big and professional like gnu) for
    386(486) AT clones. This has been brewing since april, and is
    starting to get ready. I'd like any feedback on things people
    like/dislike in minix, as my OS resembles it somewhat (same
    physical layout of the file-system (due to practical reasons) among
    other things). I've currently ported bash (1.08) and gcc(1.40),and
    things seem to work. This implies that I'll get something practical
    within a few months, and I'd like to know what features most people
    would want. Any suggestions are welcome, but I won't promise I'll
    implement them :-) Linus (torvalds@kruuna.helsinki.fi)
    PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
    It is NOT protable (uses 386 task switching etc), and it probably
    never will support anything other than AT-harddisks, as that's all I
    have :-(.




                                                                         12
Linux 4
   Linus uses GNU tools, and ultimately
    releases his OS, which became known as
    Linux, under the GPL in December 1992.




                                         13
Kernel 1
   What Linus wrote was a kernel




                                    14
Kernel 2
   “Typically, a kernel (or any comparable center of an operating
    system) includes an interrupt handler that handles all requests or
    completed I/O operations that compete for the kernel's services, a
    scheduler that determines which programs share the kernel's
    processing time in what order, and a supervisor that actually gives
    use of the computer to each process when it is scheduled. A kernel
    may also include a manager of the operating system's address
    spaces in memory or storage, sharing these among all components
    and other users of the kernel's services. A kernel's services are
    requested by other parts of the operating system or by application
    programs through a specified set of program interfaces sometimes
    known as system calls.”
    (http://searchenterpriselinux.techtarget.com/sDefinition/0,,sid39_gci
    212439,00.html)




                                                                        15
Kernel 3
   The latest stable Linux kernel is currently
    2.6.26 (as of early 2009)
   Linus himself has remained almost
    entirely concerned with the kernel
   Other necessary programs come from
    other developers


                                                  16
Shell 1
   This is the part of the OS that interacts
    with the user
   This does not generally refer to Graphical
    User Interfaces (GUI), but to command
    line interfaces (CLI)
   Examples are Bourne Shell (sh), Bourne-
    Again shell (bash), Korn shell (ksh), and
    C shell (csh)
                                                 17
Shell 2
   These are somewhat similar to the DOS
    COMMAND.COM, and its Windows
    successor CMD.EXE. They have a list of
    built-in commands and capabilities that
    you can use




                                              18
X1
   As Xerox PARC first showed, and
    Macintosh then made very clear,
    graphical interfaces are easier for most
    people to use
   The basic need for a GUI as it is currently
    conceived is a windowing system, that is,
    software to draw windows on the screen


                                                  19
X2
   A program called “W”, for window, was
    written at Stanford, and then ported to
    Unix
   At MIT, this was developed further and
    became “X” (the letter after W)
   By 1987 X had gotten to version 11,
    which was released as free software
    (X11)
                                              20
X3
   X is only the basis. Many window
    managers have been written using the
    underlying code of X (e.g. Enlightenment,
    Fluxbox, Metacity, WindowMaker)




                                                21
Wayland

   But X is old, and hard to use for modern
    3D systems
   So Wayland is the next graphical
    environment
   Scheduled to appear in Ubuntu 11.10 and
    Fedora 15



                                               22
Desktop Environment 1
   Same thing as a GUI, to start with, but
    now goes much further
   Lets you interact with the computer in
    other ways than through the command
    line shell
   Develops from the first window managers,
    but goes much further

                                              23
Desktop Environment 2
   Has the ability to configure the
    appearance of the screen in various ways
    (e.g. color schemes, themes, icons)
   Has started to include more and more
    software programs (particularly Gnome
    and KDE). This is not necessarily a good
    thing (bloat). Examples include their own
    built-in Web browsers, text editors, and
    games

                                                24
Desktop Environment 3
   Gnome is considered somewhat more like
    Macintosh
   KDE is considered somewhat more like
    Windows
   XFce is less bloated, and should be a little
    snappier, particularly on older hardware. It
    is, however, an order of magnitude larger
    than a simple Window manager.
                                               25
Comparison to Windows 1
   Windows also has a kernel. They just
    don’t talk about it much. But any OS has
    to handle the basic things a kernel
    handles.
   Windows also has a shell, but only one.
    You have no choice.
   Windows “shell” is more limited. And most
    Windows users have rarely if ever used it.
                                               26
Comparison to Windows 2
   Linux’s shells are robust, and can do
    anything you need them to do.
   You can use a simple Window manager,
    which could let you run a system on older
    hardware or conserve system resources,
    if you are in Linux. Windows does not give
    you any options.


                                             27
Comparison to Windows 3
   Windows has one Desktop Environment.
    You do not get to choose. And it is
    definitely bloated.




                                           28
Distributions 1
   Linux has a variety of distributions, which
    are called distros.
   The oldest is MCC Interim Linux, begun in
    February 1992
   There are now hundreds of distros. If you
    don’t see one you like, start your own. 


                                                  29
Distributions 2
   Distros have a variety of components, and how
    and what they select is the main distinction
    among different distros
   Kernel: Every distro will have a kernel, usually
    the latest stable version at the time the distro is
    released. But over time a distro like Debian,
    which is notably slow to update, will fall behind
    the latest version. A distro like Ubuntu, which
    releases a new version every 6 months, is more
    likely to have the latest version of the kernel

                                                      30
Distributions 3
   Shell: Every distro will have a selection of
    shells available (and you can always
    install any that are missing). By default,
    most distros install the bash shell in their
    initial installation.




                                                   31
Distributions 4
   Drivers: These let your kernel/OS work with peripheral
    equipment, like video cards, sound cards, mice,
    monitors, printers, etc. The key issue here is whether
    the drivers are open source (i.e. the source code has
    been released for anyone to look at and modify) or
    proprietary (the drivers are kept secret by an owner).
    This is currently a big issue in the Linux community. Any
    change to the kernel in any OS could potentially render
    some equipment unusable. If the drivers are open
    source, the Linux developer community can usually fix
    the problem very quickly, but if they are proprietary, you
    are at the mercy of an owner somewhere who may not
    consider it a priority to fix the problem.

                                                             32
Distributions 5
   Utilities: Every distro will include a variety
    of utilities. Many of these come from the
    GNU Project, such as GCC and Emacs.
    Others come from a variety of developers
    all over the world.




                                                     33
Distributions 6
   Codecs: In this day of multimedia computing, the
    codecs (Coder-Decoder) used for sound and video are
    very important. Some codecs are free and open (like
    ogg vorbis (sound) and ogg theora (video)) and others
    are proprietary (like MP3, owned by Fraunhofer). And
    DVDs are recorded in closed codecs). Some distros will
    only include software (including codecs) that is free and
    open (e.g. PhatLinux), other include proprietary stuff
    right out of the box (e.g. Linspire). Many take a middle
    ground; they don’t install it right away, but make it easy
    for you to install if you decide to do so (e.g. Ubuntu)



                                                                 34
Distributions 7
   Other software: These days, most distros
    will include a lot of other software as well.
    Examples include Web browsers like
    Firefox, office productivity suites like
    OpenOffice.org, media players, CD
    Burning software, etc. And pretty much
    every major distro makes it easy to add
    software and offers a wide variety of free
    and open source software to fit any need
    most people have.
                                                    35
Software Installation 1
   Linux gives you access to a wide variety
    of software packages
   Installation can take a variety of forms
    depending on the distro and the package




                                               36
Software Installation 2
   Repositories are online collections of
    software maintained by various
    companies, developers, etc. You can
    download software from these
    repositories and install it on your
    computer at any time.




                                             37
Software Installation 3
   Package Managers are utilities in each
    distro that let you easily access these
    repositories and handle the downloading
    and installing for you. These package
    managers deal with pre-compiled code, or
    binaries, which means that the code is
    already in the form that the computer
    needs to install it. This is pretty much the
    same as you would have with Windows
    installation software.
                                               38
Software Installation 4
   Every modern OS has found it preferable
    to use libraries of code that can be shared
    by a variety of different software
    programs. In Windows, these are called
    DLL files (Dynamic Link Libraries). In
    Linux, we frequently call them Libraries.




                                              39
Software Installation 5
   In Windows, these DLL files are often included
    with the software itself, and are installed at the
    same time as the program. In Linux, these are
    usually kept separate, and are called
    dependencies. In Windows, you can get into
    trouble when one program overwrites the DLL
    installed previously by another program with a
    different version number, sometimes breaking
    the other program. In Linux, this cannot happen
    accidentally if you are careful, but you need to
    watch out for this.

                                                         40
Software Installation 6
   Package Managers will help you by checking for any
    dependencies that need to be met. Many of them will
    even automatically go to the repository, download, and
    install any software programs or libraries you need to
    run the software program you are interested in as part of
    the installation process. This depends on being able to
    find the other programs or libraries in the repositories. If
    they cannot find these other programs or libraries, they
    will give you a message telling you which dependencies
    could not be met, and you can attempt to find the
    missing piece(s) on the Internet.



                                                               41
Software Installation 7
   Compiling from Source Code: Sometimes
    a pre-compiled binary is not available.
    Other times, you find the pre-compiled
    binary is not as good with your hardware
    as it could be. The answer is to download
    the source code, configure it, and compile
    it for yourself with your own hardware
    settings. This is not something a beginner
    would be likely to do right away, but it is
    not that hard.
                                              42

More Related Content

PDF
Installing Software, Part 1 - Repositories
PDF
Installing Software, Part 3: Command Line
PDF
Before begining linux
PPT
PPTX
Linux workshop
PPTX
Linux ppt
PDF
MOE Ubuntu Desktop training
PDF
Linux programming lecture_notes
Installing Software, Part 1 - Repositories
Installing Software, Part 3: Command Line
Before begining linux
Linux workshop
Linux ppt
MOE Ubuntu Desktop training
Linux programming lecture_notes

What's hot (20)

PPT
PDF
Linux introduction Class 02
DOCX
Linux notes
PDF
Foss History
PPTX
Linux introduction, class 1
ODP
Introduction to Linux OS
PPS
01 t1 s2_linux_lesson1
PDF
What is Linux, Ubuntu and Open Source?
PPTX
Introduction to Linux basic
PPTX
Linux Simple Introduction
PPT
Introduction to Linux
PPT
How ubuntu works???
PPTX
I Am Linux-Introductory Module on Linux
PPT
BITS: Introduction to linux, distributions and installation
PPT
Introduction to Ubantu
PPT
Introduction to Linux_by_Amit & Jiban
PDF
Part 1 of 'Introduction to Linux for bioinformatics': Introduction
PDF
Linux introduction
PDF
Get to know linux - First steps with Ubuntu
Linux introduction Class 02
Linux notes
Foss History
Linux introduction, class 1
Introduction to Linux OS
01 t1 s2_linux_lesson1
What is Linux, Ubuntu and Open Source?
Introduction to Linux basic
Linux Simple Introduction
Introduction to Linux
How ubuntu works???
I Am Linux-Introductory Module on Linux
BITS: Introduction to linux, distributions and installation
Introduction to Ubantu
Introduction to Linux_by_Amit & Jiban
Part 1 of 'Introduction to Linux for bioinformatics': Introduction
Linux introduction
Get to know linux - First steps with Ubuntu
Ad

Viewers also liked (17)

PDF
Find and Locate: Two Commands
PDF
Ubuntu installation
KEY
TMG Intro To Linux
PPT
Linux Intro
ODP
Intro To Linux
ODP
Encryption basics
PDF
Linux day 2016 la shell in linux
PDF
关于Linux的许多
PDF
Scripting and the shell in LINUX
PPT
Bash shell
PDF
Linux intro 1 definitions
PDF
Ubuntu – Linux Useful Commands
PPT
Unix/Linux Basic Commands and Shell Script
ODP
An Introduction to Linux
PPTX
Cryptography
PPTX
Operating Systems: Linux in Detail
PPTX
Cryptography and network security
Find and Locate: Two Commands
Ubuntu installation
TMG Intro To Linux
Linux Intro
Intro To Linux
Encryption basics
Linux day 2016 la shell in linux
关于Linux的许多
Scripting and the shell in LINUX
Bash shell
Linux intro 1 definitions
Ubuntu – Linux Useful Commands
Unix/Linux Basic Commands and Shell Script
An Introduction to Linux
Cryptography
Operating Systems: Linux in Detail
Cryptography and network security
Ad

Similar to Introduction to linux (20)

PPT
Linux Information
PPTX
Linux
PPT
L2(1).PPT
PPT
Chapter 8 - nsa Introduction to Linux.ppt
PPTX
Introduction to Linux for Windows Users
PPTX
Linux
PPT
Linux forensics
DOCX
Linux is a unix
PDF
Linux basics
PPT
Linux basics
PPTX
Linux; Operating System
PPTX
Programming and problem solving 3
PPTX
Linux kernel
PPTX
Linux kernel
DOCX
Linux technology
PPT
Linux command ppt
PPT
Ppt af linux
PPT
Ppt af linux
PPT
Ppt af linux
PPT
Ppt af linux
Linux Information
Linux
L2(1).PPT
Chapter 8 - nsa Introduction to Linux.ppt
Introduction to Linux for Windows Users
Linux
Linux forensics
Linux is a unix
Linux basics
Linux basics
Linux; Operating System
Programming and problem solving 3
Linux kernel
Linux kernel
Linux technology
Linux command ppt
Ppt af linux
Ppt af linux
Ppt af linux
Ppt af linux

More from Kevin OBrien (18)

PPTX
American icon pmi
ODP
Tls 1.3
ODP
Forward Secrecy
ODP
Diffie_Hellman-Merkle Key Exchange
ODP
Password best practices and the last pass hack
ODP
SSL certificates
ODP
Passwords
PDF
Linux Directory Structure
PDF
Hardware Discovery Commands
PDF
Help, my computer is sluggish
PDF
The ps Command
PDF
Installing Software, Part 2: Package Managers
PDF
Installing Linux: Partitioning and File System Considerations
PDF
The ifconfig Command
PDF
The Shell Game Part 4: Bash Shortcuts
PDF
The Shell Game Part 3: Introduction to Bash
PDF
The Shell Game Part 2: What are your shell choices?
PDF
The Shell Game Part 1: What is a shell?
American icon pmi
Tls 1.3
Forward Secrecy
Diffie_Hellman-Merkle Key Exchange
Password best practices and the last pass hack
SSL certificates
Passwords
Linux Directory Structure
Hardware Discovery Commands
Help, my computer is sluggish
The ps Command
Installing Software, Part 2: Package Managers
Installing Linux: Partitioning and File System Considerations
The ifconfig Command
The Shell Game Part 4: Bash Shortcuts
The Shell Game Part 3: Introduction to Bash
The Shell Game Part 2: What are your shell choices?
The Shell Game Part 1: What is a shell?

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
KodekX | Application Modernization Development
Digital-Transformation-Roadmap-for-Companies.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MYSQL Presentation for SQL database connectivity
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation theory and applications.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Empathic Computing: Creating Shared Understanding
Chapter 3 Spatial Domain Image Processing.pdf
20250228 LYD VKU AI Blended-Learning.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Introduction to linux

  • 1. Intro to Linux Kevin B. O'Brien Washtenaw Linux Users Group http://www.lugwash.org http://www.zwilnik.com
  • 2. What is an OS? 1  First computers had no OS  They ran a program and data, prepared for specific hardware  Ran one “job” at a time  Time-sharing is what led to first OS 2
  • 3. What is an OS? 2  These OS’s managed the hardware, scheduled the jobs, and contained “runtime libraries”  Usually written in machine language 3
  • 4. Unix  Developed at Bell Labs in late 1960s  Owned by AT&T at the time, which meant you had to buy it once AT&T figured out it was valuable  Written in C (a high level language)  Needs to be compiled to run  Can be easily moved to a different system by re-compiling for new hardware 4
  • 5. BSD 1  In 1973 UC Berkeley acquired a license on favorable terms.  In 1977 Bill Joy (grad student at the time) released the first version of Berkeley Software Distribution (BSD). This becomes pretty much free to anyone who wants it. 5
  • 6. BSD 2  In 1990s legal battle between U C Berkeley and an AT&T subsidiary, BSD becomes legally free.  BSD is in some sense “real” Unix. It uses code that can be traced back to Bell Labs.  Has since split into various flavors (FreeBSD, NetBSD, OpenBSD) 6
  • 7. GNU Project 1  Richard M Stallman (rms) was a programmer at MIT, which had a hacker ethos  Became very upset at rise of proprietary software that cannot be modified or hacked. 7
  • 8. GNU Project 2  Founded GNU project in September 1983 to create a Unix “clone” with 100% free code.  Founded Free Software Foundation, and ultimately the GNU Public License (GPL), now in version 3 8
  • 9. GNU Project 3  GNU project starts with developing the tools need to create an OS: compiler (GCC), text editor (Emacs), debugger, build automator. But still no kernel. Hurd, the proposed kernel, was started in 1990, but progress was slow. 9
  • 10. Linux 1  Linus Torvalds, Finnish computer student, wanted a simple OS for his computer.  Looked at Minix, a very simple “Unix-like” OS. Hurd is still nowhere near ready  The owner of Minix, Andrew Tanenbaum, would not make the changes people wanted to Minix 10
  • 11. Linux 2  Linus decides to make his own version, and is quite happy to work with others to make changes that people want. Post to Usenet in August 1991 11
  • 12. Linux 3  Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash (1.08) and gcc(1.40),and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. 12
  • 13. Linux 4  Linus uses GNU tools, and ultimately releases his OS, which became known as Linux, under the GPL in December 1992. 13
  • 14. Kernel 1  What Linus wrote was a kernel 14
  • 15. Kernel 2  “Typically, a kernel (or any comparable center of an operating system) includes an interrupt handler that handles all requests or completed I/O operations that compete for the kernel's services, a scheduler that determines which programs share the kernel's processing time in what order, and a supervisor that actually gives use of the computer to each process when it is scheduled. A kernel may also include a manager of the operating system's address spaces in memory or storage, sharing these among all components and other users of the kernel's services. A kernel's services are requested by other parts of the operating system or by application programs through a specified set of program interfaces sometimes known as system calls.” (http://searchenterpriselinux.techtarget.com/sDefinition/0,,sid39_gci 212439,00.html) 15
  • 16. Kernel 3  The latest stable Linux kernel is currently 2.6.26 (as of early 2009)  Linus himself has remained almost entirely concerned with the kernel  Other necessary programs come from other developers 16
  • 17. Shell 1  This is the part of the OS that interacts with the user  This does not generally refer to Graphical User Interfaces (GUI), but to command line interfaces (CLI)  Examples are Bourne Shell (sh), Bourne- Again shell (bash), Korn shell (ksh), and C shell (csh) 17
  • 18. Shell 2  These are somewhat similar to the DOS COMMAND.COM, and its Windows successor CMD.EXE. They have a list of built-in commands and capabilities that you can use 18
  • 19. X1  As Xerox PARC first showed, and Macintosh then made very clear, graphical interfaces are easier for most people to use  The basic need for a GUI as it is currently conceived is a windowing system, that is, software to draw windows on the screen 19
  • 20. X2  A program called “W”, for window, was written at Stanford, and then ported to Unix  At MIT, this was developed further and became “X” (the letter after W)  By 1987 X had gotten to version 11, which was released as free software (X11) 20
  • 21. X3  X is only the basis. Many window managers have been written using the underlying code of X (e.g. Enlightenment, Fluxbox, Metacity, WindowMaker) 21
  • 22. Wayland  But X is old, and hard to use for modern 3D systems  So Wayland is the next graphical environment  Scheduled to appear in Ubuntu 11.10 and Fedora 15 22
  • 23. Desktop Environment 1  Same thing as a GUI, to start with, but now goes much further  Lets you interact with the computer in other ways than through the command line shell  Develops from the first window managers, but goes much further 23
  • 24. Desktop Environment 2  Has the ability to configure the appearance of the screen in various ways (e.g. color schemes, themes, icons)  Has started to include more and more software programs (particularly Gnome and KDE). This is not necessarily a good thing (bloat). Examples include their own built-in Web browsers, text editors, and games 24
  • 25. Desktop Environment 3  Gnome is considered somewhat more like Macintosh  KDE is considered somewhat more like Windows  XFce is less bloated, and should be a little snappier, particularly on older hardware. It is, however, an order of magnitude larger than a simple Window manager. 25
  • 26. Comparison to Windows 1  Windows also has a kernel. They just don’t talk about it much. But any OS has to handle the basic things a kernel handles.  Windows also has a shell, but only one. You have no choice.  Windows “shell” is more limited. And most Windows users have rarely if ever used it. 26
  • 27. Comparison to Windows 2  Linux’s shells are robust, and can do anything you need them to do.  You can use a simple Window manager, which could let you run a system on older hardware or conserve system resources, if you are in Linux. Windows does not give you any options. 27
  • 28. Comparison to Windows 3  Windows has one Desktop Environment. You do not get to choose. And it is definitely bloated. 28
  • 29. Distributions 1  Linux has a variety of distributions, which are called distros.  The oldest is MCC Interim Linux, begun in February 1992  There are now hundreds of distros. If you don’t see one you like, start your own.  29
  • 30. Distributions 2  Distros have a variety of components, and how and what they select is the main distinction among different distros  Kernel: Every distro will have a kernel, usually the latest stable version at the time the distro is released. But over time a distro like Debian, which is notably slow to update, will fall behind the latest version. A distro like Ubuntu, which releases a new version every 6 months, is more likely to have the latest version of the kernel 30
  • 31. Distributions 3  Shell: Every distro will have a selection of shells available (and you can always install any that are missing). By default, most distros install the bash shell in their initial installation. 31
  • 32. Distributions 4  Drivers: These let your kernel/OS work with peripheral equipment, like video cards, sound cards, mice, monitors, printers, etc. The key issue here is whether the drivers are open source (i.e. the source code has been released for anyone to look at and modify) or proprietary (the drivers are kept secret by an owner). This is currently a big issue in the Linux community. Any change to the kernel in any OS could potentially render some equipment unusable. If the drivers are open source, the Linux developer community can usually fix the problem very quickly, but if they are proprietary, you are at the mercy of an owner somewhere who may not consider it a priority to fix the problem. 32
  • 33. Distributions 5  Utilities: Every distro will include a variety of utilities. Many of these come from the GNU Project, such as GCC and Emacs. Others come from a variety of developers all over the world. 33
  • 34. Distributions 6  Codecs: In this day of multimedia computing, the codecs (Coder-Decoder) used for sound and video are very important. Some codecs are free and open (like ogg vorbis (sound) and ogg theora (video)) and others are proprietary (like MP3, owned by Fraunhofer). And DVDs are recorded in closed codecs). Some distros will only include software (including codecs) that is free and open (e.g. PhatLinux), other include proprietary stuff right out of the box (e.g. Linspire). Many take a middle ground; they don’t install it right away, but make it easy for you to install if you decide to do so (e.g. Ubuntu) 34
  • 35. Distributions 7  Other software: These days, most distros will include a lot of other software as well. Examples include Web browsers like Firefox, office productivity suites like OpenOffice.org, media players, CD Burning software, etc. And pretty much every major distro makes it easy to add software and offers a wide variety of free and open source software to fit any need most people have. 35
  • 36. Software Installation 1  Linux gives you access to a wide variety of software packages  Installation can take a variety of forms depending on the distro and the package 36
  • 37. Software Installation 2  Repositories are online collections of software maintained by various companies, developers, etc. You can download software from these repositories and install it on your computer at any time. 37
  • 38. Software Installation 3  Package Managers are utilities in each distro that let you easily access these repositories and handle the downloading and installing for you. These package managers deal with pre-compiled code, or binaries, which means that the code is already in the form that the computer needs to install it. This is pretty much the same as you would have with Windows installation software. 38
  • 39. Software Installation 4  Every modern OS has found it preferable to use libraries of code that can be shared by a variety of different software programs. In Windows, these are called DLL files (Dynamic Link Libraries). In Linux, we frequently call them Libraries. 39
  • 40. Software Installation 5  In Windows, these DLL files are often included with the software itself, and are installed at the same time as the program. In Linux, these are usually kept separate, and are called dependencies. In Windows, you can get into trouble when one program overwrites the DLL installed previously by another program with a different version number, sometimes breaking the other program. In Linux, this cannot happen accidentally if you are careful, but you need to watch out for this. 40
  • 41. Software Installation 6  Package Managers will help you by checking for any dependencies that need to be met. Many of them will even automatically go to the repository, download, and install any software programs or libraries you need to run the software program you are interested in as part of the installation process. This depends on being able to find the other programs or libraries in the repositories. If they cannot find these other programs or libraries, they will give you a message telling you which dependencies could not be met, and you can attempt to find the missing piece(s) on the Internet. 41
  • 42. Software Installation 7  Compiling from Source Code: Sometimes a pre-compiled binary is not available. Other times, you find the pre-compiled binary is not as good with your hardware as it could be. The answer is to download the source code, configure it, and compile it for yourself with your own hardware settings. This is not something a beginner would be likely to do right away, but it is not that hard. 42