Saltar al contenido principal
Processes, IPC (including semaphores), scheduling, memory, I/O, file systems, virtualization, concurrency models, performance profiling, and the hardware-software interface.

Operating Systems

Processes, IPC (including semaphores), scheduling, memory, I/O, file systems, virtualization, concurrency models, performance profiling, and the hardware-software interface.

Memory Management Visualizer

Memory Management & Virtual Memory

1 – 8 frames
Paso 0 / 0
Speed 100ms
Page Faults 0
Hits 0
Fault Rate 0%
Status Ready
Empty
Resident
Hit
Fault
Evicted
Access History
# Page Result Evicted Frames
Fault Comparison

Run a simulation to completion to compare fault counts.

Pseudocode
 
Step Explanation

Select a replacement algorithm and press Play to watch frames fill and pages get evicted.

—

Memory Management

Intermediate (3/5) ~1 hora Virtual memory y address space Paging: dividir memoria en frames y pages Page tables y TLB Page replacement algorithms Prereqs: Computer Hardware, Process Management
Quick Reference

fifo

No registry entry found for algorithm id "fifo". If this is a curriculum-only studio, the complexity and quick-reference panel is intentionally omitted.

Memory Management es la función del OS de asignar y liberar memoria a procesos de forma eficiente, protegiendo el aislamiento entre procesos y maximizando el uso de RAM limitada.

Direcciones

  • Dirección lógica (virtual): generada por la CPU, espacio de direcciones del proceso.
  • Dirección física: dirección real en RAM.

El MMU (Memory Management Unit) traduce virtual → physical usando page tables.

Paging

Memoria dividida en:

  • Frames: bloques físicos de RAM (típicamente 4KB).
  • Pages: bloques virtuales del proceso.

Page table: mapea cada página virtual a un frame físico.

Traducción de Direcciones

Virtual address → page number + offset
Page number → index en page table → frame number
Physical address = frame number × frame_size + offset

TLB (Translation Lookaside Buffer)

Cache de traducciones recientes dentro del MMU. Si la traducción está en TLB (TLB hit), es instantáneo. Si no (TLB miss), se consulta la page table en memoria.

Page Replacement

Cuando no hay frames libres, el OS debe elegir una página para reemplazar:

AlgoritmoEstrategiaVentaja
FIFOReemplaza la más antiguaSimple
LRUReemplaza la menos usada recientementeCerca de óptimo
ClockApproximación a LRUEficiente
OptimalReemplaza la usada más lejos en el futuroTeórico

Thrashing

Ocurre cuando el working set de un proceso no cabe en memoria: el sistema pasa más tiempo swapping páginas que ejecutando código.

Solución: reducir grado de multiprogramación o usar working set model.

Aplicaciones

  • Sistemas operativos — memory management, virtual memory
  • Contenedores — cgroups, memory limits
  • Enseñanza — base para virtual memory y paging

Trayectoria de Práctica

  1. Investiga traducción de direcciones: calcula dirección física desde virtual con page table.
  2. Investiga TLB: ¿por qué reduce el overhead de page table walks?
  3. Investiga LRU vs Clock: trade-offs.
  4. ¿Qué causa thrashing? ¿Cómo lo detecta el OS?
  5. Investiga memory-mapped files: ¿cómo mapean archivos a espacio virtual?