Memoria, Garbage Collector e Performance

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Memoria, Garbage Collector e Performance"

Transcript

1 Memoria, Garbage Collector e Performance Università di Genova Facoltà di Ingegneria Martedi 16 Dicembre 2008 Venerdi 19 Dicembre Blog: Profilo: https://mvp.support.microsoft.com/profile/raffaele

2 Processo e memoria 2 32 = 4GB 1GB 2GB User 2GB Kernel

3 Non tutte le pagine di memoria sono uguali... 2GB User Ram fisica 2GB User File di swap Pagine allocate condivise Pagine allocate private in ram Pagine allocate e in swap

4 Alcuni termini Page Fault. Quando un processo richiede della memoria e questa non è subito disponibile, viene scatenato un page fault. Se la pagina in questione è nel file di paging su disco fisso, il page fault è detto "hard page fault" Maggiori sono gli "hard page fault" e minore è la performance generale del sistema I "soft page fault" sono invece generati se la pagina non è stata trovata ma è già in memoria e tipicamente non sono responsabili di grosse perdite di performance. Committed Page. Pagina di memoria allocate e presenti in RAM o su disco Uncommitted Page. Pagine di memoria virtuale non ancora allocate, non usabili e non disponibili. In pratica i "buchi" nello spazio di indirizzamento virtuale. In pratica il tentativo di accedere in lettura o scrittura in una Uncommitted Page risulta nel classico e noto errore di "Access Violation"

5 Task manger, Process Explorer e il nostro uso della memoria 2GB User Ram fisica System.*.dll... MSVCRT Pagine allocate condivise WS Shareable (ProcExp) File di swap Pagine allocate private in ram WS Private Pagine allocate e in swap Private Bytes - WS Private Spazio di indirizzamento virtuale assegnato al processo (dinamico) Discussione 1. Rebasing 2. Mem Usage alto tante pagine shared? Ottimo! 3. VM Size alto pagine su disco Hard page fault?

6 Q&A Perché "Mem Usage" non è un'informazione utile? Le pagine di memoria condivise sono contate per ciascun processo. Per cui la somma di tutti i "Mem Usage" di tutti i processi è superiore alla memoria realmente occupata. Un alto "Mem Usage" (Working Set) può dire che stiamo usando poca memoria ma sono tante le dll condivise con altri processi Quando accade che un processo condivida le sue pagine? Ad esempio la porzione read-only delle DLL che vengono caricate in un processo e non sono ribasate dal loader vengono condivise, permettendo al sistema di occupare meno memoria. Cosa indica "Memory (Private Working Set)" in Vista o "WS Private" di Procexp? pagine private di un processo in RAM e non su disco Cosa indica "WS-Shareable" in Procexp? È la memoria condivisa con altri processi. È pari a Working Set - WS Private

7 Q&A Cosa sono le pagine riservate? Le allocazioni fatte con VirtualAlloc riservano solo dello spazio nella memoria virtuale senza doverci fare un accesso fisico. Non appena ci scrivo viene messa in RAM. Per esempio una allocazione di 1MB eseguita dal GC riserva lo spazio ma non incrementa l'uso di RAM fisica fino a che non vado a scriverci dentro Disabilitare il file di swap è negativo perché impedisce di riservare lo spazio anche se non usato subito La memoria privata ma riservata nel file di swap è pari a Private Bytes - WS Private Cosa rappresenta "Vm Size" (Private Bytes di Procexp, Commit Size di Vista)? È la somma delle pagine private in memoria e sul file di swap. Sono tutte pagine allocate e private dal processo, quindi non condivise

8 La soluzione ai problemi di memoria IL GARBAGE COLLECTOR

9 Memoria Ogni applicazione usa memoria Ogni reference type finisce nel managed heap gestito dal GC Il compito del GC è di prendere in carico la disallocazione dell'oggetto La disallocazione di memoria non è predicibile Problemi risolti Memory Leak (dimenticare di disallocare) Frammentazione della memoria Bug sui memory leak porterebbero ad OutOfMemoryException

10 Soluzione per la memoria Il GC gestisce tutti i reference type (allocati nel managed heap) Il codice utente non deve/può mai liberare memoria Quando non esiste più un reference che punta in modo diretto o indiretto ad un oggetto, questo è candidato ad essere liberato dal GC Ogni processo ha il suo managed heap privato "new" alloca sempre gli oggetti in fondo al managed heap Se lo heap è pieno, viene eseguita una Garbage Collection In realtà avviene solo quando è piena la Generazione 0 A B C NextObjPtr

11 L'algoritmo usato dal GC Allocare gli oggetti è un'operazione veloce Quasi tanto quanto allocare sullo stack Più rapida di HeapAlloc/malloc Gli oggetti grossi (>= 85,000 bytes) sono allocati in LOH LOH = Large Object Heap Gli oggetti LOH non vengono mai spostati Gli oggetti non referenziati (direttamente o indirettamente) sono soggetti a garbage collection Nell'immediato sono considerati memoria libera e riusabile Durante la garbage collection gli oggetti in uso vengono spostati per compattare la memoria Se l'heap è pieno di oggetti in uso viene lanciata una OutOfMemoryException

12 L'algoritmo usato dal GC Ogni applicazione ha un set di Roots Le Roots sono qualsiasi locazione dove vengono memorizzati i reference che puntano ad oggetti nel managed heap Reference di variabili nelle classi, locali, statiche (globali),... Reference agli oggetti nelle variabili/parametri locali Registri CPU che contengono reference ad oggetti Il compilatore JIT costruisce una tabella che indica dove sono le roots Il GC usa questa tabella All'avvio il GC fa l'assunzione che non esistano oggetti nell'heap Poi il GC esamina le roots e costruisce il grafo di tutti gli oggetti raggiungibili Quando un oggetto viene identificato, il GC guarda se questo oggetto contiene nuovi reference per percorrere l'intero grafo Il procedimento è ricorsivo fino a quando l'intero grafo viene ispezionato

13 Prima e dopo una Collection Managed Heap A B C D E F G H I J A C D F H Managed Heap NextObjPtr NextObjPtr ROOTS (strong references) Globals Statics Locals CPU Registers

14 La soluzione ai problemi di Risorse LA FINALIZZAZIONE E IL RUOLO DEL GARBAGE COLLECTOR

15 Risorse Cosa sono le "Risorse"? File, buffer di memoria, output su video, connessioni di rete, risorse di DB, etc. Il loro rilascio, per loro natura, deve essere deterministico Per convenzione il rilascio delle risorse si esegue dentro Dispose Cosa c'entra quindi il GC con le risorse? È utile solo quando lo sviluppatore dimentica di chiamare Dispose È possibile solo se il pattern Dispose è implementato correttamente Il GC in modo non deterministico chiama Finalize la quale chiama Dispose Problemi risolti Resource Leak (Handle leak, etc.) Questi bug sono statisticamente delle "piaghe" Non predicibili sia nel tempo che nell'entità del disastro

16 Se si usa la Finalize... Ricordarsi che viene eseguita in un thread diverso C'e il rischio di race conditions Deve contenere il minimo codice necessario Evitare qualsiasi tipo di blocco (lock, etc.) Non sollevare eccezioni Chiamare la Finalize della classe base // Sintassi C# class MyObject { ~MyObject() {... // Codice prodtto dal compilatore class MyObject { protected override void Finalize() { try {... finally { base.finalize();

17 Coda di finalizzazione Managed Heap A B C D E F G H I J ROOTS (strong references) Globals Statics Locals CPU Registers Finalization Queue C E F I J Freachable Queue

18 La coda Freachable Managed Heap A C D E F I J ROOTS (strong references) Globals Statics Locals CPU Registers Finalization Queue C F Nello step precedente erano in coda di finalizzazione E I J Freachable Queue

19 Stato dopo la GC successiva A C D F Managed Heap ROOTS (strong references) Globals Statics Locals CPU Registers Finalization Queue C F Sono state necessarie due GC per liberare la memoria! Freachable Queue

20 DISPOSE E FINALIZE NELLA PRATICA

21 Usare classi che implementano IDisposable È sufficiente chiamare Dispose (o Close) FileStream fs = new FileStream( Readme.txt, FileMode.Open); fs.write(...); fs.close(); // fs.dispose() funzionerebbe uguale // File viene chiuso, l'oggetto non è più soggetto a finalizzazione Esiste uno statement in C# per semplificare using (FileStream fs = new FileStream( ReadMe.txt, FileMode.Open)){ fs.write(...); Using produce questo codice: FileStream fs = new FileStream( ReadMe.txt, FileMode.Open); try { fs.write(...); finally { if (fs!= null) fs.dispose();

22 Scrivere classi che devono rilasciare risorse Le classi che hanno bisogno di rilasciare risorse in modo deterministico sono candidate al pattern Dispose Implementare sempre IDisposable Consente l'uso dello statament "using" Wrappare se possibile le risorse in SafeHandle o in altre classi in Microsoft.Win32.SafeHandles Implementare il pattern Dispose

23 Pattern Dispose public class ComplexCleanupBase : IDisposable { // some fields that require cleanup private bool disposed = false; // to detect redundant calls public ComplexCleanupBase() { // allocate resources protected virtual void Dispose(bool disposing) { if (!disposed) { if (disposing) { // dispose-only, i.e. non-finalizable logic // shared cleanup logic disposed = true; ~ComplexCleanupBase() { Dispose(false); public void Dispose() { Dispose(true); GC.SuppressFinalize(this);

24 Design Guidelines per il Pattern Dispose nandresourcemanagement.aspx public class SimpleCleanup : IDisposable { SafeHandle Internamente implementa la Finalize // some fields that require cleanup private SafeHandle handle; private bool disposed = false; // to detect redundant calls public SimpleCleanup() { this.handle = /* */; protected virtual void Dispose(bool disposing) { if (!disposed) { if (disposing) { if (handle!= null) handle.dispose(); disposed = true; public void Dispose() { Dispose(true);

25 GC E GENERAZIONI

26 Generazioni È un meccanismo per migliorare le performance Il Garbage Collector (detto "ephemeral" o generazionale) fa le seguenti assunzioni Più un oggetto è di recente creazione, più corta sarà la sua vita Più un oggetto è vecchio, più lunga sarà la sua vita Gli oggetti più recenti tipicamente si referenziano tra loro e vengono frequentemente accessi contemporaneamente Compattare una porzione dell'heap è più veloce che compattare l'intero heap Statisticamente sono assunzioni valide per tante applicazioni

27 Come funziona il GC Ci sono Gen0, Gen1, Gen2 e LOH (Large Object Heap) Se allocazione > bytes va direttamente in LOH Gli oggetti in LOH non sono mai spostati In futuro potrebbe cambiare quindi facciamo finta di non saperlo e continuiamo a farne il pinning Ogni allocazione managed costa solo 8 byte in più rispetto ad una nativa: sync + method table ptr

28 Garbage Collection Generations A B C D EL MF NG OH PI QJ RK Roots (strong references) Generazioni 2 1 0

29 Garbage Collection Generations A C D G L M N O PS QT UR Roots (strong references) Generazioni 2 1 0

30 Garbage Collection Generations A C D G M O Q R S VT WU X Y Z Roots (strong references) Generazioni 2 1 0

31 Garbage Collection vs Performance Quando accade la GC? Quando la Gen0 è finita In questo caso accade una GC sulla Gen0 Se l'ephemeral Segment è esaurito Gen2 collection Quando chiamiamo GC.Collect() Negativa perché ci fa perdere tempo Negativa perché sballa l'auto-tuning del GC Non necessaria quasi mai Sotto Memory Pressure La Memory Pressure è un'informazione passata dall'os QueryMemoryResourceNotification API

32 Quanto è veloce accedere in Gen0,1? L'Ephemeral segment può stare nella cache L2 della CPU così che non vi siano "cache miss" In questo modo la RAM non deve essere accessa Trasferimento Tipo di copia Tempo Banda Registri CPU CPU CPU 1 clock L1 Cache CPU L1 Cache 1-5 ns - L2 Cache L1 L2 Cache 4-10 ns MB/s Memoria RAM L2 Cache memoria ns MB/s Diskco locale CPU disco 5-15 ms 1-80 MB/s Rete CPU CPU remota 5-50 μs MB/s

33 DIAGNOSTICA E BEST PRACTICES

34 Best practices Per le allocazioni non-loh (<85000) Vanno allocate senza abbondanza Si rischia di esaurire più velocemente l'ephemeral Segment Prima vengono disallocate, meglio è La loro deframmentazione/riuso sarà veloce Verranno eseguite meno collection Liberare quanto prima la memoria pinned (GCHandle) Impedisce al GC di deframmentarla Per le allocazioni LOH (>85000) Riusare se possibile lo spazio (eventualmente allocando più memoria) Tipico esempio: immagini bitmap, buffer per criptare/decrittare,... Finiscono in LOH anche gli static (>2K), double[] (>100 elementi)

35 Monitorare il Managed Heap Performance Monitor: perfmon.exe

36 Come leggere i Contatori del GC % Time in GC 10% 50% % alta % alta Allocated Bytes/Sec 50-60MB/sec % bassa verifica rapporto Gen Alto numero di allocazioni # of Gen0 1 2 collections Gen1:Gen2=10:1 Large object heap size Promoted Memory from Gen0 1 Alto numero di promotion Gen2 Heap Size Promoted finalization-memory from Gen0

37 Domande?

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI 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)

Dettagli

Memory management 49

Memory management 49 Memory management 49 Gestione della memoria I processi Unix lavorano su uno spazio di indirizzamento virtuale (Es. 0,..., 2 32 1 su indirizzi i i a 32 bit); Ogni processo ha uno spazio indirizzi separato

Dettagli

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale

AXO. 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

Dettagli

Le operazioni di allocazione e deallocazione sono a carico del sistema.

Le operazioni di allocazione e deallocazione sono a carico del sistema. Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione

Dettagli

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini

La 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

Dettagli

HEX 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

HEX 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

Dettagli

Gestione della Memoria Principale

Gestione della Memoria Principale Fondamenti Gestione della Memoria Principale La memoria di un elaboratore e organizzata nella seguente gerarchia Typical access time Typical capacity Fondamenti Binding, Loading, Linking Spazio indirizzi

Dettagli

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici Uniamo VM e CACHE Physically addressed Ci sono varie alternative architetturali physically addressed virtually addressed virtually indexed Sono quelle piu semplici un dato puo essere in cache solo se e

Dettagli

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows La genealogia di Windows Parte IX Windows Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 DOS: sistema operativo monoutente Windows 3.1 interfaccia a finestre che gira su DOS Windows 95/98

Dettagli

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 Parte IX Windows Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 La genealogia di Windows DOS: sistema operativo monoutente Windows 3.1 interfaccia a finestre che gira su DOS Windows 95/98

Dettagli

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Tesina 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

Dettagli

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

Lezione 14. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata Lezione 14 Sistemi operativi 9 giugno 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 14.1 Di cosa parliamo in questa lezione? Ottimizzazione degli accessi alla

Dettagli

Sistemi Operativi. ugoerr+so@dia.unisa.it 8 LEZIONE MEMORIA CENTRALE 1 PARTE CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 8 LEZIONE MEMORIA CENTRALE 1 PARTE CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 8 LEZIONE MEMORIA CENTRALE 1 PARTE CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione Introduzione

Dettagli

Interfaccia del file system. Fabio Buttussi HCI Lab Dipart. di Matematica ed Informatica Università degli Studi di Udine www.dimi.uniud.

Interfaccia del file system. Fabio Buttussi HCI Lab Dipart. di Matematica ed Informatica Università degli Studi di Udine www.dimi.uniud. HCI Lab Dipart. di Matematica ed Informatica Università degli Studi di Udine www.dimi.uniud.it/buttussi Cos'è il file system? Consiste in: Insieme di file Strutture dati per organizzare i file nel sistema

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi 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

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Metodologie di ottimizzazione e analisi prestazionale degli elaboratori

Metodologie di ottimizzazione e analisi prestazionale degli elaboratori Metodologie di ottimizzazione e analisi prestazionale degli elaboratori Seminario del corso di Architettura degli elaboratori elettronici LABORATORIO UNIVERSITA CATTOLICA DI BRESCIA 23 novembre 2005 Roberto

Dettagli

Memoria virtuale e ottimizzazione

Memoria virtuale e ottimizzazione SISTEMI OPERATIVI 08.b Memoria virtuale e ottimizzazione Memoria virtuale e ottimizzazione Supporto fornito dall hardware MV con Paginazione (page table) MV con Segmentazione MV con Segmentazione e Paginazione

Dettagli

Ambienti Operativi: Memoria

Ambienti Operativi: Memoria DTI / ISIN / Titolo principale della presentazione 1 Ambienti Operativi: Memoria Amos Brocco, Ricercatore, ISIN / DTI 2 Motivazione Perché studiare come la memoria viene gestita in un sistema operativo

Dettagli

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D. - 2012 1

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D. - 2012 1 + Programmazione concorrente in Java 1 + Introduzione al multithreading 2 La scomposizione in oggetti consente di separare un programma in sottosezioni indipendenti. Oggetto = metodi + attributi finalizzati

Dettagli

Ambienti Operativi: Memoria

Ambienti Operativi: Memoria DTI / ISIN / Titolo principale della presentazione 1 Ambienti Operativi: Memoria Amos Brocco, Ricercatore, ISIN / DTI 2 Motivazione Perché studiare come la memoria viene gestita in un sistema operativo

Dettagli

Hardware di un Computer

Hardware 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,

Dettagli

La Gestione della Memoria

La 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

Dettagli

Introduzione a.net (2)

Introduzione a.net (2) Introduzione a.net (2) Il linguaggio C# Implementazioni alternative dell'architettura.net: Rotor Mono C#: un nuovo linguaggio C# : CLR = Java : JVM C# è il linguaggio di riferimento per.net Costruito su

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE 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:

Dettagli

La Gestione delle risorse Renato Agati

La 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

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Funzioni dei Sistemi Operativi!2 Le funzioni principali del SO Gestire le risorse dell elaboratore

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Note di C++ Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Note Iniziali Il C++ non ha il concetto dei packages In

Dettagli

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A.

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Morzenti Il sistema Operativo Il sistema operativo (SO) è uno strato software

Dettagli

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job.

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job. Di cosa parliamo in questa lezione? Lezione 4 Cosa è un processo e come viene gestito dal SO 1 e job 2 Il blocco di controllo Sistemi operativi 3 Struttura di un file eseguibile 4 La schedulazione dei

Dettagli

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il.NET Framework By Dario Maggiari L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il cuore del.net Framework è costituito dal CLR (Common Language Runtime) che, secondo

Dettagli

Il supporto al Sistema Operativo

Il 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:

Dettagli

Sistemi Operativi File System (parte 2)

Sistemi Operativi File System (parte 2) Sistemi Operativi File System (parte 2) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Realizzazione del file system 1 I file system (FS) sono memorizzati

Dettagli

Il memory manager. Gestione della memoria centrale

Il 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

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Tipi di Dato Ricorsivi

Tipi di Dato Ricorsivi Tipi di Dato Ricorsivi Luca Abeni September 2, 2015 1 Tipi di Dato Vari linguaggi di programmazione permettono all utente di definire nuovi tipi di dato definendo per ogni nuovo tipo l insieme dei suoi

Dettagli

Gestione della memoria principale

Gestione della memoria principale Gestione della memoria principale Gestione della memoria principale Background Swapping Allocazione contigua della memoria Segmentazione Paginazione Struttura della tabella delle pagine Esempi Le architetture

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il 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.

Dettagli

Esercitazione E1 Scheduling, deadlock, monitor

Esercitazione 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

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Principi di base La gestione della memoria si occupa di allocare la memoria fisica ai processi che ne fanno richiesta. Nessun processo può diventare attivo prima di avere

Dettagli

Controllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione.

Controllo 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

Dettagli

Sistemi Operativi: Memoria

Sistemi Operativi: Memoria 1 Sistemi Operativi: Memoria Amos Brocco, Ricercatore, DTI / ISIN Basato su: [STA09] Operating Systems: Internals and Design Principles, 6/E, William Stallings, Prentice Hall, 2009 [TAN01] Modern Operating

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi 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 Gestione della memoria Gestione della memoria: 1. Binding degli indirizzi 2. Partizionamento

Dettagli

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

SISTEMI 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

Dettagli

19. Introduzione al multi-threading

19. Introduzione al multi-threading 19. Introduzione al multi-threading Marco Faella Dip. Ing. Elettrica e Tecnologie dell'informazione Università di Napoli Federico II Corso di Linguaggi di Programmazione II I thread I thread, o processi

Dettagli

Organizzazione della memoria

Organizzazione 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

Dettagli

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

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 11 system Sistemi operativi 12 maggio 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 11.1 Di cosa parliamo in questa lezione? L interfaccia : system 1 Il

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE 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

Dettagli

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi Lezione 10 Cenni ai sistemi operativi distribuiti 2. Gestione della CPU e della memoria nei multiprocessori Gestione dei processi Scheduling Bilanciamento del carico Migrazione dei processi Gestione della

Dettagli

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

Gerachie di Memorie. Matteo Dominoni a.a. 2002/2003. Gerarchie di Memoria A.A. 2002/2003 1

Gerachie di Memorie. Matteo Dominoni a.a. 2002/2003. Gerarchie di Memoria A.A. 2002/2003 1 Gerachie di Memorie Matteo Dominoni a.a. 2002/2003 Gerarchie di Memoria A.A. 2002/2003 1 Dove Studiare? Capitolo 7 Patterson-Hennessy Gerarchie di Memoria A.A. 2002/2003 2 Obbiettivo Creare l illusione

Dettagli

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO Componenti di so 1 Componenti di Sistemi Operativi System Call Programmi di sistema Componenti di un SO Servizi di SO 2 System Call Le system call forniscono l'interfaccia tra running program e SO Generalmente

Dettagli

Office Web Components in programmi C# da http://escher07.altervista.org

Office Web Components in programmi C# da http://escher07.altervista.org Office Web Components in programmi C# da http://escher07.altervista.org Generalità L obiettivo è realizzare un programma C# che utilizzando il componente Web Pivot permetta di ottenere un risultato come

Dettagli

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. 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,

Dettagli

Il linguaggio C# Eventi ed eccezioni

Il linguaggio C# Eventi ed eccezioni Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it

Dettagli

Esercitazione E6 Esercizi d esame

Esercitazione 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

Dettagli

Ricorsione. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona.

Ricorsione. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Implementazione di Utilizzo ricorsione per processare dati in java vs. multipla

Dettagli

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. 1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. (a) Da quanti bit è costituito l indirizzo logico? (b) Da quanti bit

Dettagli

Sommario della lezione

Sommario della lezione Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 2 LEZIONE STRUTTURE DEI SISTEMI OPERATIVI CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione

Dettagli

Il Sistema di Monitor e di Controllo della Farm On-line

Il Sistema di Monitor e di Controllo della Farm On-line Il Sistema di Monitor e di Controllo della Farm On-line, Bologna Incontro con i Referee di LHCb Bologna, 28.1.2005 Flusso dei dati in L1&HLT Front-end Electronics FE 1 FE FE FE FE FE FE FE 2 FE FE FE FE

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 19 Ricorsione A. Miola Marzo 2012 http://www.dia.uniroma3.it/~java/fondinf/ Ricorsione 1 Contenuti q Funzioni e domini definiti

Dettagli

Gestione della memoria

Gestione della memoria Università di Udine Facoltà di Scienze MM.FF.NN. A.A. 2007-2008 Copyright c 2000 04 Marino Miculan (miculan@dimi.uniud.it) La copia letterale e la distribuzione di questa presentazione nella sua integrità

Dettagli

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Dettagli

Le virtual machine e la memoria virtuale

Le 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

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La memoria gerarchica L hard disk Introduzione alla memoria virtuale Scendiamo di un altro livello CPU Banco Cache Memoria principale Memoria secondaria Dimensioni < 1KB < 1 MB

Dettagli

Unità di Misura Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

Unità di Misura Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro Unità di Misura Corso di Abilità Informatiche Laurea in Fisica prof. Corrado Santoro Il tempo Il funzionamento della CPU è regolato da un motore : energia elettrica e clock di sistema Poiché la CPU è una

Dettagli

Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi. Problemi di riepilogo sulla prima parte del corso

Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi. Problemi di riepilogo sulla prima parte del corso Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi Problemi di riepilogo sulla prima parte del corso Prof. Augusto Celentano, anno accademico 2009-2010 Questa raccolta è

Dettagli

La memoria virtuale 9.2. Sistemi Operativi a.a. A.A. 2009-10 2013-2014

La 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

Dettagli

Antonio Cianfrani. Fondamenti di Reti - Prof. Marco Listanti - A.A. 2010/2011. INFOCOM Dept

Antonio Cianfrani. Fondamenti di Reti - Prof. Marco Listanti - A.A. 2010/2011. INFOCOM Dept Antonio Cianfrani Laboratorio Fondamenti di Reti 1. Introduzione ai Router IP Funzioni svolte dai Router I router operano allo strato 3 della pila protocollare OSI Individuano il cammino dei pacchetti

Dettagli

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

1. 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

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

Dettagli

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Tesina 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

Dettagli

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file 11 Realizzazione del File System 1 Metodi di allocazione Allocazione contigua Allocazione concatenata e varianti Allocazione indicizzata e varianti Gestione dello spazio libero 11.1.1 Struttura a livelli

Dettagli

1. I dispositivi periferici

1. I dispositivi periferici La gestione dell I/O 1. I dispositivi periferici Un ulteriore aspetto fondamentale del SO è la gestione dei dispositivi periferici (periferiche) Dal punto di vista del sistema operativo per periferiche

Dettagli

B alberi. dizionari in memoria secondaria

B alberi. dizionari in memoria secondaria B alberi dizionari in memoria secondaria dizionari su memoria secondaria la memorizzazione su memoria secondaria risponde a due esigenze permanenza dell informazione la RAM è volatile grande quantità di

Dettagli

Calcolatori Elettronici. Gerarchia di memorie

Calcolatori Elettronici. Gerarchia di memorie Calcolatori Elettronici Gerarchia di memorie Organizzazione delle memorie La memoria ideale dovrebbe essere a capacita infinita, tempo di accesso nullo e costo e consumo nullo. Nei casi reali l organizzazione

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi 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

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

Fondamenti di informatica: un po di storia

Fondamenti di informatica: un po di storia Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi

Dettagli

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Capitolo 9: Memoria centrale

Capitolo 9: Memoria centrale Capitolo 9: Memoria centrale Concetti generali. Swapping Allocazione contigua di memoria. Paginazione. Segmentazione. Segmentazione con paginazione. 9.1 Concetti generali Per essere eseguito un programma

Dettagli

11.01. File e Stream. 11-01_Stream_[04] Stampa del: lunedì 9 dicembre 2013. Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI

11.01. File e Stream. 11-01_Stream_[04] Stampa del: lunedì 9 dicembre 2013. Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Stampa del: lunedì 9 dicembre 2013 11.01 File e Stream Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Sintesi Questa dispensa tratta dei file di testo e, più in generale, degli stream o flussi di

Dettagli

Sistemi Operativi Gestione della Memoria (parte 2)

Sistemi Operativi Gestione della Memoria (parte 2) Sistemi Operativi Gestione della Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Memoria Virtuale 1 Una singola partizione o anche l intera

Dettagli

SISTEMI OPERATIVI. La memoria virtuale. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

SISTEMI 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

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti 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

Dettagli

Struttura del File-System! Implementazione del File System! Filesystem!

Struttura del File-System! Implementazione del File System! Filesystem! Struttura del File-System Implementazione del File System Struttura dei File Unità logica di memorizzazione Collezione di informazioni correlate File control block (inode) struttura dati per le informazioni

Dettagli

Esercizio 2. la dimensione del file risultante la velocità di trasferimento minima dell'hard disk

Esercizio 2. la dimensione del file risultante la velocità di trasferimento minima dell'hard disk Esercizio Esercizio 1 Un sistema di elaborazione è dotato di una memoria centrale di 256 MB con un tempo d'accesso di 40 ns, e di una memoria cache di 128 kb con tempo d'accesso di 10 ns. Si determini

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

Database & FreeBSD. Come configurare il sistema operativo ottimizzando le prestazioni sul DB. GufiCon#3 Milano, 12 Ottobre 2002

Database & FreeBSD. Come configurare il sistema operativo ottimizzando le prestazioni sul DB. GufiCon#3 Milano, 12 Ottobre 2002 Database & FreeBSD Come configurare il sistema operativo ottimizzando le prestazioni sul DB GufiCon#3 Milano, 12 Ottobre 2002 Gianluca Sordiglioni inzet@gufi.org I database sono applicazioni particolari

Dettagli

boot loader partizioni boot sector

boot loader partizioni boot sector IL SISTEMA OPERATIVO Il sistema operativo (S.O.) è un software che fa da interfaccia tra l uomo e l hardware, mettendo a disposizione un ambiente per eseguire i programmi applicativi. Grazie al S.O. un

Dettagli

Studio dei fenomeni di aging per il servizio di Load balancing di CARDAMOM

Studio dei fenomeni di aging per il servizio di Load balancing di CARDAMOM MobiLab Workshop COSMIC Iniziativa Software item-cini Mobilab Group 19 Giugno 2007 Studio dei fenomeni di aging per il servizio di Load balancing di CARDAMOM Strategie di testing orientate alla scoperta

Dettagli

File system. Chiamate di sistema POSIX Esempi: Chiamate di sistema Windows Esempio: Esercizi. 4.3 BSD Linux NTFS. Sistemi Operativi mod B 12.

File system. Chiamate di sistema POSIX Esempi: Chiamate di sistema Windows Esempio: Esercizi. 4.3 BSD Linux NTFS. Sistemi Operativi mod B 12. File system Chiamate di sistema POSIX Esempi: 4.3 BSD Linux Chiamate di sistema Windows Esempio: NTFS Esercizi 12.1 Le chiamate di sistema di UNIX per file UNIX mette a disposizione sia chiamate di sistema

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento Input e Output INPUT Input / Output Salvatore Orlando OUTPUT I dati trasferiti durante le operazioni di I/O possono passare (o meno) dal processore programmed I/O vs. DMA Arch. Elab. - S. Orlando 1 La

Dettagli