Dove siamo. Gestione della Memoria (1) Dove siamo. Dove siamo. Operating Systems and Distributed Systems. Operating Systems and Distributed Systems

Documenti analoghi
Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Capitolo 8 - Silberschatz

Gestione della memoria centrale. Capitolo 8 - Silberschatz

Sistemi operativi e distribuiti

Memory management. Le attività di memory management del SO per la condivisione da parte di più processi

Gestione della memoria

Operating System Concepts 7 th Edition! 8.2! Silberschatz, Galvin and Gagne 2005!

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi. Bruschi Martignoni Monga. Gestione della memoria. Sistemi multiprogrammati. Partizioni fisse Partizioni variabili Paginazione

Modulo 7: Gestione della Memoria

Gestione della Memoria

! Per essere eseguiti, i programmi devono essere trasferiti (dal disco) in memoria e tradotti in processi.!

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria

Gestione della Memoria Principale

Gestione Memoria. Gestione della memoria

Struttura dei Sistemi di Calcolo

Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Informatica Laurea in Fisica

Gestione della memoria

Gestione della memoria

Sistemi Operativi. Principi di gestione della memoria Swapping Memoria virtuale

Trasparenze del Corso di Sistemi Operativi

La gestione della memoria. Lezione 30 Sistemi Operativi

Gestione della Memoria

Gestione della Memoria

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

La gestione della memoria. Lezione 16 Sistemi Operativi

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Gestione della memoria

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo

Il software. la parte contro cui si può solo imprecare. (continua) Funzioni principali del sistema operativo. Gestione della memoria principale

Struttura dei Sistemi di Calcolo

La gestione della memoria. Lezione 5 Sistemi Operativi

La gestione della memoria su IA-32. Lez. 32 Sistemi Operativi

Gestione della memoria centrale. Marco Cesati. Schema della lezione. Memoria centrale. Linux su Intel IA-32 SO Gestione della memoria centrale

Lezione 7. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Sistema Operativo - Gestione della Memoria per moderne CPU. Address Binding Dinamico in esecuzione mediante Segmentazione, Paginazione e Memoria

Il file È un insieme di informazioni: programmi. Il File System. Il file system

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Gestione della memoria

Gestione della Memoria Principale

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi

Trasparenze del Corso di Sistemi Operativi

Gestione della Memoria Principale

Il supporto al sistema operativo

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Sistemi Operativi Gestione della Memoria (parte 1)

Registri della CPU. Memoria Centrale. Memoria di Massa. Memorie di altri sistemi in rete

Il sistema operativo

Organizzazione di un SO monolitico

Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Il Sistema Operativo. Informatica Sistema Operativo 1

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Strutture dei sistemi di calcolo

Gestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica

Corso di Informatica

La gestione della memoria. Lezione 9 Sistemi Operativi

Calcolatori Elettronici

Introduzione al Sistema Operativo

Astrazione. Gestore della memoria. La rilocabilità del codice. Gestore della memoria

Sistema Operativo - Gestione della Memoria lista argomenti di studio

Segmentazione. Gestore della memoria II parte. Segmentazione. Segmentazione: Vantaggi. Segmentazione 07/06/2012. Confronto Paginazione - Segmentazione

File: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:

Nei sistemi moderni si usano sistemi di avvicendamento sofisticati al fine di garantire ad ogni processo quanti di esecuzione considerevoli.

Gerarchie di memoria Memorie a componenti dinamici 1

Architettura dei sistemi di elaborazione (Input/Output parte 1)

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Laboratorio di Informatica (Chimica)

Concetti Generali sulla Gestione della memoria

Obiettivo. Gestione della memoria. Inoltre. Sistemi monoprogrammati. Sistemi monoprogrammati. Sistemi monoprogrammati 07/06/2012

3.3 Memoria virtuale Generalità. 3.3 Memoria virtuale Spazi di indirizzamento Memoria virtuale Spazi di indirizzamento - 2

Reti e problematiche di Rete

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Il File System. Sistemi Operativi T AA

Gestione della memoria 1

Introduzione al Sistema Operativo

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma

Il file system. Il File System. Attributi del file. File

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Dal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione

Sistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O.

Sistemi Operativi Da Unix a GNU/Linux (parte 2)

Dal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione

Sistemi Operativi (modulo di Informatica II)

Gestione della memoria principale

Architettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente

Architettura di NTFS 1

Il File System. Sistemi Operativi L-A AA

Parte VII. Traduzione e Collegamento

La memoria virtuale. Calcolatori Elettronici. Valeria Cardellini Rielaborate da Salvatore Tucci

La gerarchia delle memorie

SISTEMI OPERATIVI. Gestione della memoria. Gestione della memoria. Partizionamento Paginazione Segmentazione Memoria virtuale. 08.

Calcolatori Elettronici Parte VIII: linguaggi assemblativi

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Livelli del sottosistema di I/O

Transcript:

Dove siamo Gestione della Memoria (1) Dove siamo Dove siamo

Gestione della memoria (vista utente) exec() shmalloc() sbrk() getrlimit() File Mgr UNIX Device Mgr Mgr Mgr Application Program Hardware Alloc() VMQuery() Lock() Free() Zero() File Mgr Device Mgr Mgr Mgr Windows Gestione della memoria (vista Sistema Operativo) Absolute Program Address Space 3GB 4GB Address Space User Address Space Supervisor Address Space Primary 5 6 Gestione della memoria (vista Hardware) CPU Indirizzi virtuali Indirizzi fisici (bus e memoria) CPU chip MMU Disk controller Larger storage Secondary Primary (Execu) Gerarchia di memorie CPU Registers L1 Cache L2 Cache Main Rotating Magnetic Optical Sequentially Accessed 7 Faster access 8

Il principio della cache Gestione della memoria (vista astratta) Informazioni frequentemente utilizzate in alto, Informazioni meno utilizzate in basso virtual x B t! y = B t (x) 9 1 La memoria come meccanismo di protezione Hw e SO cooperano per proteggere gli spazi di indirizzamento dei processi HW: registri speciali leggibili in user mode, ma modificabili in supervisor mode Soluzione semplice: allocazione contigua del SO e uso di registri limite Soluzione complessa: allocazione non contigua con supporto hardware e uso di memoria virtuale () Frame & 11 12

Preparazione di un programma all esecuzione I programmi risiedono su disco sotto forma di file binari eseguibili L insieme dei programmi residenti su disco ed in attesa di essere trasferiti in memoria, per essere eseguiti, forma la input queue Si seleziona uno dei processi per il caricamento e l esecuzione Il processo, in fase di esecuzione, può accedere alle istruzioni ed ai dati residenti in memoria centrale Quando termina, rilascia lo spazio ad esso allocato Preparazione di un programma all esecuzione Caricamento dinamico: i sottoprogrammi vengono caricati in memoria quando vengono richiamati Collegamento dinamico: i sottoprogrammi vengono collegati quando vengono richiamati Indirizzi simbolici, ad esempio count Indirizzi rilocabili, ad esempio 4 byte a partire dall inizio di questo modulo Indirizzi assoluti, ad esempio 268 Compilazione: creazione del Reloca Object module Reloca Object module force = mass * acceleration; load R3, x794 ; Load acceleration in to register R3 load R6, x7a12 ; Load mass into register R6 mult R3, R6 ; Place the product of R3 and R5 in R3 store R3, x8c44 ; Save the result in the force variable Indirizzo= offset dall inizio del segmento

Linkage Editor Caricamento (load) Link Edit Secondary storage Execu memory Loader Load time: Allocazione memoria primaria Aggiustamento degli indirizzi nello spazio di indirizz. Copia spazio di indirizzamento da SS a RAM AUC () Frame & Allocazione contigua Un blocco di memoria per processo Una parte per il SO xffff partition 19 2

Allocazione contigua: Registri Base e limite registri speciali CPU: base & limit Accesso ai registri limitato a system mode Generazione indirizzi y = B t (x) Fisico y Logico x: B t (x) = base + x! : x> limit => errore xffff partition x2 Limit Base x9 Logical : x124 Physical : x124+x9 = xa24 () 21 Frame & 22 CPU Relative Address Relocation Register Allocazione contigua: Registri Base e limite Limit Register < " + xffff Allocazione contigua Un buco (hole) è un blocco di memoria disponibile; nella memoria sono sparsi buchi di varie i Quando viene caricato un nuovo processo, gli viene allocato un buco grande abbastanza da contenerlo Il SO conserva informazioni su: Partizioni allocate Partizioni libere Interrupt Bound checking come meccanismo di protezione hw della memoria MAR partition 23 SO processo 5 processo 8 processo 2 SO processo 5 processo 2 SO processo 5 processo 9 processo 2 SO processo 5 processo 9 processo 1 processo 2 24

() Frame & 25 (size) Partition Memoria divisa in partizioni fisse Massimo numero di processi e massima dim processo fissata Assegna un processo a uno spazio quando è libero Meccanismi Code separate Coda unica Partition 4 Partition 3 Partition 2 Partition 1 9K 7K 6K 5K Partition 4 Partition 3 Partition 2 Partition 1 9K 7K 6K 5K 1K 1K 26 Partition Frame Operating System Operating System Operating System Operating System () & 1 2 3 4 6 2 5 4 6 2 5 4 27 Loader aggiusta gli indirizzi Frammentazione Deframmentazione (muove i programmi) 28

() Frame & 29 Come allocare memoria dinamicamente? In ogni momento è presente un insieme di buchi di diverse i sparsi per la memoria Come soddisfare una richiesta di e n a partire da un insieme di buchi? First!fit: Viene allocato il primo buco grande abbastanza Best!fit: Viene allocato il buco più piccolo capace di contenere il processo; è necessario scandire tutta la lista dei buchi (se non è ordinata) Si produce il più piccolo buco residuo Worst!fit: Viene allocato il buco più grande; è ancora necessario ricercare in tutta la lista Si produce il più grande buco residuo First!fit e Best!fit sono migliori di Worst!fit, rispettivamente in termini di velocità e di impiego di memoria Occorre tener traccia dell occupazione di memoria Tracking dell utilizzo di memoria bitmaps Tracking dell utilizzo di memoria liste Efficiente per chunks grandi 1 bit = fixed-size region (chunk) della memoria Dimensione dei Chunk influenza l efficienza A B C D 111111 111 1111111 11111 8 16 24 32 regions Bitmap 31 A B C D 16 24 32 regions A 6-6 4 B 1 3-13 4 C 17 9 D 26 3 8-29 3 32

Frammentazione Frammentazione esterna! È disponibile lo spazio necessario a soddisfare una richiesta, ma non è contiguo Frammentazione interna! La memoria allocata può essere leggermente maggiore della memoria effettivamente richiesta (pochi byte di differenza); la differenza di i è memoria interna ad una partizione che non viene impiegata completamente Si può ridurre la frammentazione esterna con la compattazione Si spostano i contenuti della memoria per avere tutta la memoria libera contigua a formare un grande blocco La compattazione è possibile solo con la rilocazione dinamica e viene effettuata in fase d esecuzione Una diversa soluzione alla frammentazione esterna è ottenuta consentendo la non contiguità degli indirizzi fisici, permettendo così di allocare la memoria fisica ai processi ovunque essa sia disponibile () The big picture Frame & 34 The big picture Frame () & 35