Operating System
An Operating System (OS) is software that manages computer hardware and software resources and provides common services for computer programs. The OS is a vital component of the system software in a computer system.
Functions of an Operating System
1.Process Management:
- Creation and Deletion: Handles creation and termination of processes.
- Scheduling: Determines the order in which processes run.
- Synchronization: Manages synchronization between processes to prevent conflicts.
- Communication: Facilitates communication between processes through inter-process communication (IPC) mechanisms.
2. Memory Management:
- Allocation: Allocates memory to processes and deallocates when no longer needed.
- Paging and Segmentation: Manages physical and virtual memory through paging (dividing memory into fixed-size pages) and segmentation (dividing memory into variable-size segments).
- Swapping: Moves processes between main memory and disk to ensure efficient memory utilization.
3. File System Management:
- File Operations: Manages creation, deletion, reading, writing, and permissions of files.
- Directory Structure: Organizes files into directories for easier access.
- Storage Management: Manages how data is stored, retrieved, and organized on storage devices.
4. Device Management:
- Device Drivers: Provides drivers to control hardware devices.
- I/O Operations: Manages input and output operations from/to peripheral devices.
5. Security and Access Control:
- Authentication: Verifies user identities.
- Authorization: Ensures users have permission to access resources.
- Encryption: Protects data through encryption techniques.
6. User Interface:
- Command-Line Interface (CLI): Text-based interface where users type commands.
- Graphical User Interface (GUI): Visual interface with windows, icons, and menus.
Types of Operating Systems
1. Batch Operating Systems:
- Executes batches of jobs without user interaction.
- Example: Early mainframe operating systems.
2. Time-Sharing Operating Systems:
- Allows multiple users to share system resources simultaneously.
- Example: UNIX.
3. Distributed Operating Systems:
- Manages a group of distinct computers and makes them appear as a single system.
- Example: Apache Hadoop.
4. Real-Time Operating Systems (RTOS):
- Provides immediate processing for real-time applications.
- Example: VxWorks, QNX.
5. Network Operating Systems:
- Manages network resources and enables communication between computers on a network.
- Example: Novell NetWare, Windows Server.
6.Mobile Operating Systems:
- Designed specifically for mobile devices.
- Example: Android, iOS.
Components of an Operating System
1. Kernel:
- Core part of the OS, manages CPU, memory, and device resources.
- Types: Monolithic kernels (e.g., Linux), Microkernels (e.g., MINIX).
2. Shell:
- Interface that allows users to interact with the kernel.
- Types: CLI shells (e.g., Bash), GUI shells (e.g., Windows Explorer).
3. File System:
- Organizes and manages files on storage devices.
- Types: FAT, NTFS, ext3, ext4.
4. Device Drivers:
- Specialized programs that allow the OS to communicate with hardware devices.
5. System Utilities:
- System programs that perform specific, individual tasks (e.g., disk cleanup, antivirus).
Common Operating Systems
1. Windows:
- Developed by Microsoft.
- GUI-based, widely used in personal and business environments.
2. Linux:
- Open-source and widely used in servers, desktops, and embedded systems.
- Examples: Ubuntu, Fedora, CentOS.
3. macOS:
- Developed by Apple Inc.
- Known for its sleek GUI and integration with Apple hardware.
4. UNIX:
- Powerful, multi-user OS used in servers and workstations.
- Variants: AIX, HP-UX, Solaris.
5. Android:
- Open-source OS developed by Google for mobile devices.
- Based on the Linux kernel.
6. iOS:
- Mobile OS developed by Apple Inc. for iPhone and iPad.