SISTEMI MULTIPROGRAMMATI Il loro sistema operativo manteneva in memoria contemporaneamente più lavori.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SISTEMI MULTIPROGRAMMATI Il loro sistema operativo manteneva in memoria contemporaneamente più lavori."

Transcript

1 SISTEMI OPERATIVI 1

2 CAP 1: INTRODUZIONE AI SISTEMI OPERATIVI Il sistema operativo è il software che gestisce le interazioni tra utente e calcolatore elettronico. Fornisce un ambiente in cui sviluppare ed eseguire codice in maniera comoda ed efficiente. HARDWARE Insieme delle risorse di calcolo(cpu, memoria) PROGRAMMI APPLICATIVI Definiscono i modi in cui le risorse del calcolatore vengano utilizzate per risolvere i problemi degli utenti. Un sistema operativo deve: - Assegnare le varie risorse disponibili ai vari programmi (tempo di CPU, memoria) - Controllare l esecuzione di programmi - Controllare che il calcolatore sia sempre usato in modo corretto - Avere a sua disposizione una serie di programmi sempre in funzione (essi rappresentano il KERNEL). 1.1 TIPOLOGIE DI SISTEMI SISTEMI BATCH (LOTTI) Erano dei sistemi controllati tramite consolle, con immissione di dati tramite nastri magnetici. Avevano dei sistemi operativi semplici che gestivano il passaggio da un lavoro all altro, ed i lavori simili erano raggruppati in lotti. Erano caratterizzati da una bassa efficienza dell uso della cpu. SISTEMI MULTIPROGRAMMATI Il loro sistema operativo manteneva in memoria contemporaneamente più lavori. SISTEMI MULTITASKING Con questi dispositivi vi era una comunicazione diretta fra sistema operativo e utente, ed il s.o. permetteva di condividere tra più utenti il calcolatore. In questo modo la CPU esegue più lavori ad una frequenta tale da gestire più condivisioni di utenti. SISTEMI DESKTOP Sono dei sistemi a singolo utente, con un sistema operativo orientato a facilitare l uso del calcolatore agli utenti. SISTEMI PARALLELI ( SIMMETRICI ) Sono dei sistemi che presentano più CPU connessi attraverso un unico bus alle memorie ed ai dispositivi di input/output. In questo modo tutte le CPU hanno lo stesso peso (NO master-slave), aumentando di fatto: - affidabilità - Aumento del throughput (quantità di dati in uscita) - Economia di scala 2

3 SISTEMI DISTRIBUITI Con questa tipologia di sistemi i calcoli vengono distribuiti fra diversi processori ( in questo caso però ogni processore ha una propria memoria e dei propri dispositivi di I/O) I vantaggi sono: - condivisione delle risorse - aumento velocità di calcolo - affidabilità Essi però richiedono una infrastruttura di comunicazione (rete). SISTEMI REAL-TIME Sono dei sistemi in cui l elaborazione deve avvenire entro limiti di tempo precisi ( esempio: processi industriali). Hard Real Time: sistemi con memoria secondaria (ossia dischi rigidi e lettori) assente o limitata. Soft Real Time: sistemi che richiedono sistemi operativi specifici con caratteristiche avanzate (esempio realtà virtuale). PDA Sono dei sistemi palmari basati su microprocessori lenti e con poca memoria, essi devono cercare di mediare tra le esigenze dell utente e le a disposizione. CAP 2: TRASFERIMENTO DATI TRA CPU E DISPOSITIVI DI I/O Esistono essenzialmente due tecniche fondamentali: Busy Weating: ossia le CPU verifica periodicamente lo stato del dispositivo, eseguendo quando esso è pronto la transazione dei dati. Interrupt: il dispositivo comunica alla CPU quando esso è pronto. Ciò avviene tramite un apposito segnale chiamato segnale di interruzione. Comunque per entrambi i casi ogni dispositivo di I/O dispone di un controllore ( controller ) il quale gestisce il funzionamento del dispositivo. Tali controllori hanno a disposizione un buffer locale dove memorizzare i dati temporaneamente in attesa che essi vengano inviati alla CPU. 2.1 MECCANISMO DI INTERRUZIONE Il segnale di interruzione trasferisce il controllo al programma dedicato alla gestione dell interruzione (driver di periferica), tale programma e generalmente indicato dal vettore delle interruzioni che contiene gli indirizzi di partenza di tutti i driver delle periferiche. Inoltre il meccanismo dell interruzione deve memorizzare l indirizzo di memoria della successiva istruzione da eseguire alla fine della gestione dell interruzione, in modo da riprendere il regolare svolgimento del programma. Si definisce eccezione l interruzione generate tramite software in caso di errore (eccezioni ed interruzioni vengono gestite allo stesso modo). Inoltre il sistema operativo memorizza il contenuto dei registri della CPU prima della gestione dell interruzione, e del program counter ( salvataggio del contesto). I/O SINCRONO: Per tali dispositivi si ha che il ritorno del processo chiamante avviene solamente alla fine dell operazione di I/O. 3

4 In questo modo però si può utilizzare un solo dispositivo per volta rendendo spesso la CPU inattiva. I/O ASINCRONO: Per tali dispositivi il ritorno del processo chiamante avviene appena inizia l operazione di I/O. In questo modo si possono avere più processi alla volta, utilizzando le TAVOLE DI STATO ed opzionalmente la tecnica del DMA. 2.2 TAVOLE DI STATO Le tavole di stato sono delle aree di memoria in cui il calcolatore elettronico memorizza per ogni periferica di I/O lo stato in cui essa si trova (occupata, inattiva) gestendo di fatto più dispositivi per volta e quindi dando un ordine di priorità tra periferiche. 2.3 DMA Tale meccanismo consente di trasferire i dati dal dispositivo alla memoria senza passare per il processore. In tale tecnica il processore deve però programmare la periferica definendogli: - L identità del dispositivo - L operazione da eseguire - L indirizzo di memoria di dove copiare i dati - Il numero di byte interessati. In questo modo vengono trasferiti blocchi di dati ad elevata velocità senza l intervento della CPU. Viene generata una sola interruzione per blocco di dati trasferiti. Esistono due tipi di DMA: DMA a BURST: viene trasferito il blocco di dati e alla fine del trasferimento viene generato il segnale di interruzione, in questo caso però durante il trasferimento la cpu non è utilizzata in quanto il bus è occupato. DMA bus STEALING: in questo caso il bus viene utilizzato solamente quando viene trasferito effettivamente il dato. 2.4 TIPI DI BUS Bus processore-memoria: alta banda passante (velocità del bus), distanze del bus corte, e su di esso non sono collegate periferiche di I/O. Bus I/O: sono bus per distanze lunghe con molte periferiche che comunicano a diversa velocità (vedi hard disc), e su di esso non sono collegate memorie e processori. Backplane Bus: vecchi tipi di bus in cui sono presenti dispositivi di I/O memorie e processore. 2.5 SISTEMI DI MEMORIZZAZIONE MEMORIA PRINCIPALE: unico mezzo con cui il processore memorizza dati direttamente (sono memorie ad accesso casuale), sono memorie velocissime. MEMORIA SECONDARIA: è un estensione della memoria principale ed essa è caratterizzata da un ampia capacità di memoria (vedi hard disc). 4

5 2.6 GERARCHIE DI MEMORIA All interno di un calcolatore elettronico si ha una organizzazione della memoria in maniera gerarchica in più livelli di diversa velocità, costo e dimensione: 1 memoria cache: memoria velocissima, molto costosa e generalmente di dimensioni limitate (viene chiamata memoria cassaforte). 2 Memoria principale 3 Memoria secondaria 2.7 PRINCIPI DI LOCALITA DEI PROGRAMMI LOCALITA SPAZIALE: dati ed istruzioni sono memorizzati ad indirizzi vicini e quindi data la struttura sequenziale dei programmi esse vengono eseguite in tempi ravvicinati. LOCALITA TEMPORALE: e il caso in cui un programma tende ad utilizzare in breve tempo sempre lo stesso gruppo di istruzioni, come ad esempio cicli while Se quindi per esempio tali istruzioni sono presenti all interno della cache (memoria velocissima) con la presenza di tali principi si ha un accorciamento notevole di accessi in memoria principale, dati che essi sono gia presenti all interno della cache. Unico intoppo è rappresentato dalle dimensioni delle memorie, in quanto passando da un livello inferiore ad un livello superiore la capacità di memorizzazione diminuisce e quindi mi dovrò inventare degli algoritmi adatti che mi ottimizzino il numero gli accessi ad memorie inferiori, che mi comportano un maggior tempo di accesso. Inoltre il sistema di controllo deve far si che il processore deve accedere ai dati nelle versioni più, in modo da non avere la cosiddetta incoerenza della cache. 2.8 MODO PROTETTO In ogni sistema operativo si ha la presenza di un duplice modo funzionamento della CPU: di modo utente : utilizzato dagli applicativi modo sistema: utilizzato dal sistema operativo in questo modo posso rendere delle istruzioni privilegiate (istruzioni che potrebbero arrecare danni al calcolatore elettronico) e far si che esse possano essere eseguite solamente in modalità sistema e quindi dal sistema operativo. Con tale tecnica viene dedicato un bit apposito in modo da determinare in ogni istante la modalità in cui si trova la cpu (per esempio bit = 1 modalità utente). Tutte le istruzioni di I/O sono delle istruzioni privilegiate. Quindi un programma dovrà passare attraverso il sistema operativo le cosiddette chiamate di sistema per eseguire operazioni privilegiate, in questo modo il s.o. controlla va validità della chiamata e passa in modalità sistema in caso di controllo positivo. 2.9 PROTEZIONE DELLA MEMORIA 5

6 Il sistema operativo deve controllare che sia protetta la parte di memoria in cui risiede il vettore delle interruzioni e le routine di servizio di quest ultime. Per tale motivo sono tanti introdotti ulteriori due registri per stabilire l intervallo di memoria che un programma può utilizzare: BASE REGISTER: contiene il primo indirizzo mi memoria accessibile da un determinato programma. LIMIT REGISTER: contiene le dimensioni dell intervallo. In modalità protetta tutte le zone di memoria sono accessibili PROTEZIONE DELLA CPU Si effettua la protezione della cpu per evitare che un applicativo non restituisca più il controllo di della cpu da parte del sistema operativo. A tale scopo vengono effettuate periodicamente ( con tempo programmabile dal sistema operativo ) delle interruzioni hardware in modo da restituire il controllo al sistema operativo. Nei moderni microprocessori attuali sono previsti modi di funzionamento per avere diversi livelli di protezione. Nei processori INTEL sono presenti quattro livelli di privilegio: livello 0: kernel del sistema operativo livello 1 e livello 2: servizi del sistema operativo livello 3: programmi CAP 3: COMPONENTI DEL SISTEMA OPERATIVO 3.1 GESTIONE DEI PROCESSI Per svolgere i propri compiti, un processo necessita di alcune risorse, tra cui la cpu, la memoria, dispositivi I/O. Queste risorse si possono attribuire al processo al momento della sua creazione, oppure si possono attribuire durante la sua esecuzione. Tutti i processi si possono potenzialmente eseguire in modo concorrente, avvicendandosi l uso della CPU. Il sistema operativo è responsabile delle seguenti attività connesse alla gestione dei processi: - creazione o cancellazione di processi - sospensione - ripristino - gestioni delle situazioni critiche (deadlock) - meccanismi di comunicazione 3.2 GESTIONE DELLA MEMORIA PRINCIPALE Per eseguire un processo, il calcolatore necessita di memoria principale dove allocare i dati che deve gestire il processo. Quando un processo termina si dichiara disponibile il suo spazio di memoria; a questo punto si può caricare ed eseguire il processo successivo. Il sistema operativo è responsabile delle seguenti attività : - tenere sotto controllo le aree di memoria utilizzate da ogni singolo processo - allocazione delle aree di memoria 6

7 - scelta dei processi da caricare in memoria 3.3 GESTIONE DEI FILE La gestione dei file è uno dei componenti più visibili del sistema operativo. Il compito chiave del s.o. è quello di fornire all utente un modo uniforme di gestione la registrazione dei dati su diversi dispositivi di memorizzazione (dischi, nastri ). Un file è una raccolta di informazioni correlate definite dal loro creatore (insieme di dati omogenei). Il sistema operativo deve occuparsi della: - creazione e cancellazione dei file - creazione e cancellazione delle directory - copiatura dei file su dispositivi di memoria secondari 3.4 GESTIONE DEL SISTEMA I/O Per quanto riguarda la gestione dei dispostivi di I/O il sistema operativo deve preoccuparsi di: - gestire il trasferimento dati tra memoria principale e i buffer dei dispositivi di I/O - fornire un interfaccia generale per i driver dei dispositivi - gestire i driver delle periferiche 3.5 GESTIONE DELLA MEMORIA SECONDARIA La memoria secondaria è generalmente da sostegno alla memoria primaria ed è di dimensioni nell ordine dei GB composta da dischi magnetici. Il compito principale del sistema operativo sono essenzialmente: - gestione dello spazio libero - assegnazione dello spazio libero - scheduling del disco 3.6 GESTIONE DELLA RETE Un sistema distribuito è un insieme di unità di elaborazione che non condividono la memoria, i dispositivi periferici o un clock. In tale sistema le unità sono collegate da una rete di comunicazione che può essere configurata in vari modi. I compiti del sistema operativo nei confronti della rete sono: - gestire sessioni di lavoro remote - accedere alle risorse della rete come se fossero locali - trasferire file remoti 3.7 SISTEMI DI PROTEZIONE Se un sistema di calcolo ha più processi che possono essere eseguiti in modo concorrente, se deve avere un sistema che protegga le attività di un determinato processo nei confronti di altri processi. I compiti del sistema operativo: - distinguere fra uso autorizzato e non autorizzato di un processo 7

8 - specificare i controlli da effettuare sui processi - provvedere alla gestione delle violazioni 3.8 INTERPRETE DEI COMANDI Uno dei programmi di sistema più importanti di un sistema operativo è l interprete dei comandi; si tratta dell interfaccia tra l utente ed il sistema operativo. Esso mette a disposizione dell utente una serie di comandi per: - cancellazione e creazione di un processo - gestione della memoria primaria e secondaria - uso della rete - accesso al file system Spesso i sistemi operativi si differenziano proprio dal punto di vista dell interprete dei comandi. Esistono interpreti amichevoli basati sull utilizzo del mouse per esempio Windows, ed interpreti basati su righe di comando per esempio MS-DOS. 3.9 SERVIZI DEL SISTEMA OPERATIVO Un sistema operativo offre un ambiente in cui eseguire i programmi e fornire servizi ai programmi e ai loro utenti. Per rendere più agevole la programmazione, si offrono i seguenti servizi: - esecuzione di un programma: il sistema deve poter caricare un programma eseguirlo - operazioni di I/O: un programma in esecuzione può richiedere un operazione di I/O che implica l uso di un file o di un dispositivo di I/O. - gestione del file system: ossia la possibilità da parte dei programmi di leggere, scrivere creare e cancellare file. - Comunicazioni: scambio di informazioni fra processi in esecuzione su uno stesso computer attraverso due principali: lo shared memory (copiare grandi quantità di dati) e lo messagge passing (scambio di messaggi tra sistemi operativi). - Rivelamento degli errori: assicurare la correttezza dei processi gestendo i possibili errori della CPU della memoria e dei dispositivi di I/O. Esiste anche un altra serie di funzioni del sistema operativo che non riguarda direttamente gli utenti, ma assicura il funzionamento corretto del sistema stesso: - contabilizzazione delle risorse: il s.o. memorizza quali utenti utilizzano il calcolatore e quali risorse hanno occupato. Tale informazioni possono essere utilizzate per calcolare il costo da addebitare ad ogni singolo utente (esempio degli internet point). - Protezione: viene assicurata alla macchina il corretto accesso alle risorse di sistema rispettando i vincoli imposti. 8

9 3.10 CHIAMATE DI SISTEMA Le chiamate di sistema costituiscono l interfaccia tra un processo e il sistema operativo. Sono generalmente disponibili sotto forma di istruzioni di linguaggio assemblativo e sono generalmente elencate. Le chiamate di sistema del sistema UNIX ad esempio si possono invocare da un programma scritto in C o in C++. Invece le chiamate di sistema per i moderni sistemi Windows sono disponibili tramite l API win32. Generalmente una chiamata di sistema viene identificata da un nome ma molto spesso devono anche essere specificati dei parametri. Tali parametri possono essere passati in tre modi differenti: - utilizzando i registri (quantità di dati limitati) - scritti in una tavola di memoria e poi passata al s.o. l indirizzo iniziale di tale dati - uso della memoria gestita a stack (tramite le PUSH e POP) TIPOLOGIE DI CHIAMATE DI SISTEMA Controllo dei processi - end, abort, load, execute, create process, terminate process 3.12 CONTROLLO DEI PROCESSI Un programma in esecuzione deve potersi arrestare sia normalmente(tramite end), sia anormalmente (tramite Abort). Se per terminare in modo anormale un programma incontra difficoltà, è possibile eseguire un backup della memoria (tramite il dump). Uno specifico programma di ricerca e correzione degli errori, può esaminare tali dati e determinare le cause del problema; sarà successivamente l interprete dei comandi a comunicare all utente l errore ed far effettuare ad esso un opportuna scelta. In un sistema a lotti, l interprete dei comandi generalmente termina il lavoro corrente e prosegue con il successivo. Un processo che esegue un programma può richiedere di caricare e di eseguire un altro programma. In questo caso l interprete dei comandi esegue un programma come se tale richiesta fosse stata impartita ad esempio, da un comando di tale utente. Il controllo dei processi presenta così tanti aspetti e varianti; per esempio il sistema operativo MS-DOS, è un sistema che dispone di un interprete di comandi caricati all avvio e che esegue un solo programma alla volta, nel seguente modo: il programma viene caricato in memoria, riscrivendo anche la maggior parte della memoria, quindi imposta il PC alla prima istruzione del programma da eseguire. Grande svantaggio di tale architettura è che mentre un programma era attivo, non si poteva interagire con l interprete dei comandi. Comunque è possibile eseguire processi concorrenti tramite l uso di programmi TSR, i quali si attivano intercettando segnali di interruzione. Esiste un altra tipologia per il controllo dei processi utilizzata dai sistemi operativi UNIX. In questo caso, tali sistemi operativi possono, a differenza dell MS-DOS, più programmi contemporaneamente. Il sistema esegue un interprete dei comandi(shell) scelto dall utente. Per avviare un nuovo processo dei comandi, esegue la chiamata di sistema FORK (che avvia un nuovo processo); si carica il programma selezionato nella memoria e infine si esegue quest ultimo. Alla fine dell esecuzione del processo, viene generato un codice di stato, che permette di capire se il programma è terminato normalmente o con errori. 9

10 3.13 GESTIONE DEI FILE Per la gestione dei file si possono identificare parecchie chiamate di sistema riguardante quest ultimo. Innanzi tutto è necessario poter creare e cancellare i file. Una volta creato il file è necessario aprirlo e leggerlo, scrivere o riposizionarlo. Si deve infine poter chiudere per indicare che non è più in uso. Le stesse operazioni possono essere necessarie per le stesse directory, nel caso in cui il file system è strutturato in directory GESTIONE DEI DISPOSITIVI Durante l esecuzione di un processo, è possibile utilizzare i dispositivi: occorre prima richiedere il dispositivo, per assicurare l esclusiva. Terminato l uso del dispositivo occorre rilasciarlo; una volta richiesto ed assegnato il dispositivo, è possibile leggervi, scrivervi ed eventualmente procedere ad un riposizionamento COMUNICAZIONE Esistono due modelli molto diffusi di comunicazione. Nel modello a scambio di messaggi, le informazioni si scambiano per mezzo di una funzione di comunicazione messa a disposizione del sistema operativo. Tutti i calcolatori che partecipano alla comunicazione hanno un nome di macchina, ad esempio un IP. Analogamente ogni processo ha un nome di processo, che si converte in un identificatore. Esistono inoltre chiamate di sistema per l apertura e la chiusura della connessione. Nella maggior parte dei casi i processi che gestiscono la comunicazione sono demoni specifici, cioè programmi di sistema realizzati esplicitamente per questo scopo. Nel modello a memoria condivisa invece per accedere alle aree di memoria possedute da altri processi, i processi usano chiamate del sistema Map Memory. La forma e la posizione dei dati sono determinate esclusivamente da questi processi e non sono sotto il controllo del sistema operativo. I processi sono dunque responsabili del rispetto della condizione di non scrivere contemporaneamente nella stessa posizione PROGRAMMI DI SISTEMA Un altra caratteristica importante dei sistemi operativi moderni, è quella che riguarda una serie di programmi del sistema. Tali programmi offrono un ambiente più conveniente per lo sviluppo dei programmi. Essi si classificano in: - gestione dei file: tali programmi cancellano, creano, rinominano i file - informazioni di stato: alcuni programmi richiedono data e ora, spazio libero di memoria, ecc. Le informazioni sono formattate e scritte su schermo, in un altro dispositivo o uno schermo. - modifica dei file - ambienti di ausilio alla programmazione(compilatori C,C++) - comunicazioni: tali programmi offrono la possibilità di far dialogare gli utenti attraverso il web, dispositivi remoti, 10

11 I sistemi operativi moderni includono programmi di applicazione che consentono di consultare il web, disegnare, fare calcoli, scrivere file di testo e anche giocare. Il programma più importante è l interprete dei comandi, che riceve i comandi impartitogli dagli utenti e li esegue, inoltre contiene i codici di esecuzione di alcuni programmi di sistema. L altro modo usato in LINUX è quello che l interprete non conosce il comando, ma utilizza il codice per identificare un file da caricare nella memoria e per eseguirlo STRUTTURA DEL SISTEMA Affiche un sistema operativo non sia monolitico, ma modificabile, esso deve essere composto da tante componenti ciascuna orientata in modo ben definito, in modo che tali componenti siano ben connesse tra loro STRUTTURA SEMPLICE Molti sistemi commerciali non hanno una struttura ben definita, un esempio è il DOS e UNIX dove occorreva garantire veloce accesso in poco spazio. Lo UNIX e formato da due parti: il nucleo e i programmi di sistema METODO STRATIFICATO Si suddivide il sistema operativo in un certo numero di strati, lo strato più in basso è quello fisico, lo strato più alto è l interfaccia d utente. Lo strato di ciascun s.o. è la realizzazione di un oggetto astratto che incapsula i dati e le operazioni che li trattano. Il vantaggio principale è la modularità che garantisce l uso di funzioni dai soli strati di livello superiore, ciò semplifica notevolmente la messa a punto e la realizzazione del sistema. Con tale gerarchia ogni strato nasconde a quelli inferiori l esistenza di strutture dati, operazioni ed elementi fisici. Tale sistema può però creare situazioni poco efficienti come ad esempio l esecuzione di I/O di un utente che invoca una chiamata che è intercettata dallo strato di I/O che a sua volta chiama lo strato di scheduling che passa il tutto al dispositivo di I/O. Tale catena di chiamate è in realtà spreco di tempo. I moderni s.o. per essere rapidi sono molto meno stratificati e ciascuno strato ha, molte più funzioni. Basta vedere l evoluzione di windows ed in particolare la versione NT con miglioramenti rispetto le precedenti MICRONUCLEO Man mano che UNIX si espandeva con esso lo faceva anche il nucleo fino al punto in cui divenne ingestibile. Verso la metà degli anni 80 alcuni ricercatori introdussero MATCH, un sistema operativo modulare con micronucleo in cui furono ridotte al minimo le operazioni del nucleo riservandogli solo i servizi minimi di gestire processi, della memoria e di comunicazione. Lo scopo principale del micronucleo è fornire funzioni di comunicazione tra i programmi client e i vari servizi, un grande vantaggio è che il s.o. è aggiornabile in quanto i suoi servizi si aggiungono allo spazio 11

12 utente, inoltre dato che è ridotto, se occorre effettuare modifiche al suo interno, le operazioni da fare sono ben circoscritte. Inoltre il micronucleo offre maggior sicurezza in quanto i servizi li si eseguono in gran parte in modo utente MACCHINE VIRTUALI Un sistema di calcolo è costituito da strati; l architettura fisica è lo strato più basso che fornisce le istruzioni macchina al nucleo sulla quale si trovano i programmi di sistema che usano i programmi di sistema e le istruzioni di macchina che sebbene accedute diversamente forniscono funzioni complesse, trattando le istruzioni macchina e le chiamate di sistema come se fossero allo stesso livello. I programmi d applicazione possono considerare quel che si trova al di sotto gerarchicamente come se fosse parte della macchina stessa sebbene i programmi di sistema si trovino a livello superiore. Tale stratificazione conduce al concetto di macchina virtuale. Esempio è il s.o. VM dell IBM che usa scheduling della CPU creando l illusione di disporre una propria CPU con una propria memoria (virtuale). La gestione asincrona dell I/O e l esecuzione di più processi, unita a un file system consente di creare lettori di schede e stampanti virtuali. L unica vera difficoltà è legata alla gestione dei dischi. REALIZZAZIONE: così come nelle macchine fisiche, le macchine virtuali devono avere due modalità: utente e sistema, sebbene sia davvero difficile ottenere la modalità sistema. Se un programma in esecuzione sulla macchina virtuale in modo utente esegue una chiamata del sistema si passa al modo sistema della macchina virtuale all interno della macchina reale. Quando il sistema della macchina virtuale acquisisce il controllo può modificare il contenuto dei registri e il contatore di programma della macchina virtuale in modo da simulare l effetto della chiamata di sistema, quindi può riavviare la macchina virtuale che si trova nel modo di sistema virtuale. La differenza consiste nel tempo, l I/O reale richiede circa 100 ms; quello virtuale richiede di più in quanto l I/O è simulato da file che si trova sull hard disc. VANTAGGI: il principale vantaggio della macchina virtuale è la sicurezza per l harware in quanto non si agisce su esso in modo reale, inoltre grazie a tale sviluppo si è consentito sempre più apportare modifiche ai sistemi operativi dei grandi mainframe JAVA linguaggio orientato agli oggetti che fa uso di una JAVA VIRTUAL MACHINE che fa si che la compilazione delle classi sia interpretata dall harware PROGETTAZIONE E REALIZZAZIONE DI UN SISTEMA Quando si progetta un s.o. ci si imbatte nel primo problema ossia il suo scopo che in realtà deve soddisfare due scopi: utente e sistema. Gli utenti lo desiderano veloce, efficace, comodo facile, i progettisti lo vogliono senza errori e longevo. 12

13 CAP 4: GESTIONE DEI PROCESSI Un processo è un programma in esecuzione, che richiede determinate risorse. Ci sono processi di sistema definiti dal s.o. e i processi utente, entrambi vengono eseguiti in contemporanea. Il processo costituisce l unità di lavoro dei moderni sistemi operativi a partizione del tempo. 4.1 CONCETTO DI PROCESSO Un utente esegue un operazione alla volta, ma il calcolatore nel gestire la memoria, gestire anche i molti processi che sono in esecuzione. PROCESSO E qualcosa di più del codice di un programma, noto come sezione di testo, comprende l attività corrente, rappresentata dal valore del program counter e dal contenuto dei registri della CPU. Di solito comprende anche un proprio stack e una sezione dati contenenti le variabili globali. Un programma non è un processo in quanto è un entità passiva, un processo è invece un entità attiva. STATO DEL PROCESSO mentre un processo è in esecuzione è soggetto a cambiamenti di stato definiti dalle attività corrente del processo stesso. Gli stati sono: - nuovo; si crea il processo - esecuzione - attesa; si attende qualche evento - pronto: si attende l esecuzione da parte della CPU - terminato DESCRITTORE DEL PROCESSO Ogni processo è rappresentato nel s.o. da un descrittore di processo detto anche blocco di controllo di un processo che contiene molte informazioni: - stato del processo - contatore di programma - registri di CPU, che comprendono accumulatori registri indice, stack pointer quando si verifica un interruzione della CPU, si salvano le informazioni (contenuti dei registri) in modo da permettere la corretta esecuzione del processo in seguito. THREAD Un processo è un programma che si esegue seguendo un unico percorso di esecuzione, secondo una singola sequenza di istruzioni, svolgendo un solo compito alla volta. 4.2 SCHEDULING DEI PROCESSI La multiprogrammazione consiste nel disporre contemporaneamente alcuni processi in modo da massimizzare l utilizzo della CPU. La partizione di tempo punta sulla velocità di commutazione della CPU tra i processi dando all utente la possibilità di interagire con ciascun programma mentre è in esecuzione. 13

14 CODE DI SCHEDULING Ogni processo è inserito in una coda di processi di tutti i processi di sistema. I processi presenti in memoria centrale che sono pronti e nell attesa di essere eseguiti si trovano in una coda di processi pronti, che è una lista concatenata in cui l intestazione contiene i puntatori del primo e dell ultimo PCB dell elenco e ciascun PCB è esteso con un campo puntatore che indica il successivo processo contenuto nella coda dei processi pronti. Il s.o. ha anche altre code, quando si assegna alla CPU un processo, quest ultimo rimane in esecuzione per un pò di tempo e potrebbe rimanere in attesa per esempio di I/O che è una richiesta diretta ad unità disco, potrebbe capitare che il disco è impegnato per un altro processo e per cui il processo chiamante deve attendere che il disco sia libero. L elenco dei processi che attendono la disponibilità di un dispositivo di I/O si chiama coda del dispositivo; ogni dispositivo ha la sua coda. SCHEDULER Nel corso della sua esistenza un processo si trova in varie code di scheduling e il s.o. compie la selezione attraverso un apposito scheduler. Accade spesso che ci siano più lavori di quanti se ne possano svolgere immediatamente, tali lavori vanno in dispositivi di memoria secondaria dove risiedono fino all esecuzione. Lo scheduler a lungo termine sceglie i lavori da questo insieme e li carica in memoria fisica finché non vengono eseguiti. Lo scheduler a breve termine fa la selezione tra i lavori pronti per essere eseguiti, e assegna la CPU ad uno di essi. CAMBIO DI CONTESTO Il passaggio alla CPU di un nuovo processo, implica la registrazione dello stato del vecchio processo e il caricamento dello stato precedentemente registrato del nuovo processi. Tale procedura è nota come cambio di contesto e quando avviene, il KERNEL registra il contesto del vecchio processo nel suo PCB e carica il contesto precedente per il nuovo processo OPERAZIONI SUI PROCESSI I processi di un S.O. si possono eseguire in modo concorrente e si devono creare e cancellare dinamicamente, a tal fine il S.O. deve offrire un meccanismo che permette di creare e terminare il processo CREAZIONE DI UN PROCESSO Durante la propria esecuzione, un processo può creare numerosi altri processi. Il processo creante si chiama Padre e quello creato Figlio. Il padre dispone di varie risorse ( Cpu,Ram ) e può limitare le risorse del figlio. Quando avviene la creazione vi sono due possibilità: - Il genitore continua l esecuzione in parallelo con i figli - Il genitore attende che i processi figli terminino Ci sono due possibilità anche per lo spazio di indirizzi del nuovo processo: - Il processo figlio è un duplicato del padre - Nel processo figlio si carica un programma TERMINAZIONE DI UN PROCESSO Un processo termina quando finisce l esecuzione della sua ultima istruzione e chiede al sistema operativo la cancellazione attraverso la chiamata Exit. 14

15 A questo punto il figlio riporta alcuni dati al genitore che li riceve attraverso la chiamata WAIT. Tutte le risorse di un processo sono liberate dal s.o. La terminazione può avvenire anche in altri casi: - Il genitore ha terminato e il s.o. non consente ai figli di proseguire - Non è richiesto più il compito assegnato al figlio - Il figlio ha ecceduto le risorse assegnategli 4.3 PROCESSI COOPERANTI Esistono processi indipendenti tra loro che non si influenzano a vicenda e che non condividono dati ed esistono processi dipendenti che interagiscono lavorando in parallelo e condividendo dati. I vantaggi della cooperazione sono: - condivisione di informazione - accelerazione del calcolo - modularità - convenienza: un solo utente può avere la necessità di compiere più attività insieme. Per i processi cooperanti occorrono meccanismi di comunicazione tra loro e di sincronizzazione. Ciò si può capire attraverso il processo produttore e il processo consumatore; essi devono essere sincronizzati in quanto il consumatore può eseguire solo dopo che il produttore esegue. 4.4 COMUNICAZIONE FRA PROCESSI Come la chat in rete, le funzioni di comunicazione tra processi sono fornite nel migliore dei modi da un sistema a scambio di messaggi. SISTEMI DI SCAMBI DI MESSAGGI Un sistema di IPC fornisce almeno le due operazioni SEND e RECEIVE, i messaggi spediti possono essere di due tipi: a dimensione fissa e a dimensione variabile, l unica differenza sta nella difficoltà di programmazione. Se i processi P e Q vogliono comunicare con messaggi, occorre un canale di comunicazione realizzabile in molti modi: - Comunicazione diretta o indiretta - Simmetrica o antisimmetrica - Invio per copiatura o per riferimento - Capacità zero limitata o illimitata - Messaggi di dimensione fissa o variabile COMUNICAZIONE DIRETTA Ogni processo che intende comunicare deve nominare il ricevente o il trasmittente: - Send (P, messaggio) - Receive (Q, messaggio) Caratteristiche del canale: - Si stabilisce automaticamente un canale e i processi devono conoscere solo la reciproca identità. - Un canale associato esattamente a due processi - Esiste esattamente un canale tra ciascuna coppia di processi Tale sistema è simmetrico nell indirizzamento in quanto il TX e il RX per comunicare devono nominarsi a vicenda. 15

16 Una variante asimmetrica si definisce: - Send (P, messaggio); invia messaggio al processo P - Receive (ID, messaggio); riceve un messaggio da qualsiasi processo in cui in ID si specifica il nome del processo. COMUNICAZIONE INDIRETTA I messaggi si inviano a delle porte (Mailbox), che le ricevono. In essi i processi possono introdurre e prelevare i messaggi e sono identificate in modo unico, infatti due processi possono comunicare solo se condividono una porta: - Send (A, messaggio); invia messaggio alla porta A - Receive (A, messaggio); riceve messaggio dalla porta A Caratteristiche del canale: - C è il canale solo se i processi condividono la stessa porta - Un canale può essere associato a uno o più processi - Tra ogni coppia di processi comunicanti possono esserci più canali diversi, ciascuno corrispondente ad una porta. Il s.o. consente ad un processo le seguenti operazioni: - creare una nuova porta - inviare e ricevere messaggi tramite la porta - rimuovere la porta SINCRONIZZAZIONE Lo scambio di messaggi può essere sincrono o asincrono: - Invio sincrono: il processo inviante si blocca nell attesa che il ricevente riceva - Invio asincrono: il ricevente si blocca nell attesa dell arrivo di un messaggio. - Ricezione sincrono: il ricevente si blocca nell attesa dell arrivo di un messaggio. - Ricezione asincrona: il ricevente riceve un messaggio valido oppure un valore nullo. CODE DI MESSAGGI I messaggi scambiati tra processi comunicanti risiedono in code temporali ed esistono 3 metodi per la realizzazione di tali code. - Capacità 0: la coda è lunga massimo 0, quindi il canale non può avere messaggi di attesa al suo interno - Capacità limitata - Capacità illimitata 4.5 COMUNICAZIONE NEI SISTEMI CLIENT-SERVER Si consideri un utente che deve accedere a dati presenti in un altro server A, tale richiesta è gestita da un server remoto nel sito A che calcola i dati richiesti e invia i risultati all utente. SOCKET E l estremità di un canale di comunicazione. Una coppia di processi che comunica attraverso una rete usa una coppia di Socket una per ogni processo, e ogni socket identificato con un IP concatenato ad un numero di porta, in generale le socket usano un architettura client-server. Il sever attende il client stando in ascolto ad una porta specificata, quando il server riceve una richiesta, se accetta la connessione 16

17 proveniente dalla socket del client, si stabilisce la comunicazione. Quando un processo client richiede una connessione, il calcolatore che lo esegue assegna una porta specifica, che consiste di un numero arbitrario maggiore di 1024, ogni connessione è identificata da una distinta coppia di socket. CHIAMATE DI PROCEDURE REMOTE Un classico esempio è l RPC in cui i messaggi scambiati per la comunicazione sono strutturati e non semplici come quelli dell IPC, si indirizzano ad un demone in ascolto sulla porta del sistema remoto e contengono un identificatore della funzione da eseguire e i parametri da inviare. Se un sistema remoto richiede un servizio (sapere quanti utenti attuali), deve possedere un demone in ascolto a una porta es del server che realizzi un RPC in modo che qualsiasi sistema remoto inviando un messaggio RPC alla porta 3027 può sapere tale informazione. La semantica dell RPC consente ad un client di invocare una procedura che si trova in un sistema remoto come se fosse locale, il sistema RPC nasconde i dettagli necessari che consentono che la comunicazione avvenga, tale sistema ottiene questo risultato assegnando un segmento di codice di riferimento (STUB) alle porte client. Quando il client invoca una procedura remota l RPC chiama l appropriato STUB, passando i parametri della procedura remota, lo stub individua la porta del server e struttura i parametri (marshalling) assemblandoli per trasmetterli in rete. Lo stub trasmette al server usando lo scambio di messaggi, un analogo stub nel server riceve tale messaggio e invoca la procedura nel server. Una questione importante è la differenza nella rappresentazione dei dati nel client e nel server che l RPC definisce indipendentemente dalla macchina ed è la rappresentazione esterna di dati (XDR). INVOCAZINE DI METODI REMOTI l RMI è una funzione JAVA simile all RPC, che permette ad un Head di invocare un metodo di un oggetto remoto, i due differiscono per due motivi fondamentali: l RPC sono procedurali secondo cui si possono chiamare solo procedure a funzione remota, RMI sono orientate agli oggetti ed invocano metodi di oggetti remoti, poi i parametri per le procedure remote sono normali strutture dati nelle RPC, mentre le RMI si possono passare oggetti come parametri a metodi remoti. Per rendere i metodi trasparenti sia al client sia al server l RMI realizzano un oggetto remoto usando lo stub nel client e lo scheletro nel server. CAP 5: THREAD 5.1 INTRODUZIONE Un thread, chiamato processo leggero, è l unità di base dell uso della c+ e comprende un identificatore, un contatore di programma, un insieme di registri e uno stack. Condivide con gli altri thread che appartengono allo stesso processo la sezione del codice, i dati e le risorse di sistema. Un processo tradizionale è composto da un solo thread. MOTIVAZIONI Molti programmi per i moderni PC sono predisposti per essere eseguiti da processi multithread. Di solito, un applicazione si codifica come un processo a se stante comprendente più thread di controllo: un programma 17

18 di consultazione del web potrebbe avere un thread per la rappresentazione sullo schermo, mentre un altro potrebbe occuparsi del reperimento dei dati nella rete. I thread hanno anche un ruolo primario nei sistemi che impiegano le RPC; si tratta di un sistema che permette la comunicazione tra processi. VANTAGGI I vantaggi della programmazione multithread si possono classificare in: - tempo di risposta: ossia del tempo morto, utilizzato per il cambio di contesto - Condivisione delle risorse: normalmente i thread condividono la memoria e le risorse del processo a cui appartengono - Economia: assegnare memoria e risorse per la creazione di nuovi processi è oneroso; poiché i thread condividono le risorse a cui appartengono, è molto più conveniente creare thread e gestirne i cambiamenti di contesto. - Uso ottimale delle piattaforme multi processore THREAD AL LIVELLO UTENTE E AL LIVELLO DEL NUCLEO LA gestione di thread può avvenire sia a livello d utente sia al livello del nucleo. I thread al livello d utente sono gestiti come uno strato separato sopra un nucleo del s.o. e sono realizzati tramite una libreria di funzioni, lo scheduling e la gestione senza alcun intervento diretto del nucleo. I thread al livello del nucleo sono gestiti direttamente al sistema operativo: Il nucleo si occupa della creazione, scheduling e gestione nello spazio d indirizzi del nucleo. 5.2 MODELLI DI PROGRAMMAZIONE MULTITHREAD La pluralità di sistemi che gestiscono i thread, sia a livello d utente sia al livello del nucleo, ha portato alla definizione di diversi modelli di programmazione multithread; di seguito analizziamo i più diffusi: MODELLO DA MOLTI A1: fa corrispondere molti thread a livello d utente a un singolo thread al livello del nucleo. In questo modo si aumenta l efficienza della gestione dei thread, diminuendo di fatto il tempo necessario per il cambio di contesto. Svantaggio principale di tale modello è che esso non supporta le piattaforme multiprocessore. MODELLO 1 A 1: il modello da 1 a 1, mette in corrispondenza ciascun thread del livello d utente con un thread del livello del nucleo. Questo modello offre un grado di concorrenza maggiore poiché anche se un thread invoca una chiamata del sistema bloccante (ossia aspetta per esempio un operazione di I/O), è possibile eseguire un alto thread. L unico svantaggio di questo modello è che la creazione di ogni thread al livello d utente comporta la creazione di un thread al livello del nucleo, e ciò può compromettere le prestazioni del calcolatore appesantendolo. MODELLO DA MOLTI A MOLTI: il modello da molti a molti mette in corrispondenza più thread del livello d utente con un numero minore o uguale di thread del livello del nucleo. Nel modello da molti a molti i programmatori possono creare liberamente i thread che ritengono necessari, e i corrispondenti thread del livello del nucleo si possono eseguire in parallelo nelle architetture dotate di più unità di elaborazione. 18

19 Inoltre, se un thread impiega una chiamata del sistema bloccante, il nucleo può fare in modo che si esegua un altro thread. 5.3 PROGRAMMAZIONE MULTITHREAD In un programma multithread la semantica delle chiamate di sistema fork e exec cambia: se un thread in un programma invoca la chiamata del sistema fork, il nuovo processo, potrebbe, in generale contenere un duplicato di tutti i thread oppure del solo thread invocante. La chiamata del sistema exec di solito restituisce l intero processo, inclusi tutti i thread. La cancellazione dei thread è l operazione che permette di terminare un thread prima che completi il suo compito. Ad esempio se più thread stanno facendo una ricerca in una base di dati e un thread riporta un risultato, gli altri possono essere annullati. Un thread da cancellare è spesso chiamato thread bersaglio. La cancellazione di un thread bersaglio può avvenire in due modi diversi: - cancellazione asincrona: un thread fa immediatamente terminare il thread bersaglio - cancellazione differita: il thread bersaglio può periodicamente controllare se deve terminare. Questo metodo permette di programmare la verifica in un punto dell esecuzione in cui il thread può essere cancellato senza problemi. Tali punti sono chiamati punti di cancellazione. GESTIONE DEI SEGNALI Nei sistemi UNIX si usano segnali per comunicare ai processi il verificarsi di determinati eventi. Un segnale si può ricevere in modo sincrono o in modo asincrono. Un accesso illegale alla memoria o una divisione per zero generano segnali sincroni. I segnali sincroni s inviano allo stesso processo che ha eseguito l operazione causa del segnale. Quando un segnale è causato da un evento esterno al processo in esecuzione, tale processo riceve il segnale in modo asincrono. Ogni segnale si può gestire in due modi: - tramite un gestore predefinito di segnali - tramite un gestore di segnali definito dall utente sia i segnali sincroni che quelli asincroni si possono gestire in diversi modi: alcuni si possono semplicemente ignorare (ad esempio il ridimensionamento di una finestra), alti si possono gestire terminando l esecuzione del programma (ad esempio un accesso illegale alla memoria). In generale esistono le seguenti possibilità: - inviare il segnale al thread cui il segnale si riferisce - inviare il segnale a ogni thread del processo - inviare thread a specifici thread del processo - definire un thread ricevente 5.4 PTHREAD Con il termine pthread ci si riferisce allo standard POSIX che definisce l API per la creazione e la sincronizzazione dei thread. Non si tratta di una realizzazione, ma di una definizione del comportamento dei thread; i progettisti di sistemi operativi possono realizzare le API così definite come meglio credono. 19

20 Tutti i programmi che impiegano la libreria pthread devono includere il file d intestazione pthread.h. Fra le chiamate più importanti di tale standard vi sono: - pthread_attr_init() utilizzata per passare gli attributi del thread - pthread_create() per la creazione dei thread 5.5 THREAD NEL SISTEMA WINDOWS 2000 Un applicazione per ambiente windows si esegue come un processo separato e ogni processo può contenere uno o più thread. Il sistema windows 2000 usa il modello uno a uno. Ogni thread che appartiene a un processo può accedere allo spazio d indirizzi virtuali di quel processo. I componenti generali di un thread includono: - un identificatore di thread - un insieme di registri - una pila d utente (stack) quando il thread è eseguito in modalità d utente - un area di memoria privata, usata dalle librerie DLL 5.6 THREAD NEL SISTEMA LINUX I thread sono stati introdotti nel LINUX nella versione 2.2 del nucleo. Tale sistema operativo offre la chiamata del sistema fork con la funzione di creare un nuovo processo con una copia di tutte le strutture dati del processo stesso è la chiamata di sistema clone per la creazione di un thread: la funzione anziché creare una copia del processo, crea un processo distinto che condivide la memoria del processo chiamante, tale condivisione di memoria può essere totale o parziale. CAP 6: SCHEDULING DELLA CPU 6.1 INTRODUZIONE Lo scheduling della cpu è alla base dei sistemi operativi multiprogrammati attraverso la commutazione del controllo della cpu dei vari processi, il s.o. può rendere più produttivo il calcolatore. L obbiettivo della multiprogrammazione è avere sempre processi in esecuzione al fine di massimizzare la cpu. ESEGUZIONE DI UN PROCESSO L esecuzione di un processo consiste in un ciclo di elaborazioni (svolte dalla cpu) e dall attesa del completamento delle operazioni di I/O. I processi si alternano tra questi due stadi. L esecuzione di un processo comincia con un sequenza di operazioni svolte dalla cpu ( cpu burst), seguita da un sequenza di I/O, e cosi via. SCHEDULER DELLA CPU Ogni qual volta che la cpu passa nello stato di inattività, il s.o. sceglie l esecuzione di un processo presente nella coda dei processi pronti. Generalmente gli elementi delle code sono i descrittori dei processi (pcb). Il s.o. interviene per sostituire un processo quando questo ultimo: - passa dallo stato di esecuzione a quello di attesa - passa dallo stato attesa a quello di pronto 20

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

Introduzione alle applicazioni di rete

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

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

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Scopo di questo corso, vuole essere quello di fornire ad ognuno dei partecipanti, indipendentemente dalle loro precedenti conoscenze informatiche, l apprendimento

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

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

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

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

Schema Tipologia a Stella

Schema Tipologia a Stella Cos'e' esattamente una rete! Una LAN (Local Area Network) è un insieme di dispositivi informatici collegati fra loro, che utilizzano un linguaggio che consente a ciascuno di essi di scambiare informazioni.

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

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

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

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

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

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

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

Introduzione a Puppy Linux: installazione su una chiavetta USB

Introduzione a Puppy Linux: installazione su una chiavetta USB Introduzione a Puppy Linux: installazione su una chiavetta USB Alex Gotev 1 Contenuti Che cos'è Puppy Linux? Come posso averlo? Come si avvia? Che programmi include? Installazione su Chiavetta USB Domande

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

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

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

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

Lezione 1. 1 All inizio di ogni capitolo vengono indicati gli obiettivi della lezione sotto forma di domande la cui risposta è lo scopo

Lezione 1. 1 All inizio di ogni capitolo vengono indicati gli obiettivi della lezione sotto forma di domande la cui risposta è lo scopo Lezione 1 Obiettivi della lezione: 1 Cos è un calcolatore? Cosa c è dentro un calcolatore? Come funziona un calcolatore? Quanti tipi di calcolatori esistono? Il calcolatore nella accezione più generale

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

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

Boot Camp Guida di installazione e configurazione

Boot Camp Guida di installazione e configurazione Boot Camp Guida di installazione e configurazione Indice 3 Introduzione 4 Panoramica dell'installazione 4 Passo 1: Verificare la presenza di aggiornamenti 4 Passo 2: Per preparare il Mac per Windows 4

Dettagli

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

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

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO Precisione del riconoscimento Velocità di riconoscimento Configurazione del sistema Correzione Regolazione della

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

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory.

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory. @ PC (Personal computer): Questa sigla identificò il primo personal IBM del 1981 a cura di R.Mangini Archiviazione: Il sistema operativo si occupa di archiviare i file. Background (sfondo): Cursore: Nei

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

Germano Pettarin E-book per la preparazione all ECDL ECDL Modulo 2 Sistema Operativo Windows Argomenti del Syllabus 5.0

Germano Pettarin E-book per la preparazione all ECDL ECDL Modulo 2 Sistema Operativo Windows Argomenti del Syllabus 5.0 Germano Pettarin E-book per la preparazione all ECDL ECDL Modulo 2 Sistema Operativo Windows Argomenti del Syllabus 5.0 G. Pettarin ECDL Modulo 2: Sistema Operativo 2 Modulo 2 Il sistema operativo Windows

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

Alb@conference GO e Web Tools

Alb@conference GO e Web Tools Alb@conference GO e Web Tools Crea riunioni virtuali sempre più efficaci Strumenti Web di Alb@conference GO Guida Utente Avanzata Alb@conference GO Per partecipare ad un audioconferenza online con Alb@conference

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Il Sistema Operativo: il File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

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

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi Prof. S.Pizzutilo Elementi

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

Installazione LINUX 10.0

Installazione LINUX 10.0 Installazione LINUX 10.0 1 Principali passi Prima di iniziare con l'installazione è necessario entrare nel menu di configurazione del PC (F2 durante lo start-up) e selezionare nel menu di set-up il boot

Dettagli

MANUALE DOS INTRODUZIONE

MANUALE DOS INTRODUZIONE MANUALE DOS INTRODUZIONE Il DOS è il vecchio sistema operativo, che fino a qualche anno fa era il più diffuso sui PC, prima dell avvento di Windows 95 e successori. Le caratteristiche principali di questo

Dettagli

Introduzione alla VPN del progetto Sa.Sol Desk Formazione VPN

Introduzione alla VPN del progetto Sa.Sol Desk Formazione VPN Introduzione alla VPN del progetto Sa.Sol Desk Sommario Premessa Definizione di VPN Rete Privata Virtuale VPN nel progetto Sa.Sol Desk Configurazione Esempi guidati Scenari futuri Premessa Tante Associazioni

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

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

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

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

Manuale di installazione. Data Protector Express. Hewlett-Packard Company

Manuale di installazione. Data Protector Express. Hewlett-Packard Company Manuale di installazione Data Protector Express Hewlett-Packard Company ii Manuale di installazione di Data Protector Express. Copyright Marchi Copyright 2005 Hewlett-Packard Limited. Ottobre 2005 Numero

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

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

minilector/usb Risoluzione dei problemi più comuni di malfunzionamento

minilector/usb Risoluzione dei problemi più comuni di malfunzionamento minilector/usb minilector/usb...1 Risoluzione dei problemi più comuni di malfunzionamento...1 1. La segnalazione luminosa (led) su minilector lampeggia?... 1 2. Inserendo una smartcard il led si accende

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi.

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi. I server di stampa vengono utilizzati per collegare le stampanti alle reti. In tal modo, più utenti possono accedere alle stampanti dalle proprie workstation, condividendo sofisticate e costose risorse.

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

Per questa ragione il nostro sforzo si è concentrato sugli aspetti elencati qui di seguito:

Per questa ragione il nostro sforzo si è concentrato sugli aspetti elencati qui di seguito: Autore : Giulio Martino IT Security, Network and Voice Manager Technical Writer e Supporter di ISAServer.it www.isaserver.it www.ocsserver.it www.voipexperts.it - blogs.dotnethell.it/isacab giulio.martino@isaserver.it

Dettagli

Introduzione alle pipeline e all'architettura RISC

Introduzione alle pipeline e all'architettura RISC Introduzione alle pipeline e all'architettura RISC Introduzione Pipeline Processori RISC Salti Appendice A: Storia Bibliografia Versione con i frame Versione in pdf Architettura del processore Una possibile

Dettagli

Creare e ripristinare immagine di sistema con Windows 8

Creare e ripristinare immagine di sistema con Windows 8 Creare e ripristinare immagine di con Windows 8 La versione Pro di Windows 8 offre un interessante strumento per il backup del computer: la possibilità di creare un immagine completa del, ovvero la copia

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

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

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

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

I componenti di un Sistema di elaborazione. CPU (central process unit)

I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

Dettagli

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 Introduzione SmartCard: Carta intelligente Evoluzione della carta magnetica Simile a piccolo computer : contiene memoria (a contatti elettrici)

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

Configurazioni Mobile Connect

Configurazioni Mobile Connect Mailconnect Mail.2 L EVOLUZIONE DELLA POSTA ELETTRONICA Configurazioni Mobile Connect iphone MOBILE CONNECT CONFIGURAZIONE MOBILE CONNECT PER IPHONE CONFIGURAZIONE IMAP PER IPHONE RUBRICA CONTATTI E IPHONE

Dettagli

TeamViewer 7 Manuale Controllo remoto

TeamViewer 7 Manuale Controllo remoto TeamViewer 7 Manuale Controllo remoto TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen teamviewer.com Indice 1 Informazioni su TeamViewer... 5 1.1 Informazioni sul software... 5 1.2 Informazioni sul

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci Manuale di Remote Desktop Connection Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci 2 Indice 1 Introduzione 5 2 Il protocollo Remote Frame Buffer 6 3 Uso di Remote Desktop

Dettagli

Manuale dell'utente di Symantec Backup Exec System Recovery Granular Restore Option

Manuale dell'utente di Symantec Backup Exec System Recovery Granular Restore Option Manuale dell'utente di Symantec Backup Exec System Recovery Granular Restore Option Manuale dell'utente di Symantec Backup Exec System Recovery Granular Restore Option Il software descritto nel presente

Dettagli

Samsung Data Migration v2.6 Introduzione e Guida all'installazione

Samsung Data Migration v2.6 Introduzione e Guida all'installazione Samsung Data Migration v2.6 Introduzione e Guida all'installazione 2013. 12 (Revisione 2.6.) Esclusione di responsabilità legale SAMSUNG ELECTRONICS SI RISERVA IL DIRITTO DI MODIFICARE I PRODOTTI, LE INFORMAZIONI

Dettagli

Come installare e configurare il software FileZilla

Come installare e configurare il software FileZilla Come utilizzare FileZilla per accedere ad un server FTP Con questo tutorial verrà mostrato come installare, configurare il software e accedere ad un server FTP, come ad esempio quello dedicato ai siti

Dettagli

WINDOWS - Comandi rapidi da tastiera più utilizzati.

WINDOWS - Comandi rapidi da tastiera più utilizzati. WINDOWS - Comandi rapidi da tastiera più utilizzati. La prima colonna indica il tasto da premere singolarmente e poi rilasciare. La seconda e terza colonna rappresenta la combinazione dei i tasti da premere

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

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

Virtualizzazione e installazione Linux

Virtualizzazione e installazione Linux Virtualizzazione e installazione Linux Federico De Meo, Davide Quaglia, Simone Bronuzzi Lo scopo di questa esercitazione è quello di introdurre il concetto di virtualizzazione, di creare un ambiente virtuale

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

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

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

TeamViewer 8 Manuale Controllo remoto

TeamViewer 8 Manuale Controllo remoto TeamViewer 8 Manuale Controllo remoto Rev 8.0-12/2012 TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen www.teamviewer.com Indice 1 Informazioni su TeamViewer... 6 1.1 Informazioni sul software... 6

Dettagli

IT-BOOK. Domini Hosting Web marketing E-mail e PEC

IT-BOOK. Domini Hosting Web marketing E-mail e PEC 5 giugno 09 IT-BOOK Configurazioni e cartatteristiche tecniche possono essere soggette a variazioni senza preavviso. Tutti i marchi citati sono registrati dai rispettivi proprietari. Non gettare per terra:

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

Client di Posta Elettronica PECMailer

Client di Posta Elettronica PECMailer Client di Posta Elettronica PECMailer PECMailer è un semplice ma completo client di posta elettronica, ovvero un programma che consente di gestire la composizione, la trasmissione, la ricezione e l'organizzazione

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Introduzione generale Autenticazione dell operatore https://sebina1.unife.it/sebinatest Al primo accesso ai servizi di Back Office, utilizzando

Dettagli

Problema: al momento dell autenticazione si riceve il messaggio Certificato digitale non ricevuto Possibili cause: 1) La smart card non è una CNS e

Problema: al momento dell autenticazione si riceve il messaggio Certificato digitale non ricevuto Possibili cause: 1) La smart card non è una CNS e Problema: al momento dell autenticazione si riceve il messaggio Certificato digitale non ricevuto Possibili cause: 1) La smart card non è una CNS e non contiene il certificato di autenticazione: è necessario

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

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A Leggere attentamente questo manuale prima dell utilizzo e conservarlo per consultazioni future Via Don Arrigoni, 5 24020 Rovetta

Dettagli

Lezione su Informatica di Base

Lezione su Informatica di Base Lezione su Informatica di Base Esplora Risorse, Gestione Cartelle, Alcuni tasti di scelta Rapida Domenico Capano D.C. Viterbo: Lunedì 21 Novembre 2005 Indice Una nota su questa lezione...4 Introduzione:

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

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Protocolli di rete Sommario Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Configurazione statica e dinamica

Dettagli