Computer Science Study Guide
1. Memory Management
Memory management is a critical function of the operating system that handles or manages primary memory.
It keeps track of each byte in a computer's memory and manages the allocation and deallocation of memory
spaces as needed by various programs.
Key Concepts:
- Relocation: Adjusting program addresses at runtime.
- Swapping: Moving processes between main memory and disk.
- Paging & Segmentation: Methods of memory division and management.
2. File and I/O Subsystems
These subsystems handle data input and output, as well as file management.
Important Concepts:
- File descriptors: References to open files.
- Directory management: Managing hierarchical structures of file storage.
- DMA (Direct Memory Access): Allows devices to communicate with memory without CPU involvement.
3. Algorithms and Recurrence
In computer science, recurrence relations are equations that define sequences recursively.
Example: T(n) = 2T(n/2) + n => O(n log n)
Common Topics:
- Binary Search, Merge Sort
- Matrix Chain Multiplication
- 0/1 Knapsack Problem
4. Networking Basics
Computer networking involves connecting computers to share resources.
Layers:
- OSI Model: Conceptual model with 7 layers
Computer Science Study Guide
- TCP/IP Stack: Practical 4-layer model
Devices:
- Switches (Data Link Layer), Routers (Network Layer), Hubs (Physical Layer)