- Published on
KembaraXtra-Computer Science - Operating Systems Overview
I. Introduction to Operating Systems (OS)
I. Introduction to Operating Systems (OS)
- Definition: Software that communicates with computer hardware, providing an environment for program execution.
- Purpose:
- Abstracts hardware details, allowing developers to focus on application logic.
- Provides a common set of services for applications.
- Manages hardware resources (memory, I/O devices, etc.).
- Enables multitasking (running multiple programs concurrently).
- Enforces isolation between programs and the OS, as well as user access control.
- Role as a Layer: Acts as an intermediary between hardware and applications.
- Hides hardware complexity.
- Offers a consistent programming model.
- Facilitates software development across diverse hardware.
- Two Major Categories:
- Kernel: The core of the OS.
- Everything Else: Non-kernel components that provide usability.
- The Kernel:
- Responsibilities:
- Memory management.
- Device I/O facilitation.
- Providing system services to applications.
- Enabling multitasking and resource sharing.
- Limitation: By itself, it doesn't provide a user interface.
- Shell:
- Definition: User interface for interacting with the kernel.
- Types:
- Command Line Interface (CLI): e.g., Bash shell (Linux/Unix).
- Graphical User Interface (GUI): e.g., Windows shell (desktop, Start menu, taskbar, File Explorer).
- Daemons/Services:
- Definition: Background processes that provide OS capabilities.
- Examples:
- Task Scheduler (Windows).
- cron (Unix/Linux) - Scheduling programs to run at specific times.
- Software Libraries:
- Purpose: Provide common code for applications and OS components (shell, services) to use.
- Benefit: Promotes code reuse and simplifies development.
- Device Drivers:
- Definition: Software designed to interact with specific hardware devices.
- Role: Bridge the gap between the kernel and diverse hardware.
- OS Inclusion: OSes include drivers for common hardware and mechanisms for installing additional drivers.
- Utilities:
- Definition: Basic applications included with most OSes (text editor, calculator, web browser).
- Classification: Arguably not core OS components, but often bundled for convenience.
- Foundation: Kernel and device drivers directly interact with hardware.
- Libraries: Provide functionality that both OS components (shell, services, utilities) and applications build upon.
- Layered Architecture (from bottom to top):
- Hardware
- Kernel & Device Drivers
- Libraries
- Shell, Services, Utilities, Applications
0 Comments