Lecture 1: History and Installation of Linux/Unix

Evolution of Operating Systems

  • Serial Processing:
    • Earliest computers lacked a real operating system.
    • Console-only interaction: direct input to output.
    • Two major challenges:
      1. Scheduling the use of the computer.
      2. Significant setup time for each run due to the absence of a resident system.
  • Simple Batch Systems:
    • Developed in the mid-1950s at General Motors on the IBM 701 (IBSYS).
    • Employed a layered system architecture.
    • Interactive input/output.
    • Utilized Job Control Logic (JCL) to handle job scheduling and execution.
  • Multi-programmed Batch Systems:
    • Employed Multiprogramming/Multitasking, enabling multiple programs to reside in memory concurrently.
    • Allowed programs to leverage idle CPU time.
  • Time-Sharing Systems:
    • Used when iteration was required.
    • Enabled multiple users to interact with the system simultaneously through terminals.
    • With NN users, each user gets approximately 1/N1/N of the CPU time.
    • First used by the IBM 709 (1961) with CTSS developed at MIT.

Policy vs. Mechanism

  • Operating systems require structure due to concurrent process interactions.
  • Important to differentiate between policies and mechanisms in OS design:
    • Policy: Defines what should be done.
    • Mechanism: Defines how it should be done.
  • Policies are more susceptible to change over time.
  • Separating mechanisms from policies ensures that policy changes do not necessitate mechanism changes, and vice versa.
  • Without separation, altering policies might demand a complete redesign.

Operating System Design Approaches

  • Kernel
    • UNIX (all variants)
    • AKA Microkernel System
  • Layered
    • DOS, Windows
    • AKA Monolithic Kernel

ISO OSI Layer Model

  • Layer 7: Application
  • Layer 6: Presentation
  • Layer 5: Session
  • Layer 4: Transport /Transportation
  • Layer 3: Network
  • Layer 2: Data Link
  • Layer 1: Physical

Processors

  • Also known as the central processing unit (CPU).
  • Represents the architecture upon which the Operating System is built.
  • The integer accumulating register's bit size determines the processor's bit size.
  • The size of the Data bus is not the processor size.
  • The size of the address bus of the processor and memory unit determines the maximum accessible memory.

16, 32 & 64 bit

  • 8086 (original PC): 16 bit
  • 80286 (original AT): 16 bit
  • 80386, 486, Pentium, 586: 32 bit
  • Intel Core Duo (EMT64): emulated 64 bit
  • Intel Itanium: 64-bit
  • Intel Atom: 32 bit
  • Intel Celeron: some 32 some 64 bit
  • AMD Althon, Sempron, Phenom: some 64 bit some 32
  • Arm v7 v6 v8-R: 32 bit, v8-A 64 bit

Know Your Processor

  • Identifying the processor is crucial for selecting compatible applications and OS versions.
  • The assertion that 64-bit is always faster is not universally true.

UNIX

  • Represents a class of operating systems.
  • UNIX versions are referred to as flavors or distributions.
  • Chief uses:
    • Controlling networks
    • Supporting Internet-based applications
  • Developed in 1969 at Bell Labs.
  • Considered the only