corso di: Sistemi Operativi prof. Dimauro Giovanni Sistemi Operativi - Slides 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "corso di: Sistemi Operativi prof. Dimauro Giovanni Sistemi Operativi - Slides 1"

Transcript

1 corso di: Sistemi Operativi prof. Dimauro Giovanni Sistemi Operativi - Slides 1

2 Indice 1) I Processi 3 Multiprocessing e Multiprogramming 3 Commutazione di Processo (Task Switch) 7 Tipi di Scheduler 9 Algoritmi di Scheduling 11 2) Sincronizzazione dei Processi 16 Mutua Esclusione 18 I Semafori 19 Supporti Hardware per la Mutua Esclusione 24 Altri Meccanismi 25 3) Stallo 33 Condizione per lo Stallo 33 Identificazione e Risoluzione dello Stallo 35 Tecniche per Evitare lo Stallo 36 Prevenzione dello Stallo 38 4) Gestione della Memoria 40 Mono-Allocazione 40 Partizionamento Statico 41 Partizionamento Dinamico 45 Segmentazione 50 Paginazione 55 Memoria Virtuale 59 Algoritmi di Sostituzione delle Pagine 62 5) File System 67 I File 67 Le Directory 70 Gestione dello Spazio sul Disco 74 Consistenza del File System 77 Prestazione del File System 78 2

3 I PROCESSI Introduzione al processo Il sistema operativo controlla un numero più o meno grande di attività, corrispondenti a programmi eseguiti sul processore: programmi degli utenti programmi relativi a servizi di sistema operativo La competizione di più attività per l uso delle risorse è un presupposto per aumentarne il grado di utilizzo. Il modello per la descrizione e la realizzazione della coesistenza di diverse attività si chiama modello concorrente. Il modello concorrente è basato sul concetto di processo. Tutti i sistemi operativi, in maniera più o meno esplicita, adottano il concetto di processo. Un processo è definito come un attività controllata da un programma che si svolge su un processore. Un processo è un programma in esecuzione e comprende anche i valori correnti del program counter, dei registri e delle variabili. Quando un utente decide di attivare un programma il sistema operativo gestisce la richiesta dell utente attivando un processo, e la sua attivazione richiede: 1. allocazione della memoria 2. creazione di una struttura contenente i dati del processo (descrittore del processo) 3. caricamento del codice e dei dati in memoria 4. inserimento del processo nella lista dei processi pronti all esecuzione In un sistema multiprogrammato, possono esserci già altri processi attivi, pertanto il processo appena creato entra in competizione con gli altri processi già attivi per l assegnazione di risorse. La competizione tra processi richiede al sistema operativo una particolare attenzione nell allocare risorse nel proteggere i differenti spazi di indirizzamento Una diversa relazione tra processi concorrenti è quella della cooperazione, questa interazione è tipica di processi correlati, dove ciascuno esegue una specifica funzione, perseguendo un obiettivo comune. L interazione tra processi cooperanti deve essere supportata dal sistema operativo mediante scambio di dati, segnali e messaggi In un qualsiasi sistema multiprogrammato, il sistema operativo: mantiene aggiornato il quadro di tutti i processi attivi assegna loro le risorse secondo differenti strategie per realizzare le prestazioni previste Il sistema operativo ha funzioni essenziali di gestione dei processi quali: creazione e rimozione controllo dell evoluzione dei processi, assicurando che quelli abilitati giungano al termine gestione di condizioni di eccezione durante l esecuzione di un processo (interrupt, overflow, ecc.) assegnazione delle risorse di sistema ai processi supporto alla comunicazione tra processi (segnali o messaggi) Multiprocessing e multiprogramming L esecuzione di più processi contemporaneamente è un presupposto fondamentale per aumentare il grado di utilizzo delle risorse, l efficacia del multiprocessing verrà illustrata con un esempio. Sistemi Operativi - Slides 3

4 Sistema per il controllo di un sistema di acquisizione dati, descrizione del sistema: 1. acquisizione dati da convertitore A/D (procedura COLLECT) 2. registrazione dati su disco (procedura LOG) 3. calcoli statistici (procedura STAT) 4. notificazione di eventi anomali (procedura REPORT) Le attività di questo sistema possono essere eseguite in modo sequenziale tra loro. Alcune attività coinvolgono dispositivi molto più lenti in confronto alla velocità di esecuzione della CPU se le attività vengono eseguite in modo strettamente sequenziale la CPU si trova sicuramente inattiva durante le conversioni A/D, durante l attesa dell accesso al disco e durante la stampa dei report. Le prestazioni globali del sistema aumentano se le quattro attività vengono assegnate a processi distinti che le eseguono in modo concorrente. Definizione del problema: COLLECT viene eseguita per prima LOG è orientata all Input/Output, mentre STAT al calcolo, pertanto sono due candidate alla esecuzione concorrente REPORT parte solo quando STAT si è completata, ma può essere eseguita in concorrenza con la COLLECT successiva COLLECT può iniziare un ciclo successivo quando LOG e STAT hanno entrambi terminato B1 è un buffer di condivisione dati tra COLLECT --> LOG e STAT B2 è un buffer di condivisione dati tra STAT e REPORT Sia il tempo di esecuzione delle 4 attività circa equivalente: il grafo suggerisce che l esecuzione concorrente può produrre un miglioramento delle prestazioni di circa il 50% rispetto al caso sequenziale. Sistemi Operativi - I Processi 4

5 Sincronizzazione tra i processi L esecuzione concorrente dei processi richiede la sincronizzazione tra i processi stessi. I meccanismi di sincronizzazione sono uno dei più importanti servizi forniti dal Sistema Operativo. Ritornando all esempio, ciascuno dei processi esegue in modo più o meno indipendente dagli altri il proprio flusso sequenziale di istruzioni; la sincronizzazione tra i processi cooperanti avviene mediante invio e ricezione di segnali. Un processo in attesa di uno o più segnali viene sospeso dal sistema operativo. Ipotesi di sincronizzazione Ut: Unità di tempo 1. COLLECT consiste nel servizio consecutivo di 3 interrupt provenienti dal convertitore A/D il tempo di sotto-servizio è di 0.25 Ut due sotto-servizi distano almeno 1 Ut 2. LOG richiede 2 accessi al disco in scrittura, di cui ciascuno utilizza 0.5Ut per l inizializzazione di 1.5Ut per l operazione fisica di I/O 3. STAT è orientata all uso della CPU e impiega 2 Ut 4. REPORT gestisce 2 interrupt relativi alla stampante distanti 1.5 Ut L esecuzione sequenziale dei 4 processi richiede 12Ut Sistemi Operativi - Slides 5

6 Assegnazione delle priorità In questo sistema l esecuzione concorrente richiede l assegnazione di priorità software, per indicare al sistema operativo la decisione da prendere in caso di più di un processo sospeso, l ordine delle priorità stabilito è: (1) LOG, pilota il disco e quindi deve rispondere immediatamente (2) COLLECT, fornisce i dati agli altri processi (3) REPORT, è basato su interrupt ed interessa l I/O (4) STAT, può essere eseguito tra gli interrupt della stampante Il sistema operativo se gli giunge un interrupt dall I/O, controlla le priorità ed eventualmente interrompe il processo in esecuzione per avviare quello con priorità più alta. Questo meccanismo è del tipo scheduling con preemption basato sulle priorità. Con l elaborazione multiprocessing il sistema compie un intero ciclo in 5.25 unità di tempo contro 12. I benefici delle operazioni multiprocesso non sono ottenibili a costo zero. Nel caso in esempio si sono introdotti ulteriori elementi come segnali e assegnazione delle priorità; inoltre operazioni come il debugging possono diventare notevolmente più complesse. Lo sforzo per realizzare il multiprocessing di un unico programma va riservato per applicazioni critiche. Nei sistemi operativi multiutente i programmi di sistema e degli utenti vengono considerati come singoli processi e la concorrenza viene sfruttata prevalentemente tra più processi, realizzando quindi il multiprogramming. Stato dei processi dal punto di vista del S.O. Un processo è la più piccola entità che possa individualmente richiedere l uso della CPU per l esecuzione. L evolvere di un processo è visto dal sistema operativo come il passaggio attraverso una successione degli stati: dormiente, pronto, in esecuzione e sospeso. Lo stato dormiente viene spesso tralasciato poichè fa riferimento ai processi, residenti in memoria secondaria, che non sono ancora noti al sistema operativo. I processi in stato di pronto possiedono tutte le risorse necessarie alla loro esecuzione tranne la CPU. Dopo la creazione si trovano generalmente in stato di pronto. Un modulo del sistema operativo denominato scheduler seleziona i processi a cui assegnare la CPU. Inoltre possono essere stati interrotti da un processo a priorità più alta e possono aver terminato il loro time-slice. Il processo in stato di esecuzione ha la disponibilità della CPU, esegue la sua sequenza di istruzioni, può chiamare il sistema operativo per eseguire servizi quali l I/O e la sincronizzazione con scambio di messaggi. I processi in stato di sospeso sono in attesa che gli vengano assegnate una o più risorse. Il sistema operativo tiene traccia delle cause della sospensione e vengono spostati tra i processi pronti all arrivo di messaggi da altri processi e eventi esterni. Stato globale del sistema All interno del sistema vi sono in ogni istante diversi processi attivi che si trovano in uno degli stati. Lo stato globale del sistema è l immagine collettiva dello stato di tutti i processi e delle risorse. Lo stato dei processi cambia rapidamente in funzione di eventi interni o esterni, e pertanto varia rapidamente anche lo stato globale del sistema. Lo stato globale viene utilizzato ad esempio dagli algoritmi di scheduling per decidere l allocazione delle risorse. É necessario pertanto che il sistema operativo tenga traccia dello stato globale del sistema. All atto della creazione di un processo, il sistema operativo crea in memoria centrale una struttura di tipo Sistemi Operativi - I Processi 6

7 record denominata descrittore di processo: il descrittore del processo accompagna il processo in tutta la sua durata e i suoi cambiamenti di stato informazioni (di tipo statico e dinamico) contenute nel DDP: nome del processo (ID) priorità stato (pronto, in esecuzione, sospeso) elenco delle risorse chieste ed allocate immagine di attivazione del processo (registri, flag, ecc.) altri campi alcune informazioni inserite nel DDP vengono fornite dal linker/loader in fase di sospensione, nel DDP vengono registrate le informazioni utili a ripristinare le condizioni esistenti prima della sospensione Il DDP rappresenta lo stato di un processo, il sistema operativo tiene traccia dello stato globale (per ciò che riguarda i processi) ponendo i DDP in 2 liste: lista dei processi pronti e lista dei processi sospesi. Queste liste includono i DDP di processi che si trovano nello stesso stato, un DDP appartiene alla lista relativa allo stato in cui si trova il relativo processo, e non ad una lista fissata. Le 2 liste vengono esaminate dai moduli del s.o. incaricati di assegnare le risorse. Per esempio lo scheduler esamina la lista dei processi pronti e, in base all ordine di arrivo, in base alle priorità e ad eventuali altre politiche sceglie il DDP del processo da avviare. O anche quando il sistema di acquisizione dati, istante all evento 1. Commutazione di processo (task switch) Per variare lo stato di un processo il sistema operativo interviene e aggiorna le liste con le seguenti modalità: memorizzazione dello stato del processo che sta per essere sospeso o interrotto nel DDP program counter stack pointer registro di stato del processore altri registri del processore motivo della sospensione il DDP viene inserito nella lista dei processi pronti o sospesi lo scheduler prende il controllo ed esamina la lista dei processi pronti in base alle strategie di scheduling, sceglie il processo da riavviare Sistemi Operativi - Slides 7

8 dal DDP del nuovo processo vengono estratte le informazioni per ricreare lo stato del sistema La commutazione di processo, considerata la sua complessità e l estrema frequenza con cui ricorre, può influenzare considerevolmente le prestazioni di un sistema. Spesso sono predisposti supporti hardware per velocizzare l esecuzione della commutazione di processo, per esempio i banchi di registri duplicati, uno per i processi utente e l altro per i processi di sistema operativo. Servizi del sistema operativo per la gestione dei processi I processi utente possono invocare delle chiamate di sistema operativo predefinite che vengono indicate generalmente con il nome di servizi run-time. I servizi run-time possono essere richiesti dall utente in due forme: chiamate al supervisore incluse nel codice degli utenti comandi digitati al terminale dall utente, interpretati da apposito interprete del s.o. I sistemi operativi prevedono un set di chiamate che, al di là di alcune differenze nei parametri e nei dettagli, sono comuni: Tipiche chiamate al sistema operativo: Create (processid, attributi) crea un processo Delete (ProcessID) elimina un processo Abort (ProcessID) termina forzatamente un processo Suspend (ProcessID) sospende un processo Resume (ProcessID) riprende un processo sospeso Delay (ProcessID, time) sospende il processo per la durata Time Get_attributes (ProcessID, attribute) preleva il contenuto del DDP Ch_priority (ProcessID) modifica della priorità Nel funzionamento della chiamatacreate (processid, attributi) il s.o. crea un nuovo processo con gli attributi specificati e una zona di memoria libera per registrarvi il DDP del nuovo processo, inoltre riempie i campi del DDP, con i parametri passati dalla chiamata o con quelli standard ed inserisce il DDP nella lista dei processi pronti. Alcuni dei parametri passati possono essere di livello di privilegio (sistema o utente), a priorità, di dimensioni e quantità di memoria richiesta, con massima occupazione di memoria per i dati/stack, con informazioni sulla protezione della memoria e sui diritti di accesso e altri dati dipendenti dal sistema. I codici di errore che vengono restituiti si riferiscono tipicamente o a un uso di identificatori non validi o a una mancanza di spazio per creare un DDP. Risultato delle chiamate Il sistema operativo risponde ad una chiamata con l esecuzione del relativo modulo oppure restituendo il controllo al processo chiamante indicando il motivo della non esecuzione della chiamata. La non gratificazione della chiamata può essere dovuta al passaggio di parametri errati o illegali o a una temporanea indisponibilità di una risorsa richiesta. La semplice chiamata al sistema operativo per ottenere un servizio non assicura che il servizio sia garantito. Il sistema operativo si aspetta che il processo utente verifichi, dopo ogni chiamata, i codici di ritorno forniti, questo controllo è essenziale al fine del corretto funzionamento del programma e dello Scheduling. Con scheduling si intende un insieme di tecniche e di meccanismi interni del sistema operativo che amministrano l ordine in cui il lavoro viene svolto. Lo Scheduler è il modulo del sistema operativo che seleziona il processo che deve andare in esecuzione. L obiettivo primario dello scheduling è l ottimizzazione delle prestazioni del sistema. In un grande sistema, il sistema operativo può prevedere fino a 3 tipi di scheduler: di lungo Sistemi Operativi - I Processi 8

9 termine; di medio termine; di breve termine. Tipi di Scheduler Scheduler di lungo termine (SLT) Opera sulla coda dei lavori batch, la modalità batch è riservata all esecuzione sia di programmi che sfruttano intensamente qualcuna delle risorse del sistema (CPU, I/O), sia di programmi che, avendo bassa priorità, consentono di sfruttare le risorse del sistema anche nei tempi in cui l attività interattiva è ridotta. I lavori batch sono corredati da tutti i dati ed i comandi necessari per la loro esecuzione, da delle stime effettuate dal programmatore (o dal sistema), sulle risorse necessarie, sulle dimensioni della memoria e sul tempo di esecuzione totale. Infatti, il lavoro dello scheduler di lungo termine si basa sulla stima del comportamento globale del job (lavoro). La strategia principale dello scheduler di lungo termine è di fornire alla coda dei processi pronti (e quindi allo scheduler di breve termine) gruppi di processi che siano bilanciati tra loro nello sfruttamento della CPU e dell I/O. Quando il carico della CPU scende, l SLT aumenta il numero di processi provenienti dalla coda batch, al contrario, quando il carico aumenta, i tempi di risposta del sistema diminuiscono, l SLT diminuisce fino anche a bloccare i lavori provenienti dalla coda batch. La frequenza di chiamata dell SLT è bassa e consente di implementare strategie anche complesse di selezione dei lavori e di dimensionamento del carico dei processi da inviare alla coda pronti. Scheduler di medio termine (SMT) Lo scheduler di medio termine gestisce i processi sospesi che sono stati rimossi dalla memoria centrale (mediante swapping). I processi sospesi non possono evolvere al completamento fino a che le condizioni che ne hanno causato la sospensione persistono, la presenza di molti processi sospesi in memoria, riduce la disponibilità per nuovi processi pronti, inoltre lo scheduler di breve termine è obbligato a scegliere tra pochi processi pronti. Questo problema si risolve trasferendo dalla memoria principale ad una memoria secondaria, con l operazione detta swapping, uno o più processi. L SMT si occupa della gestione dei processi rimossi dalla memoria centrale. Il processo sospeso non svolge alcuna attività quando vengono rimosse le condizioni di sospensione, lo scheduler SMT utilizza le informazioni del DDP per stabilire la richiesta di memoria del processo, tenta di Sistemi Operativi - Slides 9

10 allocare spazio in memoria centrale e riposiziona il processo in memoria nella coda dei pronti. L SMT viene attivato sia quando si rende disponibile spazio in memoria sia quando l arrivo di processi pronti scende al di sotto di una soglia specificata. Scheduler di breve termine (SBT) Assegna la CPU ad un processo scelto nel gruppo dei processi residenti in memoria e pronti, la sua principale strategia è orientata alla massimizzazione delle prestazioni del sistema secondo un specifico insieme di obiettivi. Lo scheduler di breve termine viene chiamato ogni volta che un evento esterno o interno modifica lo stato globale del sistema. Gli impulsi di temporizzazione (interrupt basati su intervalli di tempo), gli interrupt e completamento di operazioni di I/O, la maggior parte delle chiamate di sistema, la trasmissione e ricezione di segnali e l attivazione di programmi interattivi possono produrre la sospensione o l interruzione del processo in esecuzione ed anche la sospensione dei processi pronti. La maggior parte dei servizi di sistema operativo richiede l intervento dell SBT. Per esempio chiamata Create: aggiunge un processo nuovo alla coda dei pronti dove l SBT viene avviato per determinare se il nuovo processo deve andare in esecuzione subito. Altre funzioni come sospensione, cambio di priorità e terminazione richiedono l intervento dello scheduler SBT. I programmi interattivi avviati dagli utenti si pongono direttamente nella coda dei processi pronti, il loro flusso non è controllato da alcun filtro, possono provocare saturazione del sistema e quindi degrado dei tempi di risposta, in prima attivazione vengono gestiti esclusivamente dall SBT. Scheduling e valutazione delle prestazioni Gli algoritmi di scheduling possono basarsi dinamicamente su alcune misure per tenere a livello elevato le prestazioni del sistema con: sfruttamento della CPU, lavoro utile, tempo di ricircolo, tempo di attesa e tempo di risposta. 1. sfruttamento della CPU Valuta la % del tempo in cui la CPU è impegnata per eseguire programmi degli utenti e per eseguire moduli del sistema operativo. Il massimo sfruttamento della CPU coincide con un buon uso anche di tutte le altre componenti del sistema, risultando in un buon rendimento globale. 2. lavoro utile Misura la quantità di lavoro completata in una unità di tempo, ad esempio: il numero di lavori dell utente completati in una unità di tempo, questo valore non è molto utile per confrontare le prestazioni di diversi algoritmi di scheduling, a meno di porre lo stesso carico di lavoro con la stessa sequenza di lavori. 3. tempo di ricircolo Misura il tempo che trascorre dal momento in cui un programma viene avviato fino al suo completamento. 4. tempo di attesa Misura il tempo che un processo trascorre in attesa delle risorse a causa di conflitti con altri processi. Questa è la penalità che si paga per condividere risorse ed è espressa come (tempo di ricircolo - tempo di esecuzione), inoltre valuta in sostanza la sorgente di inefficienza. 5. tempo di risposta Sistemi Operativi - I Processi 10

11 Nei sistemi time-sharing misura il tempo che trascorre dal momento in cui viene introdotto l ultimo carattere al terminale, fino a quando compare la prima risposta. Nei sistemi real-time misura il tempo che trascorre dal momento in cui viene segnalato un evento esterno, fino a quando viene eseguita la prima istruzione della relativa routine di gestione. Nella progettazione degli scheduler c è una selezione dei più importanti criteri di prestazioni, un ordinamento dei criteri secondo l importanza relativa e una progettazione di una strategia di scheduling ottima o che approssimi una strategia ottima. Nella realtà gli algoritmi di scheduling sono basati su tecniche euristiche che danno buone prestazioni o quasi ottime, ma raramente ottime. La ricerca di strategie ottime può richiedere una grossa mole di lavoro, inaccettabile per algoritmi di questo tipo richiederebbe anche la raccolta di statistiche necessarie. Gli scheduler tendono a massimizzare le prestazioni medie del sistema, ma rivestono altrettanta importanza, la varianza delle prestazioni e i metodi per limitare il degrado nei casi peggiori. Conflitti di prestazioni Nella progettazione di algoritmi di scheduling ci si trova spesso a scegliere compromessi tra richieste di prestazioni in netto conflitto. Esempio: un basso tempo risposta richiede un basso numero processi attivi; un alto sfruttamento CPU richiede alto numero processi attivi. La conoscenza dell ambiente d uso è fondamentale per l attento bilanciamento di diversi requisiti e vincoli: tipo di sistema obiettivo sistemi batch carico e sfruttamento dei componenti di sistema sistemi multiuser basso tempo di risposta al terminale sistemi real time gestione rapida di numerosi eventi esterni Algoritmi di scheduling Prima classificazione dei metodi di scheduling: 1. metodi interrompenti il processo in esecuzione può essere tolto in qualsiasi momento da uno a priorità maggiore lo scheduler viene attivato ad ogni variazione dello stato del sistema l interrompibilità del processo richiede un carico di lavoro molto maggiore allo scheduler forniscono maggior velocità di risposta agli eventi, ma al prezzo di un sovraccarico maggiore 2. metodi non interrompenti il processo in esecuzione mantiene il possesso delle risorse allocate, compresa la CPU può cedere solo volontariamente l uso della CPU può sospendersi a causa di una sua attività (es. richiesta di I/O) un eventuale processo a priorità maggiore non può forzarne la sospensione Scheduling con modello First Come First Served (FCFS, FIFO) In questo modello il primo processo ad entrare è il primo ad essere servito (e ad uscire), il carico di lavoro viene quindi smaltito man mano che arriva, non è previsto alcun meccanismo di interruzione dei processi in corso. I vantaggi sono la realizzazione semplificata dello scheduler e la sua esecuzione comporta un carico di lavoro molto limitato rispetto all esecuzione dei processi. Gli svantaggi sono: il metodo non prende in considerazione lo stato del sistema, ha quindi risultati poveri in termini di prestazioni; la non interrompibilità ha, come conseguenza diretta: un basso sfruttamento dei componenti e un basso lavoro utile del sistema; rinuncia all importanza delle priorità fra processi. Sistemi Operativi - Slides 11

12 Scheduling con modello Short Remaining Time Next (SRTN) Il modello del minor tempo rimasto, seleziona il processo che richiede il minor tempo per essere completato. Nella forma non interrompibile viene spesso chiamata Shortest Job First (SJF) e lo scheduler viene chiamato ogni volta che un processo è completato oppure cede il controllo al sistema operativo. Nella forma interrompibile (solo per scheduler di breve termine) lo scheduler viene chiamato ogni volta che un processo viene posto in stato di pronto, confronta il tempo residuo di esecuzione del nuovo processo pronto con il tempo necessario per portare a completamento il processo in esecuzione. In funzione del risultato il processo in esecuzione può continuare o essere rimpiazzato da quello con tempo di esecuzione residuo più basso, il processo eventualmente interrotto viene posto nella coda dei pronti. Il vantaggio è che lo scheduling SRTN è ottimo in termini di minimizzazione del tempo di attesa, fissato il carico di lavoro. Gli vvantaggi sono: le sue applicazioni pratiche dipendono dal grado di accuratezza con cui si può predire il comportamento di un processo; una maggiore accuratezza richiede tecniche più sofisticate e quindi un sovraccarico maggiore; la versione con interruzione presenta un ulteriore sovraccarico; per le frequenti commutazioni di processo; per le numerose chiamate allo scheduler; per mantenere una lista ordinata dei processi in base al loro tempo residuo. Lo scheduling SRTN riveste anche una certa importanza teorica: come metro di misura per valutare le prestazioni di altri algoritmi in termini di scostamento dal comportamento ottimo: Sistemi Operativi - I Processi 12

13 Il miglior comportamento di questo tipo di scheduling viene ottenuto soltanto se, al momento dello scheduling, si conosce con esattezza il tempo futuro di esecuzione dei processi. Questa caratterisitica limita l efficacia della realizzazione dell SRTN non è infatti facile stimare in modo affidabile il comportamento futuro di un processo, tranne in processi specializzati. Scheduling con modello Round Robin (RR) In ambienti interattivi, uno degli obiettivi primari è una equa condivisione delle risorse fra gli utenti. Il metodo round-robin (o del time-slicing, o a quanti di tempo) divide il tempo di CPU in quanti Q assegnati a chi ne fa richiesta: nessun processo può rimanere in esecuzione per più di Q; se il processo non si completa in Q, torna nella coda dei processi pronti; il processo che cede il controllo al s.o. prima della terminazione del proprio Q, perde la parte rimanente. La CPU viene quindi assegnata secondo uno schema di priorità a rotazione. La schedulazione round-robin fornisce una buona condivisione delle risorse del sistema, dove i processi più brevi possono completare l operazione in un Q (quindi buon tempo di risposta), i processi più lunghi sono forzati a passare più volte per la coda dei processi pronti (tempo proporzionale alle loro richieste di risorse) e per i processi interattivi lunghi, se l esecuzione tra due fasi interattive riesce a completarsi in un Q, il tempo di risposta è buono. La realizzazione di uno scheduler RR richiede il supporto di un Timer. Il timer invia un interruzione alla scadenza di ogni Q, forzando lo scheduler a sostituire il processo in esecuzione. Il timer viene riazzerato se un processo cede il controllo al s.o. prima della scadenza del suo Q. Lo scheduling round-robin è considerato un algoritmo abbastanza valido, è uno dei più usati per ottenere tempi di risposta buoni ai terminali. L efficienza della schedulazione dipende fortemente dalla scelta del quanto di tempo Q. La relazione tra la durata di Q e le prestazioni di RR non è lineare. Non si può ridurre Q sperando di ottenere un conseguente miglioramento del tempo di risposta. Un quanto Q troppo breve si riduce in un sovraccarico dovuto alla frequente commutazione di processi, fino ad un forte degrado delle prestazioni. Un quanto Q troppo lungo fa degenerare RR in un algoritmo FCFS, poichè i processi tendono a completare la propria esecuzione prima della scadenza di Q. Solitamente Q ricade tra 1 e 100 ms, permettendo al processo in esecuzione di avanzare di qualche migliaio di istruzioni, il numero di istruzioni eseguite in un Q viene usato come misura di confronto tra diversi sistemi (la misura di durata del tempo è dipendente dalla tecnologia). Scheduling con modello interrompibile basato sulla priorità (anche detto Event Driven) A ogni processo del sistema viene assegnato un livello di priorità, lo scheduler sceglie sempre il processo pronto con priorità maggiore. La priorità può essere assegnata dall utente o dal sistema e può essere di tipo statico o dinamico. La priorità dinamica varia in funzione: del valore iniziale; delle caratteristiche del processo; della richiesta di risorse; del comportamento durante l esecuzione. Ed è realizzabile in forma interrompente o non interrompente. Il modello Event Driven è applicato nei sistemi dove il tempo di risposta, soprattutto ad Sistemi Operativi - Slides 13

14 eventi esterni, è molto critico. Con questo tipo di scheduling il sistemista può influire sull ordine in cui uno scheduler ED serve gli eventi esterni modificando le priorità assegnate ai processi e le prestazioni sono dipendenti da una accurata pianificazione dell assegnazione delle priorità. Un problema peculiare del metodo ED è che eventi con bassa priorità rischiano di essere emarginati nel sistema. Più in generale, lo scheduling ED non è in grado di garantire il completamento di un processo in un intervallo di tempo finito dalla sua creazione. Scheduling con modello a code multiple (MLQ) I sistemi in cui le attività includono applicazioni interattive, lavori batch e molte periferiche, richiedono un modello di scheduling che offra prestazioni accettabili a tutte le attività l approccio più idoneo è quello della combinazione di modelli di scheduling, ognuno competente per il gruppo di processi che riesce a servire meglio. Il modello a code multiple suddivide il lavoro a seconda delle sue caratteristiche e mantiene code di processi separati servite da scheduler diversi. I processi sono divisi in code che raggruppano: coda 1: servizi di sistema (alta priorità) vengono serviti da uno scheduler di tipo Event Driven o FCFS coda 2: processi degli utenti interattivi (buon tempo di risposta) vengono serviti da uno scheduler di tipo Round-Robin coda 3: processi degli utenti batch vengono serviti da uno scheduler di tipo FCFS Lo scheduling tra le code può essere effettuato ad esempio con: priorità 1. viene servita prima la coda1 2. in assenza di processi in coda1 viene servita la coda2 3. in assenza di processi in coda1 e coda2 viene servita la coda3 time slice ogni coda riceve una % del tempo di CPU, assegnata in rapporto alle diverse priorità I vantaggi sono: combina i vantaggi dei sistemi puri già discussi; il degrado di una coda è riducibile assegnando tutti o parte dei processi di una coda ad una coda a priorità maggiore. Lo svantaggio è che impone a ciascuna delle code i sovraccarichi combinati di ciascuna delle tecniche impiegate. Una forma modificata è costituita dallo scheduling a code multiple con retroazione. I processi non sono staticamente legati ad una coda. Il processo migra attraverso le code in funzione del suo comportamento. Sistemi Operativi - I Processi 14

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

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

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Sistemi Operativi Sincronizzazione tra Processi

Sistemi Operativi Sincronizzazione tra Processi Sistemi Operativi Processi Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega 1 Processi indipendenti possono avanzare concorrentemente senza alcun vincolo

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Supponiamo sempre di avere un ponte stretto che permette il passaggio delle auto solo in un verso per volta,

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Trattamento aria Regolatore di pressione proporzionale. Serie 1700

Trattamento aria Regolatore di pressione proporzionale. Serie 1700 Trattamento aria Serie 7 Serie 7 Trattamento aria Trattamento aria Serie 7 Serie 7 Trattamento aria +24VDC VDC OUTPUT MICROPROCESS. E P IN EXH OUT Trattamento aria Serie 7 Serie 7 Trattamento aria 7 Trattamento

Dettagli

Appunti 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 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

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. - lezione 14 - Thread in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. - lezione 14 - Thread in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 14 - Thread in Java 1 Cos è un

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti Project Management Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell

Dettagli

Inter-Process Communication

Inter-Process Communication Inter-Process Communication C. Baroglio a.a. 2002-2003 1 Introduzione In Unix i processi possono essere sincronizzati utilizzando strutture dati speciali, appartenti al pacchetto IPC (inter-process communication).

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

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

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Funzioni. Corso di Fondamenti di Informatica

Funzioni. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi 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

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo Corso di Laurea Triennale in Informatica Università degli Studi di Bari Aldo Moro Anno Accademico 2012-2013 Lez. 8 : Il Livello di Sistema Operativo Sebastiano Pizzutilo Strutturazione del Sistema Operativo

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Intrusion Detection System

Intrusion Detection System Capitolo 12 Intrusion Detection System I meccanismi per la gestione degli attacchi si dividono fra: meccanismi di prevenzione; meccanismi di rilevazione; meccanismi di tolleranza (recovery). In questo

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

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

Sistemi 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

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

TB-SMS. Combinatore telefonico GSM-SMS Manuale di installazione ed uso. Ver. 1.6.10 31/07/07

TB-SMS. Combinatore telefonico GSM-SMS Manuale di installazione ed uso. Ver. 1.6.10 31/07/07 TB-SMS Combinatore telefonico GSM-SMS Manuale di installazione ed uso Ver. 1.6.10 31/07/07 MANUALE DI INSTALLAZIONE ED USO INTRODUZIONE. Il combinatore TB-SMS offre la possibilità di inviare sms programmabili

Dettagli

La Valutazione Euristica

La Valutazione Euristica 1/38 E un metodo ispettivo di tipo discount effettuato da esperti di usabilità. Consiste nel valutare se una serie di principi di buona progettazione sono stati applicati correttamente. Si basa sull uso

Dettagli

GUIDA DELL UTENTE IN RETE

GUIDA DELL UTENTE IN RETE GUIDA DELL UTENTE IN RETE Memorizza registro di stampa in rete Versione 0 ITA Definizione delle note Nella presente Guida dell'utente viene utilizzata la seguente icona: Le note spiegano come intervenire

Dettagli

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE In un mercato delle Telecomunicazioni sempre più orientato alla riduzione delle tariffe e dei costi di

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:!

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:! Scrum descrizione I Principi di Scrum I Valori dal Manifesto Agile Scrum è il framework Agile più noto. E la sorgente di molte delle idee che si trovano oggi nei Principi e nei Valori del Manifesto Agile,

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT Introduzione Un file batch è un file di testo di tipo ASCII che contiene una sequenza di comandi DOS. I file batch devono avere estensione.bat I comandi DOS all interno dei programmi batch sono eseguiti

Dettagli

Note e informazioni legali

Note e informazioni legali Note e informazioni legali Proprietà del sito; accettazione delle condizioni d uso I presenti termini e condizioni di utilizzo ( Condizioni d uso ) si applicano al sito web di Italiana Audion pubblicato

Dettagli

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Introduzione Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Il problema del massimo flusso è uno dei fondamentali problemi nell ottimizzazione su rete. Esso è presente

Dettagli

Caratteristiche principali

Caratteristiche principali Il regolatore semaforico Hydra nasce nel 1998 per iniziativa di CTS Engineering. Ottenute le necessarie certificazioni, già dalla prima installazione Hydra mostra sicurezza ed affidabilità, dando avvio

Dettagli

Risoluzione di altri problemi di stampa

Risoluzione di altri problemi di stampa di altri problemi di stampa Nella tabella riportata di seguito sono indicate le soluzioni ad altri problemi di stampa. 1 Il display del pannello operatore è vuoto o contiene solo simboli di diamanti. La

Dettagli

PD32. Esercitazione sull interfacciamento con un dispositivo di IO

PD32. Esercitazione sull interfacciamento con un dispositivo di IO PD32 Esercitazione sull interfacciamento con un dispositivo di IO Domanda #5 14/09/2000 Si dispone di un PD32 per effettuare il collaudo di un circuito integrato combinatorio con 5 ingressi e una uscita,

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Telefono Sirio lassico

Telefono Sirio lassico GUIDA USO Telefono Sirio lassico 46755H Aprile 2013 3 Indice INTRODUZIONE...1 CARATTERISTICHE TECNICHE E FUNZIONALI...1 CONTENUTO DELLA CONFEZIONE...1 INSTALLAZIONE...2 DESCRIZIONE DELL APPARECCHIO...3

Dettagli

Programmazione TELXXC

Programmazione TELXXC Manuale Programmazione Versione 5.0 Programmazione TELXXC TELLAB Via Monviso, 1/B 24010 Sorisole (Bg) info@tellab.it INDICE Programmazione e comandi... 2 Messaggio comando multiplo.. Formato... 3 Messaggi

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/03/07 Nota Questi lucidi sono tratti

Dettagli

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica IL SAMPLE AND HOLD Progetto di Fondamenti di Automatica PROF.: M. Lazzaroni Anno Accademico

Dettagli

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014 Processi di business sovra-regionali relativi ai sistemi regionali di FSE Versione 1.0 24 Giugno 2014 1 Indice Indice... 2 Indice delle figure... 3 Indice delle tabelle... 4 Obiettivi del documento...

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Caratteristiche raccomandate del Network in un progetto di Home Automation

Caratteristiche raccomandate del Network in un progetto di Home Automation Caratteristiche raccomandate del Network in un progetto di Home Automation Uno degli aspetti progettuali più importanti di un sistema Control4 è la rete. Una rete mal progettata, in molti casi, si tradurrà

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

Ricerca sequenziale di un elemento in un vettore

Ricerca sequenziale di un elemento in un vettore Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

Dettagli

Capitolo 9: PROPAGAZIONE DEGLI ERRORI

Capitolo 9: PROPAGAZIONE DEGLI ERRORI Capitolo 9: PROPAGAZIOE DEGLI ERRORI 9.1 Propagazione degli errori massimi ella maggior parte dei casi le grandezze fisiche vengono misurate per via indiretta. Il valore della grandezza viene cioè dedotto

Dettagli

Manuale d uso. Servizio Segreteria Telefonica Memotel. per Clienti con linea Fibra

Manuale d uso. Servizio Segreteria Telefonica Memotel. per Clienti con linea Fibra Manuale d uso Servizio Segreteria Telefonica Memotel per Clienti con linea Fibra 1 INDICE 1. GUIDA AL PRIMO UTILIZZO 2. CONFIGURAZIONE SEGRETERIA 3. CONSULTAZIONE SEGRETERIA 4. NOTIFICHE MESSAGGI 5. ASCOLTO

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Programmazione di un dispositivo 1to4INTGEN

Programmazione di un dispositivo 1to4INTGEN Programmazione di un dispositivo 1to4INTGEN Realizzazione di un sistema timesharing Materiale didattico a cura di: Prof. A. Mazzeo Ing. L. Romano Ing. L. Coppolino Ing. A. Cilardo Dipartimento di Informatica

Dettagli

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci 2 Indice 1 Introduzione 5 2 Usare KDE su 6 3 Funzionamento interno 8

Dettagli

CMN4i (Vers. 1.1.0 del 27/02/2014)

CMN4i (Vers. 1.1.0 del 27/02/2014) CMN4i (Vers. 1.1.0 del 27/02/2014) Il monitoring che permette di avere la segnalazione in tempo reale dei problemi sul vostro sistema IBM System i Sommario Caratterisitche... Errore. Il segnalibro non

Dettagli

white paper La Process Intelligence migliora le prestazioni operative del settore assicurativo

white paper La Process Intelligence migliora le prestazioni operative del settore assicurativo white paper La Process Intelligence migliora le prestazioni operative del settore assicurativo White paper La Process Intelligence migliora le prestazioni operative del settore assicurativo Pagina 2 Sintesi

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Le funzioni di una rete (parte 1)

Le funzioni di una rete (parte 1) Marco Listanti Le funzioni di una rete (parte 1) Copertura cellulare e funzioni i di base di una rete mobile Strategia cellulare Lo sviluppo delle comunicazioni mobili è stato per lungo tempo frenato da

Dettagli

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test Prefazione, Contenuto Parte 1: Sviluppo di programmi Parte 2: Uso e test SIMATIC Parte 3: Descrizione del linguaggio Programmazione di blocchi Appendici Glossario, Indice analitico Manuale Numero di ordinazione

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore Cicli in Visual Basic for Application Le strutture del programma che ripetono l'esecuzione di una o più istruzioni sono chiamate Cicli. Alcune strutture per i cicli sono costruite in modo da venire eseguite

Dettagli

I beni pubblici come causa del fallimento del mercato. Definizioni e caratteristiche

I beni pubblici come causa del fallimento del mercato. Definizioni e caratteristiche I beni pubblici come causa del fallimento del mercato. Definizioni e caratteristiche (versione provvisoria) Marisa Faggini Università di Salerno mfaggini@unisa.it I beni pubblici rappresentano un esempio

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

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: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Esercizi sull Association Analysis

Esercizi sull Association Analysis Data Mining: Esercizi sull Association Analysis 1 Esercizi sull Association Analysis 1. Si consideri il mining di association rule da un dataset T di transazioni, rispetto a delle soglie minsup e minconf.

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

2014 Electronics For Imaging. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto

2014 Electronics For Imaging. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto 2014 Electronics For Imaging. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto previsto in Avvisi legali. 23 giugno 2014 Indice 3 Indice...5

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli