Logical Address Space: Addresses generated by the CPU during program execution.
Physical Address Space: Actual location in the main memory.
Swapping:
In computing, swapping involves the dynamic movement of a part of a program between the computer's main memory (RAM) and the storage disk.
Process Overview: When a program needs more memory than is currently available in RAM, the operating system identifies less critical data in the RAM. The identified data is then swapped out to the storage disk, making space for the more actively used program or data in RAM.
Optimizing Memory Usage: Swapping optimizes memory usage by ensuring that the most relevant and actively used data resides in the faster RAM for quick access. Less critical or infrequently accessed data is stored on the comparatively slower storage disk.
Benefits: Swapping enables the smooth operation of multiple programs concurrently, even when physical memory is limited. It prevents programs from crashing due to insufficient memory by efficiently managing available resources.
Performance Considerations: While beneficial for preventing memory-related issues, swapping can introduce performance overhead. Reading/writing to the storage disk is slower than accessing data directly from RAM.
Memory Management Requirement: Efficient allocation, deallocation, and protection of memory.
Dynamic Loading: Loading a module into memory when needed.
Dynamic Linking: Linking postponed until execution time.
This memory allocation method involves dedicating the entire system's memory to a single process.
It is a simple and direct method where a process exclusively occupies the entire available memory space without sharing it with other processes.
While it ensures that the allocated process has access to the full memory, it may lead to inefficient utilization of resources when multiple processes are competing for memory.
This memory allocation method involves dividing the system's memory into fixed or variable partitions to accommodate multiple processes simultaneously.
Memory can be divided into fixed-size or variable-size partitions, each capable of hosting an individual process.
Enables multiple processes to execute concurrently by assigning each process to a specific partition in memory.
Allows for better resource utilization as multiple processes can run simultaneously, sharing the available memory partitions.
Compaction is a memory management technique that involves rearranging the memory contents to minimize fragmentation and optimize memory utilization.
Key Points:
Paging is a memory management scheme that allows the operating system to use fixed-size blocks of physical memory, known as pages, to manage and organize the virtual memory used by programs.
Key Points:
Did this doc help you?
Help us make these docs great!
All these documentations are open source. See something that's wrong or unclear? Submit a pull request.
Still need help? Ask the GitHub community
Contact support @Chetan Raut