5ªMI Sistemi operativi. Gli oggetti della prima parte del corso

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "5ªMI Sistemi operativi. Gli oggetti della prima parte del corso"

Transcript

1 5ªMI Sistemi operativi Gli oggetti della prima parte del corso 1

2 SO: funzionalità SO come GESTORE DELLE RISORSE, controlla tutte le risorse del calcolatore e le gestisce in modo efficiente: Funzioni di servizio del SO Esecuzione di applicazioni caricamento del programma (istruzioni e dati) nella memoria centrale, inizializzazione dei dispositivi di ingresso/uscita, preparazione e gestione di altre risorse come la rete di comunicazione Accesso ai dispositivi di ingresso/uscita gestione dei segnali necessari per il trasferimento dei dati, consente all utente di ragionare in termini di operazioni astratte di lettura e scrittura; Archiviazione di dati e programmi fornire un organizzazione logica dei dati sotto forma di cartelle (directory) e file, gestire le operazioni di basso livello per il relativo ingresso/uscita; Controllo di accesso degli utenti condivisione di risorse da parte di più utenti o applicazioni, meccanismi di protezione e politiche di risoluzione degli eventuali conflitti d uso; Contabilizzazione ottimizzare il tempo di risposta dei programmi interattivi, fatturare agli utenti i costi dell impiego del sistema; Gestione dei malfunzionamenti rilevare e, se possibile, di risolvere eventuali malfunzionamenti provocati da guasti hardware, o da operazioni scorrette compiute dal software applicativo. 2

3 Gli elementi di un SO Utente Sistema Operativo Interprete comandi Gestione memoria Gestione periferiche Software applicativo Gestione processore Hardware File system 3

4 Elementi in dettaglio di un SO Sistema di gestione del processore, controlla l unità centrale di elaborazione (CPU); definisce quali programmi sono da eseguire e quali compiti sono da assegnare alla CPU; Sistema di gestione della memoria, controlla l allocazione della memoria di lavoro ai diversi programmi che possono essere contemporaneamente in esecuzione; Sistema di gestione delle periferiche, garantisce l accesso ai dispositivi di ingresso/uscita, maschera i dettagli di basso livello e gli eventuali conflitti che possono insorgere nel caso che diverse richieste arrivino contemporaneamente a uno stesso dispositivo; Sistema di gestione dei file (file system) consente l archiviazione e il reperimento dei dati sfruttando le periferiche che costituiscono la memoria di massa; Sistema di gestione degli utenti e dei relativi comandi (interprete comandi), interfaccia diretta con gli utenti, permette agli utenti di accedere in maniera semplice e intuitiva alle funzionalità disponibili. 4

5 Vantaggi della struttura a livelli di un SO Sono legati alla possibilità di definire modalità standard di interfaccia con i dispositivi fisici, cosicché sia possibile: sviluppare programmi in modo semplice, modulare ed indipendente dallo specifico calcolatore su cui viene fatto funzionare il sistema operativo; aggiornare il software di base e l'hardware in modo trasparente ai programmi applicativi e all'utente, ossia senza che vengano influenzati dall'operazione. Organizzazione a strati Ogni macchina virtuale è un insieme di programmi che realizza delle funzionalità che utilizzano i servizi forniti a livello inferiore. Ogni macchina virtuale ha il compito di gestire risorse specifiche di sistema regolandone l uso e mascherandone i limiti. I meccanismi che garantiscono la correttezza logica sono separati dalle politiche di gestione (maggiore flessibilità). ogni strato risolve un problema specifico 5

6 Organizzazione di un SO Gerarchia di macchine virtuali La visione della macchina virtuale a livello n è quella fornita dall HW e dagli strati del SO fino all ennesimo (incluso) I programmi del SO e i programmi Utente Programmi applicativi hanno una visione LOGICA delle risorse hanno accesso a un insieme ridotto di risorse; possono utilizzare solo un sottoinsieme delle istruzioni del processore (esecuzione in modalità utente); non possono decidere autonomamente quando e come avere accesso alle risorse del sistema (richiedono al S.O. l esecuzione di alcuni servizi); Sistema operativo ha una visione FISICA delle risorse ha accesso diretto a tutte le risorse; può utilizzare tutte le istruzioni del processore (esecuzione in modalità supervisore); stabilisce una politica di gestione delle risorse (modalità di gestione delle richieste che riceve devono essere soddisfatte); 6

7 La vita di un SO Fasi della vita del S.O., dall accensione allo spegnimento: bootstrap (caricamento del nucleo nella RAM) funzionamento a regime shutdown (salvataggio impostazioni e registri di sistema) Bootstrap Attivazione della corrente elettrica nei circuiti esecuzione di programmi scritti nelle memorie ROM: diagnostica : test componenti HW caricamento S.O. : dalla memoria di massa (hard disk) caricamento di una prima parte del S.O. nella RAM, che gestisce poi il caricamento di una seconda parte del S.O.. quando l utente inizia a lavorare il S.O è già in esecuzione 7

8 Shutdown Operazioni preliminari allo spegnimento dell elaboratore. Memorizzazione nella memoria di massa di tutte le informazioni residenti su memorie volatili (RAM e buffer di dispositivi periferici). Spegnimento senza shutdown: crash con possibile perdita irreversibile di dati. I livelli del S.O. Applicazioni Interfaccia del nucleo (chiamate di sistema) NUCLEO (o kernel) (sempre caricato nella RAM) Gestione CPU Gestione RAM File System Gestione I / O Gestione processi HW 8

9 Si accede ai servizi del sistema operativo tramite System Call Esempio: gli 11 passi necessari per eseguire la read (fd, buffer, nbytes) Alcuni esempi di system call: di Unix e Win32 (Application Programming Interface) 9

10 Applicazioni VB C++ C# J# Interfaccia del nucleo (chiamate di sistema) Common Language Specification Web Services Data and XML Base Class Library User Interface Visual Studio.NET Common Language Runtime NUCLEO (o kernel) (sempre caricato nella RAM) HardWare Un salto nel passato: i SO e perché si sono sviluppati L evoluzione dei sistemi operativi è stata spinta dal progresso tecnologico dell hardware ha guidato il progresso tecnologico dell hardware Perché analizzare la storia dei sistemi operativi? Perché permette di capire l origine di certe soluzioni presenti nei SO attuali Perché è l approccio migliore per capire come certe idee si sono sviluppate Perché alcune delle soluzioni più antiche sono ancora utilizzate 10

11 Un salto nel passato: gli antenati dei SO Generazione ZERO Babbage ( ) Macchina analitica (programmabile, meccanica) che non aveva sistema operativo La prima programmatrice della storia è Lady Ada Lovelace (figlia del poeta Lord Byron) Prima generazione valvole, tavole di commutazione, programmi hardwired Seconda generazione transistor, sistemi batch Terza generazione Circuiti integrati (IC), multiprogrammazione, time sharing Quarta generazione 1980 oggi personal computers, reti Generazione 0: Babbage Il primo calcolatore a programma memorizzato fu costruito da Charles Babbage ( ) e venne chiamato Difference Engine (1832). Si tratta di un esempio notevolissimo di meccanica applicata (consiste di circa 2000 parti e funziona ancora oggi). Il modello rappresentato in basso a destra è stato realizzato nel

12 Generazione 0: e Ada La prima persona a concepire però una macchina capace di computazionalità programmabile in senso lato fu Ada Lovelace Byron ( ), figlia di Lord Byron, la quale lavorò con Babbage al progetto di una Analytical Machine che nelle intenzioni doveva essere il successore della Differential Machine, capace di più generali applicazioni di calcolo. Questa macchina non venne mai realizzata, ma a lady Lovelace va dato credito per avere anticipato concetti quali la programmabilità di una macchina e la generazione automatica di musica (a lei è dedicato uno dei primi linguaggi di programmazione per l Intelligenza Artificiale: ADA). 12

13 Generazione 1: Come venivano costruiti? Calcolatori a valvole e tavole di commutazione Come venivano usati? Solo calcoli numerici (calcolatori non elaboratori) Un singolo gruppo di persone progettava, costruiva, programmava e manuteneva il proprio computer Come venivano programmati? In linguaggio macchina (stringhe di 0 e 1) Programmazione su tavole di commutazione Nessun sistema operativo! La prima generazione dei SO ENIAC I Elaboratore digitale elettronico (1944) 160 metri quadri 30 tonnellate valvole 13

14 il primo SO umano Veniva programmato muovendo fisicamente i connettori nei contatti Generazione 1: Principali problemi: Scarsa affidabilità (guasti frequenti) Rigidità nell assegnazione dei ruoli Non esiste il concetto di programmatore come entità separata dal costruttore di computer e dall utente Utilizzazione lenta e complessa; l operatore doveva 1) caricare il programma da eseguire 2) inserire i dati di input 3) eseguire il programma 4) attendere il risultato 5) in caso di errore, ricominciare dal punto 1) Tutto ciò a causa dell assenza del SO 14

15 .. ma la differenza di velocità dei dispositivi La potenza di calcolo di una CPU misurata in MIPS (Million Instructions Per Second) = numero di istruzioni eseguite in un secondo da un microprocessore (dipende dall Instruction set, quindi è poco obiettivo) CPU ns (nanosecondi) DISCO ms (millisecondi) STAMPANTE s (secondi) 1 Note La velocità di un PC dipende anche dall architettura interna (bus a 32,64,128 bit) e dalla velocità di trasferimento dati dalla memoria al microprocessore. Un comando di un linguaggio di programmazione impiega più istruzioni per poter essere eseguito e cambia da tipo di processore a tipo di processore.. A causa dei transistor 15

16 Entra in gioco il concetto di JOB JOB = singola o insieme di attività legate all elaborazione o alle operazioni di I/O Il programmatore scrive (su carta) un programma in un linguaggio di alto livello perfora una serie di schede con il programma e il suo input consegna le schede ad un operatore L operatore inserisce le schede di controllo scritte in linguaggio apposito inserisce le schede del programma attende il risultato e lo consegna al programmatore Una scheda perforata 16

17 Una perforatrice di schede poi il concetto di MONITOR (verso la seconda generazione) Esisteva un unico programma (MONITOR) caricato in memoria che provvedeva alla gestione dei lavori ma il sistema operativo era NON INTERATTIVO: l operatore UMANO fa eseguire i job UNO ALLA VOLTA L unica componente di sistema operativo erano le routine per gestire l I/O dei jobs 17

18 18

19 La seconda generazione: l elaborazione batch Nei primi sistemi batch (lotti) l operatore: porta le schede al 1402 che trasferisce il contenuto delle schede su nastro inserisce il nastro nel 1406 e automaticamente viene preso dal 1401 che effettua la vera e propria computazione inserisce il nastro su un altro 1403 che stampa i risultati Prime idee per aumentare efficienza: disaccoppiare l I/O lento dalla computazione far gestire la sequenzializzazione dei job da un Monitor Residente Generazione 2: Come venivano costruiti? Introduzione dei transistor Costruzione di macchine più affidabili ed economiche Come venivano usati? Gli elaboratori iniziano ad essere utilizzati per compiti diversi Si crea un mercato, grazie alle dimensioni ed al prezzo ridotti Avviene una separazione tra costruttori, operatori e programmatori 19

20 Generazione 2: Come venivano programmati? Linguaggi di alto livello : Assembly, Fortran Tramite schede perforate FORTRAN ASSEMBLY LINGUAGGIO MACCHINA e = (a+b)*(c+d) LOAD a, %r LOAD b, %r1 ADD %r0, %r1 LOAD c, %r2 LOAD d, %r3 ADD %r2, %r3 MULT %r1, %r3 STORE %r3, e Generazione 2: Primi rudimentali esempi di sistema operativo, detti anche monitor residenti o sistemi batch, a infornata : Controllo iniziale al monitor Il controllo viene ceduto al job corrente Una volta terminato il job, il controllo ritorna al monitor Il monitor residente è in grado di eseguire una sequenza di job, trasferendo il controllo dall uno all altro in successione 20

21 Generazione 2: Principale problema: molte risorse non utilizzate Durante le operazioni di lettura schede/stampa, durante il caricamento di un nuovo job, il processore resta inutilizzato Parte della memoria resta inutilizzata Primo miglioramento ma non una soluzione Caricamento di numerosi job su nastro (off line) Elaborazione (output su nastro) Stampa del nastro di output (off line) Nascono periferiche di I/O più veloci e L avvento dei dischi ha permesso di escludere i nastri: tecnica dello SPOOLING (Simultaneous Peripheral Operation On-Line). Obiettivo: utilizzare al massimo la CPU evitando i tempi morti dovuti alla lentezza dell I/O rispetto alla CPU Con periferiche di I/O più veloci si arriva al concetto di IBM

22 e nasce il concetto di multiprogrammazione Definizione di multi programmazione: più programmi utente caricati contemporaneamente in memoria centrale Scopo: Utilizzo del processore durante i periodi di I/O di un job per eseguire altri job Vantaggi: Il processore non viene lasciato inattivo (idle) durante le operazioni di I/O (molto lunghe) La memoria viene utilizzata al meglio, caricando il maggior numero di job possibili Nota: per gestire la multi programmazione, il SO deve gestire un pool di job da eseguire, fra cui alternare il processore La terza generazione: la multiprogrammazione I job (programmi) in esecuzione sono costituiti da una sequenza di CPU burst alternati ad I/O burst Burst di un programma CPU burst I/O burst CPU burst I/O burst CPU burst 22

23 Esecuzione in un sistema multiprogrammato Tempo P1 P2 P3 La CPU viene assegnata a turno ai vari programmi in esecuzione: quando il programma a cui è assegnata la CPU chiede (al S.O.) l esecuzione di una operazione di I/O, la CPU viene assegnata ad un altro programma. Se il livello di multiprogrammazione è alto, la CPU non sarà mai inutilizzata. Commutazione di contesto (Context switch) Indica chi è running in ogni istante Indica per chi lavora il disco in ogni istante Indica un processo in attesa di iniziare I/O Livello di multiprogrammazione e utilizzazione della CPU A: carico di tipo CPU-bound (i programmi richiedono poco I/O) B: carico di tipo I/O-bound (i programmi richiedono molto I/O) Livello di multiprogrammazione = numero di programmi simultaneamente in esecuzione. 23

24 La commutazione di contesto (o context switch) Il trasferimento della CPU da un programma ad un altro si chiama Commutazione di contesto (context switch): ad ogni evento di questo tipo, il S.O. deve salvare lo stato del programma (i registri della CPU) in esecuzione e caricare lo stato salvato del programma prescelto tra quelli in attesa della CPU. Generazione 3: Come venivano costruiti? Circuiti integrati Come venivano usati? Progressivamente sparisce la figura dell operatore come interfaccia degli utenti verso le macchine utente = operatore Come venivano programmati? Linguaggi di alto livello : C, shell scripting Editor testuali, editor grafici, compilatori Accesso al sistema da terminali Sistemi operativi interattivi, con multi programmazione e time sharing 24

25 Generazione 3: Multi programmazione Generazione 3: Multi programmazione Caratteristiche tecniche: Più job contemporaneamente in memoria Una componente del SO, detta scheduler, si preoccupa di alternarli nell uso della CPU Quando un job richiede un operazione di I/O, la CPU viene assegnata ad un altro job SO multi programmati programmati: Routine di I/O fornite dal SO Gestione della memoria: il sistema deve allocare la memoria per i job presenti contemporaneamente CPU scheduling: il sistema deve scegliere tra i diversi job pronti all esecuzione Allocazione delle risorse di I/O: il SO deve essere in grado di allocare le risorse di I/O fra diversi processi 25

26 Un sistema Multiprogrammato: il Time sharing Definizione di time sharing sharing: La risorsa CPU viene suddivisa in quanti temporali; allo scadere di un quanto, il job corrente viene interrotto e l esecuzione passa ad un altro job, anche in assenza di richieste di I/O I context switch avvengono così frequentemente che più utenti possono interagire con i programmi in esecuzione SO multiprogrammato funziona a time sharing sharing: Gestione della memoria: il numero di processi utente può essere molto elevato; si rende necessario l uso della memoria virtuale CPU scheduling: deve essere di tipo time sliced sliced, ovvero sospendere periodicamente l esecuzione di un programma a favore di un altro La presenza di più utenti rende necessari meccanismi di protezione (e.g. protezione del file system, della memoria, etc.) Multiprogrammazione: il Time Sharing Tempo P1 P1 termina P2 P2 termina P3 P3 termina Obiettivo: garantire tempi di reazione rapidi ai programmi interattivi. La CPU viene assegnata a turno ai vari programmi in esecuzione (un time-slice ciascuno). Un dispositivo hardware, il timer, invia dei segnali (interrupt) alla CPU per garantire che ciascun programma non occupi mai la CPU più a lungo di un time slice. Indica chi è running in ogni istante Timer 26

27 Scelta della durata del quanto di tempo (time slice) Per ottenere risposte rapide ai comandi degli utenti interattivi conviene impostare il time slice (o quanto di tempo) ad un valore piuttosto piccolo, tuttavia time slice troppo brevi causano un aumento dei costi (anche detti overhead) dovuti ai numerosi context switch. La multiprogrammazione: vantaggi e problemi Vantaggi: mentre un programma deve attendere la fine di una operazione di I/O, un altro puo essere eseguito, quindi la CPU viene sfruttata meglio. Problemi: Bisogna far convivere diversi programmi, appartenenti anche ad utenti diversi, senza che interferiscano. Occorre gestire in modo appropriato le risorse (CPU e Memoria, in primo luogo) e assicurare una esecuzione protetta. IBM 370 VAX UNIVAC 27

28 Generazione 4: 1980 oggi I personal computer sono dedicati ad utenti singoli: L obiettivo primario per i SO diventa la facilità d uso; diminuisce l interesse per la gestione ottima delle risorse I SO per PC sono in generale più semplici; non implementano la protezione (almeno fino all avvento di Internet) Creazione di interfacce grafiche user friendly Tuttavia, tecnologie sviluppate per SO più complessi possono comunque essere adottate 28

29 Le unità di misura Dove opera il Sistema Operativo (Architettura Logica Hardware) CPU Cache L1 Cache L2 RAM BIOS B U S Linee dati, indirizzi e controllo Motherboard Controllers Valore da trasferire Dove trasferirlo Direzione di trasferimento, unità coinvolte etc. Memorie di Massa Hard Disk Floppy CD-ROM - DVD Tape Dispositivi di I/O Tastiera Mouse Schermo Stampante Schede LAN (Local Area Network) 29

30 La struttura del sistema operativo La gestione dei processi (nucleo) Modalità utente e modalità supervisore Stato utente : modalità di funzionamento del computer che permette l accesso solo a un numero limitato di risorse es : un sottoinsieme delle istruzioni assembler (non si può accedere alle istruzioni che istruiscono le interfacce di I/O), una sola parte della RAM etc. Stato supervisore : modalità che permette l accesso a tutte le risorse 30

31 Modalità utente e modalità supervisore Eseguiti in stato utente Applicazioni Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del processore Gestore della memoria Gestore delle periferiche File system Hw Eseguiti in stato supervisore Modalità utente e modalità supervisore I programmi che girano in stato utente richiedono servizi al SO tramite invocazione di sottoprogrammi speciali system call o chiamate di sistema Il sistema operativo decide come e quando effettuare il servizio Il sistema operativo può interrompere un programma che gira in stato utente per eseguire altri programmi o per effettuare operazioni di gestione della macchina 31

32 Esecuzione di un programma Quando un programma utente è stato attivato, il processore esegue una dopo l altra le istruzioni assembler che lo compongono Un programma in esecuzione viene detto processo Un processo utilizza le risorse fornite dal sistema di elaborazione per assolvere ai propri compiti Programmi e Processi Processo: programma in esecuzione programma (entità statica): sequenza di istruzioni processo (entità dinamica): insieme di informazioni che caratterizzano la particolare esecuzione del programma (1 programma genera 1 o più processi) 32

33 Programma (wordprocessor) che genera più processi I Processi ed il loro contesto Connotazione temporale: il processo rappresenta lo stato di avanzamento del programma istante per istante. Il Contesto (stato) del processo all istante t è rappresentato da: istruzione da eseguire (indirizzo in RAM: PC, IR) contenuto dei registri dati del processore. 33

34 Dove rimane l informazione su un processo? Il S.O. mantiene l informazione relativa a tutti i processi attivi (non terminati) nella tabella dei processi (PCB, Process Control Block). Per ogni processo il PCB contiene un certo numero di informazioni. La tabella dei processi è in ogni istante caricata interamente in RAM. La tabella dei processi: PCB Il PCB esiste per ogni processo attivo: PID: Process Identifier Stato corrente (Execute, Ready, Blocked) Program Counter Contenuto dei registri Priorità... 34

35 PCB più in dettaglio Commutazione del contesto Cambiamento di contesto - Il processo A è in esecuzione - A viene sostituito dal processo B - tutti i dati del processo A, in particolare il Program Counter, vengono salvati nel PCB Ripristino del contesto Quando il processo A torna in esecuzione riprende dai dati precedentemente salvati nel PCB 35

36 Tipologie di Processi Processo utente: generato dall esecuzione di un applicativo utente. Processo di sistema: generato dal SW di sistema (Sistema Operativo, utilities, ecc.). Terminazione di un processo Un processo termina : Quando esegue una istruzione assembler di terminazione Quando effettua una operazione illecita (es. accesso a memoria privata di altri processi)(fatal error) Quando c è un errore di programmazione che non lo permette di proseguire (es. overflow, etc) Killed da un altro processo più importante In tutti questi casi il processore ricomincia automaticamente ad eseguire il processo Scheduler del sistema operativo ad un indirizzo prefissato 36

37 Esecuzione ed interruzione di un processo Problema : Come fa il Sistema Operativo a riprendere il controllo del processore dopo l attivazione di un processo? Attraverso Terminazione del processo (normale o erronea) Interruzione dall esterno L interruzione di un processo Il sistema operativo può bloccare un processo in un qualsiasi istante della sua esecuzione per effettuare qualche operazione di gestione della macchina Questo avviene attraverso il meccanismo hardware delle interruzioni 37

38 Gli interrupt Come funzionano le interruzioni? ogni periferica può richiedere attenzione inviando un segnale di interruzione usando le linee di controllo del bus alla fine dell esecuzione di ogni istruzione assembler il processore controlla la presenza di una interruzione se è presente il controllo passa automaticamente al sistema operativo S.O : Classificazione Classificazione dei S.O. in base alla modalità di gestione dei processi: mono-tasking multi-tasking: multi-tasking semplice time-sharing time-sharing con priorità real-time 38

39 S.O. mono-tasking Esecuzione sequenziale dei processi: non si interrompe l esecuzione di un processo per assegnare la CPU a un altro nessuna interazione con l utente unica funzione del S.O.: concatenazione automatica dell esecuzione di più processi Esempi: Sistemi batch (lotti di schede perforate, 50) MS-DOS ( 81) S.O. mono-tasking (2) Diagramma temporale: il Job i carica i dati di input il Job i effettua la computazione il Job i scarica i dati di output il S.O. avvia automaticamente il Job successivo I/O Job i Esecuzione Job i S.O. Job processo Job 3 Job 2 Job 1 Tempo 39

40 Il gestore del processore Nei computer attuali, tutti i programmi che compongono il SO ed i programmi applicativi avviati sono attivi contemporaneamente sul calcolatore (multiprogrammazione) es : Windows Word + cd player... Il gestore del processore si preoccupa di far condividere il processore a tutti i programmi attivi in modo corretto lo scopo è dare l impressione che ognuno abbia il suo processore dedicato S.O. multi-tasking Esecuzione contemporanea di più processi. Multi-tasking Multi-programmazione (Multi-programmazione: molti programmi UTENTE risiedono contemporaneamente nella RAM) 40

41 NUCLEO = Gestione dei processi e processori Gestione del/i processore/i: in un certo istante la CPU è assegnata ad un solo programma; assegnazione nel tempo della CPU ai vari programmi in attesa di essere eseguiti; gestione della cooperazione tra diverse CPU Nucleo e gestione dei processi Il nucleo (Kernel) del sistema operativo è responsabile delle seguenti attività riguardanti la gestione dei processi: creazione e terminazione dei processi sospensione e riattivazione dei processi gestione dei deadlock comunicazione tra processi sincronizzazione tra processi Il gestore dei processi realizza una macchina (o processore) virtuale in cui ciascun programma opera come se avesse a disposizione un unit unità di elaborazione dedicata 41

42 NUCLEO = Gestione dei processi e processori Gestione dei processi: gestione dell avvicendamento dei processi in esecuzione sul processore (o sui processori). Gestione dei processori: gestione dell assegnazione dei processori ai processi. Compiti del Nucleo (Kernel) Nei sistemi attuali sono in esecuzione più processi contemporaneamente. La CPU esegue comunque una sola istruzione per volta. Il S.O. gestisce l avvicendamento dei processi in esecuzione: assegna la CPU ai vari processi istante dopo istante. Scheduler: parte del S.O. che si occupa della gestione dei processi e dei processori 42

43 Obiettivi dello scheduling Massimizzare l uso della CPU. Massimizzare il numero di processi eseguiti nell unità di tempo. Minimizzare il tempo di risposta. Stati di avanzamento di un processo Possibili stati di un processo: execute (in esecuzione): la CPU è assegnata al processo blocked (bloccato): il processo è in attesa di un evento (completamento di un operazione di I/O, ) ready (pronto): il processo è eseguibile, ma la CPU è assegnata a un altro processo 43

44 Ciclo di vita di un processo Ciclo di vita di un processo (dall inizio alla terminazione): alternarsi di periodi in stato di execute, ready, blocked Terminazione Execute Inizio Ready Blocked Ciclo di vita dei processi alternarsi di periodi in stato di execute, ready, blocked nella coda di scheduling nascita execute ready tempo scaduto evento termine attesa evento (es. I/O) blocked park 44

45 Realizzazione di uno scheduler dei processi L insieme dei processi in stato ready sono gestiti mediante una struttura dati coda in modalità FIFO (First In First Out). Terminazione Execute Inizio Ready A Blocked Coda Ordinata in base all ordine di arrivo. Scheduler code a priorità 45

46 Stati di avanzamento di un processo Ciclo di vita di un processo (dall inizio alla terminazione): alternarsi di periodi in stato di execute, ready, blocked Scheduling : la CPU viene assegnata al processo A (ready). Execute A Terminazione Inizio A Ready A Blocked Stati di avanzamento di un processo 2. B, pronto, va in esecuzione Inizio B Ready Execute A B Terminazione A A Blocked 1.Il processo A è in attesa di un evento e cambia stato 46

47 Tipologie delle politiche di scheduling Le politiche di scheduling sono essere raggruppate in due grandi categorie: Preemptive: l uso della CPU da parte di un processo può essere interrotto in un qualsiasi momento, e la risorsa concessa ad altro processo Non preemptive: una volta che un processo ha ottenuto l uso della CPU, è unico proprietario della risorsa finché non ne decide il rilascio Sistemi mono tasking I SO che gestiscono l esecuzione di un solo programma per volta (un solo processo) sono detti mono tasking Non è possibile sospendere un processo per assegnare la CPU ad un altro Sono storicamente i primi SO (es. Sistemi Batch e MS DOS) C B A T Tempo di utilizzo della CPU Tempo di attesa di eventi esterni t 47

48 Sistemi Multi tasking (semplice) I SO che permettono l esecuzione contemporanea di più programmi sono detti multi tasking tasking o multi programmati Un programma può essere interrotto e la CPU passata a un altro programma C B Tempo di utilizzo della CPU Tempo di attesa di eventi esterni A t Tmulti-tasking Tmono-tasking Multi-tasking semplice Obiettivi: sfruttare l attesa per il compimento di operazioni di I/O (anche l 80-90% del tempo di elaborazione) Mentre il processo A attende per un operaz. di I/O viene mandato in esecuzione il processo B. C B A t Tmulti-tasking Tmono-tasking 48

49 Sistemi time sharing Un evoluzione dei sistemi multi tasking sono i sistemi time sharing Ogni processo viene eseguito ciclicamente per piccoli quanti di tempo Se la velocità del processore è sufficientemente elevata si ha l impressione di un evoluzione parallela dei processi 0.75 D C A B 0.25 Time sharing: diagramma temporale Processo A B C D Tempo di CPU D C B A t 49

50 Esempio di real time (tempo reale) Obiettivo: controllare processi in cui il tempo di risposta è un parametro critico. Esempi: controllo reattori nucleari, missili, impianto di riscaldamento con termostato,. Proc. C Proc. B Proc. A Tempo Diagramma temporale: Esempio di real time il processo X a priorità più alta effettua la computazione quando il processo X deve effettuare un operazione di I/O, parte l esecuzione del processo che ha priorità più alta tra i pronti Esempio con tre processi: Proc. C Proc. B Bloccato Pronto Esecuzione Priorità: A > B> C Proc. A Tempo 50

51 Esempio di real time Non suddivisione del tempo in quanti. Assegnazione di priorità statica ai processi (alle attività critiche valori alti di priorità). I sistemi real time non sono necessariamente veloci o interattivi! Proc. C Proc. B Proc. A Tempo 51

52 La struttura del sistema operativo Il gestore della memoria 52

53 1 nsec 2 nsec Gerarchie di memorie CPU ALU Registri 10 unità x 32/64b Cache L1 100 Kb + velocità + costo taglia 10 nsec Cache L2 1Mb 80 nsec RAM 1Gb velocità 8 msec Dischi 200 Gb costo 120 sec Nastri Dischi backup 100 Gb 1Tb + taglia Una marcia in più: la memoria cache CPU CACHE L1 CACHE L2 trasferimento dati MEMORIA RAM Si tratta di una memoria temporanea veloce che si pone tra la RAM e la CPU Obiettivo: Fornire molta memoria al costo delle tecnologie più economiche e con le prestazioni delle tecnologie più costose. 53

54 per anticipare i bisogni la cache permette di trovare quanto richiesto molto più velocemente Il 1 livello: la cache che non si vede CPU Clock B U S input output Cache L1 Registri A L U istruzioni condizioni comandi Data Path Control Unit 54

55 La Memoria Cache Memoria principale Copio blocchi di dati tra memorie principale e memoria cache quando il processore li richiede, per anticipare future richieste Blocco 0 16 bytes memoria cache di 16x4 bytes Blocco 1 Blocco 2 Blocco 0 Blocco 1 16 bytes istruzione corrente Blocco 16 Blocco 2 Blocco 3 Blocco istruzione corrente Il principio di località spaziale e temporale località spaziale: quando un programma fa riferimento ad un elemento è molto probabile che entro breve tempo richieda elementi attigui a quello attuale - scansioni di strutture dati come matrici e vettori - esecuzione di codice sequenziale località temporale: quando un programma fa riferimento ad un elemento è molto probabile che entro breve tempo chieda di accedere nuovamente allo stesso elemento - esecuzione di cicli - esecuzione sottoprogrammi - strutture dati tipo stack - variabili indici 55

56 Esempio di località int mat[1024][1024]; max=mat[0][0]; for(i=0; i<1024; i++) for(j=0; j<1024; j++) if(max<mat[i][j]) max = mat[i][j]; Località temporale Continuo ad usare le variabili i, j (poiché sono in un ciclo) Località spaziale Dopo mat[10][101] uso mat[10][102] Funzionamento della cache cache line blocco di parole contigue CPU Cache L2 RAM La filosofia della gerarchia della memoria consiste nel portare più vicino alla CPU le informazioni più utilizzate dalla porzione di programma in esecuzione così che nella maggior parte dei casi il tempo di accesso coincide con quello delle memorie più rapide. 56

57 Funzionamento della cache x è in cache? Miss Cerca una cache line libera Non trovata Hit Trovata Leggi/scrivi x in cache Carica un blocco di parole contenente x da RAM alla cache line trovata/liberata Scegli una cache line e, se modificata, riscrivila in RAM Sfruttamento della Località: Località Temporale accessi alla stessa parola in cache Località Spaziale accessi a parole consecutive nella stessa cache line Le memorie oggi in commercio SRAM (Static Random Access Memory ) tempo di accesso 1 10 ns utilizzata per cache L1/L2 DDR/SDRAM ((Synchronous) Dynamic RAM ) tempo di accesso ns utilizzate per la memoria principale (RAM) costo 5 10 volte inferiore alle SRAM 57

58 Riepilogo delle memorie e dei tempi Processor Datapath Control Registers On-Chip Cache Second Level Cache (SRAM) Main Memory (DRAM DDR) Secondary Storage (Disk) Tertiary Storage (Tape) Speed (ns): Size (bytes): 100b 100Kb 512 Mb 10,000,000 (10 ms) 160Gb 10,000,000,000 (10 s) 1Tb La gestione della memoria principale La memoria principale è un array di byte indirizzabili singolarmente è un deposito di dati facilmente accessibile e condiviso tra la CPU ed i dispositivi di I/O Il SO è responsabile delle seguenti attività riguardanti la gestione della memoria principale: Tenere traccia di quali parti della memoria sono usate e da chi Decidere quali processi caricare quando diventa disponibile spazio in memoria Allocare e deallocare lo spazio di memoria quando necessario Il gestore di memoria realizza una macchina virtuale in cui ciascun programma opera come se avesse a disposizione una memoria dedicata 58

59 La gestione della memoria principale L organizzazione e la gestione della memoria centrale è uno degli aspetti più critici nel disegno di un SO Il gestore della memoria è quel modulo del SO incaricato di assegnare la memoria ai task (per eseguire un task è necessario che il suo codice sia caricato in memoria) La complessità del gestore della memoria dipende dal tipo di SO Nei SO multi tasking, più programmi possono essere caricati contemporaneamente in memoria I compiti del gestore della memoria principale 1. Costruire gli indirizzi dei programmi e dei dati che sono caricati in memoria 2. Gestire la multiprogrammazione e l interazione dei processi (come è organizzata la memoria) 3. Realizzare una memoria virtuale (RAM + HD) per aumentare la capacità 59

60 Compito 1: Gli indirizzi Il problema fondamentale da risolvere è il passaggio da programma eseguibile (su memoria di massa) a processo in esecuzione (in memoria di lavoro RAM) Process Control Block Programma Processo Dati Dati User Stack Memoria condivisa Da indirizzi Logici a indirizzi Fisici: la RILOCAZIONE La CPU esegue programmi che elaborano insiemi di dati in base ad una sequenza di istruzioni La CPU utilizza riferimenti generali in memoria per dati e istruzioni, cioè gli indirizzi logici Gli indirizzi logici vengono ricalcolati nei corrispondenti indirizzi fisici nei vari passi: Compilazione Linking Caricamento Esecuzione 60

61 RILOCAZIONE: da Indirizzi logici a indirizzi fisici Un indirizzo è detto indirizzo logico o virtuale perché ancora non fa riferimento ad un indirizzo reale sulla RAM Un indirizzo logico viene fissato (binding) durante la compilazione/linking o durante il caricamento del programma L'insieme degli indirizzi logici generati da un programma è detto spazio di indirizzamento logico RILOCAZIONE: da Indirizzi logici a indirizzi fisici Un indirizzo presentato alla memoria per il trasferimento di un valore è detto indirizzo fisico Durante l'esecuzione, l'associazione tra indirizzi logici e fisici è realizzata da un dispositivo hardware dedicato Memory Management Unit (MMU) 61

62 Chi fa la RILOCAZIONE: Funzionamento della MMU Con la MMU (Memory Management Unit) l'utente non vede mai gli indirizzi fisici, ma sempre e solo quelli logici MMU CPU Indirizzo logico Registro di rilocazione 1A A376 + Indirizzo fisico MEMORIA Sistema operativo e processi utente Il sistema operativo, in genere risiede nella parte bassa dello spazio di indirizzamento Gli spazi di indirizzamento dei processi sono delimitati tramite Un registro di rilocazione Un registro limite CPU Indirizzo logico Registro Limite Registro di Rilocazione (indirizzo base) si < + no Indirizzo fisico Memoria Processo 2 Processo 1 Processo 3 S.O. 62

63 Sistema operativo e processi utente Poiché in memoria devono coesistere Il sistema operativo I processi utente Ciò comporta Condivisione della memoria La memoria è logicamente suddivisa in un'area di sistema e una per i processi utente Separazione degli spazi di indirizzamento I differenti spazi di indirizzamento è bene che siano separati, in modo da non permettere ad un processo utente di corrompere il sistema operativo o addirittura bloccare il sistema Lo Spazio di indirizzamento di un processo I 3 segmenti: il codice dati (statici e dinamici) stack o chiamate delle librerie 63

64 I registri base e limite di un programma indirizzo base PC (contatore istruzione corrente programma) Due registri: base e limite base: indirizzo iniziale del programma limite: ampiezza spazio indirizzi > registro limite confrontatore Indirizzo fisico = indirizzo logico + registro base Errore se indirizzo logico > registro limite + + addizionatore Indirizzo (alla memoria) Fault (accesso oltre il limite) Come funzionano i registri base e limite I registri base e limite sono gestiti dal SO Con due coppie di registri è possibile dividere il segmento del codice dai dati 64

65 Quando viene fatta la Rilocazione: Tipologie Ci sono 3 tipologie di rilocazione: Assoluta Statica Dinamica La Rilocazione ASSOLUTA In compilazione vengono generati solo indirizzi con riferimento a dove esattamente il codice dovrà risiedere in memoria durante l'esecuzione tipo gli eseguibili.com del DOS Codice non rilocabile e non può essere spostato all interno della RAM Non adatto alla multiprogrammazione (dove i processi si spostano all interno della memoria) 65

66 La rilocazione ASSOLUTA del DOS (monoprogrammazione) La memoria viene divisa tra il SO e l unico processo utente in esecuzione Il SO può essere: 0xffff 0 Programma utente Sistema operativo in RAM Sistema operativo in ROM Programma utente nella RAM (Random Access Memory) in memoria bassa nella ROM (Read Only Memory) in memoria alta Device driver in ROM Programma utente Sistema operativo in RAM i driver di periferica nella ROM e il resto del SO nella RAM La Rilocazione STATICA In compilazione gli indirizzi fanno riferimento ad un indirizzo base non specificato. Verrà fissato dal loader durante il caricamento in memoria centrale tipo gli eseguibili.exe di DOS/Windows 9x Proc. Control Block È un codice in parte rilocabile: occorre ricalcolare tutti gli indirizzi Programma Dati 1A376 Loader Processo Dati User Stack Memoria condivisa 66

67 Esempio di Rilocazione statica Quando un programma viene linkato, il linker deve conoscere l'indirizzo di memoria corrispondente all'inizio del programma Memoria Libreria Linker Processo Modulo 1 Modulo 2 Modulo 3 Eseguibile Loader Processo S.O. La Rilocazione DINAMICA Il codice rilocabile contiene solo riferimenti relativi a se stesso; può essere spostato durante l'esecuzione tipo gli eseguibili di Linux/Windows B B A SO A viene spostato per far posto anche a C A C SO 67

68 Rilocazione DINAMICA e caricamento parziale del codice Con la Rilocazione Dinamica è possibile effettuare il Linking dinamico del codice Il concetto base è che una libreria di funzioni viene caricata solo quando ne e' richiesta l'esecuzione. Esempio: le librerie.dll in Windows Rilocazione DINAMICA e caricamento parziale del codice Il codice compilato contiene solo uno stub Stub: parte di codice che permette al compilatore di generare la chiamata corretta ad una funzione esterna, gestita dal sistema operativo Al primo riferimento alla funzione, il codice nello stub controlla la disponibilità della libreria ed in caso ne richiede il caricamento al sistema operativo Per i riferimenti successivi, la libreria è disponibile e la chiamata alle sue funzioni è immediata 68

69 Libreria Modulo 1 Esempio di caricamento di una DLL (Dynamic Link Library) Linker Eseguibile Memoria Processo I sottoprogrammi non vengono caricati fino a che non vengono chiamati. Modulo 2 Processo Modulo 3 Loader S.O. Si ha un miglior impiego della memoria: i sottoprogrammi che non utilizzati non vengono mai caricati. Utile quando si richiedono grandi quantità di codice per gestire situazioni che avvengono raramente. Modulo 1 Modulo 2 Modulo 3 Librerie DLL Linker Eseguibile Loader Memoria Parte dinamica Processo Processo S.O. Compito 2: Organizzazione della memorie e multiprogrammazione Come organizzare (suddividere) la memoria per poter gestire la presenza di più processi contemporaneamente (multiprogrammazione)? Organizzazione lineare A pagine (Paginazione) A segmenti (Segmentazione) C A B S.O. 69

70 1 - Organizzazione lineare (o contigua o a partizione unica) Indirizzo logico corrisponde all indirizzo fisico Unica tecnica di rilocazione: ASSOLUTA Ha il grosso problema della FRAMMENTAZIONE C A B S.O. 2 - Organizzazione a pagine (PAGINAZIONE) Passo successivo: rinunciare alla non contiguità degli indirizzi logici (allocare la memoria fisica ai processi ovunque essa sia disponibile.) La memoria è divisa in PAGINE tutte della stessa dimensione chiamati frame (la dimensione è una potenza di 2 compresa fra 512 byte e 8192 byte) 4 Kb 4 Kb 4 Kb 4 Kb 4 Kb.. S.O. 70

71 Cosa occorre per la PAGINAZIONE Si deve tenere traccia di tutti i frame liberi. Per eseguire un programma con dimensione di n pagine, è necessario trovare n frame liberi prima di caricare il programma. Si impiega una tabella delle pagine per tradurre gli indirizzi logici negli indirizzi fisici. Si ha solo frammentazione interna (relativa all ultimo frame non completamente occupato). 4 Kb 4 Kb 4 Kb 4 Kb 4 Kb.. S.O. Come funziona la paginazione Ogni processo ha la tabella delle pagine da lui occupate La tabella delle pagine risiede in memoria centrale (MMU). Il calcolo dell indirizzo fisico è dato da n pagina + offset (spostamento) interno della pagina 71

72 Esempio pratico di calcolo degli indirizzi L indirizzo generato dalla CPU viene suddiviso in: Numero di pagina (p) impiegato come indice in una tabella di pagine che contiene l indirizzo di base di ciascuna pagina nella memoria fisica. Offset nella pagina (d) viene combinato con l indirizzo di base per definire l indirizzo fisico di memoria che viene inviato all unità di memoria. 3 - Organizzazione a segmenti (SEGMENTAZIONE) Passo ulteriore: NON vedere la memoria come ad un array lineare di byte, ma un insieme di BLOCCHI o SEGMENTI in quanto un programma è una collezione di segmenti logici programma principale (main), procedure o funzioni, librerie dinamiche variabili logiche, variabili globali, stack tabella dei simboli, matrici, La memoria è divisa in SEGMENTI di dimensione diversa 64 Kb 64 Kb 64 Kb 32 Kb 32 Kb 128 Kb S.O. 72

73 Vista logica della segmentazione 1 main 3 DLL 2 procedura 4 procedura Spazio del programma dell utente Spazio fisico di memoria Architettura della segmentazione L indirizzo logico è costituito da due elementi: <numerosegmento, offset> Tabella dei segmenti mappa lo spazio degli indirizzi bi-dimensionale (visto dall utente); ciascun elemento della tabella contiene: iniziale: contiene l indirizzo fisico di partenza dello spazio di memoria in cui risiedono i segmenti. offset: indica la lunghezza del segmento. 73

74 Come funziona la segmentazione Il calcolo dell indirizzo fisico è dato da segmento + offset (spostamento) interno del segmento Caratteristiche della segmentazione Rilocazione: dato che i segmenti variano di dimensione, l allocazione della memoria è dinamica, con la tabella dei segmenti e con i relativi problemi Condivisione: è possibile avere segmenti condivisi, puntando allo stesso numero di segmento. Allocazione: si ha frammentazione esterna 74

75 Frammentazione esterna e hole (buchi) Un buco (hole) è un blocco di memoria disponibile buchi di varie dimensioni sono sparsi nella memoria. Quando viene caricato un processo, gli viene allocata la memoria di un buco grande abbastanza da contenere il processo. Il SO conserva informazioni su: a) Partizioni allocate b) Partizioni libere (buchi) S.O. Spazio fisico di memoria Problemi del gestore della memoria Come soddisfare una richiesta di dimensione n a partire da un insieme di buchi? In ogni momento è presente un insieme di buchi di diverse dimensioni sparsi per la memoria. Sist.op. Sist.op.? 75

76 Strategie per l allocazione dinamica della memoria Sist.op. First fit: Si alloca il primo buco grande abbastanza. Best fit: Si alloca il più piccolo buco che possa contenere il processo. E necessario scandire tutta la lista dei buchi. Si produce il più piccolo buco residuo. Worst fit: Si alloca il più grande buco. E ancora necessario ricercare su tutta la lista. Si produce il più grande buco residuo. First-fit e best-fit sono meglio di worst-fit in termini di velocità e impiego di memoria. Compito 3: La memoria Virtuale Spesso la memoria non è sufficiente per contenere completamente tutto il codice dei processi Si può simulare una memoria più grande (VIRTUALE) tenendo nella memoria di sistema (RAM) solo le parti di codice e dati che servono in quel momento I dati e le parti di codice relativi a programmi non in esecuzione possono essere tolti dalla memoria centrale e parcheggiati su disco nella cosiddetta area di swap E necessario permettere lo spostamento (swapping) delle pagine. 76

77 Che cosa è lo swapping Memoria virtuale Cache sul disco (ma molto più lenta) Con questo meccanismo il S.O. realizza la memoria virtuale che permette di caricare ed eseguire programmi (o insiemi di programmi) che occupano più spazio di quello disponibile in RAM (quello che non ci sta in RAM viene mantenuto su disco, e portato in RAM solo quando serve). In ogni caso bisogna decidere: dove allocare i blocchi come identificarli chi rimpiazzare se manca spazio 77

78 Gli swapping dei S.O. Funzionamento logico della memoria virtuale 0000x Memoria Programma A-1A Programma B-1B Programma D Swap Programma A-2A Programma A-3A Programma B-2B 78

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

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

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

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

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

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

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

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

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

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

Organizzazione Gerarchica dei file

Organizzazione Gerarchica dei file Il numero di file che devono essere memorizzati su un disco può essere estremamente elevato Si ha quindi la necessità di mantenere i file in una forma ordinata Un unico spazio (contenitore) di file è scomodo

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

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

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

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

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

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

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

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

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

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

Uso del computer e gestione dei file

Uso del computer e gestione dei file 1 di 1 Uso del computer e gestione dei file Argomenti trattati: Sistema operativo Microsoft Windows: interfaccia grafica e suoi elementi di base Avvio e chiusura di Windows Le FINESTRE e la loro gestione:

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

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

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

Il compilatore Dev-C++

Il compilatore Dev-C++ Il compilatore Dev-C++ A cura del dott. Marco Cesati 1 Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/devcpp.html Installazione Configurazione Utilizzazione 2 1 Requisiti di sistema

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

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

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

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

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

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

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

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

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

MIPS Instruction Set 2

MIPS Instruction Set 2 Laboratorio di Architettura 15 aprile 2011 1 Architettura Mips 2 Chiamata a Funzione 3 Esercitazione Registri MIPS reference card: http://refcards.com/docs/waetzigj/mips/mipsref.pdf 32 registri general

Dettagli

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio:

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio: Flops FLOPS e' un'abbreviazione di Floating Point Operations Per Second e indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. (Top500 e il BlueGene) Ad esempio nel caso del

Dettagli

Sizing di un infrastruttura server con VMware

Sizing di un infrastruttura server con VMware Sizing di un infrastruttura server con VMware v1.1 Matteo Cappelli Vediamo una serie di best practices per progettare e dimensionare un infrastruttura di server virtuali con VMware vsphere 5.0. Innanzitutto

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

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

Sistemi Operativi. Modulo 1: Introduzione ai sistemi operativi

Sistemi Operativi. Modulo 1: Introduzione ai sistemi operativi Sistemi Operativi Modulo 1: Introduzione ai sistemi operativi Renzo Davoli Alberto Montresor Copyright Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free

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

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

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

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

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

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Corso di Laurea Specialistica in Ingegneria Meccatronica a.a. 2008/2009 Corso di CALCOLATORI ELETTRONICI Capitolo

Dettagli

Controllori a Logica Programmabile. Cos è un PLC? Cenni storici. Cenni storici. Cenni storici. Definizione dallo Standard IEC 61131

Controllori a Logica Programmabile. Cos è un PLC? Cenni storici. Cenni storici. Cenni storici. Definizione dallo Standard IEC 61131 Controllori a Logica mabile Nella presente lezione vedremo le caratteristiche principali del controllore a logica programmabile (in inglese, mable Logic Controller, o PLC). In particolare, ci soffermeremo

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

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

CIRCUITI INTEGRATI ESEMPI: INTEL

CIRCUITI INTEGRATI ESEMPI: INTEL CIRCUITI INTEGRATI Costruzione di circuiti (logici e non) su un substrato di silicio. Non solo la parte attiva, ma anche le connessioni tra le porte. Incredibile miglioramento nelle prestazioni, nell affidabilità

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

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

Fondamenti di Informatica 300 ed oltre esercizi di teoria

Fondamenti di Informatica 300 ed oltre esercizi di teoria Fondamenti di Informatica 300 ed oltre esercizi di teoria Fulvio Corno Antonio Lioy Politecnico di Torino Dip. di Automatica e Informatica v. 4.02 01/09/2009 Indice 1 Introduzione 2 1.1 Nota metodologica........................................

Dettagli

Editor vi. Editor vi

Editor vi. Editor vi Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

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

Lezione 15 File System

Lezione 15 File System Lezione 15 File System Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2014/2015 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

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

Manuale d Uso. Ref: 04061

Manuale d Uso. Ref: 04061 Manuale d Uso Ref: 04061 1 Grazie per aver acquistato il lettore digitale ENERGY SISTEM INNGENIO 2000. Questo manuale fornisce istruzioni operative dettagliate e spiegazioni delle funzioni per godere al

Dettagli

DEFT Zero Guida Rapida

DEFT Zero Guida Rapida DEFT Zero Guida Rapida Indice Indice... 1 Premessa... 1 Modalità di avvio... 1 1) GUI mode, RAM preload... 2 2) GUI mode... 2 3) Text mode... 2 Modalità di mount dei dispositivi... 3 Mount di dispositivi

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

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

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

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

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

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

ALFABETIZZAZIONE DI BASE Programma del Corso livello base

ALFABETIZZAZIONE DI BASE Programma del Corso livello base Un po di Storia ISP & Web Engineering ALFABETIZZAZIONE DI BASE Programma del Corso livello base Breve cenno sulla storia dell informatica: dagli albori ai giorni nostri; L evoluzione di Windows: dalla

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

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

Software 2. Classificazione del software. Software di sistema

Software 2. Classificazione del software. Software di sistema Software 2 Insieme di istruzioni e programmi che consentono il funzionamento del computer Il software indica all hardware quali sono le operazioni da eseguire per svolgere determinati compiti Valore spesso

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

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

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

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

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 telecamere. I sistemi di acquisizione ed archiviazione

Dettagli

Esperienze e soluzioni realizzate nell ambito del Progetto S.I.MO.NE

Esperienze e soluzioni realizzate nell ambito del Progetto S.I.MO.NE Programma Enti Locali Innovazione di Sistema Esperienze e soluzioni realizzate nell ambito del Progetto S.I.MO.NE 1 Premessa Il presente documento ha lo scopo di facilitare la disseminazione e il riuso

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

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

ECDL Modulo 1 Concetti base dell ITC

ECDL Modulo 1 Concetti base dell ITC ECDL Modulo 1 Concetti base dell ITC Syllabus 5.0 Roberto Albiero Modulo 1 Concetti di base dell ICT Questo modulo permetterà al discente di comprendere i concetti fondamentali delle Tecnologie dell Informazione

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

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

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

Procedura corretta per mappare con ECM Titanium

Procedura corretta per mappare con ECM Titanium Procedura corretta per mappare con ECM Titanium Introduzione: In questo documento troverete tutte le informazioni utili per mappare correttamente con il software ECM Titanium, partendo dalla lettura del

Dettagli

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 31 marzo 2015 CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di

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

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

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Perché se ho 4 GiB di RAM ne vedo di meno?

Perché se ho 4 GiB di RAM ne vedo di meno? Perché se ho 4 GiB di ne vedo di meno? di Matteo Italia (matteo@mitalia.net) Abstract In questo articolo mi propongo di spiegare perché utilizzando un sistema operativo a 32 bit su una macchina x86 con

Dettagli

Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode

Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode Istruzioni sull aggiornamento per i modelli di navigazione: AVIC-F40BT, AVIC-F940BT, AVIC-F840BT e AVIC-F8430BT

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

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Gestione Informatica dell archivio documenti. Computer software. Versione 7

Gestione Informatica dell archivio documenti. Computer software. Versione 7 Computer software Versione 7 Produttore MultiMedia it S.n.c. Distributore TeamSystem S.p.a. Caratteristiche Tecniche Linguaggio di Programmazione Sistema operativo client Sistema operativo server Occupazione

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

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