Operating Systems: Fundamentals and Computer System Organization
Overview of Operating Systems
Definition and Core Functions:
An operating system is fundamental system software responsible for managing physical computer hardware.
It serves as a base layer and infrastructure upon which application programs are executed.
It functions as an intermediary interface bridging the gap between computer users and raw physical hardware.
Scope and Environmental Diversity:
Operating systems exhibit significant variation in architecture, design, and execution strategy depending on the target computing environment.
They are deployed across a diverse spectrum of systems, including:
Automotive control systems and embedded vehicle machinery.
Home appliances and Smart/Internet of Things (IoT) devices.
Mobile devices such as smartphones and tablets.
Personal computers (PCs) and laptop systems.
Enterprise servers and mainframe environments.
Scalable cloud computing infrastructure.
Essential Prerequisites and Fundamental Purpose:
Understanding operating system concepts requires prior knowledge of hardware organization and architecture, including the Central Processing Unit (CPU), primary memory, Input/Output (I/O) devices, and storage infrastructure.
The core responsibility of an operating system is the efficient allocation and management of hardware resources to running programs.
Key Topics in Operating System Design
Fundamental Study Areas:
Understanding what operating systems do and their functional roles.
Analyzing computer-system organization and hardware interconnections.
Comprehending computer-system architecture paradigms.
Examining operating-system operations and execution dynamics.
Implementing robust security and access protection mechanisms.
Utilizing virtualization technologies to abstract physical hardware.
Understanding distributed systems and network-based resource sharing.
Exploring diverse computing environments and operational models.
System Architecture and Components
The Four Structural Components of a Computer System:
Hardware: Provides basic computing resources, including the Central Processing Unit (CPU), main memory (RAM), storage drives, and Input/Output (I/O) devices.
Operating System: Controls and coordinates hardware utilization across various application programs and system users.
Application Programs: Define how system resources are utilized to solve specific computing problems for users (e.g., compilers, web browsers, software development kits, text editors, database systems).
Users: Consists of people, automated machines, or external computer systems interacting with the computing setup.

Perspective Analysis of Operating Systems
The User View:
Differs based on the specific user interface being employed.
Single-User Laptop and Personal Computer (PC) Systems:
Composed of a monitor, keyboard, mouse, and system unit.
Designed to allow one user to monopolize system hardware resources.
Primary goal: Maximize user performance, task output, and work (or play) satisfaction.
Optimization priorities: High ease of use, optimal performance, and robust security.
Resource utilization (how resources are shared among multiple concurrent users) is ignored or minimized.
Autonomous and Embedded Systems:
Found within automobiles, smart home appliances, and embedded IoT hardware.
Designed to execute continuously without direct user intervention.
Possess little to no user view or interface.
The System View:
Examines the operating system from the perspective of system hardware operations.
Identifies the operating system as the software program most closely connected to hardware execution.
Role as a Resource Allocator:
Serves as the primary manager of system resources (CPU clock cycles, memory capacity, file storage space, I/O devices).
Manages multiple, potentially conflicting requests for system resources.
Decides resource allocation strategies to ensure fair, ordered, and efficient computer system operations.
Role as a Control Program:
Directs and oversees the execution of user programs.
Prevents system execution errors and improper usage of the hardware.
Takes direct responsibility for the operation and control of attached I/O devices.
Defining the Boundaries of Operating Systems
Definition of the Kernel:
There is no single, universally accepted definition of everything that belongs inside an operating system.
The standard operational definition identifies the operating system as the single core program running at all times on the computer, known as the kernel.
Classification of Executable Software:
Kernel: The continuous, fundamental core operating system process.
System Programs: Associated software tools provided with the operating system that assist in system operations but do not reside inside the kernel core.
Application Programs: All external programs unrelated to direct system operation or maintenance.
Mobile Operating System Frameworks:
Mobile operating systems incorporate a core kernel along with extended middleware.
Middleware: A suite of software framework layers providing specialized services directly to application developers.
Major Mobile Platforms:
Apple iOS
Google Android
Both mobile platforms combine a core kernel with middleware supporting embedded databases, multimedia playback, and advanced graphic processing.
Computer System Organization and Hardware Infrastructure
General-Purpose Computer System Structure:
Consists of one or more CPUs alongside multiple specialized device controllers connected through a shared system bus.
System Bus: Establishes high-speed data transmission channels providing access between hardware components and shared memory.

Device Controllers:
Specialized hardware units responsible for managing specific peripheral device types (e.g., hard disk drives, audio systems, graphics displays).
Capable of attaching to multiple physical hardware peripherals:
Example: A single system Universal Serial Bus (USB) port connects to a USB hub, which in turn accommodates several connected peripherals (e.g., mouse, keyboard, printer).

Internal Controller Structure:
Contains local memory buffer storage.
Maintains a set of special-purpose hardware registers.
Primary Function: Executing direct data transfers between connected peripheral devices and the controller's internal local buffer storage.
Device Drivers:
Operating system software modules matched to specific device controllers.
Reads and writes to the device controller's registers and hardware interfaces.
Provides a standardized, uniform device access interface to the higher layers of the operating system.
Concurrency and Memory Synchronization:
The CPU and device controllers run concurrently in parallel, competing for access to memory clock cycles.
Memory Controller: Dedicated hardware component responsible for synchronizing access requests to shared main memory to prevent collisions and maintain data integrity.