Memory management 49
|
|
- Tommaso Maggio
- 8 anni fa
- Visualizzazioni
Transcript
1 Memory management 49
2 Gestione della memoria I processi Unix lavorano su uno spazio di indirizzamento virtuale (Es. 0,..., su indirizzi i i a 32 bit); Ogni processo ha uno spazio indirizzi separato per i segmenti Text, Data e Stack; Le dimensioni di Stack e Data possono cambiare durante l esecuzione; Gli indirizzi di Data crescono a partire dalla parte bassa degli indirizzi virtuali (0..); Gli indirizzi dello Stack crescono a partire dalla parte alta degli indirizzi virtuali ( ); 42
3
4 Gestione della memoria Il sistema operativo Unix è pensato per essere indipendente dalla macchina -> Lo schema di gestione della memoria varia tra piattaforme. Prime versioni : partizionamento variabili senza memoria virtuale. Attuali: memoria virtuale paginata (on demand). Due schemi separati per la gestione della memoria: - Paging system: realizza la memoria virtuale, allocando ai processi i frame (pagine fisiche) della memoria principale ed anche i buffer del disco alle pagine di memoria virtuale. - Allocatore di memoria per il Kernel: alloca memoria per i buffer, le primitive di comunicazione, gli streams del Kernel etc. 47
5 Configurazione della memoria fisica P.S.: se la pagina è di 1K e il descrittore della core map è di 16byte, la core map (1 desc. per pagina) occupa meno del 2% della memoria. 48
6 Spazio fisico e logico 47
7 Strutture dati Un processo in memoria (ready-to-run) necessita solo delle seguenti strutture dati: - User-area, o U-area; - Tabelle delle pagine (una per i segmenti Data/Text, una per i segmenti U-Area/Stack). Le pagine di Data, Text e Stack sono portate in memoria dinamicamente via paginazione. i U-area (tutte le pagine) e Tabelle delle Pagine sono portate in memoria dinamicamente via swapping. Ogni volta sono attive: la tabella delle pagine del Kernel (in memoria residente; entries contigue; mappa Data e Stack del Kernel; le pagine del Kernel in memoria non residente sono marcate non-swappabili) e quelle del processo in esecuzione (mappate in entries non necessariamente contigue della tabella del Kernel;le pagine del processo sono quasi sempre marcate come swappabili). 43
8 Strutture Dati (in BSD 4.4) FIG 1: Kernel address space maps FIG 2: Generic user process address space maps 43
9 machine-independent virtual address space structures that describe the use of a range of addresses kernel text, initialized data, uninitialized data, and initially allocated data structures reside in the range Information machine dependent/independent Describe process address space malloc arena To avoid intermixing of unrelated allocations within an address range kernel I/O staging area network buffer arena
10 Executable file Text area Initialized data of the program that follows the program text in the file uninitialized data stack areas
11 Paginazione e Swapping La memoria principale viene gestita da due demoni: - Swapper (processo 0) che si occupa di rimuovere processi dalla memoria/riportarli in memoria da disco; User-area e Tabelle delle pagine sono portate dinamicamente in memoria/disco dal processo Swapper. - Pagedaemon o Demone di Pagina (processo 2) che si occupa del rimpiazzamento delle pagine; Le pagine di Text, Data e Stack sono portate dinamicamente in memoria/disco, una alla volta quando servono (cioè a seguito di un page fault) /quando vengono rimpiazzate dal processo Pagedaemon. 50
12 Swapper PageDaemon
13 Paginazione e Swapping I due demoni lavorano sulla base di alcuni parametri di sistema: - Lotsfree: indica il numero minimo di frame per evitare l intervento del Pagedaemon; - Minfree: indica il numero minimo di frame per evitare l intervento dello Swapper; - Desfree: numero di frame liberi desiderabile per un buon funzionamento del sistema; La relazione tra i parametri è: Minfree < Desfree < Lotsfree. 51
14 Paginazione e Swapping Un processo può richiedere memoria nei seguenti casi: 1. Al momento della creazione tramite fork (allocazione di memoria per i segmenti Data e Stack); 2. Chiamata della funzione di sistema malloc (estende il segmento Data); 3. Lo stack cresce oltre le dimensioni prefissate del segmento Stack; 4. Si accede in scrittura ad una pagina condivisa tra due processi e gestita il metodo copy-on-write ; 5. Può essere necessario caricare memoria ad un processo che era swapped da troppo tempo. 46
15 Strutture dati del kernel (Paging System) Page Table: due per ogni processo (una per i segmenti Data/Text, una per i segmenti U-Area/Stack). Una entry descrive una pagina virtuale. Disk Block Descriptor: ad ogni pagina del processo con bit di validità 0 è associata una entry di questa tabella. Una entry descrive la copia su disco della pagina virtuale. Core map (Frame Data Table): una entry descrive e un frame della memoria fisica. La tabella ha come indici i numeri di frame. Swap-use Table: una per ogni dispositivo su cui si trasferiscono i processi. Una entry descrive una pagina swappata sul ldispositivo ii associato alla tabella. 47
16 Numero del page frame Age Copy on Write Modify Reference Valid Protection Bit (a) Entry della tabella delle pagine N dispositivo di swap Numero di blocco del dispositivo Tipo di memorizzazione (b) Descrittore del blocco disco Stato della pgina Contatore ai riferimenti Dispositivo logico Numero di blocco Puntatore pfdata (c) Entry della tavola dei dati del frame Contatore di riferimenti Numero di unità disco/pagina (d) Entry della Swap-use table
17 Entry della Page Table Numero di page frame Si riferisce ai frame della memoria reale. Age Indica per quanto tempo la pagina è rimasta in memoria senza che il processo facesse riferimento ad essa. La lunghezza e I contenuti di questo campo dipendono dal processore. Copy on write E porto a 1 quando più di un processo condivide una pagina. Se uno dei processi scrive nella pagina, deve essere fatta una copia della pagina per tutti gli altri processi che la condividono. Questo consente di rimandare l operazione di copiatura finchè è necessaria ed evitarla quando non è necessaria. Modify Indica se la pagina è stata modificata. Reference indica se ci sono stati riferimenti alla pagina. Questo bit è posto 0 quando la pagina è caricata per la prima volta in memoria e può essere periodicamente reimpostato a 0 dall algoritmo di page replacement. Valid Indica la presenza della pagina nella memoria principale. Protect Indica se l operazione di scrittura è consentita.
18 Descrittore del blocco disco Numero del dispositivo di Swap Numero di dispositivo logico del dispositivo di memoria secondaria che contiene la pagina corrispondente. Questo consente di utilizzare più di un dispositivo per memorizzare pagine trasferite su disco. Numero del blocco del dispositivo Locazione del blocco che contiene la pagina sul dispositivo. Tipo di memorizzazione La memorizzazione può essere un unità di swap o un file eseguibile. Nell ultimo caso c è indicazione sulla necessità di pulire la memoria virtuale prima di allocarla.
19 Entry della Frame Data Table Stato della pagina Indica se questo frame è disponibile in memoria oppure ha una pagina ad esso associata. In quest ultimo caso lo stato della pagina è specificato: sul device di swap, nel file eseguibile o DMA in corso Contatore si riferimenti Numero dei processi che fanno riferimento alla pagina. Dispositivo logico Disposirivo logico che contiene una copia della pagina. Numero di blocco Locazione del blocco che contiene la copia della pagina sul dispositivo. Puntatore Pfdata Puntatore agli altri entry della pfdata table su una lista di pagine libere o su una coda hash di pagine.
20
21 Entry della Swap-user Table Contatore ai riferimenti Numero delle entry della page table che puntano ad una pagina nel dispositivo di swap. Numero di unità disco/pagina Identificatore di pagina sull unità di memoria.
22
23 Visione dinamica Quando un processo viene lanciato, molte pagine vengono precaricate e poste sulla free list (prepaging); Quando un processo termina, le sue pagine vengono rimesse sulla free list; Il sistema usa allocazione libera (quindi anche in celle non consecutive) per gestire la richiesta di pagine da parte di un processo; Se la free list scende sotto una certa soglia (parametro del kernel), il kernel si rifiuta di allocare nuove pagine di memoria; La free list viene anche utilizzata come memoria cache: le pagine richieste da un processo che risultano invalide vengono cercate sulla free list, prima di essere caricate da disco; Quando un processo termina, le sue pagine vengono messe sulla free list. 49
24 Algoritmo di Paginazione (1) Le pagine vengono allocate dalla lista libera con strategia copy-on-write ; La free list viene mantenuta piena entro un certo livello; Il demone delle pagine viene lanciato al tempo di boot e si attiva ad intervalli regolari (tipicamente i t 2 4 volte al secondo) o su richiesta del kernel; Quando viene risvegliato: Sia NFL il numero di frame liberi, - Se NFL lotsfree, torna inattivo; -Se NFL < lotsfree, inizia a scorrere le pagine cercando di spostare pagine su disco fino a che non ci sono lotsfree pagine libere; - La velocità di scansione cresce al diminuire di NFL; Il demone utilizza una politica di rimpiazzamento globale; 56
25 Algoritmo di Paginazione (2) Algoritmo di sostituzione delle pagine: variante dell algoritmo dell orologio (con due lancette invece che una). L algoritmo usa due puntatori (lancette) per scorrere la lista delle pagine allocate nella core map. While (NFL < lotsfree) - la prima lancetta azzera il reference bit R della pagina a cui punta; - la seconda sceglie la pagina vittima: if R = 0 (cio`e la pagina non è stata usata nel periodo trascorso tra il passaggio delle due lancette), questa è la pagina vittima if M=1, il frame viene salvato su disco; il frame viene aggiunto alla free-list; - Si fanno avanzare i due puntatori; 57
26 Algoritmo di Paginazione (3) La distanza tra i puntatori t (handspread) d) viene decisa al boot, per liberare frame abbastanza rapidamente: - Se le lancette sono vicine: solo le pagine realmente usate rimarranno in memoria; - Se le lancette sono distanti 359 = algoritmo dell orologio (la seconda passa dopo un giro); Possibile variante: - ulteriore parametro maxfree > lotsfree: quando il livello di pagine scende sotto lotsfree, il pagedaemon libera pagine fino a maxfree. (Permette di evitare una potenziale instabilità del CLOCK a due lancette). 58
27 Swapping (1) Lo Swapper (o schedulatore di medio termine), lanciato anch esso al tempo di boot), decide quale processo deve essere swappato su disco/riportato in memoria; Lo Swapper si sveglia ogni 1 2 secondi, e interviene solo se il sistema di paginazione è sovraccarico: - il numero di frame liberi è sotto la soglia minima ammissibile minfree; - il numero medio di frame liberi nell unità di tempo è minore di desfree. 59
28 Swapping (2) Regole di scelta del processo uscente Si cerca tra i processi in Asleep, senza considerare quelli in memoria da meno di 2 secondi; Se ce ne sono, si prende quello con il valore priorità+tempo di residenza in memoria più alto (nota: tempo CPU= tempo in memoria); Altrimenti, si cerca tra quelli in Ready, con lo stesso criterio; Per il processo selezionato: - i suoi segmenti Data e Stack (non il Text) vengono scaricati sul device di swap ed i frame vengono aggiunti alla free list; - nel PCB, viene messo lo stato Swapped e agganciato alla lista dei processi swappati; Si ripete fino a che sufficiente memoria viene liberata. 60
29 Swapping (3) Regole di scelta del processo entrante cerca nella lista dei PCB dei processi swappati e ready, il processo swappato da più tempo, ma almeno 2 secondi (per evitare thrashing); se lo trova, determina se c è cè sufficiente memoria libera per la page table e la u-area (easy swap) oppure no (hard swap); se è un hard swap, libera memoria swappando qualche altro processo; carica le page table e la u-area in memoria e mette il processo in Ready-to-run in memory; Si ripete finché non ci sono processi da caricare. 61
30 Considerazioni Interazione tra scheduling a breve termine, a medio termine e paginazione: minore è la priorità, maggiore è la probabilità che il processo venga swappato; per ogni processo in esecuzione, la paginazione tende a mantenere in memoria il suo working set; quindi, processi che non sono idle tendono a stare in memoria, mentre si tende a swappare solo processi idle da molto tempo; nel complesso, il sistema massimizza l utilizzo della memoria e la multipro- grammazione, limitando il thrashing e garantendo l assenza di starvation per i processi swappati. 62
Modello della memoria in Unix. Unix: Gestione della Memoria. Gestione della memoria in UNIX - fondamenti. Gestione della memoria in UNIX - storia
Modello della memoria in Unix I processi Unix lavorano su uno spazio di indirizzamento virtuale Es. 0,..., 2 32 1 su indirizzi a 32bit Ogni processo ha uno spazio indirizzi separato per i segmenti text,
DettagliMemory management 49
Memory management 49 Immagine di un processo L immagine di memoria di un processo è organizzata in tre regioni: E rientrante, e può essere condiviso fra più processi Stack Dati Testo Ogni regione è uno
DettagliI processi Unix. Entry della tabella dei processi
I processi Unix Ciascun processo Unix può evolvere in stato utente o in stato kernel. Il passaggio dall uno all altro stato avviene mediante SVC. Poiché il processo può andare in attesa di un evento nell
DettagliMemoria Virtuale. è la tecnica chge permette l esecuzione di processi che non sono completamente caricati in memoria principale
Memoria Virtuale 1 Memoria Virtuale Definizione è la tecnica chge permette l esecuzione di processi che non sono completamente caricati in memoria principale Considerazioni permette di eseguire in concorrenza
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
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. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
DettagliSistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1
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
DettagliCapitolo 11 -- Silberschatz
Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
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
DettagliSistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1
GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria
DettagliSistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco
GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria
DettagliLa Gestione delle risorse Renato Agati
Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliIl software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale
Funzioni principali del sistema operativo Il software la parte contro cui si può solo imprecare Avvio dell elaboratore Gestione del processore e dei processi in Gestione della memoria principale Gestione
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,
DettagliSistemi Operativi Kernel
Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni
DettagliMemoria Virtuale. Lezione 29 Sistemi Operativi
Memoria Virtuale Lezione 29 Sistemi Operativi I Principi Abbiamo sinora assunto che durante l esecuzione di un programma, lo stesso debba risiedere completamente in MC Intorno alla metà degli anni 70 viene
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliLaboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,
DettagliGestione della memoria. Paginazione Segmentazione Segmentazione con paginazione
Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base
DettagliIl Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
Dettagli9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale
1 (es. 1) Consideriamo un processo con m frame inizialmente vuoti. La stringa di riferimento è lunga p e contiene riferimenti a n pagine diverse. Per un qualsiasi algoritmo di rimpiazzamento: a) qual è
DettagliSistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.
1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
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 II Corso di Laurea in Ingegneria Informatica
www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche
DettagliSTRUTTURE DEI SISTEMI DI CALCOLO
STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema
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
DettagliModello dei processi. Riedizione delle slide della Prof. Di Stefano
Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess
DettagliModello della memoria in Unix. Quando si alloca la memoria. Gestione della memoria in UNIX
Modello della memoria in Unix Ogni processo UNIX ha uno spazio indirizzi separato. Non vede le zone di memoria dedicate agli altri processi. Come detto più volte un processo UNIX ha tre segmenti: Stack
Dettagli12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua
12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura
DettagliEsercitazione E1 Scheduling, deadlock, monitor
Esercitazione E1 Scheduling, deadlock, monitor Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E1-1 Scheduling I cinque processi A,B,C,D,E richieste di CPU si presentano nell ordine. Le loro richieste
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto
DettagliTesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni
Sistemi operativi real time basati su Linux: gestione delle risorse e dei processi. Tesina per l esame di Sistemi Operativi a cura di. Prof. Aldo Franco Dragoni Corso di laurea in Ingegneria Informatica
DettagliMemoria virtuale. Riassumendo Meccanismo di traduzione indirizzi con tabella TLB Ogni processo ha la sua PMT Politiche della memoria virtuale E
Spazio di indirizzamento virtuale Riprendiamo lo spazio di indirizzamento virtuale del programma di inversione stringa LO SPAZIO DI INDIRIZZAMENTO VIRTUALE DI UN PROCESSO É Spazio di indirizzamento virtuale
DettagliIl Software. Il software del PC. Il BIOS
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:
DettagliLa Gestione della Memoria
La Gestione della Memoria Gestione della Memoria Centrale A livello hardware: ogni sistema di elaborazione è equipaggiato con un unico spazio di memoria. Compiti del Sistema Operativo: allocare memoria
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
DettagliSecondo biennio Articolazione Informatica TPSIT Prova Quarta
Sistema operativo: gestione memoria centrale La Memoria Virtuale consente di superare i limiti della Memoria Centrale : A. no B. a volte C. si, ma non sempre e' adeguata D. si, attraverso tecniche di gestione
Dettaglimemoria virtuale protezione
Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.
DettagliLezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario
Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1
DettagliSistemi Operativi (modulo di Informatica II) I processi
Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto
DettagliProcessi e Thread. Scheduling (Schedulazione)
Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L
DettagliSistemi Operativi Il Sistema Operativo Windows (parte 3)
Sistemi Operativi Il Sistema Operativo Windows (parte 3) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Architettura di NTFS 1 NTFS file system adottato
DettagliSistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
Dettagli1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:
1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: compile time, load time, execution time. Quale delle modalità precedenti necessita di un supporto hardware per poter essere
DettagliArchitettura di un calcolatore
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von
DettagliSistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliSistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliIl Sistema Operativo
Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema
DettagliAXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale
AXO Architettura dei Calcolatori e Sistemi Operativi memoria virtuale concetto di memoria virtuale Separare il concetto di: spazio di indirizzamento di un programma eseguibile e dimensione effettiva della
DettagliLa memoria virtuale 9.2. Sistemi Operativi a.a. A.A. 2009-10 2013-2014
La Memoria Virtuale La memoria virtuale Background Paginazione su richiesta Copy on Write Sostituzione delle pagine Allocazione dei frame Thrashing File mappati in memoria Allocazione di memoria del kernel
DettagliFile system II. Sistemi Operativi Lez. 20
File system II Sistemi Operativi Lez. 20 Gestione spazi su disco Esiste un trade-off,tra spreco dello spazio e velocità di trasferimento in base alla dimensione del blocco fisico Gestione spazio su disco
DettagliCorso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta
Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.
ESERCIZIO 1 Si consideri un hard disk formattato la cui memoria è suddivisa in 16 blocchi (numerati da 0 a 15). Si supponga che sull hard disk sia memorizzato un unico file, contenuto, nell ordine, nei
DettagliVarie tipologie di memoria
Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti
DettagliAppunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo
Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................
Dettagli= 0, 098 ms. Da cui si ricava t 2 medio
1. Una macchina ha uno spazio degli indirizzi a 32 bit e una pagina di 8 KB. La tabella delle pagine è completamente nell hardware, con una parola a 32 bit per voce. Quando parte un processo, la tabella
DettagliLa memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini
La memoria Architetture Avanzate dei Calcolatori Valeria Cardellini Nelle lezioni precedenti { Memoria La gerarchia di memorie Registri Istruzioni, operandi L Cache Blocchi L2 Cache Blocchi Memoria Pagine
DettagliScheduling della CPU:
Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready
DettagliEsercitazione E6 Esercizi d esame
Esercitazione E6 Esercizi d esame Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E6-1 Memoria virtuale Si consideri un sistema a memoria virtuale con indirizzi a 32 bit, indirizzi fisici a 20
DettagliArchitettura di un sistema di calcolo
Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un
DettagliSistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo
Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al
DettagliLe virtual machine e la memoria virtuale
Le virtual machine e la memoria virtuale Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson 5: 5.6, 5.7. 1/29
DettagliIl supporto al Sistema Operativo
Il supporto al Sistema Operativo Obiettivi e funzioni del S.O. Il Sistema Operativo è il software che controlla l esecuzione dei programmi e amministra le risorse del sistema. Ha due obiettivi principali:
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMemoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)
Memoria Virtuale Anche la memoria principale ha una dimensione limitata. Possiamo pensare di superare questo limite utilizzando memorie secondarie (essenzialmente dischi) e vedendo la memoria principale
DettagliUn sistema operativo è un insieme di programmi che consentono ad un utente di
INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli
DettagliIl sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione
Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia
DettagliSistemi operativi. Esempi di sistemi operativi
Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del
Dettagli1.4b: Hardware. (Memoria Centrale)
1.4b: Hardware (Memoria Centrale) Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.11, 3.13 IV ediz.: cap. 2.8, 2.9 Questi lucidi Memoria Centrale Un
DettagliArchitettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
DettagliSistemi Operativi SCHEDULING DELLA CPU
Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling
DettagliI Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
DettagliUnix: Gestione della Memoria
Unix: Gestione della Memoria 1 Modello della memoria in Unix I processi Unix lavorano su uno spazio di indirizzamento virtuale Es. 0,...,2 32 1 su indirizzi a 32bit Ogni processo ha uno spazio indirizzi
DettagliGestione della memoria in UNIX - storia. Gestione della memoria in UNIX - fondamenti. Unix: Gestione della Memoria. Modello della memoria in Unix
Unix: Gestione della Memoria Gestione della memoria in UNIX - storia Fino a 3BSD (1978): solo segmentazione con swapping; Da 3BSD: segmentazione e paginazione; Da 4BSD (1983): segmentazione e paginazione
DettagliSistemi Operativi. Organizzazione logica ed implementazione di un File System
Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Organizzazione logica ed implementazione di un File
DettagliMateriali per il modulo 1 ECDL. Autore: M. Lanino
Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati
DettagliHardware di un Computer
Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,
DettagliTecnologia di un Database Server (centralizzato) Gestione del buffer
Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer
DettagliSISTEMI OPERATIVI. La memoria virtuale. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)
SISTEMI OPERATIVI (MODULO DI INFORMATICA II) La memoria virtuale Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario La memoria 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
DettagliOrganizzazione della memoria
Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010
DettagliScheduling. Lo scheduler è la parte del SO che si occupa di
Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto
DettagliLa memoria - generalità
Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire
DettagliEsercitazione E2 Memoria virtuale
Esercitazione E2 Memoria virtuale Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-1 Memoria virtuale 1 Si consideri un sistema a memoria virtuale con indirizzi virtuali a 32 bit, indirizzi fisici
DettagliMemoria secondaria. Sistemi Operativi mod. B 14.1
Memoria secondaria Struttura del disco Scheduling del disco Gestione dell unità a disco Gestione dello spazio di swap La struttura RAID Affidabilità dei dischi Connessione dei dischi 14.1 Memoria secondaria
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi
DettagliSoftware relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi
Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi
DettagliLa gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
DettagliIl descrittore di processo (PCB)
Il descrittore di processo (PC) Il S.O. gestisce i processi associando a ciascuno di essi un struttura dati di tipo record detta descrittore di processo o Process Control lock (PC) Il PC contiene tutte
DettagliHEX Bin HEX Bin HEX Bin HEX Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111
Struttura interna del Sistema Operativo CAP. 7. La gestione della memoria virtuale Il concetto di memoria virtuale Il concetto di memoria virtuale nasce dalla necessità di separare il concetto di spazio
DettagliSISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)
SISTEMI OPERATIVI (MODULO DI INFORMATICA II) Realizzazione del file system Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario Realizzazione
DettagliLo scheduling. Tipici schedulatori
Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo
DettagliControllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione.
C6. REALIZZAZIONE DEL FILE SYSTEM Struttura del file system Un file è analizzabile da diversi punti di vista. Dal punto di vista del sistema è un contenitore di dati collegati tra di loro, mentre dal punto
DettagliStrutture di Memoria 1
Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione
Dettagli