Operating Systems (Copy)
Cheat Sheet: A Level Computer Science – Operating Systems and Utility Software
1. Purpose of an Operating System (OS)
- Definition: Software that manages hardware and software resources of a computer
- Why Needed:
- Interface between user and hardware
- Manages system resources efficiently
- Enables multitasking and process scheduling
- Handles input/output operations
- Controls file and memory access
2. Key Management Tasks of the OS
| Task | Description |
|---|---|
| Memory Management | Allocates memory to programs; ensures programs don’t interfere with each other; uses virtual memory |
| File Management | Organizes, stores, retrieves, and secures files on storage devices; maintains file directories and permissions |
| Security Management | Controls user access, login authentication, permissions, and encryption |
| Hardware Management | Manages input/output devices using device drivers; abstracts hardware for applications |
| Process Management | Schedules tasks, handles multitasking, manages process states (ready, running, waiting), prioritizes CPU usage |
3. Utility Software in Operating Systems
| Utility | Purpose |
|---|---|
| Disk Formatter | Prepares storage media for use; sets up file system |
| Virus Checker | Detects and removes malware/viruses |
| Defragmentation Software | Reorganizes data to reduce fragmentation and improve access speed |
| Disk Contents Analysis/Repair | Scans for and fixes logical errors in the disk (e.g., file system issues) |
| File Compression | Reduces file size for storage/transmission (e.g., ZIP) |
| Backup Software | Creates copies of data to prevent data loss (full, incremental, differential backups) |
4. Program Libraries
- Definition: Pre-written and tested sets of code used in software development
Why Use Libraries:
| Benefit | Explanation |
|---|---|
| Efficiency | Saves development time—reuses existing, tested code |
| Reliability | Reduces bugs as code is already tested and proven |
| Modularity | Programs become easier to manage and update |
| Standardization | Developers follow consistent conventions and functions |
Dynamic Link Libraries (DLLs)
- DLL Files: Shared code libraries loaded into memory at runtime
- Advantages:
- Smaller program sizes
- Easier updates—changes to DLL affect all programs using it
- Allows sharing across multiple programs
