Scarica Introduzione all'informatica: Hardware, Software, Memoria, Reti e Database e più Appunti in PDF di Elementi di Informatica solo su Docsity!
APPUNTI INFORMATICA
1.L’INFORMAZIONE E LA SUA CODIFICA
Informatica deriva dal francese = Information + Automatique
- l’ informazione permette in una situazione in cui si hanno almeno due occorennze possibili di superare un incertezza e risolvere l’alternativa
- un dato è una descrizione elementare, spesso codificata, di una cosa, di una transazione, di un avvenimento o di altro.
La stessa informazione può essere rappresentata in modi diversi Una stessa rappresentazione può dare informazioni diverse.
Codifica l’operazione con cui il dato viene scritto su un supporto fisico Decodifica è l’operazione cui il dato viene letto da un supporto fisico
Bit : Elemento atomico (binario) che codifica un dato corrispondente ai valori logici “Falso” o “Vero” : può essere rappresentato da un dispositivo che assume due stati (0,1 /on,off). Byte : Combinazione di 8 bit. Può rappresentare un carattere (lettera, numero o simbolo tipografico) tra 256 diversi.
Numero binario : sequenza di cifre binarie (dette bit). Ogni cifra in posizione (contate da destra
verso sinistra iniziando da 0) si considera moltiplicata per Tali valori assumono convenzionalmente il significato numerico di 0 e 1 o quelli di vero e falso della logica booleana.(Logica che assume come valori solo 0 e 1).
Ascii : A merican S tandard C ode F or I nformation I nterchange E un codice per la codifica di caratteri. Una codifica di caratteri consiste in un codice che associa un insieme di caratteri ad un insieme di altri oggetticon lo scopo di facilitare la memorizzazione di un testo in un computer.
Analogico : Usa grandezze variabili con continuità (non preciso) Digitale : Usa una sequenza finita di simboli appartenente ad un insieme finito (preciso)
Discreta = Gli elaboratori elettronici hanno natura discreta , ovvero ogni grandezza in gioco può essere rappresentata soltanto da un numero finito di elementi Continui = Per essere elaborati da un calcolatore, segnali intrinsicamente continui quali suoni, immagini, video, devono essere discretizzati attraverso operazioni di campionamento e quantizzazione.
Campionamento : Il segnale continuo viene misurato ( campionamento) ad intervalli di tempo regolari t (t = Intervallo di Campionamento). Il segnale risultante è un insieme finito di punti equidistanti nel tempo.Tuttavia le ampiezze devono essere ancora approssimate ad intervalli discreti, ovvero quantizzate.
Quantizzazione : Suddivide l’intervallo di possibili valori del segnale in n sotto intervalli uguali che vengono poi codificati in binario. Ogni valore del segnale campionato viene approssimato al più vicino valore discreto. Più sotto intervalli si utilizzano , più l’approssimazione risultante sarà precisa.
Le immagini digitali : Le immagini digitali non hanno una struttura continua ma sono costituite da un numero finito di componenti monocromatiche (pixel) prodotte dal campionamento dell’immagine reale.
Componenti e architetture HW
Hardware : indica l’insieme dei componenti materiali (CPU, memoria, dispositivi) Sistema Operativo : Software di base che controlla e coordina l’uso dell’hardware tra le varie applicazioni dei vari utenti (es. Windows, Mac OS, iOS, Android) Programmi Applicativi : Software che utilizza le risorse del sistema per risolvere i problemi degli utenti (es. Database, video game, programmi di gestione) Utenti (persone, macchine, altri computer)
Tipi di personal computer : Desktop, Laptop, Tablet, Smart Phone, Netbook
Macchina di Von Newmann (informatico ungherese del 900’)
Lo schema si basa su cinque componenti fondamentali:
- CPU
- Unità di memoria, intesa come memoria di lavoro o memoria principale (RAM, Random Access Memory)
- Unità di input, tramite la quale i dati vengono inseriti nel calcolatore per essere elaborati
- Unità di output, necessaria affinché i dati elaborati possano essere restituiti all'operatore
- Bus, un canale che collega tutti i componenti fra loro
Componenti “esterni” di un pc : Scanner, microfono, mouse, tasteira, usb drive, cd, dvd, video, altroparlanti, stampanti. Componenti “interni” di un pc : Case e Motherboard Componenti della scheda madre : Plug per dispositivi I/O, CPU (Processore), Slots per interfacce, Memoria dinamica RAM, Unità di prodotto, Memoria di sistema permanente ROM.
CPU
CPU (unità centrale di elaborazione) : coordina in maniera centralizzata tutte le altre unità di elaborazione presenti nelle architetture hardware dei computer di elaborazione delle varie periferiche interne o schede elettroniche (scheda audio, scheda video, scheda di rete)
Le istruzioni : Un’istruzione si compone di diverse parti 5.1. Codice Operativo (indica il tipo di operazione) 5.2. Provenienza degli operandi 5.3. La destinazione del risultato (Le istruzioni sono rappresentate come sequenze di bit)
2. LE MEMORIE
Memoria Principale
- acceduta direttamente dalla CPU
- non permanente
- supporto alla CPU, deve fornire alla CPU dati e istruzioni il più rapidamente possibile
- Elettronica : Veloce, ma costosa e dinamica (Volatile) Memoria Secondaria
- acceduta tramite il sottosistema di input/output
- Cache (+Megabyte)
- Memoria principale (+10 Gigabyte)
- Dischi (da centinaia di Gigabite a +TeraByte)
- Nastri Magnetici e dischi ottici (da GB e TB)
Quando ci si sposta verso il basso nella gerarchia :
- aumenta il tempo di accesso
- aumenta la capacità di memorizzazione
- diminuisce costo per byte
Memorie disponibili
Memorie veloci, integrate nello stesso chip della CPU, ma costose
- Chiamandole MPV (Memorie Piccole e Veloci) Memorie di grande capacità, relativamente lente, economiche ed accessibili tramite il bus
- Chiamandole MGL (Memorie Grandi e Lente)
Gerarchia a due livelli Memoria formata da una MPV e una MGL
- la frequenza con cui si trova il dato cercato nella MPV ( hit ratio ) sarà in media 1%, in questi casi il tempo di accesso ( hit time ) sarà pari a 1
- la frequenza con cui è necessario accedere alla MGL ( miss ratio ) sarà in media il 99%, in questi casi il tempo di accesso ( miss penalty ) sarà pari a 10. Principio di località
- Località spaziale : quando si accede all’indirizzo A, è molto probabile che gli accessi successivi richiedano celle vicine ad A
- Località temporale : quando si accede all’indirizzo A, è molto probabile che negli accessi successivi si richieda di nuovo la cella A.
Come sfruttare le località
- Località spaziale : quando si copia un dato dalla MGL alla MPV, dovremmo copiare i dati vicini (cache line o blocco)
- Località temporale : i dati prelevati dalla MGL dovrebbero essere conservati nella MPV il più a lungo possibile.
Memoria secondaria Supporti di memorizzazione
- Dischi Magnetici (es. Disco fiso, dischi rimovibili)
- Dishi Ottici (es. CD-ROM ; DVD)
- Unità a stato solido (es. Memoria flash)
Funzionamento di un Hard Disk Un dispositivo di memoria di massa di tipo magnetico che utilizza uno o più dischi magnetizzati per l'archiviazione dei dati(file, programmi e sistemi operativi).
Memorie a Stato Solido (SSD) L’unità a stato solido o drive a stato solido, in sigla SSD, utilizza memoria flash per l’archiviazione di massa di dati. La differenza con i classici dischi è la possibilità di memorizzare in modo non volatile grandi quantità di dati, senza utilizzare parti meccaniche.
Hard Disk Vs SSD
- la frammentazione di un disco SSD non influisce sulle sue prestazioni, poiché il tempo d’accesso a qualunque cella è identico
- attualmente un SSD ha un limite sul numero massimo di operazioni di scrittura (ma è un numero MOLTO elevato)
- Un SSD ha minori consumi e minore produzione di calore
- Un SSD ha tempi di accesso e archiviazione ridotti
- Il costo per byte del SSD è sensibilmente più elevato (per ora)
3.SOFTWARE E SISTEMI OPERATIVI
SOFTWARE E SISTEMI OPERATIVI - A
Software proprietario L’utilizzo e la ridistribuzione sono proibiti se non si acquista una licenza Nella maggior parte dei casi il software proprietario è chiuso. Non viene cioè reso disponibile nella forma che permette modifiche e la piena comprensione del funzionamento del software stesso.
Software Open Source indica un software di cui gli autori (più precisamente i detentori dei diritti) rendono pubblico il codice sorgente, favorendone il libero studio e permettendo a programmatori indipendenti di apportarvi modifiche ed estensioni.
Criteri dell’Open Source :
- Libertà di redistribuzione
- Per ogni programma deve essere disponibile la sorgente
- Deve permettere lo sviluppo di programmi derivati
Differenza tra Sistema Operativo e Programmi Applicativi Sistema operativo:
- ha accesso a tutte le risorse
- può utilizzare tutte le istruzioni del processore
- stabilisce in che ordine e come le richieste che riceve devono essere soddisfatte Programmi Applicativi
- hanno accesso a un insieme ridotto di risorse
- possono utilizzare solo un sottoinsieme non privilegiato delle istruzioni del processore
- non possono decidere autonomamente quando e come avere accesso alle risorse del sistema.
Processo Vs Programma Programma : Entità statica composta dal codice eseguibile dal processore Processo : entità dinamica che corrisponde al programma quando viene mandato in esecuzione ( ovvero : l’insieme delle istruzioni, dati, stato).
Organizzazione di un SO Nucleo (Kernel)
- Gestisce i processi corrispondenti a tutti i programmi che sono contemporaneamente attivi
- Attua una politica di alternanza ( scheduling ) nell’accesso alla CPU reale da parte dei processi in esecuzione.
- Interagisce con i diversi dispositivi hardware tramite componenti software chiamati device drivers
- Si occupa della risposta agli eventi esterni generati dalle unità periferiche ( interrupt ) e degli errori di esecuzione ( eccezioni )
Gestore della memoria centrale
- Assegna parti (dette pagine) della memoria centrale ai vari processi in modo da soddisfare le relative esigenze in modo trasparente ed efficiente.
- Consente ai programmi di lavorare in un proprio spazio di memoria virtuale senza dover tener conto delle pagine di memoria reale occupata
- Protegge programmi e relativi dati caricati nella memoria di lavoro
- Maschera la collocazione fisica dei dati Gestore delle periferiche
- Fornisce una visione del sistema in cui i processi possono operare mediante periferiche virtuali
- Maschera le caratteristiche fisiche delle periferiche e le specifiche operazioni di ingresso/ uscita
- Permette di effettuare operazioni contemporaneamente su diversi dispositivi (tastiera, dischi, schede di rete) Gestione dei file
- Organizza i contenuti dei dispositivi di memoria di massa (es. Dischi, CD, DVD)
- Gestisce i file offrendo una visione logica indipendente dalla reale rappresentazione fisica sui dispostivi di memoria di massa Organizzazione delle memorie di massa Presenta agli utenti ed ai programmi una struttura coerente dei dati e delle operazioni che è possibile compiere su di essi. Operazioni di base di un file system :
- recupero di dati precedentemente memorizzati
- eliminazione (cancellazione) di dati obsoleti
- modifica/aggiornamento di dati preesistenti
- copia di dati File
- contenitore logico di informazioni (Dati o istruzioni)
- entità permanente per conservare le informazioni anche dopo la terminazione del processo che lo ha generato I nomi dei file sono in genere composti da due parti :
- nome che viene assegnato dall’utente
- estensione, associata al programma che ha generato i l file e consente quindi di identificare la tipologia dei dati contenuti nel file (es. Jpeg, Png) I file sono generalmente organizzati in cartelle e sottocartelle in una gerarchia ad albero
Accesso ai file I sistemi operativi moderni sono multi-utente
- L’utente è riconosciuto quasi sempre sulla base della coppia di informazioni : nome- password
- Ogni file ha un proprietario, in genere l’utente che lo ha creato
- Il proprietario può permettere ad altri utenti di leggere, modificare o anche cancellare i propri file manipolando i permessi associati al file.
- Esiste un utente privilegiato (administrator, root) che può accedere i file di tutti gli utenti indipendentemente dai permessi concessi o negati dal proprietario del file. Interprete dei comandi
- programma applicativo incluso nel sistema operativo e direttamente accessibile dall’utente
- ha la funzione di interpretare i comandi che gli giungono e di attivare i programmi corrispondenti.
Gestione dei Processi
Supporto per il Time Sharing
- Permette la condivisione della CPU tra più programmi attivi di uno stesso o di diversi utenti
- Ogni processo in esecuzione ha a disposizione un quanto di tempo fissato per l’uso della CPU
- Allo scadere viene sospeso per lasciare il posto ad un altro processo in attesa di esecuzione
- Ogni processo riparte nell’esecuzione esattamente dal punto in cui era stato sospeso
Esecuzione di un processo
- un processo mantiene il controllo della CPU fino allo scadere del quanto oppure fino al momento in cui non può proseguire l’esecuzione perché è in attesa di dati non ancora disponibili
- ogni operazione di I/O implica una chiamata al sistema operativo e quindi una sospensione del processo applicativo per l’esecuzione dell’operazione da parte dei moduli di I/O del Sistema Operativo.
Stati di un processo : Processo Attivo – Processo in attesa Processi non in esecuzione Si possono distinguere due casi :
- processi in attesa di un evento esterno
- processi pronti ad essere eseguiti ma bloccati perché la CPU è occupata
Si tratta di stati distinti : PRONTO ed in ATTESA gestiti con modalità diverse
Diagramma a 3 stati : Processi Pronti – Processo in esecuzione – Processi in attesa
Transizioni di stato
- ProntoEsecuzione
- Il SO stabilisce quale dei processi pronti debba essere mandato in esecuzione
SOFTWARE E SISTEMI OPERATIVI – B
Gestore della memoria
La parte del SO che gestisce la memoria principale si chiama Memory Manager
I compiti principali del Memory Manager
- tenere traccia della memoria libera e occupata
- riservare parti della memoria per i processi e liberarla quando non è più necesaria
- garantisce ai vari processi uno spazio di indirizzamento virtuale in cui lavorare, la cui dimensione può essere superiore alla memoria principale (RAM) presente nel calcolatore
- mette in atto meccanismi di protezione che tutelano sia l’integrità sia la confidenzialità della memoria assegnata a ogni processo.
Il gestore della memoria applica le seguenti strategie:
- consentire il caricamento di un programma in una qualunque parte della memoria disponibile
- ridurre la necessità di spazio tenendo in memoria solo parte delle istruzioni e dei dati dei vari programmi
- condividere parte delle istruzioni (codice eseguibile) fra diversi processi corrispondenti a uno stesso programma
Allocazione della Memoria Una delle funzioni principali del gestore di memoria consiste nell’individuare ed assegnare parti di memoria fisica :
- ad ogni programma che viene mandato in esecuzione (che diventa cioè un processo)
- per soddisfare ulteriori richieste effettuate dai programmi durante la loro esecuzione
La memoria può essere allocata in modalità :
- contigua : tutto lo spazio assegnato ad un programma è formato da pagine consecutive
- sparsa : lo spazio assegnato è costituito da un insieme di pagine non consecutive
L’allocazione può essere statica o dinamica
Allocazione Statica
- un programma mantiene le stesse pagine di memoria dal momento del caricamneto alla fine della sua esecuzione
- non è possibile spostare il processo durante l’esecuzione Allocazione Dinamica
- durante la sua esecuzione, un processo può essere spostato all’interno della memoria
- cambiano le pagine che gli sono assegnate.
Allocazione e partizioni fisse Realmente efficiente solo per sistemi mono-programma
Esiste una sola partizione, dove viene caricato un unico programma utente
Frammentazione interna Nell’allocazione a partizioni fisse Se un processo ha una dimensione inferiore a quella della partizione che lo contiene, lo spazio non utilizzato è sprecato.
Allocazione a partizioni dinamiche Con le partizioni dinamiche si formano tra i processi spazi di memoria libera che nel tempo diventano sempre più frammentati ed impossibili da utilizzare. Si parla di frammentazione esterna.
Compattazione Se è possibile rilocare i programmi durante la loro esecuzione, si può compattare la memoria Ovvero si spostano tutti i programmi in memoria cosi da riunire tutte le aree inutilizzate Risolve il problema della frammentazione esterna Problemi :
- è un operazione molto onerosa : occorre copiare in memoria grandi quantità di dati
- non può essere utilizzata in sistemi interattivi : i processi non possono essere in esecuzione durante la compattazione
Allocazione dinamica, Selezione blocco libero
- First Fit : scorre la lista dei blocchi liberi fino a quando non trova il primo grande abbastanza da contenere il processo.
- Next Fit : invece di ripartire sempre dall’inizio, parte dal punto dove si era fermato all’ultima allocazione
- Best Fit : Seleziona il più piccolo fra i blocchi liberi
- Worst Fit : Seleziona il più grande fra i blocchi liberi
Paginazione Meccanismo standard utilizzato per :
- ridurre il fenomeno di frammentazione interna
- minimizzare/eliminare frammentazione esterna Necessita di un supporto hardware adeguato
Lo spazio di indirizzamento logico di un processo viene suddiviso in blocchi di dimensione fissa chiamati pagine
La memoria fisica viene gestita come un insieme di blocchi della stessa dimensione delle pagine, chiamati frame
Quando un processo viene allocato in memoria vengono reperiti un numero sufficiente di frame pari al sottoinsieme (detto working set) di pagine del processo necessario per la sua esecuzione.
Memory Management Unit – MMU È un dispositivo hardware aggiuntivo utilizzato per convertire gli indirizzi virtuali cui fa riferimento il programma nei corrispondenti indirizzi fisici.
Il meccanismo di paginazione permette di : risolvere il problema di dove allocare un processo in memoria, aumentare il numero di processi che possono essere gestiti in contemporanea, superare la
limitazione imposta dalla quantità di memoria primaria disponibile.
- Bassa Velocità : Fonia, fax
- Media Velocità : Audio Hi-FI, video a bassa risoluzione, fax a elevata risoluzione
- Alta velocità : interconnessione di reti di calcolatori, trasferimento di File
- Altissima Velocità : Distribuzione di segnali video, video on demand, TV ad alta definizione
I mezzi di trasmissione Mezzi fisici utilizzati per la trasmissione
- Mezzi guidati : linee fisiche che portano il segnale fino al ricevitore (Es. Doppino telefonico, Cavo Coassiale, Fibra Ottica)
- Mezzi non guidati : irradiazione di segnali elettromagnetici nello spazio, in modo più o meno diretto.(Es. Antenne, Satelliti) Lo spettro di frequenza utilizzato nelle trasmissioni non guidati può essere suddiviso in 3 intervalli : 1. Trasmissioni cellulari (30M-2G) 2. Microonde, Comunicazione via satellite (2G-80G) 3. Infrarossi (300G-400T)
Cosa influenza la trasmissione?
- Capacità del canale (bandwidth)
- Il grado di attenuazione tra segnali
- Numeri di ricevitori
Datagrammi Vs. Circuiti Virtuali Datagrammi
- i pacchetti vengono trattati in modo indipendente l’uno dall’altro
- non è garantito l’ordine di arrivo
- se un pacchetto si perde nella rete il mittente o il destinatario devono gestirne esplicitamente la ritrasmissione es. Sistema Postale
Circuito Virtuale
- prima della spedizione dei pacchetti si stabilisce un percorso tra sorgente e destinazione
- ogni pacchetto contiene, oltre ai dati, un identificatore del circuito virtuale associato
- i nodi intermedi non devono prendere alcuna decisione di instradamento sui singoli pacchetti, poiché tale decisione viene presa una volta per tutte definendo il circuito virtuale
Le reti locali
Caratteristiche Generali :
- ampia larghezza di banda
- modularità e facilità di connessione
- notevole affidabilità dell’intero sistema
- espandibilità e flessibilità nella modifica delle dimensione della rete
- economicità
- ogni stazione è collegata alla rete tramite una scheda di interfaccia di rete
Tipologie di rete locale :
- Bus Ethernet è il tipo di rete locale più diffuso : praticamente qualunque dispositivo prevede la possibilità di usare una scheda Ethernet per connettersi ad una rete locale
- Anello Token-Ring : un speciale pacchetto di byte (token) viene continuamente passato da un computer all’altro
Un computer può trasmettere sulla rete solo quando è in possesso del token Se un computer riceve un messaggio non destinato a lui, lo rimette in circolo
- Stella Switch : dispositivo hardware specializzato che smista le comunicazioni dei computer
Reti Wireless
- Operano in bande di frequenza che non necessitano di licenza quindi senza costi di licenza per i fornitori di accesso Vantaggi :
- riduzione dei costi di cablatura
- supportano indifferentemente dispositivi statici e mobili (es. LApotop, Smartphone) Svantaggi :
- minori prestazioni rispetto ad una rete cablata con switch
- possibili problemi di sicurezza
Reti Wireless (bluetooth)
- Sviluppato per connettere telefoni cellulari con altri dispositivi per esteso alle reti locali
- I prodotti che adottano lo standard bluetooth hanno un minuscolo ricetrasmettitore a brevve raggio, che opera sulla banda radio priva di licenza disponibile a livello mondiale e supporto velocità di trasferimento dati fino a 721 Kbps
- Bassissimo consumo energetico
Architetture dei servizi in rete
- Client-Server
- Uno o più server gestiscono la condivisione delle risorse e controllano gli acessi
- Le altre stazioni della rete sono dette client
- Le risorse condivise e rese accessibili ai client sono collegate direttamente o comunque controllate dal server
- Peer-to-Peer
- Le stazioni sono connesse in modo paritetico e non esiste una gerarchia per la gestionee il controllo della rete : ogni stazione rende disponibili o richiede dati e condivide le risorse sia hardware sia software
- Ogni stazione deve gestire il controllo degli accessi alle proprie risorse, definendo cosa condividere e con chi, in modo da proteggersi da eventuali intrusioni.
Il paradigma Client-Server; Persona = Utente, Schermo Computer = Client, Generatore =Server
- L’utente accede un client per inserire le sue richieste
- Il client si collega al server e trasmette la richiesta
- Il server risponde al client
- Il client presenta la risposta all’utente Il client
- viene attivato dall’utente quando deve accedere dati o eseguire programmi
- fornisce all’utente un’interfaccia intuitiva
- elabora le richieste dell’utente e le risposte dei server
- la comunicazione con il server avviene secondo una serie di regole standard (protocollo) Il Server
- Rende disponibili delle risorse
- Accetta richieste e rispondere senza richiedere, in genere l’intervento di altri utenti
- Si può organizzare un insieme di server in modo che appaiano come un unico sistema
- Il processo server può essere eseguito dallo stesso calcolatore che esegue il processo client
Archittetura del SW di rete
Internet Nata dalla fusione di reti di agenzie governative americane (ARPANET) e reti di università
- E una rete di reti, di scala planetaria, pubblica, a commutazione di pacchetto
- Utilizza protocolli di comunicazione di dominio pubblico derivati dal momento TCP/IP
- Oggi è accessibile a tutti tramite provider che sono fisicamente collegati a internet
Caratteristiche dei protocolli TCP/IP
- Internet usa una famiglia (suite) di protocolli nota come TCP/IP, per far dialogare tra loro hardware e sistemi operativi diversi
- Indipendenza del protocollo dal modo in cui la rete è fisicamente organizzata
- I vari protocoli della suite (TCP,UDP,IP) sono di dominio pubblico chiunque può implementare una propria versione
Protocolli TCP/IP Suddivisi in 4 livelli
- Applicazione : Software applicativo
- Trasporto : trasforma i dati in modo da essere invariabili secondo le regole del protocollo TCP
- Rete : protocollo IP di invio ed instradamento dei singoli pacchetti di dati sulla rete
- Fisico : Aspetti legati allo specifico tipo di rete
Il TCP suddivide i da ti in uscita in pacchetti a cui viene aggiunta un’intestazione (heasder) con tutte le informazioni sulla destinazione TCP controlla se la comunicazione va a buon fine L’IP provvede all’instradamento dei messaggi
Indirizzo IP Strutturato in 2 parti :
- una parte individua la rete a cui la stazione è collegata
- l’altra identifica la singola stazione (host) nell’ambito delle rete fisica
- esistono 3 classi primarie, chiamate A, B , C ognuna caratterizzata da una diversa suddivisione dei 32 Bit.
Affidabilità del IP
- IP è un protocollo connectionless (non orientato alla connessione) frammenta il flusso dei dati in datagrammi ogni datagramma inviato a destinazione lungo percorsi distinti il controllo di integrità (checksum) consente soltanto la verifica dell’intestazione non dei dati
Affidabilità del TCP TCP è un protocollo connection-oriented (orientato alla connessione)
- Stabilisce preliminarmente una connessione virtuale
- Garantisce la consegna di un flusso di dati completo di tutte le sue parti, ordianto correttamente e senza duplicazioni
- il controllo di integrità riguarda sia l’intestazione TCP sia i dati
- il protocollo gestisce le situazioni di congestione del traffico
Affidabilità del TCP/IP
- La combinazione TCP/IP permette di ottenere sia una buona efficienza di trasmissione sia una elevata affidabilità :
- OK per applicazioni client-server (architettura di rete nella quale genericamente un computer client o terminale si connette ad un server per la fruizione di un certo servizio)
- Non necessaria dove l’affidabilità è requisito meno essenziale della leggerezza del protocollo. In questi casi, che corrispondono, ad esempio a trasmissione in streaming o comunicazioni VoIP, il TCP può essere sostituito con altri protocolli.
5. SERVIZI DI RETE E WEB
World Wide Web Il World Wide Web (in inglese letteralmente significa "ragnatela mondiale"), è uno dei principali servizi di Internet che permette di navigare e usufruire di un insieme vastissimo di contenuti ( multimediali e non) collegati tra loro attraverso legami (link), e di ulteriori servizi accessibili a tutti o ad una parte selezionata degli utenti di Internet.
Application layer : World Wide Web si basa sul protocollo http (HyperText Transfer Protocol) che gestisce l’interazione tra un user agent (browser) e server web
✓ L'HTTP funziona su un meccanismo richiesta/risposta (client/server): il client esegue una richiesta e il server restituisce la risposta. Nell'uso comune il client corrisponde al browser ed il server al sito web. Vi sono quindi due tipi di messaggi HTTP: messaggi richiesta e messaggi risposta.
Client e server si scambieranno dei messaggi
- Richieste da parte del client
- Risposte da parte del server Più precisamente :
- L’utente richiede una pagina residente su un server
- Il browser richiede una connessione TCP con il server
- Il server accetta la connessione iniziata dal browser
- Il browser ed il server si scambiano messaggi
- La connessione viene chiusa
URL
- Protocollo SMTP tra i mail server per il recapito dei messaggi “client” : mail server che invia il messaggio ”server”: mail server che riceve il messaggio
SMTP È un protocollo relativamente semplice, testuale, nel quale vengono specificati uno o più destinatari di un messaggio, verificata la loro esistenza il messaggio viene trasferito. il trasferimento può coinvolgere più server ( ad ogni passaggio si ripete la procedura) 3 fasi :
- Handshaking
- Trasferimento di uno o più messaggi
- Chiusura
Protocolli di accesso alla posta
- soluzione tradizionale : l’utente legge direttamente la posta sul Mail Server
- i client di posta permettono di trasferire l’email dal Mail Server al computer utente
- Possibile visualizzare file multimediali e di specifiche applicazioni
- Occorre un protocollo pull per accedere alla mailbox collocata sul mail server
Protocollo POP Protocollo di livello applicativo di tipo client-server che ha il compito di permettere, mediante autenticazione, l'accesso da parte del client ad unaccount di posta elettronica presente su di un host server e scaricare le e-mail dell'account stesso. (pag.25)
Protocollo IMAP Protocollo di comunicazione per la ricezione di e-mail. (pag.26)
= Entrambi i protocolli permettono ad un client (programma di posta elettronica oppure servizio di webmail) di accedere, leggere e cancellare le e-mail da un server, ma con alcune differenze. Con entrambi i protocolli, il client scarica la posta direttamente sul PC, eventualmente cancellandola dal server, ma è altresì possibile conservare copia delle proprie e-mail sul server, e scaricarle in un secondo momento da altri computer. IMAP, a differenza di POP, permette procedure complesse di sincronizzazione
# L'IMAP è principalmente utilizzato in ambito professionale ovvero presso enti ed imprese, dove un utente cambia postazione spesso: con il POP3, sarebbe necessario scaricare i messaggi ogni volta che si cambia dispositivo, mentre con l'IMAP si possono scaricare solo i nuovi messaggi o accedere ad un messaggio specifico senza dover scaricare gli altri. Comunque si sta diffondendo anche per uso personale soprattutto da parte dell'utenza più esperta.
Un esempio moderno : Whatsapp Servizio di messaggistica “istantanea”. Oltre a messaggi testo può inviare immagini, video, file audio Utilizza una versione proprietaria di un protocollo L’applicazione notifica la ricezione di messaggi Multipiattaforma : iOS, Android, Blackberry… Creazione automatica di un’utenza all’atto dell’installazione Centinaia di milioni di utenti
6. DATA BASE (DB)
DATA BASE MANAGEMENT SYSTEMS (DBMS)
Data Base
- collezione organizzata, condivisa, di notevoli dimensioni e varietà di dati
- una sola rappresentazione che evita ridondanze, disallineamenti e inutili ripetizioni di dati e operazioni
- maggiore controllo
- accesso gestito e regolato da un sistema di gestione della base dati (DBMS) che assicura : efficienza, usabilità, riservatezza e affidabilità dei dati.
Data Base Management System Sistema Software in grado di gestire collezioni di dati che siano :
- di grandi dimensioni, maggiori della memoria RAM dei sistemi di calcolo utilizzati
- persistenti : mantenute alle fine delle singole esecuzioni dei programmi che le utilizzano
- condivise : utilizzate da applicazioni e utenti diversi in maniera consistente
- affidabili : alta tolleranza ai guasti (hw e sw) con funzionalità avanzate di ripristino e backup.
- sicuri : gestendo il controllo degli accessi (autenticazione).
- efficienti : utilizzando al meglio le risorse di spazio e tempo del sistema e rendendo produttive le attività dei suoi utilizzatori.
DBMS :
▲ modello gerarchico ▲ modello reticolare ▲ modello relazionale ▲ modello orientato agli oggetti
Modello Gerarchico
- L’IMS (Information Management System) I dati sono organizzati in record connessi tra loro secondo strutture ad albero. L’albero è formato da 2 tipi di record : il record OWNER (proprietario) e il record MEMBER (componente)
- Registry (Windows)
- Il Registry mantiene le informazioni sulla configurazione e le opzioni del sistema operativo Windows e delle applicazioni installate
- Il Registry contiene chiavi (equivalenti alle cartelle) e valori (equivalenti ai file)
- I dati del Registri sono salvati in una serie di file ordinari che però non vengono normalmente acceduti dall’utente o dall’amministratore