La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Dalla CPU allutente HARDWARE BIOS SISTEMA OPERATIVO SOFTWARE APPLICATIVO Utente 1 Utente 2 Utente."— Transcript della presentazione:

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

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 lhardware, 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 allhardware del PC, a differenza del sistema operativo.

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

4 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Moduli del Sistema Operativo Configurazione ed avviamento del computer; Gestione dellesecuzione dei programmi (processi, task) e delluso della CPU; Gestione delluso 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 dellI/O delle informazioni dalle periferiche, le code e la priorità; Gestione delle unità di I/O (device manager); Scambio di informazioni con lutente (interfaccia utente); Accesso multiutente (anche contemporaneo) con protezioni e sicurezze Routine di libreria.

5 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini 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 dellinterfaccia utente può avere identica funzionalità anche su computer totalmente diversi.

6 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tipi di Sistema Operativo Modalità dellelaborazione: 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 lutente. 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).

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

8 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Programma di Setup (avvio del computer) Allaccensione del computer, con una particolare procedura, è possibile attivare uno speciale programma di configurazione dellhardware del computer Il programma di setup è contenuto nella Rom e può essere eseguito solo allinizio, 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.

9 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Bootstrap (1) Allaccensione del computer un meccanismo hardware, attivato dal reset, provoca lesecuzione diretta della prima istruzione di un programma speciale che è residente in Rom: il bootstrap (componente del sistema operativo). Le operazioni allaccensione 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

10 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Bootstrap (2) attivazione della gestione dellesecuzione 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 dellinterfaccia utente.

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

12 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 lattesa 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 luso della risorsa CPU ed il tipo di esecuzione.

13 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 (anchesse presenti in memoria). Il sistema operativo provvede, tramite una mappa, alla gestione dellassegnazione della memoria: Deve assegnare a ciascun processo tutta la memoria di cui ha bisogno; Rendere laccesso 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.

14 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Memoria Virtuale Memoria virtuale: è unastrazione della memoria fisica che consente nei sistemi in multiprogrammazione luso dellintera 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 centraleMemoria di massa

15 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tecnica dello Swapping Lo swapping consiste nel trasferire temporaneamente unarea di memoria centrale su una porzione riservata alla memoria virtuale della memoria di massa per liberare spazio. In seguito larea trasferita sulla memoria di massa sarà nuovamente riportata in memoria. A B C C Memoria Memoria di massa prima D A B Memoria Task dopo C Memoria di massa libera

16 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 dellhardware del drive.

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

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.

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.

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.

21 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Il File System Compiti del file system sono: interfacciare lorganizzazione logica delle informazioni propria dellutente con la struttura fisica del disco; gestire laccesso ai file su disco. Lorganizzazione a file è unastrazione nelluso delle informazioni da parte dellutente: 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.

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

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 lunico scopo di suddividere linsieme 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 Lidentificatore completo del file è quindi il suo nome e quello della directory che lo contiene più lelenco (ordinato dalla radice) della sequenza di tutte le directories in cui è contenuto (path).

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

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

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

27 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Gestione dellI/O delle Informazioni Compito del sistema operativo nella gestione delle periferiche è: Fornire uninterfaccia 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).

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

29 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Schema dellI/O Linterfaccia del sistema operativo con le periferiche consiste nel definire una serie di operazioni generali a livello astratto (stampa, lettura, copia…) che lutente utilizza, mentre a basso livello il sistema operativo richiama il driver della periferica che ne gestisce il reale funzionamento.

30 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 dellaccesso multiplo alle periferiche.

31 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Interfaccia Utente Lutente deve sempre richiedere al sistema operativo lesecuzione di una qualsiasi operazione del computer: Lesecuzione di un programma applicativo; Una operazione del sistema operativo. Il Sistema operativo presenta allutente la risposta. Linterfaccia utente è quindi definita da un linguaggio costituito da comandi e da messaggi di risposta, ed è notevolmente diversa da sistema operativo ad un altro.

32 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Tipi di Interfaccia Utente Le due classi tipiche di interfaccia utente sono: Alfanumerica: lutente 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) lutente 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).

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

34 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Schema dellInterfaccia Utente Linterfaccia 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 dellutente; comando dellutente (terminato dal carattere speciale Return); decodifica ed interpretazione del comando: se scorretto: stampa allutente del relativo messaggio di errore; se corretto: il sistema operativo esegue il comando: –se è unoperazione 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 linterfaccia utente grafica.

35 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Flow Chart dellInterfaccia Utente

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

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) Bit 1 t V 0 5 Bit 0 Portante 1° livello 2° livello 1° livello t V +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)

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

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 laltro Sincrona: Vengono trasmessi un certo numero di bytes Pacchetto ad intervalli costanti preceduti da uno o più byte SYNC

40 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 allaltro. Trasmissione a byte: i singoli bytes dei dati vengono trasmessi ciascuno in modo indipendente dai precedenti senza nessuna regola temporale; Indirizzo destinatario Numero dordine Dati Indirizzo del Mittente Controllo

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

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

43 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, unapplicazione utente e/o dati da scambiare. Obiettivi della comunicazione: Locale: condivisione e/o unione delle risorse A distanza: comunicazione tra utenti

44 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Protocollo di comunicazione Protocollo di comunicazione: insieme di controlli e di procedure che permettono linstaurarsi 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)

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

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

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)

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 allaltra transitano nella stazione centrale.

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.

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.

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

52 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

53 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

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

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

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

57 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Internet Internet è definita come la rete delle reti: è costituita dallinterconnessione 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).

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

59 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Gli Indirizzi IP Gli hosts hanno un indirizzo unico sulla rete Internet. Lindirizzo è numerico su 32 bit (2 32 = ). 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 lindirizzo di rete, laltra quello dellhost. Per esempio lindirizzo identifica lhost 132 sulla rete Tutti gli hosts di una stessa rete hanno indirizzi del tipo xxx (xxx=indirizzo dellhost). 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 )).

60 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Assegnazione degli Indirizzi IP NIC (Network Information Center) è lautorità 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.

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

62 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 dallinterno allesterno 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.

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

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

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 lintegrità 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 lutilizzo di più applicazioni utente in contemporanea sullo stesso host smistando i pacchetti dei singoli messaggi tramite lutilizzo di porte logiche assegnate alle applicazioni utente.

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 lindirizzo dell host; –interpretare in ricezione lindirizzo dellhost 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).

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 allinterno 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.itdominio Italia 114identifica.unipi sottodominio Università di Pisa 22identifica.med sottodominio di Medicina 3identificawww lhost collegato

68 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Suffissi degli Host Name I principali suffissi dopo lultimo punto del nome sono:.EDUsi riferisce a università ed enti di ricerca.COM organizzazioni commerciali.GOV enti governativi.MIL enti militari.NETorganizzazioni di supporto e gestione della rete.ORG organizzazioni o enti di diritto privato.IT Italia.FR Francia.UK Inghilterra.DE Germania

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

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

71 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini SMTP Simple mail transfer protocol. Protocollo di gestione dellinvio della posta elettronica ( ), ossia messaggi multimediali (e con allegati) tra utenti utilizzando la rete ; Il Mailer server gestisce il servizio: lutente (mittente) invia il messaggio al Mailer server della rete dallhost 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

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 linvio della posta elettronica e quello per la lettura possono anche essere distinti: in questo caso occorre avere laccount del Mailer server a cui ci si connette e laccount per la lettura dei messaggi sul proprio Mailer server. Utente Mittente Utente Destinatario INTERNET Mailer Server SMTP POP

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

74 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Per linvio di un messaggio di posta elettronica ( ) occorre: collegarsi da un host di rete al Mailer server e specificare laccount; 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 lindirizzo ): 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

75 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Per la lettura di un messaggio di posta elettronica ( ) occorre: collegarsi da un host di rete al Mailer server e specificare laccount; 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) dallhost da cui è stato fatto laccesso. Ricezione di un

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.

77 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini WWW World wide web (Web): sistema client/server per laccesso e presentazione di informazioni su Internet: permette di organizzare la distribuzione delle proprie informazioni su più host di rete connessi logicamente tra loro; consente laccesso ad informazioni presente in rete senza conoscerne in precedenza lesistenza e lesatta 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; larchitettura del Web consiste nel client (browser) e nel server (web server); interfaccia utente semplice e friendly.

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 lha richiesta specificandone lindirizzo: ciascun altra pagina web che può essere accessa a partire da questa pagina ha un suoproprio indirizzo.

79 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini URL Uniform Resource Locator: è lindirizzo della pagina web: deve essere fornito al browser per il primo accesso ad una pagina web; è lindirizzo della successiva pagina web a cui accedere quando è selezionato il link della pagina ipertestuale; Il formato dellURL è: protocollo://indirizzo del web server/percorso/nome del file Per esempio lURL della prima pagina della Facoltà di Medicina e Chirurgia dellUniversità 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…)

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

81 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Browser Lutente specifica lURL del documento desiderato; Il browser visualizza la pagina web (in HTML) ricevuta dal web server facendone il rendering grafico secondo i tag HTML; Se lutente seleziona un (eventuale) link sulla pagina web il browser si connette automaticamente al web server specificato nellURL 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.

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 lindicazione degli argomenti trovati ed il link alla relativa pagina web; Sono utilizzati quando: –non è facilmente individuabile loggetto della ricerca; –non è nota lesistenza sul web dellinformazione cercata; –non è noto lURL 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 laggiornamento automatico dellarchivio: applicazioni lanciate dai motori di ricerca accedono ai web server dove sono pubblicate le pagine web.

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

84 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 loperazione, basandosi unicamente sulle operazioni di base del computer; –QUALI operazioni di base utilizzare e lordine di esecuzione; –Considerare TUTTI i possibili casi particolari che si possono presentare, tenendo ben presente i possibili formati dei dati

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

86 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Algoritmo I due formati tipici dellalgoritmo sono: Luso 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 dellazione contenuta nel blocco puo essere dettagliata fino al livello delle operazioni elementari della macchina. I blocchi tipici dellalgoritmo sono: Dichiarazione di inizio e fine procedura; Operazione sui dati; Controllo condizionato del flusso di esecuzione; Operazione di input/output.

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

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

89 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Linguaggio macchina Un programma in Linguaggio Macchina utilizza l'insieme delle istruzioni elementari che lhardware 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.

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 dellistruzione; una semantica, data dallinsieme delle istruzioni utilizzabili, cioe le operazioni di base della CPU.

91 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Linguaggio macchina Il formato dellistruzione 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 alloperazione fisica che la CPU e in grado di eseguire. Largomento(i) puo essere direttamente un valore oppure lindirizzo di memoria dove e il dato. Molteplici sono i metodi di indirizzamento adottate nel campo argomenti. Alcune istruzioni non hanno argomento.

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 lindirizzo 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 lunica eccezione alla sequenzialita dellesecuzione delle istruzioni. Largomento specifica lindirizzo della successiva istruzione (non in sequenza) da cui continuare lesecuzione. Listruzione 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 loperazione.

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

94 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. Lobiettivo e quello di definire linguaggi formali astratti di facile uso e comprensione da parte dellutente 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 lhardware: Lisp: orientato allelaborazione 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 dellalgoritmo; Java: diffuso linguaggio di programmazione ad oggetti operante su rete.

95 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

96 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Caratteristiche di un linguaggio di programmazione Rilocabilita: cioe la caratteristica dellobject (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).

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.

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

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.

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.

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

102 Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini Database: architettura I tre tipi di organizzazione piu comuni sono: –il modello gerarchicomodello gerarchico –il modello reticolaremodello reticolare –modello relazionale (dominante e normalmente utilizzato con il linguaggio di interrogazione SQL)modello relazionaleSQL 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 databaseAPIOpen Database ConnectivityJava Database ConnectivityJava

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.


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

Presentazioni simili


Annunci Google