Sistemi Operativi per Calcolatori Paralleli
|
|
|
- Gianpaolo Murgia
- 10 anni fa
- Visualizzazioni
Transcript
1 Sistemi Operativi per Luigi Pomante Università degli Studi dell Aquila Centro di Eccellenza DEWS - DISIM [email protected] Sommario Introduzione Generalità Aspetti HW Architetture UMA Architetture NUMA Aspetti SW (SO) Generalità Tipologie di SO per Architetture Multiprocessore La Sincronizzazione nei Sistemi Multiprocessore Lo Scheduling nei Sistemi Multiprocessore Generalità Aspetti HW Tecnologie di Interconnessione Interfacce di Rete Aspetti SW (SO) La Comunicazione nei Sistemi Multicomputer Lo Scheduling nei Sistemi Multicomputer Bilanciamento del Carico nei SO per Luigi Pomante 1
2 Sistemi Operativi per Introduzione Introduzione Da quando il computer è stato inventato c è sempre stata richiesta di una potenza di calcolo superiore a quella disponibile Processori con frequenza di clock più elevata Limitazioni fisiche Dimensioni Calore Un singolo calcolatore con più processori Applicazioni tipiche: Number Crunching» Multi-core == Sistema Multiprocessore on-chip (Chip-Level Multiprocessor)» I processori possono essere omo/eterogenei Più calcolatori (omo/eterogenei) collegati tra di loro e cooperanti Problema principale: la comunicazione» Network-on-Chip == Sistema Multicomputer on-chip (Chip-Level Multicomputer)» I calcolatori possono anche essere Multiprocessore omo/eterogenei SO per Luigi Pomante 2
3 Introduzione Le differenti tecnologie di interconnessione danno origine a differenti tipologie di architetture di sistema Ad esempio: Sistema Multiprocessore a Memoria Condivisa Multicomputer a Scambio di Messagi Sistema Distribuito SO per Introduzione Sistema Multiprocessore a Memoria Condivisa CPU che comunicano tramite memoria condivisa Leggono e scrivono le stesse locazioni di memoria (2..10 ns) Implementazione alquanto complessa Alcuni vantaggi ed ottimizzazioni possibili per Multicore e SoC Se eterogenei più difficili da programmare Sistema Multicomputer a Scambio di Messagi Varie coppie CPU-Memoria Locale collegate tramite una rete ad alta velocità ( µs) Più semplici da costruire ma più difficili da programmare Sistema Distribuito Sono sistemi multicomputer collegati tramite una WAN (Wide Area Network) Loosely-coupled vs. Tightly-coupled I tempi di comunicazione ( ms) impongono una differente utilizzazione di questi sistemi SO per Luigi Pomante 3
4 Sistemi Operativi per Generalità Aspetti HW Aspetti SW (SO) SO per Luigi Pomante 4
5 Sistemi Operativi per Generalità Generalità Sono sistemi in cui 2 o più CPU hanno pieno accesso ad una memoria condivisa I programmi vedono lo stesso spazio di indirizzamento (virtuale) Un processore potrebbe fare una STORE e poi una LOAD nella stessa locazione di memoria e trovare un valore diverso perchè un altro processore l ha modificata Quando organizzata correttamente questa proprietà forma la base della comunicazione inter-processore A parte alcuni aspetti (sincronizzazione, scheduling) i SO per questi sistemi sono molto simili a quelli classici SO per Luigi Pomante 5
6 Sistemi Operativi per Aspetti HW Aspetti HW Una differenza tra sistemi multiprocessore è legata alla capacità di poter accedere con tempi uniformi a tutte le locazioni di memoria UMA (Uniform Memory Acces) Architetture UMA basate su Bus Architetture UMA basate su Crossbar Switch Architetture UMA basate su Reti di Switch Multistadio NUMA (Not Uniform Memory Access) SO per Luigi Pomante 6
7 Sistemi Operativi per Aspetti SW (SO) Architetture UMA Architetture UMA basate su Bus (<64 CPU) Bus singolo senza cache (a) Contesa per l accesso al bus Bus singolo con cache (L1-L2) (b) Coerenza della cache Tecniche di snooping Bus singolo con cache e memoria privata (c) Compilatori appositi Ancora UMA per quanto riguarda la parte condivisa SO per Luigi Pomante 7
8 Architetture UMA basate su Crossbar Switch (<k*64 CPU) Permettono di superare le limitazioni imposte dal bus Collegamenti tra n CPU e k memorie (crosspoint) Pregio: Non-Blocking Network Se la memoria che ci interessa è disponibile Difetto: il numero di crosspoint cresce come n 2 SO per Arch. UMA basate su Reti di Switch Multistadio (<path*64 CPU) Usano reti costruite tramite switch 2x2 Pregio: ridotto numero di switch (Omega Switching Network) Il numero di switch cresce come (n/2)log 2 n Difetto: Blocking Network Maggior numero di switch e/o tecniche di interleaving SO per Luigi Pomante 8
9 Sistemi Operativi per Aspetti SW (SO) Architetture NUMA Architetture NUMA Indispensabili in pratica per avere più di 100 processori Gli accessi remoti sono più lenti dei locali Esiste sempre un unico spazio di indirizzamento LOAD/STORE SW UMA == SW NUMA ma con prestazioni solitamente peggiori Limitare il degrado di prestazioni: uso di cache per limitare i tempi NC (Not-Cached): mapping spazio di indirizzamento su memorie locali CC (Cache-Coherent): directory-based multiprocessor» Message passing implicito e trasparente al SW e al programmatore SO per Luigi Pomante 9
10 Sistemi Operativi per Aspetti SW (SO) Aspetti SW (SO) Generalità Tipologie di SO per Architetture Multiprocessore La Sincronizzazione nei Lo Scheduling nei SO per Luigi Pomante 10
11 Sistemi Operativi per Aspetti SW (SO) Generalità Generalità Design Productivity Gap La tecnologia (HW) offre molto di più di quello che i progettisti (SW) riescono a sfruttare Difficoltà nello scrivere applicazioni che sfruttano davvero i sistemi multiprocessore Gli attuali linguaggi di programmazione, compilatori e relativi strumenti di debug non sono adatti per scrivere programmi massivamente paralleli» Librerie ad-hoc: MPI/OpenMPI, OpenCL, OpenMP, MCAPI I programmatori non hanno abbastanza esperienza di programmazione concorrente I meccanismi di IPC non sono adeguati per eliminare corse critiche ed evitare i deadlock senza penalizzare estrememente le prestazioni Quali applicazioni?» Problema di prestazioni o di algoritmo? SO per Luigi Pomante 11
12 Sistemi Operativi per Aspetti SW (SO) Tipologie di SO per Architetture Multiprocessore Tipologie di SO per Architetture Multiprocessore Ogni CPU con il suo SO (AMP) Master-Slave Simmetrici (SMP) Soluzioni ibride SMP/AMP SO per Luigi Pomante 12
13 Tipologie di SO per Architetture Multiprocessore Ogni CPU con il suo SO (replicate solo le strutture dati) Chiamato anche Asymmetric Multi-Processing Pregi Semplice: porzione di memoria privata ed estendibile Condivisione di risorse (es. Dischi) Comunicazioni inter-processore efficienti Difetti Non c e condivisione di processi: carico sbilanciato Non c e condivisione di pagine: spreco di memoria e risorse Problemi di consistenza dei buffer per i dispositivi di I/O Tecnica usata inizialmente per effettuare rapidamente il porting Oggi usata soprattutto per sistemi eterogenei SO per Tipologie di SO per Architetture Multiprocessore Master-Slave Pregi Solo la CPU Master ha il SO» Raccoglie ed esegue tutte le chiamate di sistema» Si occupa di smistare i processi: carico bilanciato Condivisione di pagine Una sola copia dei buffer per i dispositivi di I/O Difetti Il problema è che al crescere del numero di CPU (>5) il Master diventa rapidamente un collo di bottiglia SO per Luigi Pomante 13
14 Tipologie di SO per Architetture Multiprocessore Simmetrici Symmetric MultiProcessor (SMP) LOCK Pregi Esiste una sola copia di SO in memoria ma ogni CPU lo può eseguire» Ogni CPU esegue le proprie chiamate di sistema Processi e memoria vengono bilanciati dinamicamente Difetti Necessità di eseguire il SO in mutua esclusione: LOCK» Accesso al SO: collo di bottiglia!» E necessario dividere il SO in parti indipendenti accessibili in parallelo» E un operazione complessa e problematica SO per Tipologie di SO per Architetture Multiprocessore Soluzioni ibride SMP/AMP Take advantage of multicore with a multi-os software architecture Stephen Olsen, Wind River Systems - October 6, SO per Luigi Pomante 14
15 Sistemi Operativi per Aspetti SW (SO) La Sincronizzazione nei La Sincronizzazione nei La sincronizzazione tra i processori è fondamentale, soprattutto per quanto riguarda l accesso esclusivo a risorse critiche Non basta più disabilitare gli interrupt Non è più possibile basarsi su istruzioni assembly tipo TSL (o RMW) La TSL deve poter fare un lock anche sul bus» Ciò causa spreco di risorse e sovraccarico (spin lock) Esistono vari algoritmi per ridurre lo spreco di risorse Tentativi ritardati, liste di attesa, etc. SO per Luigi Pomante 15
16 Sistemi Operativi per Aspetti SW (SO) Lo Scheduling nei Lo Scheduling nei Cosa viene schedulato? Processi mono-thread e user-thread vs kernel-thread Utilizzeremo genericamente il termine thread Dove? Esistono relazioni tra i thread da considerare? Lo Scheduling nei è un problema bidimensionale: il SO deve decidere quale thread eseguire e su quale CPU eseguirlo Timesharing Space Sharing Gang Scheduling SO per Luigi Pomante 16
17 Lo Scheduling nei Timesharing Senza considerare le dipendenze tra thread si può utilizzare una singola tabella dei thread per tutto il sistema Ogni processore libero esegue il successivo thread pronto (selezionato in base ad una qualche politica, es. priorità) SO per Lo Scheduling nei Timesharing Pregi: semplicità e bilanciamento del carico Difetti Contesa per l accesso alla Tabella dei Thread Potenziale blocco di altre CPU in caso di spin lock Poco sfruttamento di cache e TLB del processore Miglioramenti Smart Scheduling: permettere ad un thread che ha un lock sul bus di poter essere eseguito per un tempo maggiore del suo quanto di tempo Affinity Scheduling: cercare di eseguire un thread sull ultimo processore che l ha eseguito Two-level Algorithm: un gruppo di thread è assegnato ad una CPU che li gestisce con una struttura dati dedicata Quando una CPU è idle prende un thread da qualcun altra» Bilanciamento del carico» Massimizzazione della cache affinity» Riduzione della contesa per la Tabella dei Thread SO per Luigi Pomante 17
18 Lo Scheduling nei Space Sharing Un gruppo di k thread correlati viene assegnato a k CPU disponibili Concetto di lista delle CPU disponibili In ogni istante l insieme di CPU è staticamente partizionato in gruppi che eseguono thread tra loro correlati (ad esempio che comunicano molto)» Le singole CPU possono anche essere dedicate ad un solo thread (no multitasking!) Lo Space Sharing elimina o riduce l overhead del cambio di contesto ma le CPU possono rimanere idle per molto tempo» Buono per lavori batch dove si conoscono bene le relazioni tra i processi SO per Lo Scheduling nei Gang Scheduling Non considerando le relazioni tra i thread si possono avere inefficienze dovute alle comunicazioni Alcuni algoritmi cercano di effettuare in contemporanea lo scheduling nel tempo e nello spazio tenendo in considerazione le dipendenze/relazioni tra i thread SO per Luigi Pomante 18
19 Lo Scheduling nei Gang Scheduling: ha come obbiettivo quello di eseguire in contemporanea thread correlati Gruppi di thread correlati (gang) sono schedulati in modo indivisibile I membri di una gang sono eseguiti simultaneamente in timesharing da più processori I membri di una gang hanno i time slice coincidenti» Allo scadere di ogni quanto tutte le CPU sono ri-schedulate» Se un thread si blocca, la CPU aspetta in idle lo scadere del quanto SO per Sistemi Operativi per Luigi Pomante 19
20 Generalità Aspetti HW Aspetti SW (SO) SO per Sistemi Operativi per Generalità Luigi Pomante 20
21 Generalità I offrono un semplice modello per la comunicazione ma al crescere del numero di processori sono difficili da costruire e quindi molto costosi Sono quindi nati i composti da CPU lascamente accoppiate che non condividono memoria Cluster Computer Cluster of Workstation (COWS) Si tratta in pratica di normali calcolatori collegati da una rete di interconnessione Il problema questa volta è progettare efficacemente tale rete e le interfacce di rete Il compito è meno arduo rispetto a perchè i tempi in gioco sono di un ordine di grandezza superiore» Il discorso è un po più complesso per i NoC SO per Sistemi Operativi per Aspetti HW Luigi Pomante 21
22 Aspetti HW Il nodo base di un Multicomputer consiste in uno o più processori, memoria, un interfaccia di rete e (alle volte) un hard disk Tecnologie di Interconnessione Interfacce di Rete SO per Sistemi Operativi per Aspetti HW Tecnologie di Interconnessione Luigi Pomante 22
23 Tecnologie di Interconnesione Ogni nodo è connesso ad altri nodi o a degli switch secondo una determinata topologia Topologie Classiche Stella (a) Anello (b) Grid o Mesh (c)» Scalabile» Diametro = f(n 1/2 ) Doppio Toro (d)» Tollerante ai guasti Cubo (e) Ipercubo (f)» Diametro = f(log 2 n) SO per Tecnologie di Interconnesione Stategie di Switching A pacchetto Si trasferisce un pacchetto (per intero) alla volta Store-and-forward Packet Switching» Flessibile ed efficiente ma latenza cresce con la dimensione della rete A circuito Percorso predeterminato Non ci sono salvataggi intermedi» Occorre una fase di setup Wormhole Routing E una via di mezzo tra le prime due strategie» Un pacchetto è diviso in pezzi più piccoli che fluiscono man mano che il percorso viene stabilito SO per Luigi Pomante 23
24 Sistemi Operativi per Aspetti HW Interfacce di Rete Interfacce di Rete Il modo con cui sono costruite e come interagiscono con CPU e RAM influiscono notevolmente sul SO In genere sono dotate di RAM a bordo per mantenere un flusso continuo di bit durante la trasmissione/ricezione dei dati Possono anche avere controller DMA e/o CPU a bordo Network Processors» Gestione trasmissione affidabili, multicasting, de/compressione, encryption/decryption, protezione in sistemi multitasking SO per Luigi Pomante 24
25 Sistemi Operativi per Aspetti SW (SO) Aspetti SW (SO) La Comunicazione nei Lo Scheduling nei Bilanciamento del Carico nei SO per Luigi Pomante 25
26 Sistemi Operativi per Aspetti SW (SO) La Comunicazione nei La Comunicazione nei Comunicazione di Basso Livello Attività critica: copia dei pacchetti! Minimizzare le copie dei pacchetti Interfaccia di rete mappata in user-space» Problemi di condivisione tra processi» Problemi di mapping indirizzi fisici/virtuali con DMA» Problemi di accesso da parte del kernel (doppia interfaccia di rete) SO per Luigi Pomante 26
27 La Comunicazione nei Comunicazione di Livello Utente I processi si scambiano messaggi tramite opportune chiamate di sistema Send and Receive» In questo modo la comunicazione è esplicitamente gestita dall utente» N.B. Tecnica utilizzabile anche per i Multiprocessore Queste comunicazioni possono essere blocccanti (sincrone) o non bloccanti (asincrone) Nel secondo caso l elaborazione può continuare a patto di non usare il buffer contenente il messaggio spedito/ricevuto fino a trasferimento completato Servono dei meccanismi per avvisare che il buffer è utilizzabile» Es. interrupt, pop-up thread, active message SO per La Comunicazione nei Remote Procedure Call (RPC) Offrono un paradigma diverso da quello basato sull I/O Chiamate a procedure residenti su un altro calcolatore» Normale passaggio di parametri» I processi utente fanno chiamate a procedura locali al client stub (che gira in spazio utente)» Tali procedure hanno lo stesso nome di quelle server e si occupano del vero I/O» Operazioni di send/receive implicite e trasparenti Problemi con passaggio di puntatori, tipizzazione debole e variabili globali SO per Luigi Pomante 27
28 La Comunicazione nei Distributed Shared Memory (DSM) Permette di mantenere il concetto di memoria condivisa Con la DSM le pagine sono dislocate nelle varie memorie locali Quando una CPU effettua una load (store) su una pagina che non ha, avviene una chiamata al sistema operativo che provvede a recuperarla facendosela spedire appena possibile» Page fault remoto Ottimizzazioni» Replicare le pagine (coerenza!) Differenze con la vera Shared Memory (a)» Gestione HW (b)» Gestione SW (SO) SO per Sistemi Operativi per Aspetti SW (SO) Lo Scheduling nei Luigi Pomante 28
29 Lo Scheduling nei Nei tutti i processi risiedono nella stessa memoria e potenzialmente ogni CPU può eseguirne uno qualunque Nei ogni CPU ha un certo insieme di processi da eseguire e non è fattibile (per l elevato costo della comunicazione) uno scambio dinamico di questi In pratica lo scheduling è locale e quindi quello classico Diventa però fondamentale l allocazione dei processi sui vari nodi ai fini del bilanciamento del carico e della minimizzazione delle comunicazioni inter-nodo SO per Bilanciamento del Carico nei E di estrema importanza proprio perchè lo scheduling locale non permette (facilmente) di intervenire a posteriori Fondamentale differenza con i Processor Allocation Algorithm Graph-Theoretic Deterministic Algorithm Sender-Initiated Distributed Heuristic Algorithm Receiver-Initiated Distributed Heuristic Algorithm SO per Luigi Pomante 29
30 Bilanciamento del Carico nei Graph-Theoretic Deterministic Algorithm Si basano su stime dei requisiti di CPU e memoria da parte dei processi e di traffico medio sulla rete Cercano l allocazione che minimizza il traffico sulla rete Teoria dei grafi: insiemi di taglio tali da soddisfare dei vincoli (CPU e memoria) e minimizzarne altri SO per Bilanciamento del Carico nei Sender-Initiated Distributed Heuristic Algorithm Quando un processo viene creato esso è eseguito localmente a meno che il nodo in questione non sia sovraccarico Il carico è calcolato con opportune metriche Se il nodo è sovraccarico questo contatta altri nodi (a caso) e se ne trova uno con il carico più basso del suo gli spedisce il nuovo processo Dopo k tentativi vani il processo è eseguito localmente SO per Luigi Pomante 30
31 Bilanciamento del Carico nei Receiver-Initiated Distributed Heuristic Algorithm E duale al precedente: quando un processo termina e il carico e basso, il nodo contatta (a caso) altri nodi in cerca di processi da eseguire Dopo k tentativi smette di chiedere In questo modo sistemi già carichi non sono costretti a fare lavoro in più per cercare collaboratori Si crea molto traffico quando il sistema è molto scarico Si possono combinare i due algoritmi Offerte e richieste simultanee Alternativa migliore alla ricerca casuale Elenco dei nodi spesso sovraccarichi Elenco dei nodi spesso liberi SO per Sistemi Operativi per Riferimenti Luigi Pomante 31
32 Riferimenti Riferimenti Modern Operating Systems (3 a edizione, 2007), A. Tanenbaum Capitolo 8, Multiple Processor Systems SO per Luigi Pomante 32
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
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
Pronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
I 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)?
Parte VIII. Architetture Parallele
Parte VIII Architetture Parallele VIII.1 Motivazioni Limite di prestazioni delle architetture sequenziali: velocità di propagazione dei segnali, la luce percorre 30 cm in un nsec! Migliore rapporto costo/prestazioni
Gestione 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
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.
Approccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
Architettura di un sistema operativo
Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi
Processi 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
SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
La 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
Il 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
Con 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
Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2
Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:
Scheduling 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
Organizzazione Monolitica
Principali componenti di un sistema Applicazioni utente Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del processore / Scheduler(s) Gestore della memoria Gestore delle periferiche/
Università 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,
Il 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
Architettura 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
INFORMATICA. Il Sistema Operativo. di Roberta Molinari
INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:
Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A. 2002-2003
Domenico Talia Facoltà di Ingegneria UNICAL A.A. 2002-2003 1.1 Introduzione Presentazione del corso Cosa è un Sistema Operativo? Sistemi Mainframe Sistemi Desktop Sistemi Multiprocessori Sistemi Distribuiti
Comunicazione tra Processi
Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo
Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A. 2002-2003 1.1. Sistemi Operativi. D. Talia - UNICAL
Domenico Talia Facoltà di Ingegneria UNICAL A.A. 2002-2003 1.1 Introduzione Presentazione del corso Cosa è un Sistema Operativo? Sistemi Mainframe Sistemi Desktop Sistemi Multiprocessori Sistemi Distribuiti
Lezione 4 La Struttura dei Sistemi Operativi. Introduzione
Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)
Sistemi 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
Sistemi 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
Sistemi 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
Sistema 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
12. 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
Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi
Sistemi Operativi Lez. 13: primitive per la concorrenza monitor e messaggi Osservazioni I semafori sono strumenti particolarmente potenti poiché consentono di risolvere ogni problema di sincronizzazione
Sistemi operativi e reti A.A. 2013-14. Lezione 2
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 2 Giovedì 10-10-2013 1 Sistemi a partizione di tempo (time-sharing) I
Scheduling. 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
Sistemi 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
Sistemi 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
Un 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
Sistemi 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
Introduzione alle applicazioni di rete
Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza
1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi
1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti
MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
Software 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
Il sistema operativo TinyOS
tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio
Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro
Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle
Sistemi 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
Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.
I Sistemi Operativi 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 è il gestore di tutte le risorse
Calcolatori Elettronici. La memoria gerarchica La memoria virtuale
Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e
La memoria centrale (RAM)
La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.
Corso di Informatica
CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo [email protected] Le Reti di Computer 2 Introduzione Una rete è un complesso insieme di sistemi di elaborazione
Architetture Applicative
Alessandro Martinelli [email protected] 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6
GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1 Il Repeater 2 L Hub 2 Il Bridge 4 Lo Switch 4 Router 6 Gli apparati per l interconnessione di reti locali Distinguiamo i seguenti tipi di apparati:
Corso 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
CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini
CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO A cura di Tania Caprini 1 CALCOLO SERIALE: esecuzione di istruzioni in sequenza CALCOLO PARALLELO: EVOLUZIONE DEL CALCOLO SERIALE elaborazione di un istruzione
Corso di Informatica
Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso
Come funziona un sistema di elaborazione
Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori
DMA Accesso Diretto alla Memoria
Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati
Sistemi 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
Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore
Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore 5.2 Silberschatz, Galvin and Gagne 2005 1 Massimizzare lʼutilizzo della
Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.
Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri. Roma, 25 ottobre 2010 Ing. Antonio Salomè Ing. Luca Lezzerini
Laboratorio 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,
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
Architettura 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
Il Sistema Operativo (1)
E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale
GESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
Sistemi avanzati di gestione dei Sistemi Informativi
Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: [email protected] http://www.roccatello.it/teaching/gsi/
CAPITOLO 5 - Sistemi Operativi Moderni
CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,
Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi
Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi
Creare una Rete Locale Lezione n. 1
Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,
Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche
Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli
Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione
I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1
Sistemi Operativi. Conclusioni e nuove frontiere
Sistemi Operativi (modulo di Informatica II) Conclusioni e nuove frontiere Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Definizione di sistema operativo Evoluzione futura
Architettura 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
CPU. Maurizio Palesi
CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore
Linux nel calcolo distribuito
openmosix Linux nel calcolo distribuito Dino Del Favero, Micky Del Favero [email protected], [email protected] BLUG - Belluno Linux User Group Linux Day 2004 - Belluno 27 novembre openmosix p. 1 Cos è
A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
Modello 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
L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia
L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza
I sistemi distribuiti
I sistemi distribuiti Sistemi Operativi e Distribuiti A.A. 2003-2004 Bellettini - Maggiorini Perchè distribuire i sistemi? - Condivisione di risorse - Condivisione e stampa di file su sistemi remoti -
Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti
GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di
Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job
Ambienti di calcolo a griglia Parte 2 Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job Docente: Marcello CASTELLANO La vera rivoluzione non è più la capacità
Università 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
Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione
Commutazione 05.2 Trasmissione di dati al di fuori di un area locale avviene tramite la Autunno 2002 Prof. Roberto De Prisco -05: Reti a di circuito Università degli studi di Salerno Laurea e Diploma in
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
Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
Reti e Internetworking
Titpi di rete - tecnologia trasmissiva Reti e Internetworking Riferimento A. Tanenbaum "Computer Networks" Prentice-Hall, 3a Ed. Elaboratori Rete una rete broadcast Titpi di rete tecnologia trasmissiva
Gestione 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,
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
Scheduling 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
Architettura dei calcolatori II parte Memorie
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori
