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:
- Scheduling the use of the computer.
- 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 N users, each user gets approximately 1/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