+ All Categories
Home > Documents > Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA...

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA...

Date post: 01-May-2015
Category:
Upload: angelico-silvestri
View: 213 times
Download: 0 times
Share this document with a friend
103
Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU all’utente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente N
Transcript
Page 1: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Dalla CPU all’utente

HARDWARE

BIOS

SISTEMA OPERATIVO

SOFTWARE APPLICATIVO

Utente 1

Utente 2

Utente N

Page 2: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Il Bios

Il Bios (Basic Input Output System) è il software di base che risiede nella ROM, dedicato alla comunicazione diretta con l’hardware, e che svolge le iniziali e le fondamentali operazioni per il funzionamento del computer.

Il Bios e le componenti software similari, non sono in genere assimilati al sistema operativo, anche se sono effettivamente parte del software di sistema; essi prendono spesso il nome di firmware, ad indicare che è fornito insieme all’hardware del PC, a differenza del sistema operativo.

Page 3: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Il Sistema OperativoIl sistema operativo è un insieme di programmi che gestisce e coordina il flusso di informazioni nel computer.

E’ composto di più moduli specializzati che intergiscono tra loro

E’ il software più importante del computer. I programmi che lo costituiscono operano in modo cooperativo per:

La gestione ottimizzata delle risorse del computer.

La realizzazione della macchina virtuale per l’utente.

Page 4: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Moduli del Sistema OperativoConfigurazione ed avviamento del computer;Gestione dell’esecuzione dei programmi (processi, task) e

dell’uso della CPU;Gestione dell’uso della memoria centrale (memory

manager) e del suo assegnamento ai programmi ed ai dati;

Gestione delle memorie di massa (file system) per il salvataggio permanente delle informazioni in files;

Gestione dell’I/O delle informazioni dalle periferiche, le code e la priorità;

Gestione delle unità di I/O (device manager);Scambio di informazioni con l’utente (interfaccia utente);Accesso multiutente (anche contemporaneo) con protezioni

e sicurezzeRoutine di libreria.

Page 5: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Struttura del Sistema OperativoE’ strutturato a livelli gerarchiciIl livello più basso (kernel) gestisce la macchina fisica di cui è

strettamente dipendente (è scritto in linguaggio macchina).Le funzionalità di ogni livello sono basate su quella del livello

sottostante, risultando quindi slegate dallo specifico computer.Il livello dell’interfaccia utente può avere identica funzionalità anche

su computer totalmente diversi.

Page 6: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Tipi di Sistema Operativo

Modalità dell’elaborazione:

Batch: un solo programma in sequenza, buffer, spool dell’/IO. Occupa le risorse allo start e le rilascia solo al termine di tutte le operazioni previste;

Interattivo: elaborazione interattiva con l’utente.

Accesso alle risorse del computer:

Single-user: cioè utilizzabile da un solo utente alla volta (MS-Dos, Win95);

Multi-users: più utenti contemporaneamente (Win NT, UNIX, MacOS, Linux).

Page 7: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Tipi di Sistema Operativo

Modalità di esecuzione dei programmi da parte della CPU:

Monoprogrammazione: la più semplice, che consente di eseguire un solo programma alla volta (MS-Dos);

Multi-task: più (frammenti di) programmi, anche di un singolo utente o programma, sono eseguiti contemporaneamente (Win 95, Win NT, UNIX). Interrupt, scheduling della CPU.

Page 8: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Programma di Setup (avvio del computer)

All’accensione del computer, con una particolare procedura, è possibile attivare uno speciale programma di configurazione dell’hardware del computer

Il programma di setup è contenuto nella Rom e può essere eseguito solo all’inizio, prima di qualsiasi altro programma

E’ utilizzato per specificare tutti i tipi di risorse del computer e le configurazioni specifiche dei segnali e degli indirizzi

I dati così forniti sono memorizzati in una speciale memoria Cmos (a batteria e non accessibile a dati e programmi applicativi) letta al successivo Bootstrap (avvio) del sistema.

Page 9: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Bootstrap (1)

All’accensione del computer un meccanismo hardware, attivato dal reset, provoca l’esecuzione diretta della prima istruzione di un programma speciale che è residente in Rom: il bootstrap (componente del sistema operativo).

Le operazioni all’accensione sono:

• inizializzazione del computer secondo le informazioni precedentemente definite nel setup;

• riconoscimento delle risorse e periferiche dichiarate ed attivazione degli appositi programmi di gestione;

• test di funzionamento delle risorse essenziali (memoria centrale)

• attivazione dei programmi di sistema operativo per la gestione della memoria centrale

Page 10: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Bootstrap (2)

• attivazione della gestione dell’esecuzione dei programmi

• attivazione dei programmi di gestione delle periferiche di I/O

• attivazione del programma di file system

• caricamento in memoria centrale (Ram) della parte principale del sistema operativo (solitamente residente su memoria di massa)

• attivazione dei programmi di gestione delle periferiche aggiuntive (mouse, drive Cdrom,..)

• attivazione dell’interfaccia utente.

Page 11: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Gestione Esecuzione dei Programmi (1)

La CPU esegue le istruzioni in sequenza in modo meccanico, senza distinguere a quale processo (programma in esecuzione) appartengano.

La gestione di un processo si può distinguere in due fasi:

• fase di esecuzione vera e propria delle istruzioni: è il tempo reale di operazione del computer;

• fase di attesa di un evento (un intervento dell’utente o la risposta di una periferica): è in genere molto maggiore rispetto al precedente.

Il tempo totale impiegato dal computer per eseguire un programma è dato dalla somma di entrambi i tempi.

Page 12: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Gestione Esecuzione dei Programmi (2)

Nei sistemi in monoprogrammazione un processo non può iniziare se non dopo la terminazione del precedente.

Con la tecnica multitasking durante l’attesa di un processo la CPU esegue un altro processo in attesa.

Nei sistemi multitasking, virtualmente si ha una elaborazione contemporanea (parallela) dei processi, anche se istantaneamente la CPU esegue una sola istruzione alla volta. E’ il sistema operativo che gestisce l’uso della risorsa CPU ed il tipo di esecuzione.

Page 13: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Gestione della Memoria Centrale

Un programma per essere eseguito dalla CPU deve essere caricato in memoria centrale. Nel caso di multiprogrammazione, ma anche con il solo sistema operativo, i vari processi presenti non devono né sovrapporsi né avere aree dati comuni (anch’esse presenti in memoria).

Il sistema operativo provvede, tramite una mappa, alla gestione dell’assegnazione della memoria:

Deve assegnare a ciascun processo tutta la memoria di cui ha bisogno;

Rendere l’accesso a questa memoria il più possibile veloce;

Evitare che i diversi processi in memoria accedano alle stesse aree di memoria in modo non coordinato e che le scritture/letture di un processo danneggino gli altri processi.

Page 14: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Memoria VirtualeMemoria virtuale: è

un’astrazione della memoria fisica che consente nei sistemi in multiprogrammazione l’uso dell’intera memoria per ogni singolo processo;

Una porzione della memoria di massa è utilizzata dal sistema operativo per contenere temporaneamente segmenti di memoria centrale (task o pagine), dove sono dinamicamente scaricati e riletti (swapping);

Con opportune tecniche (programmi di gestione della memoria virtuale) è possibile addirittura eseguire programmi più grandi della memoria fisica.

Sistema operativo

Processi File System

Memoria Virtuale

Memoria centrale Memoria di massa

Page 15: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Tecnica dello SwappingLo swapping consiste nel trasferire temporaneamente

un’area di memoria centrale su una porzione riservata alla memoria virtuale della memoria di massa per liberare spazio. In seguito l’area trasferita sulla memoria di massa sarà nuovamente riportata in memoria.

AA

BB

CCCC

Memoria Memoria di massa

prima

DD

AA

BB

Memoria

Task

dopo

CC

Memoria di massa

libera

libera

Page 16: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Gestione della Memoria di Massa

I dischi magnetici costituiscono la tipica memoria di massa utilizzata per:

memoria virtuale;

archivio riscrivibile di memoria per dati e programmi.

Il file system è il programma di sistema operativo che si occupa della gestione ed organizzazione delle informazioni sulla memoria di massa.

Il file è una organizzazione logica delle informazioni basate su record logici e campi; i dischi magnetici sono strutturati a record fisici (in genere di 512 bytes) dipendenti dalle caratteristiche fisiche dell’hardware del drive.

Page 17: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Organizzazione Logica dei Dati

La rappresentazione fisica dei dati (e programmi) sulla memoria di massa dipende esclusivamente dal tipo di supporto di memoria e dalle sue caratteristiche.

Dati dipendenti e correlati tra loro in organizzazioni complesse (lista di istruzioni, schede a campi molteplici, tabelle,…) necessitano di una strutturazione logica che ne faciliti l'uso e l'accesso, indipendentemente dal record fisico.

Page 18: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Unità Logiche dei Dati

La struttura logica dei dati è un livello astratto (virtuale) di rappresentazione costituito da:

Campo: stream (serie) di bit con cui è codificata l'informazione (numeri, codici,..). Il formato dipende dal tipo di computer utilizzato. E' identificato da un indice;

Record logico: insieme di più campi contenenti informazioni di tipo eterogeneo ma correlati tra loro. E' definito dal programma che usa i dati ed è identificato da un numero di linea;

File: è una sequenza di record logici omogenei con cui sono raggruppati e memorizzati i dati relativi ad una applicazione.

Page 19: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Il File

I record possono essere di lunghezza fissa o variabile.

Il file è definito dal programma ma è il software di base del computer che ne gestisce la memorizzazione con i record fisici.

Il file è l'elemento base della organizzazione logica dei dati.

Il file è definito da un nome simbolico.

Page 20: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

File e Memoria di MassaLa memoria di massa è organizzata logicamente a files: tutti i

programmi e dati che essa contiene sono raggruppati in files.

Ciascun supporto di memoria di massa ha, in posizioni predeterminate (p.e. dischi in traccia 0), una tabella di descrizione dei files che contiene:

• informazioni logiche: lunghezza, data, tipo, formato, attributi;• mappa dei record fisici (FAT: File Allocation Table). Il file è

segmentato in cluster con la indicazione della traccia e settore. I cluster possono essere anche in zone diverse e non contigue della memoria di massa.

E’ il software di base del computer (sistema operativo) che utilizza questa tabella per le operazioni di lettura/scrittura del file sulla memoria di massa.

Page 21: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Il File SystemCompiti del file system sono:

• interfacciare l’organizzazione logica delle informazioni propria dell’utente con la struttura fisica del disco;

•gestire l’accesso ai file su disco.

L’organizzazione a file è un’astrazione nell’uso delle informazioni da parte dell’utente:

•un nome simbolico di identificazione è associato ad ogni file;

• le informazioni contenute nel file sono lette facendo riferimento per nome al file che le contiene.

Page 22: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Operazioni del File System

Il set minimo di operazioni di gestione del file:• creazione: definizione di una struttura di file, di un nome, ed

inserzione dei nuovi dati;• cancellazione: che praticamente consiste nel marcare come

liberi i record fisici del file;• copia: creazione di un nuovo file uguale all’originario ma con

diverso nome;• rinomina: assegnazione di un nuovo nome al file;• stampa: su video o sulla stampante del contenuto del file (se

codificato in ascii);• visualizzazione degli attributi: oltre al nome la dimensione, il

tipo, la data di creazione, la protezione..;• lettura/scrittura: possibilità di accedere a segmenti di record

logico ed effettuare cancellazioni o inserzioni.

Page 23: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

La DirectoryStruttura dei files in directory: raggruppamento dei files in

insiemi con un nome.

Questa operazione ha solo rilevanza organizzativa ed ha l’unico scopo di suddividere l’insieme dei files in gruppi distinti seguendo criteri logici (p.e. appartenenza ad uno stesso utente in sistemi multi-user, classificazione per argomenti, per tipo di file….)

Ci possono essere più livelli di directory strutturate in modo gerarchico (sub-directory) ad albero

La directory iniziale si chiama radice (root)

Una directory può avere più sub-directories figlie

L’identificatore completo del file è quindi il suo nome e quello della directory che lo contiene più l’elenco (ordinato dalla radice) della sequenza di tutte le directories in cui è contenuto (path).

Page 24: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Esempio di Struttura ad Albero

Page 25: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

FAT e Files

La FAT per ogni file contiene un descrittore del tipo:

•Informazioni descrittive, quali:

• Nome del file;

• Data di creazione (o modifica);

• Dimensione in bytes;

• Attributi;

• Tipo di file;

•Identificatore (traccia e settore) dei record fisici in cui è memorizzato il file (cluster).

Page 26: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

FAT e Directories

Le Directories non hanno una connotazione logica (e quindi non hanno record fisici), ma sono anch’esse definite nella FAT con descrittori di tipo:

• Nome della directory;

• Data della creazione;

• Attributi;

• Nome della directory padre;

• Elenco dei files contenuti

• Elenco delle sub-directories figlie.

Page 27: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Gestione dell’I/O delle Informazioni

Compito del sistema operativo nella gestione delle periferiche è:

• Fornire un’interfaccia utente (astratta) per le periferiche;

• Far sì che possano operare (possibilmente) in contemporanea tra loro e con la CPU.

Caratteristiche comuni a tutte le periferiche sono:

• La lentezza di operazione rispetto alla CPU;

• La subordinazione (slave) alla CPU nella comunicazione e nello scambio dati (anche per quelle dotate di autonomia).

Page 28: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Sincronizzazione con la CPUAlcune periferiche hanno un loro proprio

funzionamento autonomo ed indipendente dalla CPU

Per comunicare con la periferica la CPU deve comunque sincronizzarsi con essa anche se non può assoggettarsi al funzionamento della periferica (drive)

Il meccanismo degli interrupt consente ad una periferica che vuole comunicare con la CPU, di inviare un segnale di interrupt, a cui la CPU risponde attivando lo specifico programma di gestione della periferica (routine di driver)

Page 29: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Schema dell’I/OL’interfaccia del sistema operativo con le periferiche consiste nel definire una serie di operazioni generali a livello astratto (stampa, lettura, copia…) che l’utente utilizza, mentre a basso livello il sistema operativo richiama il driver della periferica che ne gestisce il reale funzionamento.

Page 30: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

I/O e Sistema Operativo

Ogni periferica di I/O dispone del suo programma di gestione, da aggiornare nella libreria dei drivers del sistema operativo.

Nei sistemi multi-task e/o multi-user il sistema operativo si deve anche occupare del coordinamento dell’accesso multiplo alle periferiche.

Page 31: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Interfaccia Utente

• L’utente deve sempre richiedere al sistema operativo l’esecuzione di una qualsiasi operazione del computer:

• L’esecuzione di un programma applicativo;• Una operazione del sistema operativo.

• Il Sistema operativo presenta all’utente la risposta.

• L’interfaccia utente è quindi definita da un linguaggio costituito da comandi e da messaggi di risposta, ed è notevolmente diversa da sistema operativo ad un altro.

Page 32: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Tipi di Interfaccia Utente• Le due classi tipiche di interfaccia utente sono:

• Alfanumerica: l’utente deve scrivere lo specifico comando rispettandone correttamente la sintassi; la risposta è costituita da codici numerici o messaggi prefissati. Il formato è la riga di comando;

• Grafica: tramite un dispositivo di puntamento (in genere il mouse) l’utente seleziona il comando da un menù o da un oggetto grafico visualizzato (pulsante, area, campo…). Una GUI (graphical user interfaces), tipica è quella di tipo WIMP (Windows, Icons, Menus, Pointing device).

Page 33: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Esempi di Interfaccia grafiche• Alfanumerica

• Grafica

Page 34: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Schema dell’Interfaccia Utente• L’interfaccia utente è un programma sempre in funzione

dall'accensione e ciclicamente esegue la procedura (interfaccia alfanumerica):

• stampa del prompt: messaggio con cui il sistema operativo comunica che è in attesa di un azione dell’utente;

• comando dell’utente (terminato dal carattere speciale Return);• decodifica ed interpretazione del comando:• se scorretto: stampa all’utente del relativo messaggio di

errore;• se corretto: il sistema operativo esegue il comando:

– se è un’operazione di sistema operativo, la esegue;– se è la richiesta di esecuzione di un programma

applicativo, lo carica il memoria e lo attiva;• stampa della (eventuale) risposta;• continua il ciclo con la stampa del prompt.• In modo analogo funziona l’interfaccia utente grafica.

Page 35: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Flow Chart dell’Interfaccia Utente

Page 36: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Trasmissione e Comunicazione

Page 37: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Tipi di TrasmissioneCanali analogici:• Modulazione di un segnale

portante sinusoidale• baud: numero di variazioni dei

livelli di modulazione (al secondo)

Bit

1

t

V

0

5

Bit

1

Bit

1

Bit

0

Bit

0

Bit

0

Por

tant

e

Por

tant

e

1° li

vell

o

2° li

vell

o

1° li

vell

o

t

V

-1

+1

• Canali digitali:• Associazione del bit ad un

livello di tensione (o frequenza)• Trasmissione seriale/parallela• bit time: tempo per la

trasmissione di un bit• bitrate: numero di bit trasmessi

(al secondo)

Page 38: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Trasmissione Digitale

• Seriale

Trasmittente Ricevente1 0 0 0 0 0 10

A=41(hex)

0

1Byte

• Parallela

Tipica asincronaPc-Pc: < 112.5KbPc/modem 56KbPc/fax 9.6KbVelocità di trasmissione: Baud =bit/sec (2 livelli)

Interfacce Hardware: Porta Seriale e ParallelaTrasmissione dei dati: in sequenze di bytes

Page 39: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Trasmissione Seriale• Asincrona:• Viene trasmesso un byte alla volta senza avere

un intervallo di tempo costante fra un byte e l’altro

• Sincrona:• Vengono trasmessi un certo numero di bytes

“Pacchetto” ad intervalli costanti preceduti da uno o più byte “SYNC”

Page 40: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Tecniche di trasmissione

Trasmissione a pacchetto: i bytes dei dati vengono raggruppati in sequenze di dimensioni fisse e quindi trasmessi uno di seguito all’altro.

Trasmissione a byte: i singoli bytes dei dati vengono trasmessi ciascuno in modo indipendente dai precedenti senza nessuna regola temporale;

Indirizzo destinatario

Numero d’ordine

DatiIndirizzo del Mittente

Controllo

Page 41: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Errori di trasmissioneErrori di trasmissione:

linea telefonica commutata 10-4 < Pe < 10-2

linea telefonica dedicata 10-7 < Pe < 10-5

Tecniche di rilevazione degli errori:

• controllo di parità (orizzontale e verticale)

• codici di ridondanza ciclica (CRC)

Comando ACK/NACK (acknowledge) con richiesta di ripetizione del dato

Codici di correzione degli errori: uso di codifiche ridondanti (bit di controllo) per la correzione degli errori (non tutti):

•Codice di Hamming: codice per la correzione di un singolo bit;

•Codice Reed_Solomon: codice per la correzione di più bit.

Page 42: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Protocollo di trasmissione:insieme di regole per la gestione del sincronismo dello scambio di dati tra due stazioni e per la rilevazione e correzione degli errori.

Protocollo di trasmissione

CE

XMODEM, KERMIT: protocolli di trasmissione a pacchetto.

Page 43: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Requisiti della comunicazione• Per effettuare una comunicazione tra computer sono

necessari: • almeno di due computer (nodi o host),• un mezzo fisico di trasmissione,• interfacce di I/O (porte seriali/parallele, schede di

rete)• un protocollo di comunicazione,• un’applicazione utente e/o dati da scambiare.Obiettivi della comunicazione:

• Locale: condivisione e/o unione delle risorse

• A distanza: comunicazione tra utenti

Page 44: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Protocollo di comunicazioneProtocollo di comunicazione:

insieme di controlli e di procedure che permettono l’instaurarsi delle fasi di:

• Attivazione

• Mantenimento

• Chiusura

del collegamento (anche virtuale (p.e. TCP)) tra due stazioni.

E’ organizzato a diversi livelli di astrazione (secondo il modello di riferimento ISO/OSI)

Page 45: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Reti

Page 46: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

• Rete telefonica pubblica (PSTN) (max 56Kb/s)

• Rete telefonica mobile: GSM (9.6Kb/s), GPRS (29.4Kb/s), UMTS(~1Mb/s)

• Internet (~10-100Mb/s rete locale fissa, ~1-10Mb/s wireless)

• Rete satellitare

Reti di comunicazioneLe reti informatiche consentono la comunicazione tra computer al fine di scambiare flussi di informazioni.

I protocolli di comunicazione definiscono i modi e i termini entro i quali tali comunicazioni devono avvenire.

Page 47: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Rete Punto-Punto•E’ la connessione diretta ed esclusiva tra due computer.

Punto-Punto

•Interfaccia Hardware: il mezzo di trasmissione è connesso alle porte di I/O o attraverso una scheda di rete (fissa o wireless)

Page 48: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Rete a Stella•I computer sono collegati a una stazione centrale che gestisce il collegamento tra tutti i computer e mette in collegamento i due computer per la trasmissione dei dati.

•Tutti i dati trasmessi da una stazione all’altra transitano nella stazione centrale.

Page 49: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Rete ad Anello•I computer sono connessi tra di loro con a struttura ad anello e la trasmissione segue ha una direzione fissa.

•La gestione della comunicazione è effettuata da tutte le stazioni, che possiedono lo stesso software di comunicazione.

•Ciascuna stazione riceve tutti i dati dalla stazione adiacente, memorizza quelli a lei destinati e ritrasmette tutti gli altri alla stazione successiva, insieme agli eventuali propri dati.

Page 50: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Rete a Bus•La struttura a bus è del tipo broadcast: i dati trasmessi da una stazione arrivano, senza memorizzazioni intermedie, direttamente alla stazione destinazione.

•Questo comporta velocità di trasferimento maggiori rispetto alle reti ad anello e stella.

•Le reti con struttura a bus sono quelle più diffuse.

Page 51: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Rete a Maglia

•Non esiste una tipologia di rete predefinita. Le connessioni di rete sono ridondanti.

•Completa: ogni stazione della rete è fisicamente connessa con un esclusivo mezzo di trasmissione a tutte le altre stazioni della rete.

•Incompleta: esistono più connessioni tra le stazioni della rete (al minimo un collegamento per stazione). E’ la tipologia di rete di Internet

Page 52: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Protocollo di rete: il software di comunicazione residente sui tutti i nodi della rete, specifico per la tipologia di rete, che consente il trasporto asincrono di pacchetti di dati tra le stazioni evitando conflitti e deadlock.

Protocollo di rete

Page 53: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Reti Metropolitane MAN• MAN: (Metropolitan Area Network) è una rete a

dimensione cittadina/regionale. Interconnessione di reti private su suolo pubblico (urbano) tramite una dorsale. 2Mb/s (fino a 150 Mb/s)

Università

Ospedale

Comune

CNR

Page 54: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Reti Geografiche WAN• WAN: (Wide Area Network). E’ una rete che si

estende sul territorio nazionale/internazionale, è un insieme di LAN, MAN. Reti estese geografiche. Da 64Kb/s fino a 155Mb/s

Siena

Pisa

Firenze

Bologna

Page 55: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Dorsali di Rete• Dorsale: WAN speciale per la

interconnessione di reti LAN, MAN, WAN.

MAN

WAN

LAN

LAN

Dorsale

GARR: dorsale italiana. I gateway di Pisa (IAT) e Bologna (INFN) sono connessi alla dorsale europea EUROPENET (Cern di Ginevra) ed alle dorsali americane (ARPANET, BITNET,..)

Page 56: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Internet

Page 57: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Internet•Internet è definita come la “rete delle reti”: è costituita dall’interconnessione a livello mondiale di reti geografiche che adottano comuni protocolli di rete.

Originata da Arpanet. Protocollo di rete TCP_IP. Intranet (tecnologia internet per reti private).

Page 58: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Protocollo di rete di Internet•La classe di protocolli di rete utilizzati su Internet è il TCP/IP (Transmission Control Protocol /Internet Protocol)

•I computer connessi in rete (nodi) sono chiamati Host.

•Gli Host si suddividono in Host Client ed Host Server.

•Server sono gli host che amministrano e curano i servizi della rete locale. I Bridge, Router e Gateway sono host Server.

•E’ possibile continuare ad utilizzare gli originari protocolli di rete anche in presenza del protocollo TCP/IP.

Page 59: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Gli Indirizzi IP• Gli hosts hanno un indirizzo unico sulla rete Internet .• L’indirizzo è numerico su 32 bit (232=4.294.967.296).• E’ comunemente rappresentato con quattro numeri interi

decimali separati dal punto, ciascun numero con valore compreso fra 0 e 255 (valore intero su 8 bits).

• I 32 bits sono divisi in due parti: la parte più significativa indica l’indirizzo di rete, l’altra quello dell’host.

• Per esempio l’indirizzo 146.48.68.132 identifica l’host 132 sulla rete 146.48.68

• Tutti gli hosts di una stessa rete hanno indirizzi del tipo 146.48.68.xxx (xxx=indirizzo dell’host).

• Gli indirizzi con xxx=0 e 255 sono riservati (0 individua la rete (p.e. 146.48.68.0); 255 per trasmissione broadcast a tutti gli host della rete (p.e. 146.48.68.255)).

Page 60: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Assegnazione degli Indirizzi IP

•NIC (Network Information Center) è l’autorità che si occupa della registrazione ed assegnazione degli indirizzi tramite la suddivisioni in classi (A,B,C,D,E) e la suddivisione dei gruppi. •L'assegnazione degli indirizzi agli host è fatta dal server della rete locale.

Page 61: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Domini•Internet è logicamente suddivisa in sottoreti: i domini.•Ogni dominio a sua volta può essere organizzato in sottodomini secondo una struttura gerarchica ad albero.•Un dominio è una serie di reti (sottorete di una rete geografica connesso da un gateway) gestita da una singola organizzazione (server) che in modo autonomo ne definisce:

– topologia– strutturazione (gerarchica) in sottodomini – nomi simbolici ed IP address dei nodi (la parte

iniziale è quella assegnata al dominio dal dominio di cui fa parte).

Page 62: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Trasmissione su Internet

• Ogni rete (sottodominio) ha un server che gestisce la trasmissione/ricezione dei pacchetti dei messaggi dall’interno all’esterno della rete.

• La trasmissione di un informazione tra due hosts residenti su domini diverse e non adiacenti è effettuata tramite l'invio su rete di un messaggio con l'IP address del destinatario.

• L'host (di transito) che riceve un messaggio non diretto a lui, provvede a reinstradarlo sulla rete.

• I gateway provvedono al reinstradamento su una rete adiacente secondo regole di percorso (routing) basate sulla composizione dell'IP address.

Page 63: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Instradamento dei pacchetti

• Il gateway è un server che collega più reti anche diverse tra loro con il compito di accettare i pacchetti dal sottodominio, di tradurli e di trasmetterli.

• Il gateway è in grado di instradare i pacchetti verso il sottodominio di destinazione, trasmetterli al gateway adiacente, utilizzando una tabella con gli indirizzi di tutti gli hosts della rete e dei gateway adiacenti.

• Per creare e aggiornare queste tabelle vengono usati i protocolli di routing.

Page 64: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Il protocollo TCP/IP

•TCP/IP è un architettura di protocolli per la comunicazione in rete indipendente dal tipo di:

– Computer (PC, Apple, Mini, Workstation, Main Frame..)– Sistema Operativo (UNIX, Windows, OS/2, VMS, …– Connessione fisica (Ethernet, Token Ring, Telefonica,

…)

•Si compone di due protocolli con funzioni distinte:– IP : Internet Protocol– TCP : Trasmission Control Protocol

Page 65: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Il protocollo TCP•Il protocollo TCP si occupa di segmentare in pacchetti i dati da trasmettere. E’ un protocollo di trasporto che si occupa di:

– impacchettare/spacchettare i dati;– garantire l’integrità e la correttezza del messaggio

trasmesso dopo averlo ricostruito dai pacchetti ricevuti;

– interagire con le applicazioni utente su Internet (accesso al web, posta elettronica,…) e con il protocollo IP;

– consentire l’utilizzo di più applicazioni utente in contemporanea sullo stesso host smistando i pacchetti dei singoli messaggi tramite l’utilizzo di porte logiche assegnate alle applicazioni utente.

Page 66: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Il protocollo IP•Il protocollo IP si occupa di instradare i pacchetti sulla rete. E’ un protocollo di rete che si occupa di:

– interagire con il protocollo TCP e con quello di collegamento (Ethernet, Token Ring, …)

– incapsulare nel pacchetto in trasmissione l’indirizzo dell’ host;

– interpretare in ricezione l’indirizzo dell’host destinatario leggendo il campo indirizzo del pacchetto ricevuto;

– determinare il ramo più idoneo della rete per far giungere il pacchetto alla rete di destinazione (secondo regole di mappatura della rete e di traffico).

Page 67: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

DNS Domain Name Server

•E’ comune attribuire agli host ed ai sottodomini dei nomi simbolici (host name) composti da stringhe di caratteri registrati all’interno di apposite tabelle, che però non possono essere utilizzati nella trasmissione; •La risoluzione dei nomi simbolici degli host in IP address è svolta da particolari host i DNS (Domain Name System) server, distribuiti ad ogni livello di rete (tipicamente ogni sottodominio ha il suo DNS);

•Il protocollo TCP/IP provvede ad effettuare questa conversione prima di trasmettere effettivamente i pacchetti;

•Per esempio: 131.114.22.3 ---> www.med.unipi.it dove:•131 identifica .it dominio Italia•114 identifica .unipi sottodominio Università di Pisa•22 identifica .med sottodominio di Medicina•3 identifica www l’host collegato

Page 68: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Suffissi degli Host Name

I principali suffissi dopo l’ultimo punto del nome sono:

.EDU si riferisce a università ed enti di ricerca

.COM organizzazioni commerciali

.GOV enti governativi

.MIL enti militari

.NET organizzazioni di supporto e gestione della rete

.ORG organizzazioni o enti di diritto privato

.IT Italia .FR Francia .UK Inghilterra .DE Germania

Page 69: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Accesso ad Internet non da rete localeAlcuni server speciali di Internet l’ISP (Internet Service Provider o Terminal Server) provvedono alla connessione telefonica via modem di host non connessi ad una rete locale.

L'accesso al Server è consentito solo agli host dotati di un account (username e password).

Attraverso protocolli di comunicazione tra host e server di tipo punto punto (PPP) e diretti (SLIP: serial Link Interface Protocol) l'host remoto ha accesso temporaneo alla rete Internet tramite il Terminal Server a cui è connesso.

Page 70: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

• Protocolli di base del TCP/IP organizzati come client-server.

• FTP (file transfer protocol): trasferimento di files tra due host di rete. L'accesso ai files può essere libero (anonymous) o subordinato a regole d'accesso (account);

• TELNET (terminal network): accesso remoto (in I/O) con account a sistemi operativi su server di rete;

• SMTP (simple mail transfer protocol): trasferimento di messaggi multimediali tra utenti (non host!) tramite l’impiego di speciali Mailer server che smistano i messaggi sulla rete e che memorizzano i messaggi diretti al destinatario (analogo al servizio postale con fermo-posta);

• HTTP (hyper text transfer protocol): consultazione di informazioni multimediali in formato ipertestuale. Appositi link consentono di estendere la ricerca consentendo automaticamente il collegamento con altri server.

Servizi dei protocolli TCP/IP

Page 71: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

SMTP• Simple mail transfer protocol.

• Protocollo di gestione dell’invio della posta elettronica (e-mail), ossia messaggi multimediali (e con allegati) tra “utenti” utilizzando

la rete;

• Il Mailer server gestisce il servizio:

• l’utente (mittente) invia il messaggio al Mailer server della rete dall’host da cui ha fatto accesso;

• il Mailer server del mittente provvede ad inoltrare il messaggio al Mailer server del destinatario;

• il destinatario può ricevere il messaggio collegandosi da un host al suo Mailer server;

• Il messaggio sara’ recapitato se e quando il destinatario si connetterà al proprio Mailer server

Page 72: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

POP• Post office protocol. Protocollo per la ricezione di messaggi

multimediali (e con allegati) tra “utenti” utilizzando la rete;

• Il Mailer server del destinatario, interrogato da un host della rete, fornisce con il protocollo POP i messaggi ricevuti che sono stati temporaneamente memorizzati nella sua casella postale;

• Il Mailer server per l’invio della posta elettronica e quello per la lettura possono anche essere distinti: in questo caso occorre avere l’account del Mailer server a cui ci si connette e l’account per la lettura dei messaggi sul proprio Mailer server.

Utente Mittente

Utente Destinatario

INTERNET

Mailer Server

Mailer Server

SMTPPOP

Page 73: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

La posta elettronicaPer poter usufruire del servizio della posta elettronica

occorre:

• disporre di un computer connesso alla rete (Internet);

• avere un programma applicativo per l’uso della posta elettronica;

• essere registrati presso un Mailer server che ci riservi una casella di posta (directory) dove mantiene i messaggi in arrivo;

• disporre di un account (identificatore e password) per l’accesso al Mailer server (fornito dal Mailer server stesso);

• avere di un indirizzo di posta elettronica (e-mail address), fornito dal Mailer server, che ci identifica univocamente il cui formato è:

nomeutente@nome del Mailer serverp.e.: [email protected]

Page 74: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

• Per l’invio di un messaggio di posta elettronica (e-mail) occorre:

• collegarsi da un host di rete al Mailer server e specificare l’account;

• preparare il messaggio multimediale a cui eventualmente allegare file di qualsiasi tipo (attach) che saranno trasmessi insieme al messaggio;

• inviare il messaggio al destinatario (di cui occorre conoscerne l’indirizzo e-mail): il messaggio è inviato al Mailer server;

• Il Mailer server provvederà (SMTP) a far giungere il messaggio nella casella postale del Mailer server del destinatario, dove resterà finchè non sarà letto.

Invio di un e-mail

Page 75: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

• Per la lettura di un messaggio di posta elettronica (e-mail) occorre:

• collegarsi da un host di rete al Mailer server e specificare l’account;

• accedere alla propria casella postale sul Mailer server dove è specificato il proprio indirizzo di e-mail (POP);

• leggere ed eventualmente memorizzare il messaggio (ed i file allegati) dall’host da cui è stato fatto l’accesso.

Ricezione di un e-mail

Page 76: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Newsgroups

• Newsgroup: gruppi di discussione. E’ una “bacheca elettronica” (forum) dedicata ad argomenti specifici.

• Alcuni server specializzati di Internet memorizzano e presentano a ciascuno che ne faccia richiesta i messaggi multimediali (posting) inviati dagli utenti;

• I messaggi sono classificati in modo gerarchico in gruppi di argomenti similari;

• Ciascun utente può analizzare la lista dei messaggi e leggere liberamente quello di interesse; può inoltre partecipare alla discussione virtuale con gli utenti del gruppo inviando alla lista un proprio messaggio.

Page 77: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

WWW

World wide web (Web): sistema client/server per l’accesso e presentazione di informazioni su Internet:

• permette di organizzare la distribuzione delle proprie informazioni su più host di rete connessi logicamente tra loro;

• consente l’accesso ad informazioni presente in rete senza conoscerne in precedenza l’esistenza e l’esatta dislocazione;

• la consultazione delle informazioni è effettuata sulla base di documenti ipertestuali;

• le informazioni sul Web sono strutturate come un ipertesto distribuito;• i documenti (multimediali) presentati dal Web sono dotati di link ad

argomenti correlati presenti sia sullo stesso che su altri host;• l’architettura del Web consiste nel client (browser) e nel server (web

server);• interfaccia utente semplice e friendly.

Page 78: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

HTTPHyper text transfer protocol: protocollo per la consultazione di

informazioni multimediali in formato ipertestuale su Web;

• Le informazioni sono organizzate e presentate nel formato di pagine web;

• La pagina web è scritta in formato HTML (hyper text markup language): testo (in ASCII), comandi di impaginazione e link (tag) ad altre pagine web;

• Ogni web server ha una pagina web iniziale (home page) presentata al web client (browser) che l’ha richiesta specificandone l’indirizzo: ciascun altra pagina web che può essere accessa a partire da questa pagina ha un suoproprio indirizzo.

Page 79: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

URL

• Uniform Resource Locator: è l’indirizzo della pagina web:• deve essere fornito al browser per il primo accesso ad una

pagina web;• è l’indirizzo della successiva pagina web a cui accedere

quando è selezionato il link della pagina ipertestuale;• Il formato dell’URL è: • protocollo://indirizzo del web server/percorso/nome del file• Per esempio l’URL della prima pagina della Facoltà di

Medicina e Chirurgia dell’Università di Pisa è:• http://www.med.unipi.it/site/index.htm• Il protocollo può essere qualsiasi di quelli previsti dal

TCP/IP (e quindi tramite il WWW accedere alle risorse di rete anche con FTP, Telnet, SMTP…)

Page 80: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Accesso al WWW

BROWSER

BROWSER

BROWSER

BROWSER

SERVER

SERVER

SERVER

1.Preparazione richiesta

2.Inoltro richiesta

3. Esecuzione richiesta

5. Presentazione risposta

4. Risposta

Page 81: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Browser

• L’utente specifica l’URL del documento desiderato;• Il browser visualizza la pagina web (in HTML) ricevuta dal web server

facendone il “rendering grafico” secondo i tag HTML;• Se l’utente seleziona un (eventuale) link sulla pagina web il browser si

connette automaticamente al web server specificato nell’URL e presenta la nuova pagina web;

• Il browser è in grado di effettuare connessioni con vari protocolli: per esempio è possibile scaricare file con FTP:

– file “freeware” possono essere scaricati gratuitamente;– file “shareware” possono essere scaricati e provati

gratuitamente in versione ridotta o per un breve periodo;– file protetti da account (accessibili a pagamento).

• Il browser dispone del software per rappresentare immagini filmati e suoni in vari formati.

Page 82: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

I motori di ricerca • Motori di ricerca. Server web costituiti da supercomputers (Lycos,

Yahoo, Google) che consentono di effettuare ricerche per keyword o argomento di pagine web;

• Il risultato della ricerca è una pagina web con l’indicazione degli argomenti trovati ed il link alla relativa pagina web;

• Sono utilizzati quando:– non è facilmente individuabile l’oggetto della ricerca;– non è nota l’esistenza sul web dell’informazione cercata;– non è noto l’URL della pagina web;

• I motori di ricerca hanno un archivio di riferimenti (NON delle informazioni) alle pagine web presenti su Internet referenziate per keyword;

• Periodicamente viene fatto l’aggiornamento automatico dell’archivio: applicazioni lanciate dai motori di ricerca accedono ai web server dove sono pubblicate le pagine web.

Page 83: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Linguaggi

Page 84: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Funzionamento del computer• Il calcolatore e’ una macchina in grado di compiere SOLTANTO

operazioni elementari di tipo ARITMETICO e LOGICO seguendo le istruzioni del Programma.

• TUTTE le funzioni ed operazioni di qualsiasi complessita’ da far svolgere ad un calcolatore devono essere SEMPRE espresse in termini delle sue operazioni elementari di base.

• Affinche’ un calcolatore possa effettivamente svolgere una particolare operazione, deve essere descritto in dettaglio:– COME svolgere l’operazione, basandosi unicamente sulle operazioni

di base del computer;

– QUALI operazioni di base utilizzare e l’ordine di esecuzione;

– Considerare TUTTI i possibili casi particolari che si possono presentare, tenendo ben presente i possibili formati dei dati

Page 85: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Algoritmo• L' algoritmo e’ la struttura descrittiva utilizzata nella

individuazione di una procedura di soluzione di un problema, prima della programmazione vera e propria.

• L’algoritmo e’ uno schema ordinato sequenziale di operazioni e controlli che descrivono i dati da utilizzare e la sequenza di azioni elementari da effettuare per risolvere una determinata classe di problemi.

• La realizzazione di un algoritmo consiste nella combinazione di operazioni del tipo:

• Dichiarazioni di dati ed operazioni elementari sui dati;• Azioni condizionate da test logici sui dati e sui risultati di

precedenti operazioni;• Strutture cicliche condizionate di operazioni

Page 86: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Algoritmo• I due formati tipici dell’algoritmo sono:

• L’uso di un linguaggio testuale, consistente nella elencazione delle operazioni in linguaggio naturale;

• La rappresentazione grafica con un diagramma di flusso (flow chart) che consente una descrizione grafica delle azioni e del flusso di esecuzione.

• Il flow chart e’ costituito da blocchi (di varie forme convenzionali) collegati da archi orientati: il grafo viene percorso da un blocco iniziale fino ad un blocco di terminazione. La descrizione dell’azione contenuta nel blocco puo’ essere dettagliata fino al livello delle operazioni elementari della macchina.

• I blocchi tipici dell’algoritmo sono:• Dichiarazione di inizio e fine procedura;• Operazione sui dati;• Controllo condizionato del flusso di

esecuzione;• Operazione di input/output.

Page 87: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Linguaggi di programmazione

• Un Linguaggio di Programmazione e’ definito dalla semantica dei comandi e dalla sintassi dell'istruzione: cio’ consente di trascrivere un Algoritmo in un Programma.

Page 88: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Linguaggio macchina

• Rientra nella classe dei linguaggi di programmazione, ma con diversi inconvenienti:

• Difficolta’ di stesura: occorre conoscere esattamente i codici delle operazioni elementari e gli indirizzi di memoria dei dati;

• Necessita’ di scrivere algoritmi con un alto grado di dettaglio;

• Unicita’ del programma, inutilizzabile su CPU differenti e fortemente legato agli indirizzi scelti di memoria centrale;

• Difficolta’ elevata di comprensione di un simile programma in quanto molto distante dal livello astratto della progettazione

Page 89: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Linguaggio macchina

• Un programma in Linguaggio Macchina utilizza l'insieme delle istruzioni elementari che l’hardware del computer (CPU) e’ in grado di comprendere direttamente ed eseguire.

• Ogni istruzione e’ identificata da un indirizzo di memoria.

• Il computer esegue una istruzione in linguaggio macchina alla volta, in ordine strettamente sequenziale a partire da una istruzione iniziale il cui indirizzo e’ stato precedentemente comunicato alla CPU.

Page 90: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Linguaggio macchina• E’ il linguaggio di base del computer perche’ e’ basato

sulla sua specifica operativita’.

• Ogni tipo di CPU ha il suo proprio linguaggio macchina, in genere differente per CPU diverse anche a parita’ di funzionalita’ di base.

• Il linguaggio macchina, come ogni linguaggio di programmazione, e’ caratterizzato da:

• una sintassi, che fornisce le regole per la scrittura dell’istruzione;

• una semantica, data dall’insieme delle istruzioni utilizzabili, cioe’ le operazioni di base della CPU.

Page 91: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Linguaggio macchina

• Il formato dell’istruzione contiene due campi: uno per il codice operativo ed uno per uno (o piu’) argomenti che specificano i dati su cui operare.

• Il codice operativo (obbligatorio) e’ un numero relativo all’operazione fisica che la CPU e’ in grado di eseguire.

• L’argomento(i) puo’ essere direttamente un valore oppure l’indirizzo di memoria dove e’ il dato. Molteplici sono i metodi di indirizzamento adottate nel campo argomenti. Alcune istruzioni non hanno argomento.

Page 92: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Tipi di istruzioni• Operazioni di lettura e scrittura in memoria centrale: nel campo

argomenti deve essere specificato l’indirizzo di memoria (e la componente della CPU) tra cui effettuare il trasferimento;

• Operazioni aritmetiche e logiche: gli operandi (ed il risultato) devono essere specificati tra gli argomenti;

• Istruzioni di controllo del flusso di esecuzione: costituiscono l’unica eccezione alla sequenzialita’ dell’esecuzione delle istruzioni. L’argomento specifica l’indirizzo della successiva istruzione (non in sequenza) da cui continuare l’esecuzione. L’istruzione puo’ richiedere la verifica di una condizione: il salto e’ effettuato solo nel caso sia vera;

• Istruzioni di Input ed Output da periferiche: il campo argomento indica il tipo di periferica (ed il valore) su cui effettuare l’operazione.

Page 93: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Lingaggio macchina

• Linguaggio di programmazione, ma con diversi inconvenienti:

• Difficolta’ di stesura: occorre conoscere esattamente i codici delle operazioni elementari e gli indirizzi di memoria dei dati;

• Necessita’ di scrivere algoritmi con un alto grado di dettaglio;

• Unicita’ del programma, inutilizzabile su CPU differenti e fortemente legato agli indirizzi scelti di memoria centrale;

• Difficolta’ elevata di comprensione di un simile programma in quanto molto distante dal livello astratto della progettazione

Page 94: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Linguaggi di programmazione• Un linguaggio di programmazione diverso dal linguaggio macchina non e’

direttamente interpretabile dalla CPU; si richiede una fase aggiuntiva di traduzione in linguaggio macchina.

• L’obiettivo e’ quello di definire linguaggi formali astratti di facile uso e comprensione da parte dell’utente con cui scrivere programmi eseguibili dal computer.

• I linguaggi di programmazione si distinguono il linguaggi a basso o alto livello a seconda del grado di astrazione:

• Assembler: versione simbolica del linguaggio macchina; e’ differente per tipi diversi di CPU;

• Fortran (Formula Translator): adatto ad applicazioni scientifiche;• Cobol: dotato di operatori gestionali ed economici;• Basic: semplice e diffuso linguaggio per uso generale;• C: capace di gestire strutture complesse di dati ma anche di operare a basso livello

con l’hardware:• Lisp: orientato all’elaborazione di strutture simboliche a lista: e’ utilizzato in

applicazioni di intelligienza artificiale;• Prolog: linguaggio logico di relazione tra i dati. Non e’ basato sul modello funzionale

dell’algoritmo;• Java: diffuso linguaggio di programmazione ad oggetti operante su rete.

Page 95: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

I programmi Traduttori• Compilatori: producono una versione Object del Source

riutilizzabile senza la necessita’ di ulteriore traduzione;• Interpreti: traducono una istruzione del Source alla volta

generando la relativa codifica in linguaggio macchina che viene immediatamente eseguita.– Non essendo prodotto alcun Object, future esecuzioni del Source

richiedono una nuova traduzione con l'interprete (addirittura le istruzioni in un ciclo sono reinterpretate di nuovo ad ogni passaggio!).

Il Programma per la sua esecuzione puo’ necessitare di altri programmi: occorre un ulteriore passaggio (la fase di Link, un programma anch'esso in linguaggio macchina) per ottenere la versione finale (Exec) pronta per essere eseguita

Page 96: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Caratteristiche di un linguaggio di programmazione

• Rilocabilita’: cioe’ la caratteristica dell’object (dovuta al tipo del traduttore) di poter essere allocato in differenti zone di memoria;

• Trasportabilita’: la proprieta’ che ha un Source possa essere eseguito su calcolatori di differenti, possibile solo se il linguaggio di programmazione e’ svincolato dalla struttura della particolare macchina (dove deve esistere il particolare traduttore).

Page 97: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Database• Indica un archivio, strutturato in modo tale da consentire la gestione dei dati stessi (l'inserimento, la ricerca, la cancellazione ed il loro aggiornamento) da parte di applicazioni

• Contiene:– Strutture dati che velocizzano le operazioni frequenti

– Collegamenti con dati esterni, riferimenti a file locali o remoti non facenti parte del database

– Informazioni di sicurezza, che autorizzano solo alcuni profili utente ad eseguire alcune operazioni su alcuni tipi di dati

– Programmi che vengono eseguiti, automaticamente o su richiesta di utenti autorizzati, per eseguire elaborazioni sui dati. Un tipico automatismo consiste nell'eseguire un programma ogni volta che viene modificato un dato di un certo tipo.

Page 98: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Database• Il dato viene raccolto in record suddivisi in

campi. A seconda del tipo di database il record ha una sua organizzazione all’interno del database

• Ad es.:In un database navigazionale:

Record paziente=>campo nome, campo cognome, campo eta’, campo sesso ecc.

In un database relazionale, le informazioni vengono divise, ad esempio, nelle tabelle “paziente”, "indirizzi", "numeri di telefono" e solo se i dati sono presenti viene creata, nella rispettiva tabella, una tupla: per ogni "record" viene definita una "chiave", ovvero un identificatore univoco della tupla.

Page 99: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Database• Data Definition Language (DDL) - consente di definire la struttura della base di dati e le autorizzazioni per l'accesso

• Device Media Control Language (DMCL) - permette alla struttura fisica del database di far riferimento alle particolari unita’ di memoria di massa utilizzate dal sistema

• Data Manipulation Language (DML) - consente di interrogare e aggiornare le istanze della base di dati

• Data Control Language (DCL) - permette la gestione dell'accesso al database con relative restrinzioni di operazioni come aggiornamento, selezione e cancellazione

• Query language (QL) - permette di interrogare il database al fine di ritrovare i dati relativi alla chiave di ricerca impostata dall'utente.

Page 100: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Database: linguaggi• Linguaggi testuali interattivi, come l'SQL (Structured Query Language)

• Linguaggi testuali interattivi immersi in linguaggi di programmazione comuni, quali C, Basic ecc.

• Linguaggi testuali interattivi immersi in linguaggi di programmazione proprietari

• Linguaggi grafici e user-friendly, come QBE (Query By Example), che possono essere utilizzati anche dai meno esperti.

Page 101: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Database: DBMS• Database Management System (abbreviato in DBMS):– un sistema software progettato per consentire la creazione e manipolazione efficiente di database (ovvero di collezioni di dati strutturati) solitamente da parte di piu’ utenti

• Un DBMS e’ differente dal concetto generale di applicazione sui database, in quanto e’ progettato per sistemi multi-utente.

• I DBMS si appoggiano a kernel che supportano nativamente il multitasking e il collegamento in rete. Una tipica applicazione per la gestione dei database non includerebbe, infatti, tali funzionalita’, ma si appoggerebbe al sistema operativo per consentire all'utente di fruirne dei vantaggi

Page 102: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Database: architetturaI tre tipi di organizzazione piu’ comuni sono:

– il modello gerarchico– il modello reticolare– modello relazionale (dominante e normalmente utilizzato con il linguaggio di interrogazione SQL)

Molti DBMS supportano le API (Application Program Interface) dell'Open Database Connectivity (ODBC) o Java Database Connectivity (JDBC, lo standard per Java), che forniscono ai programmatori strumenti standardizzati per l'accesso ai database

Page 103: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente.

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Database: serverUn Server di database e’ la parte del DBMS (e, per estensione, il server su cui il programma opera) che si occupa di fornire i servizi di utilizzo del database ad altri programmi e ad altri computer secondo la modalita’ client/server. Il server memorizza i dati, riceve le richieste dei client ed elabora le risposte appropriate.I database server sono complessi sistemi software concepiti, oltre che per memorizzare i dati, anche per fornire un accesso rapido ed efficace a una pluralita’ di utenti contemporaneamente e garantire protezione sia dai guasti che dagli accessi indebiti.


Recommended