Processi e memoria. Ges&one della memoria. Rilocazione. Indirizzi. Rilocazione e protezione. Memory Management Unit (MMU)
|
|
- Umberto Oliva
- 7 anni fa
- Visualizzazioni
Transcript
1 Processi e memoria Ges&one della memoria Tu6 i processi in esecuzione necessitano della memoria centrale per memorizzare: le istruzioni che fanno parte del codice i da& su cui operano A. Ferrari Indirizzi Indirizzi simbolici nel codice sorgente gli indirizzi sono espressi in modo simbolico e&che@e simboliche (label) in assembler iden&ficatori di variabili nei linguaggi ad alto livello Indirizzi logici l'assemblatore (o il compilatore) trasforma gli indirizzi simbolici in valori binari che non rappresentano ancora però un vero indirizzo di memoria. In genere gli indirizzi logici sono calcola& a par&re da un indirizzo iniziale che vale in genere zero (indirizzi binari logici rela&vi a zero) Indirizzi virtuali il linker completa i riferimen& ai vari moduli e genera indirizzi che non sono ancora però riferimen& fisici alla memoria Rilocazione Indirizzi fisici Gli indirizzi virtuali possono essere finalmente trado6 in indirizzi di memoria fisica. Questa operazione di traduzione, in sostanza, cos&tuisce uno dei compi& fondamentali del gestore della memoria. La traduzione degli indirizzi virtuali in indirizzi fisici è definita rilocazione Rilocazione e protezione Per evitare che un processo faccia riferimento a zone di memoria appartenen& ad al& processi mol& sistemi u&lizzano registri speciali di protezione(registri limite) per controllare ed eventualmente inibire riferimen& non autorizza&. Ques& metodi sono o@enibili con sistemi dota& di MMU e i registri base e limite ad esempio possono essere considera& elemen& della MMU del sistema. Memory Management Unit (MMU) E' un componente hardware che ges&sce le richieste di accesso alla memoria generate dalla CPU Una Memory Management Unit (MMU) ha vari compi&, tra cui la traduzione degli indirizzi virtuali in indirizzi fisici, la protezione della memoria, il controllo della cache della CPU... La MMU è integrata nei moderni microprocessori 1
2 Rilocazione sta&ca La rilocazione sta&ca è quel meccanismo per cui il caricatore del SO, dopo aver l'intero programma e prima di porlo in esecuzione, rialloca in memoria tu@o il codice ada@ando gli indirizzi virtuali alle posizioni a@ualmente disponibili nella memoria fisica. Il caricatore in questo caso viene de@o rilocante; dopo la rilocazione sta&ca il programma in memoria ha assunto riferimen& di memoria fisica che non potranno più cambiare per tu@a la durata dell'esecuzione. Rilocazione dinamica Il SO rialloca il codice durante l'esecuzione del programma, u&lizzando elemen& di MMU. In questo caso il caricatore non riloca gli indirizzi virtuali del linker ma li carica in memoria così come il linker li ha genera& nel file eseguibile: vengono quindi carica& gli indirizzi virtuali genera& dal linker. Run- &me ogni indirizzo viene trado@o nel corrispondente indirizzo fisico prima di accedere alla memoria. A differenza della rilocazione sta&ca la rilocazione dinamica perme@e ai programmi di essere carica& in aree di memoria differen& durante l'esecuzione; sarà sufficiente modificare le informazioni contenute nel meccanismo hardware che realizza la funzione di rilocazione (meccanismo di MMU). Allocazione Tecnica con cui il SO concede ed assegna memoria ai programmi. Allocazione sta&ca processi carica& in memoria che sono alloca& una sola volta e sono revoca& dalla memoria solo al termine dell'esecuzione Allocazione dinamica processi che in esecuzione possono vedersi revocata e riallocata la memoria più volte, in genere con operazioni di swapping da e per la memoria secondaria (swap in e swap out) Memoria e mul&processing Più processi sono a6vi contemporaneamente Ogni processo necessita di memoria per le istruzioni e i da& Il Sistema Opera&vo deve ges&re la protezione dei da& e delle istruzioni rela&vi a ogni singolo processo il riu&lizzo delle zone di memoria non più u&lizzate dai processi Memoria suddivisa in se@ori A ogni processo viene assegnato un se@ore di memoria compreso fra un indirizzo iniziale e uno finale Il gestore della memoria ges&sce una tabella di indirizzi in cui associa ad ogni processo il suo indirizzo iniziale e finale Se@ori: indirizzi Indirizzo logico (generato sta&camente) Il compilatore assume che l'indirizzo di partenza per i da& e le istruzioni sia l'indirizzo 0 (zero) Indirizzo fisico (generato dinamicamente) In fase di esecuzione gli indirizzi vengono trasla& sommando l'indirizzo di partenza del se@ore associato al processo (operazione effe@uata run &me dalla MMU) Un indirizzo di memoria con&ene una parte che iden&fica un se@ore, e una parte che specifica l'offset entro il se@ore. 2
3 problemi Il problema principale è la frammentazione della memoria: quando termina un processo viene rilasciato il suo di memoria che può essere associato a un nuovo processo che richiede una quan&tà di memoria minore o uguale a quella rilasciata le par& inu&lizzate dei se@ori portano a una progressiva frammentazione (potrebbe essere disponibile memoria sufficiente per allocare un processo ma non in un se@ore con&nuo) Strategie di allocazione Le strategie di allocazione stabiliscono il criterio scelto per creare o scegliere le par&zioni per i programmi che le richiedono. First fit Individua la prima par&zione a@a a contenere il programma e, quindi, tra le par&zioni disponibili, viene scelta quella con indirizzi più bassi. Tale tecnica è efficiente per mantenere compa@ate le zone rilasciate. Best first Ricerca nella tabella la par&zione più piccola a@a a contenere il programma. In questo modo si vengono a creare numerose par&zioni libere molto ristre@e e quindi si aumenta la frammentazione. Worst fit Tra le par&zioni libere a@e a contenere il programma, sceglie quella più ampia, per a@enuare l'effe@o della frammentazione. Compa@azione In alcuni casi la riduzione della frammentazione si può o@enere con una tecnica de@a di compa@azione della memoria. In questo modo il SO predispone un algoritmo che periodicamente controlla lo stato della memoria e quando necessario interrompe le esecuzioni per compa@are in modo con&guo tu@a la memoria allocata eliminando i buchi e aggiornando la tabella della memoria. Paginazione La memoria principale viene «vista» dal processore come un array di se@ori aven& tu6 la stessa dimensione predefinita. Il sistema opera&vo assegna a ogni processo in esecuzione un numero di pagine sufficiente per contenere il codice e i da&. Le pagine non sono necessariamente con&gue. Tabella delle pagine Organizzazione in pagine 3
4 Traslazione degli indirizzi Per la traslazione degli indirizzi ogni processo è dotato di una tabella di corrispondenza fra pagina logica e pagina fisica MMU e paginazione Il compito della MMU è più complesso Per la traduzione da indirizzo logico a indirizzo fisico: si individua la pagina logica poi si individua la corrispondente pagina fisica Dimensione delle pagine Il compito della MMU Se la dimensione di una pagina è una potenza di 2 gli indirizzi vengono di fa@o spezza& in due: i primi bit determinano la pagina i successivi determinano l indirizzo interno alla pagina (offset) La traslazione sos&tuisce i bit rela&vi alla pagina fisica q quelli rela&vi alla pagina logica e lascia inaltera& i restan& bit Esempio: indirizzo logico (pagine da 8Kb) (pagina 1, indirizzo 0x1110) Indirizzo fisico: (pagina 4, indirizzo 0x1110) Frammentazione Processi in memoria Il problema della frammentazione è risolto Al termine di un processo vengono liberate tu@e le pagine u&lizzate da questo Un nuovo processo ha a disposizione tu@e le pagine rimaste libere 4
5 Dimensione della tabella delle pagine Gli processori indirizzano memorie di grandi dimensioni e la dimensione della tabella delle pagine risulta troppo grande per essere contenuta nella MMU Per esempio con RAM da 4Gb e pagine da 4Kb (sia Windows che Linux u&lizzano pagine da 4Kb) si hanno più di un milione di pagine La tabella viene quindi memorizzata nella RAM e solo una copia di una piccola parte di questa risiede nella MMU Memoria virtuale I processi a6vi in un sistema opera&vo mul&tasking sono mol& ed è probabile che il numero complessivo delle pagine richieste da tu6 i processi sia superiore al numero di pagine di memoria effe6vamente disponibili Pra&camente tu6 i moderni sistemi opera&vi implementano la tecnica della memoria virtuale : il gestore della memoria me@e a disposizione un numero di pagine superiore a quelle presen& nella memoria fisica Alcune pagine sono salvate temporaneamente nella memoria di massa (normalmente hard disk) La memoria di massa u&lizzata a questo scopo è comunemente chiamata, in ambiente Unix- Linux, swap o spazio di swap, mentre, in ambiente Windows, è chiamata file di paging. Pagine logiche e fisiche Prestazioni La memoria di massa ha tempi di accesso estremamente più len& della memoria centrale: memoria centrale nanosecondi (circa 10-8 secondi) memoria di massa 2-4 microsecondi (circa 10-3 secondi) E necessario quindi ridurre al minimo le operazioni di swapping (spostamento delle pagine dallo spazio di swap alla memoria fisica) Località del codice Normalmente un processo in ogni fase della sua esecuzione fa riferimento a istruzioni e da& contenu& in poche pagine di memoria con&gue. Località delle istruzioni: l esempio classico è un ciclo che ripete più volte istruzioni consecu&ve Località dei da&: la stru@ura più comunemente u&lizzata è l array in cui i da& sono con&gui in memoria Tabella delle pagine La MMU trasla gli indirizzi Se la pagina non è presente in memoria (page- fault) il processo viene posto in stato di wait in a@esa che la pagina venga caricata in memoria Il gestore della memoria recupera la pagina, aggiorna la tabella delle pagine e riporta il processo in ready 5
6 Page- fault Ogni page fault rallenta dras&camente l esecuzione di un processo che deve transitare dallo stato di wait e deve a@endere il caricamento della pagina dalla memoria di massa Se non sono disponibili pagine libere in memoria centrale è necessario sos&tuire una pagina dello stesso processo (allocazione locale) o di un altro processo (allocazione globale) Poli&che per la ges&one del page- fault FIFO (First In First Out) la pagina da rimuovere è la prima che è stata caricata. L idea è che le pagine vecchie non vengano più u&lizzate in futuro LRU (Least Recently Used) la pagina da rimuovere è quella inu&lizzata da più tempo. L idea è che se non è u&lizzata da molto tempo non verrà più u&lizzata LFU (Least Frequently Used) la pagina da rimuovere è quella meno u&lizzata. L idea è che se è stata poco u&lizzata sarà poco u&lizzata anche in futuro Strumen& per la ges&one delle poli&che FIFO è sufficiente memorizzare per ogni pagina il momento del caricamento in memoria LRU deve essere memorizzato il tempo ad ogni accesso alla pagina LFU deve essere memorizzato un contatore incrementato ad ogni accesso alla pagina per semplificare la ges&one si u&lizza un bit che viene se@ato se di fa accesso a una pagina (i bit vengono periodicamente azzera&) la poli&ca diventa quindi NRU (Not Recently Used) Swapping Se una pagina viene eliminata dalla memoria centrale deve essere copiata sulla memoria di massa Un dirty bit se@ato se la pagina viene modificata può essere u&lizzato per evitare questa fase di riscri@ura su disco (molto spesso per le pagine di codice) Codice condiviso Windows e Linux Mol& sistemi opera&vi prevedono l uso di funzioni condivise fra vari processi linux shared objects windows DLL (Dynamic Link Library) Queste funzioni vengono caricate solo se u&lizzate e in questo caso condivise fra i vari processi 6
Gestione della memoria
Gestione della memoria Gestione della memoria In un sistema multiprogrammato il numero di processi è > del numero di processori, ciò implica: unità di elaborazione virtuale memoria virtuale Un gestore
DettagliGESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL
GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno
DettagliGestione della memoria
Gestione della memoria centrale Gestione della memoria Concetti generali. Swapping. Allocazione contigua di memoria. Paginazione. Segmentazione. Segmentazione con paginazione. Esempio: Pentium Intel Background
DettagliLa gerarchia delle memorie
La gerarchia delle memorie Gestione della memoria Ogni processo, per avanzare necessità che il relativo programma risieda nella memoria centrale, Tale programma è costituito da memoria e dati. Lo spazio
DettagliSistemi operativi e distribuiti
Sistemi operativi e distribuiti La memoria Indirizzi fisici e indirizzi logici Importante separazione di concetti Ci permette di separare la parte software da la parte hardware Indirizzo logico (o virtuale):
DettagliGESTIONE DELLA MEMORIA CENTRALE
GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 10 Giovedì 7-11-2013 1 Gestione della memoria La memoria principale è
DettagliGestione della Memoria
Gestione della Memoria Informatica B Il modello della memoria 2 E un modello lineare La memoria è una sequenza di celle numerate da 0 fino a un valore massimo M Il numero che identifica ogni cella è detto
DettagliI Sistemi Operativi. Prof.ssa Antonella Serra
I Sistemi Operativi Prof.ssa Antonella Serra Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è
DettagliGestione della memoria
Prof. Diomede Mazzone Gestione della memoria Memoria Virtuale Cosa accade usualmente Alcuni processi possono rimanere in stato di ready per molto tempo, occupando memoria! Le pagine fisiche di memoria
DettagliRegistri della CPU. Memoria Centrale. Memoria di Massa. Memorie di altri sistemi in rete
+ Veloce + Vicina alla CPU + Costosa Registri della CPU Memoria cache di primo livello sul microprocessore L1 - Capiente Memoria cache di secondo livello sul microprocessore L2 Memoria Centrale - Veloce
DettagliGestione della memoria. Introduzione Swapping Allocazione contigua Paginazione
Gestione della memoria Introduzione Swapping Allocazione contigua Paginazione Introduzione In un sistema monoprogrammato la memoria centrale è divisa in due parti: una per il sistema operativo, l altra
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 12 Martedì 22-11-2016 Partizioni variabili Un miglioramento dell uso
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 205-6 Pietro Frasca Lezione 3 Martedì 7--205 Paginazione su richiesta Con la tecnica della paginazione
DettagliGestione Memoria. Gestione della memoria
Gestione Memoria Gestione della memoria Il sistema operativo ha il compito di: Assegnare ad ogni processo la memoria di cui ha bisogno per la sua esecuzione Isolare i processi facendo in modo che i processi
DettagliGestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliGestione della Memoria Introduzione ai Sistemi Operativi Corso di Informatica Laurea in Fisica
Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Informatica Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2008-09 Architettura di un sistema operativo Progr 1 Progr 2 Progr 3 Progr
DettagliDocente Prò Giuseppe - Corso PENTEST MIND PROJECT A cura di Prò Giuseppe
A cura di Prò Giuseppe GESTORE DELLA MEMORIA Simula l esistenza di una pluralità di memoria centrale ciascuna associata ad uno dei processi virtuali generati dal nucleo, mascherando ai livelli successivi
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 11 Martedì 10-11-2015 1 Memoria partizionata Le tecniche di memoria partizionata
DettagliMemory management. Le attività di memory management del SO per la condivisione da parte di più processi
memory management 1 Memory management Le attività di memory management del SO per la condivisione da parte di più processi Ricordare quali parti della memoria sono attualmente in uso e quali no Allocare/disallocare
DettagliMemoria Virtuale. Sommario. Introduzione Paginazione su domanda. Rimpiazzamento delle pagine Allocazione dei frame
Memoria Virtuale Sommario Introduzione Paginazione su domanda Rimpiazzamento delle pagine Allocazione dei frame 1 Introduzione Caratteristica degli schemi precedenti per la gestione della memoria: l intero
DettagliSistemi operativi e distribuiti
Sistemi operativi e distribuiti La memoria virtuale Memoria Virtuale Separazione della memoria logica da quella fisica Un programma potrebbe risiedere in memoria solo parzialmente Lo spazio di indirizzamento
DettagliCorso di Informatica
Corso di Informatica Modulo T4 3-Gestione della memoria 1 Prerequisiti Rilocazione dinamica Spazio degli indirizzi Descrittore di processo Descrittore della memoria 2 1 Introduzione Una volta conosciute
DettagliAbilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza
Abilità Informa/che capitolo 3 Prof. Fabio Calefato a.a. 2015-16 Giurisprudenza Archite3ura Hardware Degli Elaboratori Elemen> della macchina di Von Neumann Memoria principale Processore Memoria secondaria
DettagliSistemi Operativi Esercizi Gestione Memoria
Sistemi Operativi Esercizi Gestione Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides ad A. Memo e T. Vardanega Sistemi Operativi - C. Palazzi 64 Esercizio 1 Dato un
DettagliDove siamo. Gestione della Memoria (1) Dove siamo. Dove siamo. Operating Systems and Distributed Systems. Operating Systems and Distributed Systems
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()
DettagliLa gestione della memoria. Lezione 16 Sistemi Operativi
La gestione della memoria Lezione 16 Sistemi Operativi La memoria come risorsa La memoria centrale è una risorsa fondamentale di un sistema di calcolo L accesso a memoria centrale è una delle operazioni
DettagliGESTIONE DELLA MEMORIA CENTRALE
GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:
DettagliStruttura interna del Sistema Operativo. 3. La gestione della memoria virtuale
Struttura interna del Sistema Operativo 3. La gestione della memoria virtuale Il concetto di memoria virtuale Separare il concetto di spazio di indirizzamento di un programma eseguibile e dimensione effettiva
DettagliGerarchie di memoria Memorie a componenti dinamici 1
Gerarchie di memoria Memorie a componenti dinamici 1 Denominate Dynamic RAM Memorizzazione su componenti capacitivi 1 transistor per bit (4-6 per Static RAM), dunque maggiore densità Richiede un ciclo
DettagliLa gestione della memoria
La gestione della memoria Nella gestione della memoria il sistema operativo deve perseguire l'obiettivo di allocare il maggior numero di processi in memoria centrale per aumentare la probabilità che ci
DettagliIl concetto di memoria virtuale. Struttura interna del Sistema Operativo. Memoria virtuale: indirizzi virtuali. Codifica Esadecimale
Il concetto di memoria virtuale Struttura interna del Sistema Operativo 3. La gestione della memoria virtuale 25 marzo 2004 Separare il concetto di spazio di indirizzamento di un programma eseguibile e
DettagliLa memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni
La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso, misurata in base al tempo impiegato dal processore per accedere ad uno specificato indirizzo
DettagliSistemi Operativi. 5 Gestione della memoria
Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria
DettagliSistema Operativo (Software di base)
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
DettagliSistemi Operativi Il Sistema Operativo Windows (parte 2)
Sistemi Operativi Il Sistema Operativo Windows (parte 2) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Gestione della memoria 1 Ogni processo dispone
DettagliGestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica
Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr
DettagliObiettivi! Memoria Virtuale! Memoria Virtuale > Memoria Fisica!
Obiettivi Memoria Virtuale Descrivere i vantaggi di un sistema a memoria virtuale Concetti fondamentali Paginazione su richiesta (Demand paging) Algoritmi di sostituzione delle pagine Algoritmi di allocazione
DettagliGestione della Memoria
Gestione della Memoria Multiprogrammazione e gestione della memoria L obiettivo primario della multiprogrammazione e` l uso efficiente delle risorse computazionali: Efficienza nell uso della CPU Velocita`
DettagliReti e problematiche di Rete
Reti e problematiche di Rete I sistemi operativi Enrico Cavalli Anno Accademico 28-29 Appendice : La rilocazione dei programmi e la catena di programmazione La rilocazione() Nel corso della sua esistenza
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
DettagliSpazio di indirizzamento virtuale
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 016-01 Spazio di indirizzamento virtuale Pietro Di Lena - pietro.dilena@unibo.it // The function name says it all int stack_overflow (){
DettagliMemoria Virtuale. Considerazioni sulla paginazione e segmentazione
Memoria Virtuale Generalità Hardware di supporto Scelte di progetto 1 Considerazioni sulla paginazione e segmentazione I riferimenti di Memoria sono tradotti dinamicamente in indirizzi fisici a run time
DettagliArchitettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliINFORMATICA GENERALE. Informatica Generale
INFORMATICA GENERALE a.a. 006/007 COGNOMI A-L Silvano Antonelli -Ricevimento : durante il corso: Martedì ore 5.0 presso Dipartimento di Informatica, Largo Pontecorvo Stanza 94 negli altri periodi: su appuntamento
DettagliLe memorie Cache n-associative
Le memorie Cache n-associative Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/30 Sommario
DettagliGestione della Memoria. Sistemi Operativi T AA
Gestione della Memoria Sistemi Operativi T AA 2009-2010 1 Multiprogrammazione e gestione memoria Obiettivo primario della multiprogrammazione è l uso efficiente delle risorse computazionali: Efficienza
DettagliMEMORIA VIRTUALE. Programma: Processore: Memoria fisica: Caso più semplice:
MEMORIA VIRTUALE MEMORIA VIRTUALE Programma: utilizza indirizzi che prendono il nome di indirizzi logici: l insieme degli indirizzi logici costituisce il cosiddetto spazio logico. Processore: utilizza
DettagliGestione della memoria
Gestione della memoria Gestione della Memoria Introduzione Spazi di indirizzamento Allocazione contigua Paginazione Segmentazione Segmentazione con paginazione 2 1 Introduzione La condivisione della memoria
DettagliSistema Operativo - Gestione della Memoria per moderne CPU. Address Binding Dinamico in esecuzione mediante Segmentazione, Paginazione e Memoria
Sistema Operativo - Gestione della Memoria per moderne CPU. Address Binding Dinamico in esecuzione mediante Segmentazione, Paginazione e Memoria Virtuale (Swap su Disco Lista Argomenti Concetto di Address
DettagliSistemi Operativi Gestione della Memoria (parte 1)
Sistemi Operativi Gestione della Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Considerazioni preliminari 1 Nell ottica degli utenti applicativi
DettagliOrganizzazione di un SO monolitico
Organizzazione di un SO monolitico Applicazioni Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del Gestore delle processore / Gestore della periferiche/ Scheduler(s) memoria dispositivi
DettagliIl memory manager. Gestione della memoria centrale
Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda
DettagliGestione della Memoria
Gestione della Memoria 1 Multiprogrammazione e gestione memoria Obiettivo primario della multiprogrammazione è luso efficiente delle risorse computazionali: Efficienza nelluso della CPU Velocità di risposta
DettagliSistema Operativo - Gestione della Memoria lista argomenti di studio
Sistema Operativo - Gestione della Memoria lista argomenti di studio Istruzioni assembly salti assoluti salti relativi Linking Rilocazione Statica Istruzioni rilocabili (salti relativi) Istruzioni Non
DettagliIl Gestore della Memoria. Tecnica a Partizioni Fisse e a Partizioni Variabili
Il Gestore della Memoria Tecnica a Partizioni Fisse e a Partizioni Variabili Compiti del gestore della Memoria Mantenere traccia dello stato, libera o occupata, di ciascuna zona della memoria. Assegnare
DettagliInformatica giuridica
Informatica giuridica Corso di laurea in Scienze dei Servizi giuridici Corso di laurea magistrale in Giurisprudenza A.A. 2015/16 L architettura hardware degli elaboratori La scheda madre Memoria principale
DettagliMemoria Virtuale. Alessandro A. Nacci ACSO 2014/2014
Memoria Virtuale Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 2014/2014 1 2 Algoritmo LRU! Buone prestazioni in media! Utilizza bit di controllo che riportano le informazioni sugli accessi alle
DettagliIl supporto al sistema operativo
Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007- Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare
DettagliSISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007
2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)
DettagliSistemi Operativi. Principi di gestione della memoria Swapping Memoria virtuale
Sistemi Operativi Principi di gestione della memoria Swapping Memoria virtuale Necessità di gestire la memoria La memoria è una risorsa importante e deve essere gestita attentamente Un programmatore vorrebbe:
DettagliIl Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
DettagliINFORMATICA. L informatica comprende:
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione
DettagliCalcolatori Elettronici Parte VIII: linguaggi assemblativi
Anno Accademico 2013/2014 Calcolatori Elettronici Parte VIII: linguaggi assemblativi Prof. Riccardo Torlone Universita di Roma Tre Linguaggi di Programmazione Linguaggi ad alto livello Maggiore espressività
DettagliCognome e nome: Matricola: Posto:
Quesito 1: (+0,5 punti per ogni risposta esatta; -0,25 punti per ogni risposta sbagliata; 0 punti se lasciata in bianco) DOMANDA ero/also La tecnica di allocazione contigua è soggetta al problema della
DettagliVeloce e cara. Lenta e economica. I livelli di memoria. E il supporto del calcolatore per conservare dati e istruzioni (programmi) La memoria centrale
I livelli di memoria LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica Veloce e cara E il supporto del calcolatore per conservare dati e istruzioni (programmi) Sistemi Operativi : La gestione
DettagliYYY02 Esercizi per Teoria. Esercizi per preparazione alla prova scritta
YYY02 Esercizi per Teoria Esercizi per preparazione alla prova scritta Esercizio YYY02_02 - Busy Waiting In linguaggio ANSI C, siano dichiarate le seguenti variabili, e siano queste variabili debitamente
DettagliSISTEMI OPERATIVI. Gestione della memoria. Gestione della memoria. Partizionamento Paginazione Segmentazione Memoria virtuale. 08.
SISTEMI OPERATIVI 08.a Gestione della memoria Gestione della memoria Partizionamento Paginazione Segmentazione Memoria virtuale 1 Obiettivi La gestione della memoria (effettuata dal SO usando gli accorgimenti
DettagliGestione della Memoria
Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,
DettagliFondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Il software di base Software
DettagliMemoria Virtuale. Lezione 6-7 Sistemi Operativi
Memoria Virtuale Lezione 6-7 Sistemi Operativi Problemi implementativi Dal punto di vista del SO la realizzazione di un sistema di VM richiede la soluzione di una serie di problemi: Individuazione di strutture
DettagliSo1ware: di sistema e applica.vo. Il Sistema Opera.vo. Il sistema opera.vo. Esempi di Sistemi Opera.vi. Archite:ura di un S.O.
So1ware: di sistema e applica.vo Il Sistema Opera.vo Di sistema: controlla il comportamento del sistema stesso il più importante dei so2ware di sistema è il sistema opera5vo: controlla le risorse del sistema
DettagliCapitolo 10: Memoria virtuale
Capitolo 10: Memoria virtuale Ambiente. Richiesta di paginazione. Creazione del processo. Sostituzione della pagina. Allocazione dei frame. Thrashing. Altre considerazioni. 10.1 Ambiente Memoria virtuale
DettagliGerarchie di memoria Politiche di rimpiazzo dei blocchi
Politiche di rimpiazzo dei blocchi Quale blocco conviene sostituire in cache per effettuare uno swap? (Penalità di miss) Casuale, per occupazione omogenea dello spazio First-In-First-Out (FIFO), per sostituire
DettagliMEMORIA VIRTUALE. G. Frosini Memoria virtuale Slide 1
MEMORIA VIRTUALE G. Frosini Memoria virtuale Slide 1 MEMORIA VIRTUALE Programma: utilizza indirizzi che prendono il nome di indirizzi logici: l insieme degli indirizzi logici costituisce il cosiddetto
DettagliInformatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno
Informatica 3 LEZIONE 20: Ordinamento esterno Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Informatica 3 Lezione 20 - Modulo 1 Organizzazione della memoria Introduzione Dati in
DettagliUSO DELLA GERARCHIA. FONDAMENTI DI INFORMATICA Lezione n. 14 POLITICHE DI SOSTITUZIONE DIMENSIONE DEL BLOCCO THRASHING POLITICA DI ALLOCAZIONE
FONDAMENTI DI INFORMATICA Lezione n. 14 GESTIONE DELLA GERARCHIA CONCETTO DI MEMORIA VIRTUALE RAGIONI PER L'USO DELLA MEMORIA VIRTUALE MECCANISMO DI GENERAZIONE DEGLI INDIRIZZI FISICI SEGMENTI, PAGINE
DettagliFile: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:
File System File: definizione Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da: Dimensione Posizione Accessibilità (solo lettura, lettura e scrittura) Tipo (estensione)
DettagliIntroduzione Definizioni
Informatica 3 Informatica 3 LEZIONE 20: Ordinamento esterno Lezione 20 - Modulo 1 Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Organizzazione della memoria Politecnico di Milano
DettagliMemoria virtuale. Introduzione Paginazione Fault
Memoria virtuale Introduzione Paginazione Fault Introduzione La memoria di un calcolatore sottende un modello lineare La memoria è un insieme ordinato di celle contigue Dimensione delle celle La dimensione
DettagliDescrivere i vantaggi di un sistema a memoria virtuale
Descrivere i vantaggi di un sistema a memoria virtuale Concetti fondamentali! Paginazione su richiesta (Demand paging)! Algoritmi di sostituzione delle pagine! Algoritmi di allocazione dei frame! Il problema
DettagliStruttura Logica del S.O:
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
DettagliCalcolo prestazioni cache (1)
Calcolo prestazioni cache (1) Consideriamo gcc: miss rate x istruzioni = 2% miss rate x dati = 4% frequenza di letture e scritture=36% Consideriamo inoltre un sistema con: CPU: Clock=3Ghz, CPI ideale =1
DettagliSistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O.
Sistema operativo Il S.O. (sistema operativo) è un insieme di programmi che: gestisce le risorse hardware (CPU, RAM, memoria di massa, periferiche) e software (programmi applicativi) in modo ottimizzato
DettagliArchitettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente
Architettura dei calcolatori e sistemi operativi M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente 18.01.2015 Architettura Intel x64 Lo spazio di indirizzamento virtuale
DettagliArchitettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliArchitettura degli elaboratori - 2 -
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori e gerarchie di memoria Marco Tarini Dipartimento di Scienze Teoriche e Applicate marco.tarini@uninsubria.it
DettagliInformatica Generale 07 - Sistemi Operativi:Gestione dei processi
Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei
Dettagli2. Nucleo del sistema operativo (la gestione dei processi)
Struttura interna del sistema operativo Linux 2. Nucleo del sistema operativo (la gestione dei processi) Architettura (struttura) del sistema operativo shell Programmi utente Modo utente Interfaccia delle
DettagliLezione 8. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.
Lezione 8 Sistemi operativi 11 maggio 2017 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 17 8.1 Di cosa parliamo in questa lezione? Allocazione e rilascio delle pagine
DettagliGestione della memoria centrale. Marco Cesati. Schema della lezione. Memoria centrale. Linux su Intel IA-32 SO Gestione della memoria centrale
Di cosa parliamo in questa lezione? Lezione 7 La gestione della Sistemi operativi 1 Schemi di indirizzamento della 2 La segmentazione 3 La paginazione 9 maggio 2017 4 System Programming Research Group
DettagliSimuliamo ora il funzionamento di LRU sulla reference string data:
1. Un computer ha quattro frame, i cui istanti di caricamento, di ultimo riferimento e i reference bit sono riportati nella seguente tabella: Frame Caric. Rifer. R 2 135 287 1 1 240 250 1 0 169 253 0 3
DettagliSistemi operativi 2/ed Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari Copyright 2008 The McGraw-Hill Companies srl
SOLUZIONI DEI PROBLEMI DEL CAPITOLO 4. Soluzione: Adottando lo schema best-fit la partizione libera utilizzata per allocare un segmento di dimensione pari a 56 byte è quella le cui dimensioni siano le
DettagliGestione della memoria centrale
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliBasi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale
Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore
DettagliEsercizio: memoria virtuale
Siano dati un indirizzo logico con la struttura ed il contenuto mostrati in figura, dove è anche riportata la funzione di rilocazione. Si indichi l indirizzo fisico corrispondente all indirizzo logico
DettagliGestione della memoria. Algoritmi di rimpiazzamento Segmentazione
Gestione della memoria Algoritmi di rimpiazzamento Segmentazione Algoritmi di rimpiazzamento Per ogni page fault il SO deve: scegliere una pagina da rimuovere dalla memoria per creare spazio per la nuova
DettagliLa gerarchia di Memoria
La gerarchia di Memoria Calcolatori Elettronici 1 Gap delle prestazioni DRAM - CPU 1000 CPU 100 10 DRAM 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998
Dettagli