Dalla CPU all - PowerPoint PPT Presentation

Loading...

PPT – Dalla CPU all PowerPoint presentation | free to download - id: 5fd788-M2ZhZ



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Dalla CPU all

Description:

Dalla CPU all utente Utente 1 Utente 2 HARDWARE BIOS SISTEMA OPERATIVO Utente N SOFTWARE APPLICATIVO Il Bios Il Bios (Basic Input Output System) il software di ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 104
Provided by: ifc7
Category:
Tags: cpu | dalla

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Dalla CPU all


1
Dalla CPU allutente
Utente 1
Utente 2
HARDWARE
BIOS
SISTEMA OPERATIVO
Utente N
SOFTWARE APPLICATIVO
2
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
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
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
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
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
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
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
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
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
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
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
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
Memoria Virtuale
  • Memoria virtuale è unastrazione della memoria
    fisica che consente nei sistemi in
    multiprogrammazione luso dellintera memoria per
    ogni singolo processo

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

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.

18
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
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
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
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
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
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
Esempio di Struttura ad Albero
25
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
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
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
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
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
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
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
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
Esempi di Interfaccia grafiche
  • Alfanumerica
  • Grafica

34
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
Flow Chart dellInterfaccia Utente
36
Trasmissione e Comunicazione
37
Tipi di Trasmissione
  • Canali analogici
  • Modulazione di un segnale portante sinusoidale
  • baud numero di variazioni dei livelli di
    modulazione (al secondo)
  • 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
Trasmissione Digitale
Interfacce Hardware Porta Seriale e
Parallela Trasmissione dei dati in sequenze di
bytes
Tipica asincrona Pc-Pc lt 112.5Kb Pc/modem
56Kb Pc/fax 9.6Kb Velocità di
trasmissione Baud bit/sec (2 livelli)
39
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
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 allaltro.
41
Errori di trasmissione
Errori di trasmissione linea telefonica
commutata 10-4 lt Pe lt 10-2
linea telefonica dedicata 10-7 lt Pe lt
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.

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

44
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
Reti
46
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

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

54
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

55
Dorsali di Rete
  • Dorsale WAN speciale per la interconnessione di
    reti LAN, MAN, WAN.

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
Internet
57
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
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
Gli Indirizzi IP
  • Gli hosts hanno un indirizzo unico sulla rete
    Internet .
  • Lindirizzo è numerico su 32 bit
    (2324.294.967.296).
  • E comunemente rappresentato con quattro numeri
    interi decimali separati dal punto, ciascun
    numero con valore compreso fra 0 e 255 (valore
    intero su 8 bits).
  • I 32 bits sono divisi in due parti la parte più
    significativa indica lindirizzo di rete, laltra
    quello dellhost.
  • Per esempio lindirizzo 146.48.68.132 identifica
    lhost 132 sulla rete 146.48.68
  • Tutti gli hosts di una stessa rete hanno
    indirizzi del tipo 146.48.68.xxx (xxxindirizzo
    dellhost).
  • Gli indirizzi con xxx0 e 255 sono riservati (0
    individua la rete (p.e. 146.48.68.0) 255 per
    trasmissione broadcast a tutti gli host della
    rete (p.e. 146.48.68.255)).

60
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
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
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
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
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
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
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
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 131.114.22.3 ---gt www.med.unipi.it
    dove
  • 131 identifica .it dominio Italia
  • 114 identifica .unipi sottodominio Università di
    Pisa
  • 22 identifica .med sottodominio di Medicina
  • 3 identifica www lhost collegato

68
Suffissi degli Host Name
I principali suffissi dopo lultimo 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
69
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
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 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.

71
SMTP
  • Simple mail transfer protocol.
  • Protocollo di gestione dellinvio della posta
    elettronica (e-mail), 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
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.

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 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
    (e-mail address), fornito dal Mailer server, che
    ci identifica univocamente il cui formato è
  • nomeutente_at_nome del Mailer server
  • p.e. pinco.pallo_at_nomeditta.it

74
Invio di un e-mail
  • Per linvio di un messaggio di posta elettronica
    (e-mail) 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 e-mail) il
    messaggio è inviato al Mailer server
  • Il Mailer server provvederà (SMTP) a far giungere
    il messaggio nella casella postale del Mailer
    server del destinatario, dove resterà finchè non
    sarà letto.

75
Ricezione di un e-mail
  • Per la lettura di un messaggio di posta
    elettronica (e-mail) 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
    e-mail (POP)
  • leggere ed eventualmente memorizzare il messaggio
    (ed i file allegati) dallhost da cui è stato
    fatto laccesso.

76
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
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
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
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/nom
    e del file
  • Per esempio lURL della prima pagina della
    Facoltà di Medicina e Chirurgia dellUniversità
    di Pisa è
  • http//www.med.unipi.it/site/index.htm
  • Il protocollo può essere qualsiasi di quelli
    previsti dal TCP/IP (e quindi tramite il WWW
    accedere alle risorse di rete anche con FTP,
    Telnet, SMTP)

80
Accesso al WWW
BROWSER
1.Preparazione richiesta
SERVER
2.Inoltro richiesta
BROWSER
SERVER
3. Esecuzione richiesta
BROWSER
4. Risposta
SERVER
BROWSER
5. Presentazione risposta
81
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
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
Linguaggi
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 pazientegtcampo 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
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
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
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
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

103
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.
About PowerShow.com