Operating System Structures and Fundamentals

Jul 20, 2024

Structure of Operating System

Introduction

  • The Operating System (OS) works as an interface between computer hardware and applications.
  • Main Objectives: Memory management, process scheduling, disk management, and process management.

Types of Operating Systems

  • Android: For mobile devices
  • iOS: For Apple's devices
  • Windows: For personal computers
  • Linux/Unix: For servers and other uses
  • RTOS (Real-Time OS): For military applications and IoT devices

Multiprogramming, Multiprocessing, Multitasking, and Multithreading

  • Multiprogramming: Presence of multiple programs in the memory at one time
  • Multiprocessing: Running multiple processes simultaneously in a system
  • Multitasking: Dividing CPU time
  • Multithreading: Inclusion of multiple threads in a process

Process States

  • New: Process is being created
  • Ready: Process is ready for execution
  • Running: CPU is executing the process
  • Waiting: Waiting for input/output operation
  • Terminated: Process has completed

CPU Scheduling Algorithms

  • FCFS (First-Come, First-Served): First process comes first
  • SJFS (Shortest Job First): Shortest process comes first
  • Round Robin: Equal time quantum
  • Priority Scheduling: Process with highest priority comes first

Process Synchronization

  • Mutual Exclusion: Only one process accesses the critical section at a time
  • Progress: At least one process should progress
  • Bounded Waiting: Limited waiting time
  • Locks/Mutex: Locks for one process
  • Semaphore: Locking with count limit
  • Read-Lock/Write-Lock: Locking for reading and writing

Deadlock

  • Conditions: Mutual exclusion, hold and wait, no preemption, circular wait
  • Handling Techniques: Prevention, avoidance, detection, recovery, ignorance

Memory Management

  • Fixed Partitioning: Fixed-size partitions
  • Dynamic Partitioning: Dynamic size partitions
  • Paging: Small, fixed-size pages
  • Virtual Memory: Optimal memory utilization
  • Page Replacement Algorithms: FIFO, LRU, avoiding thrashing

Secondary Storage

  • Disk Structure: Tracks and sectors
  • Disk Scheduling Algorithms: FCFS, SSTF, SCAN, LOOK

Conclusion

  • The purpose of all the above points is to ensure that you have complete knowledge about the operating system. This lecture is important for both interviews and exams.