OPERATING SYSTEMS
1. Fundamental Definitions
An Operating System (OS) is a collection of computer programs that integrate hardware resources and make them available to users and programs. Its goal is to allow productive, timely, and efficient access to the computer.
Without an OS, a system faces several limitations:
Instructions must be loaded into memory by hand.
There is no user interface except for basic I/O routines provided by an executing program.
The system sits idle while waiting for user input.
There is no facility to store, retrieve, or manipulate files.
Only one program can run at a time, and the computer halts when it ends.
2. OS Degree of Activity
Operating systems can be categorized by how they interact with users:
Interactive: Also known as conversational systems.
Batch Processing: Users submit "jobs" for processing with little to no interaction during execution.
Event Driven: Driven by interrupts or specific service requests.
3. OS Components & Configurations
The OS is divided into two primary parts based on memory usage:
Memory Resident (The Kernel): Essential services always loaded in memory. It manages memory, processes, tasks, and secondary storage.
+1
Memory Non-resident: Infrequently used programs, software tools, and commands.
Kernel Configurations
Type | Characteristics | Examples |
Monolithic | All services are in one large kernel; requires careful stability management. +2 | Unix, Linux +1 |
Hierarchical | Organized in independent layers; requests pass down to the layer below. +1 | Windows 2000+, Multics |
Microkernel | Provides only minimum essential functionality; services are requested via messages. +1 | macOS |
Export to Sheets
4. Basic OS Services
The OS provides critical services that act as an interface between the hardware and the user:
+1
User Interface: Provides shells (like bash or PowerShell) and interfaces (CLI or GUI) to accept user commands.
+1
File Management: Provides directory structures and tools to copy, move, and secure files.
+1
Process Control: Manages processes (executing programs) and threads (individually executable parts of a process).
Memory Management: Tracks loaded programs, allocates/deallocates space, and prevents programs from overwriting each other.
Scheduling: Uses dispatching and multitasking to simulate simultaneous execution of multiple programs.
Secondary Storage Management: Optimizes disk usage and maintains file systems.
+1
Network/Communication: Uses protocols like TCP/IP to connect to other systems and access remote resources.
+1
Security: Protects the OS and processes from each other and unauthorized entry.
5. Seven Types of Operating Systems
Single-user Systems/Workstations: Standard laptops and desktops (e.g., Windows, macOS, Linux).
Mobile OS: Designed for handheld devices with constraints on power and memory (e.g., iOS, Android).
Mainframe Systems: Designed for large-scale resources and high volumes of transactions.
Network Servers: Focused on supporting clients with services like web, file, or database hosting.
Real-time Systems: Requires immediate OS access for time-critical tasks (e.g., air traffic control, car brakes).
Embedded Control Systems: Specialized for single pieces of equipment like a microwave or car engine (e.g., GM Delphi).
Distributed Systems: Processing power is spread across a cluster or network (e.g., DCE).