wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Memory management

profile
Jash Makwana
Aug 14, 2024
0 Likes
0 Discussions
75 Reads


1. Memory Hierarchy

  • Registers: Small, fast storage locations within the CPU.
  • Cache Memory: A small-sized type of volatile computer memory that provides high-speed data access to the processor.
  • Main Memory (RAM): The primary storage that holds data and programs currently in use.
  • Secondary Storage: Non-volatile storage (e.g., hard drives, SSDs) used for long-term data storage.

2. Memory Allocation

  • Static vs. Dynamic Allocation: Static allocation assigns memory at compile-time, while dynamic allocation assigns it at run-time.
  • Contiguous vs. Non-Contiguous Allocation: Contiguous allocation assigns a single block of memory to a process, while non-contiguous allocation allows a process to be allocated memory in multiple blocks.

3. Memory Partitioning

  • Fixed Partitioning: Memory is divided into fixed-size partitions. Each process occupies an entire partition.
  • Dynamic Partitioning: Memory is divided into partitions dynamically according to the size of the process.

4. Paging

  • Concept: Memory is divided into fixed-size blocks called pages. The process is divided into pages, and pages are mapped to physical memory frames.
  • Page Table: Maintains the mapping between virtual addresses and physical addresses.

5. Segmentation

  • Concept: Memory is divided into segments based on the logical divisions of a program (e.g., code, data, stack).
  • Segment Table: Maps the segment's starting address and size.

6. Virtual Memory

  • Concept: Extends the available memory by using disk space as an extension of RAM.
  • Demand Paging: Loads pages into memory only when they are needed, reducing memory usage.
  • Page Replacement Algorithms: Determines which pages to swap out when memory is full (e.g., FIFO, LRU, Optimal).

7. Memory Management Techniques

  • Swapping: Moves processes between main memory and disk to free up memory for other processes.
  • Compaction: Reduces fragmentation by relocating processes to merge free memory spaces.
  • Garbage Collection: Automatically reclaims memory that is no longer in use by the program.

8. Fragmentation

  • Internal Fragmentation: Wasted memory within allocated regions due to fixed partition sizes.
  • External Fragmentation: Wasted memory outside allocated regions due to scattered free space.

9. Protection and Security

  • Memory Protection: Ensures that one process does not interfere with another's memory space.
  • Access Control: Defines which processes can access specific memory segments.

10. Examples of Memory Management in Different OS

  • Windows: Uses a combination of paging and segmentation with a focus on virtual memory.
  • Linux: Uses paging and implements virtual memory through a hierarchical page table structure.
  • macOS: Implements advanced memory management with techniques like copy-on-write and shared memory.

Understanding these topics provides a solid foundation in how operating systems manage memory to ensure efficient and secure execution of processes.


Comments ()


Sign in

Read Next

Multiprocessor and Multicore Organization

Blog banner

Process State

Blog banner

Semaphores

Blog banner

Apple

Blog banner

Mumbai Metro 3

Blog banner

What if COVID does not exist!

Blog banner

THREADS (assignment 1)

Blog banner

Process in OS

Blog banner

I/O Management and Disk Scheduling

Blog banner

Risk management in IT

Blog banner

38_Exploring The Honeynet Project

Blog banner

Dudhasagar waterfall ?

Blog banner

Embracing the power of Modern Machine UNIX

Blog banner

Deadlock and Starvation

Blog banner

Domain Name System

Blog banner

Virtual Memory

Blog banner

Music is life

Blog banner

Super Garlicky Tomato Soup with Smashed White Beans

Blog banner

Heart Fulness Meditation

Blog banner

Policies for Service Transition

Blog banner

Multiprocessor scheduling

Blog banner

Security requirements for Safe E-Payments

Blog banner

A Statistical Analysis of Player Performance and their Value in cricket

Blog banner

Zero Trust Security Model: Revolutionizing Cybersecurity in the Digital Age

Blog banner

Threat management

Blog banner

security controls

Blog banner

Partnership in Learning: How Parent Involvement Shapes a Child’s Early Education

Blog banner

How Much Protein Do You Really Need Every Day?

Blog banner

URL vs Domain

Blog banner

File management

Blog banner

OS Assignment 3

Blog banner

Trends that began during the pandemic

Blog banner

How Cyber Forensics help prevent Crimes

Blog banner

Security Issues and Countermeasures

Blog banner

DISK SCHEDULING

Blog banner

Data Visualization- Importance and tools (Tableau,Power BI, Matplotlib)

Blog banner

Cloud Forensic Tools And Storage :A Review Paper

Blog banner

The Role of Data Provenance and Lineage in Modern Data Science

Blog banner

LinkedIn

Blog banner

NodeJs

Blog banner

Why Festivals Are the Best Classrooms for Young Minds?

Blog banner

The Power of Teamwork: Learning Collaboration Through Everyday Activities

Blog banner