La gestió de memòria és una de les funcions més crítiques d'un sistema operatiu. Aquesta secció cobreix els conceptes bàsics, les tècniques i els mecanismes utilitzats per gestionar la memòria en un sistema informàtic.
Conceptes Bàsics de la Gestió de Memòria
Memòria Principal i Memòria Secundària
- Memòria Principal (RAM): És la memòria de treball del sistema on es carreguen els programes i dades que s'estan utilitzant actualment.
- Memòria Secundària: Inclou dispositius com discos durs i SSDs, que emmagatzemen dades de manera permanent.
Espai d'Adreces
- Espai d'Adreces Físiques: Adreces reals a la memòria principal.
- Espai d'Adreces Lògiques: Adreces generades pels programes. El sistema operatiu les tradueix a adreces físiques.
Tècniques de Gestió de Memòria
Particionament
- Particionament Estàtic: La memòria es divideix en particions fixes. Cada partició pot contenir un procés.
- Particionament Dinàmic: Les particions es creen de manera dinàmica segons les necessitats dels processos.
Paginació
- Pàgines: La memòria es divideix en blocs de mida fixa anomenats pàgines.
- Marcs de Pàgina: La memòria física es divideix en blocs de la mateixa mida que les pàgines.
- Taula de Pàgines: Mapa que tradueix adreces lògiques a adreces físiques.
// Exemple de codi per accedir a una pàgina int page_size = 4096; // mida de la pàgina en bytes int logical_address = 12345; // adreça lògica int page_number = logical_address / page_size; int offset = logical_address % page_size; int frame_number = page_table[page_number]; int physical_address = frame_number * page_size + offset;
Segmentació
- Segments: La memòria es divideix en segments de mida variable segons les necessitats dels programes.
- Taula de Segments: Mapa que tradueix adreces lògiques a adreces físiques.
Memòria Virtual
Concepte
- Memòria Virtual: Permet que els programes utilitzin més memòria de la que físicament està disponible mitjançant la utilització de memòria secundària.
Paginació per Demanda
- Paginació per Demanda: Les pàgines es carreguen a la memòria només quan són necessàries.
- Page Fault: Error que es produeix quan una pàgina no es troba a la memòria principal i ha de ser carregada des de la memòria secundària.
Algoritmes de Reemplaçament de Pàgines
- FIFO (First-In, First-Out): La pàgina més antiga és la primera en ser reemplaçada.
- LRU (Least Recently Used): La pàgina menys recentment utilitzada és la primera en ser reemplaçada.
- Optimal: Reemplaça la pàgina que no serà utilitzada durant el període de temps més llarg.
Exercicis Pràctics
Exercici 1: Traducció d'Adreces Lògiques a Físiques
Enunciat: Donada una mida de pàgina de 1024 bytes, una adreça lògica de 2049 i una taula de pàgines on el número de pàgina 2 correspon al marc de pàgina 5, calcula l'adreça física.
Solució:
- Número de Pàgina: 2049 / 1024 = 2
- Desplaçament: 2049 % 1024 = 1
- Marc de Pàgina: 5 (de la taula de pàgines)
- Adreça Física: 5 * 1024 + 1 = 5121
Exercici 2: Algoritme de Reemplaçament de Pàgines
Enunciat: Simula l'algoritme LRU amb una seqüència de referències de pàgines [0, 4, 1, 4, 2, 4, 3, 4] i un nombre de marcs de pàgina de 3.
Solució:
- Inicialment: [ ] (buit)
- Referència 0: [0]
- Referència 4: [0, 4]
- Referència 1: [0, 4, 1]
- Referència 4: [0, 4, 1] (4 ja està present)
- Referència 2: [4, 1, 2] (0 reemplaçat per 2)
- Referència 4: [1, 2, 4] (4 ja està present)
- Referència 3: [2, 4, 3] (1 reemplaçat per 3)
- Referència 4: [2, 3, 4] (4 ja està present)
Resum
En aquesta secció hem explorat els conceptes bàsics de la gestió de memòria, incloent la memòria principal i secundària, espais d'adreces, tècniques com el particionament, la paginació i la segmentació, així com la memòria virtual i els algoritmes de reemplaçament de pàgines. Els exercicis pràctics proporcionen una comprensió més profunda dels mecanismes de traducció d'adreces i reemplaçament de pàgines.
Fonaments de Sistemes Operatius
Mòdul 1: Introducció als Sistemes Operatius
- Conceptes Bàsics de Sistemes Operatius
- Història i Evolució dels Sistemes Operatius
- Tipus de Sistemes Operatius
- Funcions Principals d'un Sistema Operatiu
Mòdul 2: Gestió de Recursos
Mòdul 3: Concurrència
- Conceptes de Concurrència
- Fils i Processos
- Sincronització i Exclusió Mútua
- Problemes Clàssics de Concurrència