La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

Presentazioni simili


Presentazione sul tema: "Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini"— Transcript della presentazione:

1 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Dalla CPU all’utente Utente 1 Utente 2 HARDWARE BIOS SISTEMA OPERATIVO Utente N SOFTWARE APPLICATIVO Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

2 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

3 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Il Sistema Operativo Il 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

4 Moduli del Sistema Operativo
Configurazione 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 sicurezze Routine di libreria. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

5 Struttura del Sistema Operativo
E’ strutturato a livelli gerarchici Il 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

6 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). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

7 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

8 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

9 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

10 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

11 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

12 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

13 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

14 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Memoria Virtuale Memoria virtuale: è un’astrazione della memoria fisica che consente nei sistemi in multiprogrammazione l’uso dell’intera memoria per ogni singolo processo; Sistema operativo Processi File System Memoria Virtuale Memoria centrale Memoria di massa 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

15 Tecnica dello Swapping
Lo 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. D A B Memoria Task dopo C Memoria di massa A B C Memoria Memoria di massa prima libera libera Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

16 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

17 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

18 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

19 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

20 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
File e Memoria di Massa La 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

21 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Il File System Compiti 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

22 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

23 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
La Directory Struttura 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). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

24 Esempio di Struttura ad Albero
Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

25 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). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

26 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

27 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). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

28 Sincronizzazione con la CPU
Alcune 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) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

29 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Schema dell’I/O L’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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

30 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

31 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

32 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). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

33 Esempi di Interfaccia grafiche
Alfanumerica Grafica Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

34 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

35 Flow Chart dell’Interfaccia Utente
Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

36 Trasmissione e Comunicazione
Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

37 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Tipi di Trasmissione Canali analogici: Modulazione di un segnale portante sinusoidale baud: numero di variazioni dei livelli di modulazione (al secondo) Portante 1° livello 2° livello 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) Bit 1 t V 5 Bit 0 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

38 Trasmissione Digitale
Interfacce Hardware: Porta Seriale e Parallela Trasmissione dei dati: in sequenze di bytes Seriale Trasmittente Ricevente 1 A=41(hex) Byte Tipica asincrona Pc-Pc: < 112.5Kb Pc/modem 56Kb Pc/fax Kb Velocità di trasmissione: Baud =bit/sec (2 livelli) Parallela Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

39 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” Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

40 Tecniche di trasmissione
Trasmissione a byte: i singoli bytes dei dati vengono trasmessi ciascuno in modo indipendente dai precedenti senza nessuna regola temporale; Trasmissione a pacchetto: i bytes dei dati vengono raggruppati in sequenze di dimensioni fisse e quindi trasmessi uno di seguito all’altro. Indirizzo destinatario Numero d’ordine Dati Indirizzo del Mittente Controllo Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

41 Errori di trasmissione
linea telefonica commutata < Pe < 10-2 linea telefonica dedicata < 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

42 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. XMODEM, KERMIT: protocolli di trasmissione a pacchetto. C E Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

43 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

44 Protocollo 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) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

45 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Reti Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

46 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Reti di comunicazione Le 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. 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

47 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Rete Punto-Punto E’ la connessione diretta ed esclusiva tra due computer. Interfaccia Hardware: il mezzo di trasmissione è connesso alle porte di I/O o attraverso una scheda di rete (fissa o wireless) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

48 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

49 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

50 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

51 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

52 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Protocollo di rete 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

53 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

54 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

55 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 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,..) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

56 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Internet Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

57 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). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

58 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

59 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= ). 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 identifica l’host 132 sulla rete Tutti gli hosts di una stessa rete hanno indirizzi del tipo xxx (xxx=indirizzo dell’host). Gli indirizzi con xxx=0 e 255 sono riservati (0 individua la rete (p.e ); 255 per trasmissione broadcast a tutti gli host della rete (p.e )). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

60 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

61 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). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

62 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

63 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

64 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

65 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

66 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). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

67 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: > 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

68 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

69 Accesso ad Internet non da rete locale
Alcuni 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

70 Servizi dei protocolli TCP/IP
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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

71 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
SMTP Simple mail transfer protocol. Protocollo di gestione dell’invio della posta elettronica ( ), 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

72 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 SMTP POP Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

73 La posta elettronica Per 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 ( address), fornito dal Mailer server, che ci identifica univocamente il cui formato è: del Mailer server p.e.: Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

74 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Invio di un Per l’invio di un messaggio di posta elettronica ( ) 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 ): 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

75 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Ricezione di un Per la lettura di un messaggio di posta elettronica ( ) 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 (POP); leggere ed eventualmente memorizzare il messaggio (ed i file allegati) dall’host da cui è stato fatto l’accesso. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

76 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

77 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

78 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
HTTP Hyper 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

79 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 è: 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…) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

80 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Accesso al WWW BROWSER 1.Preparazione richiesta SERVER 2.Inoltro richiesta BROWSER SERVER 3. Esecuzione richiesta BROWSER 4. Risposta SERVER BROWSER 5. Presentazione risposta Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

81 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

82 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

83 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Linguaggi Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

84 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

85 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

86 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

87 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

88 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

89 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

90 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

91 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

92 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

93 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

94 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

95 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

96 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). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

97 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

98 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

99 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

100 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

101 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

102 Database: architettura
I 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 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini

103 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Database: server Un 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. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini


Scaricare ppt "Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini"

Presentazioni simili


Annunci Google