Operating Systems Fundamentals
Core Functions and Features of Operating Systems
- Basic Computer Tasks: Every computer performs three fundamental tasks—input, processing, and output—which are coordinated and controlled by the operating system (OS).
- Primary OS Features:
- User Interface: Provides the mechanism for user interaction.
- Storage Management: Utilizes a file system to organize, store, and control access to files.
- Process and Service Management: Coordinates processes (programs loaded into memory and run by the CPU) and services (background processes).
- Memory and I/O Management: Allocates memory regions and ensures dedicated, orderly access to I/O hardware.
- Security and Resource Protection: Regulates access to system resources.
- Kernel: The core module running with highest priority.
Operating System Classifications
- Single-Tasking vs. Multitasking:
- Single-Tasking: Executes only one process at a time (e.g., Apple iOS 3 and earlier, embedded systems).
- Multitasking: Rapidly alternates execution between multiple active processes.
- Cooperative Multitasking: The OS releases CPU control to a process and waits for it to yield or terminate; a non-yielding program can monopolize the CPU.
- Preemptive Multitasking: The OS retains continuous control, utilizing interrupts or time-slice expiration to switch tasks predictably.


- Single-User vs. Multiuser:
- Single-User: Allows one user at a time to execute processes, modify configurations, and manipulate the file system (e.g., Windows 10 client).
- Multiuser: Supports concurrent access by multiple users via sign-in sessions (e.g., Linux, UNIX, Windows Server via Remote Desktop Protocol [RDP]).
- General-Purpose vs. Real-Time (RTOS):
- General-Purpose: Designed for diverse application workloads across business and domestic environments.
- Real-Time Operating System (RTOS): Deterministic systems engineered to process inputs and return outputs within repeatable, rigid timing constraints (e.g., industrial robotics, electrical grid control).
Operating System Roles
- Client Operating Systems: Optimized to run foreground, interactive user software, provide graphical interfaces, and request shared services from network hosts.
- Server Operating Systems: Engineered to provide shared services (e.g., DHCP, DNS, Web, Active Directory) with integrated fault tolerance:
- Clustering: Enables multiple servers to act as a unified entity, including load-sharing setups that distribute incoming workloads.
- Hot Swapping & Hot Adding: Permits replacement of damaged parts or dynamic installation of additional components (RAM, storage, CPUs) without taking the system offline.
- Standalone Operating Systems: Operate isolated devices without accessing external network resources, traditionally found in embedded devices (e.g., legacy traffic signals, industrial machines), though modern iterations increasingly interface with IoT.
Key Operating System Components
- Boot Procedure:
- Power is applied to the CPU and components.
- The CPU initializes.
- CPU executes firmware startup routines (BIOS or UEFI in non-volatile flash memory/EEPROM).
- Power-on self-test (POST) verifies system memory and core hardware; CMOS stores configuration settings.
- An initial bootstrap program locates and invokes the bootloader.
- The bootloader transfers the OS into RAM, initiating system processes and background services.
- Process and Service Management:
- Kernel Mode: Unrestricted CPU mode granting full hardware access and privileged instruction execution (e.g., setting timers, interrupt routing).
- User Mode: Restricted CPU mode with isolated memory boundaries; direct hardware interactions and privileged instructions are prohibited.
- Process Control: Processes are assigned a Process ID (PID) and utilize file handles to access storage resources.
- Memory and I/O Management:
- Device Drivers: Kernel-mode components facilitating communication between abstract OS requests and specific physical hardware.
- Polling vs. Interrupts: Polling repeatedly cycles through hardware devices; interrupt-driven architectures notify the CPU via Interrupt Request (IRQ) lines, prompting execution of an Interrupt Service Routine (ISR).
- Interrupt Types: Traps (software interrupts generated by user programs for kernel assistance), Maskable Interrupts (suppressible by priority), and Non-Maskable Interrupts (NMI, reserved for critical errors like division by zero or memory bus failures).

- Security and Kernel Operation:
- Authentication: Verifying user identity via credentials.
- Authorization: Verifying permissions granted to an authenticated entity.
- Kernel Responsibilities: Managing CPU scheduling, device drivers, interrupt tables, security validation, and physical memory allocation.
Historical Evolution and Modern Operating Systems
- Historical Progression:
- 1950s–1970s: Shift from punch-card mainframe calculation to modern foundations; emergence of the Internet, display terminals, magnetic media, OS/8, and UNIX.
- Mid-1960s–1975: Creation of Dartmouth BASIC; Bill Gates wrote a BASIC compiler for Micro Instrumentation Telemetry Systems (MITS), expanding personal desktop computing.
- 1980s: IBM adopted MS-DOS; Apple Macintosh introduced the mainstream mouse and GUI in 1984; Microsoft introduced Windows in 1985.
- Major Modern Operating System Families:
- Windows Client: Dominant home/enterprise client (Windows 7 reached end-of-life January 2020; Windows 10 is the successor standard).
- Windows Server: Enterprise server platforms including Windows Server 2012, 2016, and 2019 (Server 2008 support ended January 2020; Server 2012 support end scheduled October 2023).
- UNIX & Linux: Built around Berkeley Software Distribution (BSD) and System V Release 4 (SVR4) standards; Linux distributions (e.g., Fedora 30 Workstation and Server) function extensively across business and server infrastructures.
- macOS: Apple's desktop OS built on a UNIX foundation, utilizing an intuitive graphical interface (e.g., macOS Mojave).
Questions and Discussion
Question: In which of the following methods does the OS give CPU control to a process and wait for it to terminate or enter a waiting state?
- A) single-tasking
- B) preemptive multitasking
- C) multiuser tasking
- D) cooperative multitasking
Answer: D) cooperative multitasking
Question: The ability of two or more servers to act as one is known as which of the following?
- A) hot swapping
- B) clustering
- C) bootstrapping
- D) hot adding
Answer: B) clustering