Operating System Notes
1. Functions of an Operating System
-----------------------------------
- Process Management: Manages running programs and multitasking.
- Memory Management: Allocates and deallocates memory to applications.
- File System Management: Organizes and retrieves stored data efficiently.
- Device Management: Controls peripheral devices (printers, USBs, etc.).
- Security & Access Control: Provides authentication and encryption.
- User Interface: Enables interaction via CLI (Command Line) or GUI (Graphical).
2. Types of Operating Systems
-----------------------------------
- Batch OS: Executes tasks in batches without user interaction.
- Time-Sharing OS: Allows multiple users to access a system simultaneously.
- Real-Time OS (RTOS): Processes data instantly, used in critical systems.
- Hard RTOS: Strict time constraints (e.g., airbag control in cars).
- Soft RTOS: Less strict timing (e.g., multimedia streaming).
- Single-User OS: Designed for one user at a time (e.g., Windows, macOS).
- Multi-User OS: Supports multiple users simultaneously (e.g., Linux, UNIX).
- Mobile OS: Designed for smartphones and tablets (e.g., Android, iOS).
- Embedded OS: Used in ATMs, smart TVs, appliances (e.g., FreeRTOS, VxWorks).
3. Windows vs. Linux vs. macOS
-----------------------------------
- Windows: User-friendly, supports gaming, prone to viruses.
- Linux: Highly customizable, secure, best for developers and servers.
- macOS: Optimized for Apple devices, best for professionals and designers.
4. File Systems and Memory Management
-----------------------------------
- File Systems:
- FAT32: Older Windows format, limited file size.
- NTFS: Used in Windows, supports encryption and permissions.
- ext3/ext4: Used in Linux, better performance.
- APFS: Used in macOS, optimized for SSDs.
- Memory Management:
- Paging: Divides memory into fixed-size blocks.
- Segmentation: Divides memory into variable-sized segments.
- Virtual Memory: Uses part of the hard drive as extra RAM.
- Cache Memory: High-speed storage between CPU and RAM.
These topics are essential for BPSC Computer Science preparation.