Linux

LINUX Overview

  • Chapters 1-3 cover foundational concepts of Linux and its operating principles.

OPERATING SYSTEM

  • An Operating System (OS) is crucial software that manages hardware and software resources on a computer.

KERNEL

  • The OS kernel is:

    • A core software component that manages low-level system features.

    • Responsible for interfacing hardware devices.

    • Allocates memory and CPU resources to programs.

    • Facilitates program interaction.

  • Kernels vary between operating systems:

    • Linux kernel differs from MAC OS X and Windows kernels.

    • Each OS is architecturally designed from its kernel upwards.

    • Linux specifically refers to its kernel.

IDENTIFYING AN OS

  • Key components of an OS include:

    • Terminal/Shell: Command line interface for user commands (BASH in Linux).

    • Graphical User Interface (GUI): Visual interface with icons and menus.

    • Utility Programs: Tools for various tasks (calculators, text editors).

    • Libraries: Collections of programming functions (libc in Linux).

    • Productivity Programs: Applications like web browsers and word processors.

TERMINAL/SHELL

  • Linux command line prompt is called Terminal/BASH.

  • BASH stands for Bourne Again Shell.

  • Commands differ significantly from Windows.

GRAPHICAL USER INTERFACE (GUI)

  • Includes elements such as icons and mouse pointers.

  • Common Linux desktop environments:

    • GNOME,

    • KDE,

    • Xfce,

    • Unity.

  • GUI features include:

    • Program launchers,

    • File managers,

    • Window controls,

    • Multi-screen support.

LINUX VS UNIX

  • Linux is modeled after Unix but is not a Unix OS.

  • Linux can run the same software as Unix but may offer more options due to hardware support.

LINUX VS MAC OS

  • MAC OS X is a Unix-based commercial operating system.

  • Has its unique interface (Cocoa/Aqua).

  • Compatibility issues exist between MAC OS X and Linux applications.

  • Installation restrictions on non-Apple hardware due to licensing.

LINUX VS WINDOWS

  • Key differences include:

    • Licensing: Open-source Linux vs. proprietary Windows.

    • Cost: Linux is often free while Windows is paid.

    • Hardware Compatibility: Windows has broader support from manufacturers for drivers.

    • Software Compatibility: Limited native options for proprietary Windows software like Microsoft Office.

    • Configurability: Linux is highly customizable due to its open-source nature.

    • Security: Linux is less susceptible to viruses; threats usually stem from configuration errors and untrustworthy local users.

DISTRIBUTIONS

  • Linux encompasses many distributions, each comprising a Linux kernel and various utilities.

  • Differences among distributions can be substantial, impacting user experience and administration.

  • Distribution release cycles vary; some follow scheduled updates, unlike Windows.

SOFTWARE LICENSING

  • Differentiates between free and open-source software:

    • Free Software: Emphasizes freedom rather than cost (FSF 4 freedoms).

    • Open Source: Collaborative development method prioritizing transparency.

  • Not all open-source software is free.

LINUX'S PRINCIPLES AND PHILOSOPHY

  • Discusses principles guiding Linux development and community values.

EMBEDDED COMPUTERS

  • Linux can be found in diverse applications, including:

    • Smart e-books,

    • DVRs,

    • Smart devices,

    • Appliances.

DESKTOP AND LAPTOP COMPUTERS

  • Linux's initial purpose was as a desktop OS; it supports numerous applications:

    • X Window System GUI,

    • Desktop environments like GNOME, KDE,

    • Common applications include Mozilla Firefox (browser), Thunderbird (email), GIMP (graphics), and office suites like Apache OpenOffice.

  • Many distributions pre-install these tools.

SERVER COMPUTERS

  • Linux is extensively used in server environments:

    • Types of servers include web, email, database, file, and print servers.

  • Servers may have minimal GUI requirements to conserve resources; Linux can operate efficiently without a desktop environment.