Sistemi operativi. Motivazione Molte attivita’ in parallelo su un singolo calcolatore  Esempio: terminali che richiedono servizi ad un calcolatore 

Slides:



Advertisements
Presentazioni simili
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
1 Introduzione ai calcolatori Parte II Software di base.
Il Software.
APRIRE PROGRAMMA DI POSTA OUTLOOK EXPRESS
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Che cosè? Che cosè? Che cosè? Che cosè? Come creare una pagina… Come creare una pagina… Come creare una pagina… Come creare una pagina… inserire testi,immagini,tabelle…
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
La Navigazione in Internet
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
IL NOSTRO LABORATORIO. Di INFORMATICA.. Presentazione: Nel nostro laboratorio abbiamo 24 postazioni con dei computer di tipo Desktop con queste caratteristiche:
IL NOSTRO LABORATORIO Di INFORMATICA. Nel nostro laboratorio abbiamo 24 postazioni con dei computer di tipo Desktop con queste caratteristiche: Sistema.
IL NOSTRO LABORATORIO. Di INFORMATICA..
IL NOSTRO LABORATORIO Di INFORMATICA. Presentazione Nel nostro laboratorio abbiamo 24 postazioni con dei computer di tipo Desktop con queste caratteristiche:
ING. CARLO MANFUCCI COMUNE DI GROSSETO
I modelli di riferimento OSI e TCP/IP
Laurea Triennale in Infermieristica
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Architettura del World Wide Web
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Internet Explorer Il browser.
Struttura dei sistemi operativi (panoramica)
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
Posta elettronica : per iniziare : per iniziare Primi passi con la posta elettronica Primi passi con la posta elettronica
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
DBMS ( Database Management System)
Corso di Informatica per Giurisprudenza Lezione 7
WINDOWS XP PRIMI PASSI. Caratteristiche del sistema Le caratteristiche di base del PC (tipo e versione del sistema operativo installato, tipo e velocità
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Modulo 7 – reti informatiche u.d. 1 (syllabus – )
Usare la posta elettronica con il browser web
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
Concetti di base sul Software dei PC Unitre Anno
Il modello di riferimento OSI
Il Sistema Operativo (1)
BIOINFO3 - Lezione 101 GLI IPERTESTI Una delle innovazioni introdotte da HTML e dal WWW in generale, rispetto ad un testo normale è sicuramente la possibilità
EM 09 INTERNET … UN PO DI STORIA. EM 09 Nasce per garantire comunicazioni efficienti … Tra le sedi delle forze armate americane Tra le sedi delle forze.
Programma di Informatica Classi Seconde
L’architettura a strati
Sistema Operativo (Software di base)
Internet: una panoramica
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
prof.ssa Giulia Quaglino
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
InternetInternet Sede: Salvo D’acquisto 2010/2011 Docente: Vito Monno.
I FILE I File sono l’ unità base di informazione nell’interazione tra utente e sistema operativo I File sono l’ unità base di informazione nell’interazione.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Reti di computer Condivisione di risorse e
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
INTRODUZIONE A INTERNET
1 Reti di calcolatori zRete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione zOgni calcolatore è un nodo,
Servizi Internet Claudia Raibulet
ELABORAZIONE TESTI MICROSOFT WORD EM 09.
Informatica Lezione 8 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
I sistemi operativi Funzioni principali e caratteristiche.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
LE RETI Cos’è una rete Un po’ di storia Classificazione delle reti Mezzi fisici di trasmissione Modalità di trasmissione Topologia delle reti Internet.
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
Il modello di Von Neumann
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
LE RETI Cos’è una rete Un po’ di storia Classificazione delle reti Mezzi fisici di trasmissione Modalità di trasmissione Topologia delle reti Internet.
Transcript della presentazione:

Sistemi operativi

Motivazione Molte attivita’ in parallelo su un singolo calcolatore  Esempio: terminali che richiedono servizi ad un calcolatore  Esempio: stampa di un documento e scrittura di un altro Il sistema operativo serve a coordinare queste attivita’ e far comunicare le parti coinvolte Coordinamento e comunicazione anche su reti di calcolatori

Sistemi monoprocessore Anni ’40 e ’50: un solo programma in esecuzione (job) alla volta  monotasking Il computer a disposizione del programma dall’inizio alla fine della sua esecuzione Coda dei job, gestita FIFO (first in, first out) e/o con proprita’

Coda dei job

Svantaggi dei sistemi monoprocessore mono-tasking Nessuna interazione utente-programma Lentezza: la CPU non puo’ essere usata da nessun processo mentre il programma in esecuzione svolge operazioni di I/O (molto piu’ lente di letture/scritture in Memoria) DOS e’ un SO monotasking: non si puo’ fare niente altro mentre si formatta un floppy o si memorizzano dati su disco

Time sharing Ripartizione del tempo di CPU tra tutti i processi che la vogliono Ogni job rimane in esecuzione solo per un quanto di tempo, poi l’esecuzione passa al prossimo job e il primo va in attesa  Esecuzione globale piu’ veloce Durata del quanto di tempo: tra 100 e 200 millisecondi  granularita’ molto fine A ciascun utente sembra di avere la CPU tutta per lui, solo piu’ lenta Time –sharing in sistemi mono-processore: multi-tasking (piu’ programmi inesecuzione con una sola CPU)

Sistemi multiprocessore Reti di calcolatori: vari calcolatori che si scambiano dati Es.: Internet Una rete e’ un sistema multiprocessore con una CPU su ogni calcolatore Anche singoli calcolatori con piu’ CPU Non solo coordinamento delle attivita’ di ogni processore, ma anche bilanciamento del carico sui processori

Tipi di software Software applicativo: programmi per svolgere compiti particolare, non gli stessi su diversi calcolatori  Fogli elettronici  Editori d testi  Giochi... Software di sistema: compiti comuni a tutti i calcolatori

Software di sistema Sistema operativo Software di utilita’: aumenta le funzionalita’ del SO Es.:  sw per comunicare via modem  sw per comprimere dati

Suddivisione del software

Sistema operativo: shell Shell (guscio): interfaccia tra SO e utenti Di solito grafica (GUI), ma anche testuale

Sistema operativo: kernel Kernel (nocciolo, nucleo): programmi per le funzioni base del calcolatore Da 100 Kilobyte a 100 Megabyte Kernel suddiviso in moduli Ogni modulo ha una funzione diversa Funzioni piu’ importanti:  gestione processori  gestione processi  gestione memoria (principale e secondaria)  gestione dispositivi di I/O

File manager Gestisce la memoria secondaria  Associa un nome di file ad una parte dello spazio di memoria  Fornisce metodi per accedere ai file  Rende trasparente la struttura fisica della memoria  Ottimizza l’occupazione di memoria Organizzazione dei file in cartelle (directory), gerarchia di cartelle

File Unica unita’ logica di informazione usata dal SO Fisicamente:  sequenza di byte che contiene informazioni omogenee  Es.: programma, testo, dati simili, … Tutti i dati vengono suddivisi in file I file vengono memorizzati nelle memorie di massa

Organizzazione dei file in memoria secondaria Organizzazione gerarchica Solo logicamente, nessuna relazione con la posizione fisica sulle memorie di massa Directory: gruppo di file e altre directory, piu’ elenco

Gerarchia ad albero Albero rovesciato (come genealogico) Nodi e collegamenti padre-figlio tra nodi Nodo: file o directory Nodi divisi per livelli Collegamenti tra nodi di livelli vicini: nodo sopra = padre, nodo sotto = figlio Ogni nodo ha un solo padre Padre piu’ in alto = radice I nodi file non hanno figli Per individuare un file:  Cammino (path) assoluto o relativo  lista di nomi di cartelle directory file

Operazioni su file Creazione Apertura Chiusura Cancellazione Copia Rinomina Visualizzazione Lettura Scrittura Modifica …

Gestione dell’I/O Gestione delle periferiche Rende trasparenti le caratteristiche fisiche delle periferiche Gestisce la comunicazione di segnali verso di loro Coordina l’accesso di piu’ utenti (processi) Driver delle periferiche (uno per ogni periferica)

Gestione della memoria principale Coordina l’uso della memoria principale Un solo programma alla volta  semplice: il programma viene caricato in M, eseguito, terminato prima del prossimo programma Piu’ programmi contemporaneamente   piu’ programmi e dati in M  tenere traccia dello spazio libero o liberatosi dinamicamente

Memoria virtuale Quando lo spazio richiesto e’ maggiore di quello fisico Sposta programmi e dati tra memoria principale e memoria di massa per avere in ogni momento quello che serve Lo spazio richiesto’ e’ diviso in pagine (qualche Kbyte) Solo le pagine necessari per iniziare sono caricate in M, le altre sono in M di massa Poi vengono scambite a seconda della necessita’  Svincola il codice di un programma dalla sua collocazione in memoria  Funziona come se si avesse piu’ memoria di quella reale

Altri moduli del SO Schedulatore (gestore processi): decide quali attivita’ mandare in esecuzione Dispatcher (gestore processori): decide l’assegnazione dei quanti di tempo a tali attivita’

Struttura del SO Interfaccia nucleo verso l’esterno hardware File systemGestore I/O Gestore processi Gestore memoria Gestore processori Servizi richiesti dagli utenti al SO nucleo

Bootstrap: avvio del SO All’inizio, la CPU ha in indirizzo fissato nel registro contatore di programma Indirizzo nella ROM (Read Only Memory), con programma di bootstrap che e’ sempre memorizzato li’ Trasferisce una parte prestabilita della M di massa in M principale (kernel del SO) Salto all’area di M principale con SO

Bootstrap

Programmi e processi Programma: insieme statico di istruzioni Processo: entita’ che tiene traccia dello stato dell’esecuzione di un programma  Posizione nel programma  Valori dei registri della CPU  Valori delle celle di M assegnate al programma Anche piu’ processi per lo stesso programma  Es.: due utenti che usano Word per scrivere due documenti diversi

Esempio  Ricetta = programma  Noi = processore  Ingredienti = dati in input  Attivita’ di leggere la ricetta, usare gli ingredienti, mescolare, cuocere = processo  Telefonata durante l’esecuzione della ricetta = interrupt  Il processo interrompre l’esecuzione, prende nota del punto (riga della ricetta,...) e gestisce l’evento  Alla fine della telefonata, l’esecuzione riprende e viene conclusa  Dolce = output

Gestione dei processi Scheduler: tiene traccia di tutti i processi Tabella dei processi in M principale Nuova richiesta di esecuzione di un programma  nuovo elemento nella tabella dei processi  Area di M assegnata per quel processo  Priorita’  Pronto (per essere eseguito) o in attesa (di qualche evento)

Dispatcher Divide il tempo in quanti (< 50 millisec.) Da’ un quanto ad ogni processo, uno alla volta Alla fine del quanto, segnale che passa la CPU ad un altro processo pronto Prima di passare al prossimo processo, la CPU esegue il programma di gestione delle interruzioni  Aggiorna la tabella dei processi  Salva lo stato (registri, celle di M,...)  Sceglie un altro processo dalla tabella

Time-sharing (condivisione di tempo)

Attesa Se il processo richiede operazioni ad altri dispositivi (es. Operazioni di I/O), la CPU rimarrebbe inutilizzata  lo scheduler mette il processo in stato di attesa, e il dispatcher sceglie un nuovo processo tra i pronti dalla tabella Quando l’operazione sara’ finita, lo scheduler dichiarera’ di nuovo pronto il processo

Riassumendo... I processi sono messi in una coda dei pronti Il processo in cima alla coda ha a disposizione la CPU per un quanto di tempo, fissato e uguale per tutti Quando il tempo finisce, viene interrotto e messo in fondo alla coda Se richiede un’operazione di I/O, va nel gruppo dei processi in attesa, quando l’operazione finisce viene rimesso in coda per la CPU La CPU va al primo in coda (o altre strategie) Durante la vita di un processo, vari stati:  In esecuzione: quando usa la CPU (solo un processo alla volta)  Pronto: quando aspetta la CPU  Bloccato: in attesa di un evento (es.: fine di op. di I/O)

Transizioni tra stati di un processo In esecuzione pronti Coda ordinata in attesa della CPU In attesa Insieme in attesa di eventi schedulazione richiesta di I/O conclusione I/O fine tempo, evento esterno

Modello client-server Ogni processo puo’ avere due ruoli Client: fa richiesta ad altri processi e aspetta le risposte Server: esegue i servizi richiesti e da’ le risposte al client Su un singolo calcolatore o su rete

Domande su SO Differenza tra programma e processo Passi eseguiti per una interruzione Stati in cui si puo’ trovare un processo Passaggi da uno stato ad un altro Moduli del kernel del SO La shell del SO

MS - DOS Sviluppato dalla Microsoft nel 1981 per il PC IBM Adottato da altri con PC IBM- compatibili Molto limitato: mono-utente, mono- tasking Circa 50 comandi per il SO

Comandi piu’ usati in MS - DOS DIR per vedere il contenuto di una directory COPY per copiare file DEL per cancellare un file REN per cambiare il nome a un file CD per muoversi in un altra directory MD per creare nuove directory RD per cancellare directory Nome file: per eseguire il file (se eseguibile)

File in MS - DOS Per individuare un file: cammino assoluto Un file system per ogni disco  anche nome del disco Esempio: C:\Dir1\Dir2\Dir3\file.txt Estensioni per file: .exe per programma eseguibile .sys per driver di sistema .txt per file di testo .c per programma in C .doc per documento Word

Unix SO multi-utente, multi-tasking, con time- sharing Concepito per poter funzionare su diverse piattaforme hardware Interprete dei comandi: shell Piu’ di 300 comandi, con opzioni Comando man per aiuto Forma di un comando: nome-comando [[-opzioni] argomenti]

Comandi Unix ls per vedere il contenuto di una directory cp per copiare file rm per cancellare file mv per spostare file cd per spostarsi in un’altra directory mkdir per creare una nuova directory ps per vedere tutti i processi attivi lp per stampare file who per vedere tutti gli utenti collegati

File in Unix Unico albero anche se ci sono piu’ dischi  non serve indicare il disco per denotare un file Radice: simbolo / Esempio: /dir1/dir2/dir3/file.txt

Windows Nato nel 1987, ispirato al Macintosh All’inizio era un’interfaccia grafica per DOS Windows ’95: SO mono-utente, multi-tasking, time-sharing DOS emulato in speciali finestre (per seguire vecchi applicativi per DOS) Pensato per una stazione di lavoro (il PC) che puo’ essere un client in una rete

Filosofia Windows -- 1 Interfaccia grafica Mouse che sposta un cursore Cut & paste (copia e incolla) Drag & drop (trascina e lascia) Icone associate a file, directory, dischi, … Directory come cartelle Pulsanti Finestre: cornici con strumenti Menu di comandi

Filosofia Windows -- 2 L’utente non deve ricordarsi i nomi dei comandi, basta che selezioni col mouse:  un oggetto e  il comando da applicare all’oggetto File system (cioe’ l’albero): visualizzato come cartelle che contengono icone di file o di altre cartelle Cliccando su una cartella, si apre quella directory Icona del file: diversa a seconda del tipo di file

Word processor (editori di testi) Si sono diffusi assieme ai PC negli anni ’70 All’inizio, aspetto non importante: stampanti con pochi opzioni di caratteri Con l’avvento degli schermi grafici, ora su tutti i PC, tantissimi tipi e grandezze di caratteri Documento appare come sara’ stampato: WYSIWYG (what you see is what you get) Testo e grafici nello stesso documento

Word Il piu’ usato tra i word processor wysiwyg Microsoft Finestra in cui viene visualizzato il documento Cursore (barra verticale) indica il punto in cui si sta scrivendo Mouse per spostare il cursore Barra degli strumenti (parte alta della finestra) offre delle operazioni su porzioni di testo Menu che contengono operazioni correlate

Fogli elettronici (spreadsheet) Dati in forma tabellare (righe e colonne) Grafici basati su questi dati Visualizza una tabella organizzata in righe (1, 2, 3, …) e colonne (A, B, C, …)  ogni casella ha coordinate del tipo A3 Una casella puo’ contenere: numeri, testo, espressioni matematiche o logiche Cosa viene visualizzato in una cella? Numero o risultato dell’espressione

Collegamenti tra celle Tramite le espressioni Esempio:  La cella A1 contiene 5  La cella A2 contiene A1+1  nella cella A2 viene visualizzato 6  La modifica di A1 causa l’aggiornamento automatico di A2

Espressioni Somma, differenza, media,…, costanti numeriche, coordinate di altre celle Range: lista di celle adiacenti Esempio:  A2:A5  Media(A2:A5) o somma(A2:A5)

Excel Foglio elettronico di Microsoft per Windows Tabella = foglio di lavoro

Cose da sapere – sistemi operativi  A cosa serve il sistema operativo?  Che differenza c’e’ tra il software di base e il software applicativo?  A cosa serve la fase di bootstrap?  Quali sono i moduli principali di un sistema operativo?

Cose da sapere -- processi  Cos’e’ un processo? Che differenza c’e’ tra un processo e un programma?  Cosa si intende per ambiente mono-utente?  Cosa si intende per ambiente mono-tasking?  Qual’e’ il principale svantaggio di un ambiente mono-tasking?  Cosa si intende per ambiente multi-tasking?  Cosa si intende per time-sharing?  A che serve la coda dei processi pronti?

Cose da sapere -- processi  In quali stati puo’ essere un processo durante la sua vita?  Quando passa da uno stato ad un altro?  Cosa sono le interruzioni? A che servono?  Come vengono gestite le interruzioni?

Cose da sapere – processori e memoria  Quali sono i modi piu’ usati per gestire la coda dei processi pronti?  Cosa si intende per memoria reale e memoria virtuale?  A cosa serve la gestione della memoria secondaria?

Cose da sapere – file system  Cos’e’ un file?  Cos’e’ una directory?  Descrivi l’organizzazione gerarchica dei file sulla memoria secondaria.  Quali sono le differenze fondamentali tra I sistemi operativi DOS, Unix e Windows?

Cose da sapere – editori di testi e fogli elettronici  Cos’e’ un editore di testi?  Cosa si intende per elaboratore di testi wysiwyg?  Cos’e’ un foglio elettronico?  Come vengono collegate varie celle tra loro in un foglio elettronico, e a cosa serve questo collegamento?

Reti di calcolatori Rete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione Ogni calcolatore e’ un nodo, con un suo indirizzo di rete Storia:  Prime reti, anni ’70: un calcolatore potente e tanti terminali  Anni ’80: reti locali (un edificio). Es.: Ethernet  Anni ’90: reti metropolitane (una citta’) e geografiche. Es (rete geo): Internet

Servizi di rete Quando programmi su elaboratori collegati in rete si scambiano comandi e dati Esempi:  Posta elettronica  Telnet  FTP

Posta elettronica Consente lo scambio di corrispondenza tra utenti di sistemi collegati in rete Il ricevente viene individuato dal suo indirizzo:  nome utente + indirizzo di rete della macchina su cui lavora  Es.: Vantaggi:  Ricevere messaggi anche se assenti  Spedire messaggi a piu’ utenti Scrittura messaggio: sul client Invio e ricezione: mail server (uno per una rete)

Telnet o ssh Consente la connessione ad un server remoto Viene creato un ’’terminale virtuale’’ per lavorare su un elaboratore remoto Permette di accedere al proprio elaboratore, se collegato in rete, da qualunque altro punto della rete Basta specificare l’indirizzo del server Es.: ssh galileo.math.unipd.it Bisogna essere utenti autorizzati su quel server (nome utente e password)

FTP (File Transfer Protocol) Trasferire file da un elaboratore ad un altro (copia di un file tra due elaboratori in rete) Utenti riconosciuti sul server dove si vuole copiare Comandi in ambiente FTP:  Open per attivare la connessione con un server remoto (es.: open galileo.math.unipd.it)  Ls, cd per posizionarsi su un certo directory  Get, put per mettere o prendere un file  Close, bye per chiudere la sessione

Topologie di collegamento -- 1 Punto a punto: collega direttamente due nodi della rete Bus: unico canale trasmissivo per vari nodi (era usata per reti locali, ma poco tollerante ai guasti) Stella: un singolo elaboratore collegato punto a punto con tutti gli altri (molto usata per reti locali)

Topologie di collegamento -- 2 Anello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane) Maglia: collegamenti punto a punto  Maglia incompleta (ma tutti i nodi sono raggiungibili)  Maglia completa

Collegamenti tra reti Bridge (ponte): se le reti sono compatibili  Diventa una rete unica piu’ grande Router (instradatore): se non sono compatibili  Permette di mandare dati dall’una all’altra

Internet – storia 1 Nata negli anni ’60 col nome di Arpanet Obbiettivo: collegare in un unica rete tutti i calcolatori di vari siti militari Motivi:  condividere le ricerche  comunicare anche in caso di attacco nucleare (tanti cammini alternativi tra due calcolatori) All’inizio: 4 calcolatori negli USA

Internet – storia 2 Nel 1973: connessioni all’Inghilterra e alla Norvegia Anni ’80: anche altre grandi reti accademiche e scientifiche 1982: TCP/IP come protocollo standard Ora: Internet collega decine di migliaia di reti in tutto il mondo

Topologia di Internet Collezione di domini Ogni dominio e’ una rete con la sua topologia ICANN (Internet Corporation for Assigned Names and Numbers) assegna i domini Router (gateway) per agganciare un dominio al resto di Internet

Domini di Internet

Indirizzi su Internet Ogni computer ha un indirizzo univoco: indirizzo IP 32 bit: dominio (identificatore di rete) + calcolatore nel dominio (indirizzo host) Es.: Dominio di Addison-Wesley Indirizzo dell’host

Nomi per domini Anche indirizzo mnemonico per ogni dominio  Es.: aw.com com e’ un top-level domain (dominio di alto livello) Altri esempi: edu (universita’ americane), gov, org, it Nomi anche per i calcolatori all’interno di un dominio (scelti localmente)  Es. : pippo.aw.com

Posta elettronica su Internet Es.: unipd.it  Dominio di primo livello it (Italia)  Dominio di secondo livello unipd (Univ. Padova) Oppure: math.unipd.it Le persone in Internet sono individuate da un nome utente che e’ unico nel loro dominio. Es.: frossi e’ unico nel dominio math.unipd.it Posta elettronica verso una prsona di un dominio: server di posta elettronica Indirizzo: elettronica Di solito non si scrive  Es.:

Non solo posta elettronica Anche scambio di documenti multimediali (testo, immagini, suoni,...) e ipertestuali (collegati ad altri documenti) WWW= Ipertesto distribuito Ipertesto: documento testuale in formato elettronico dove la lettura non e’ sequenziale come nei normali libri, ma va da pagina a pagina collegata Collegamenti attraverso le hot word (parole sottolineate), su cui si puo’ cliccare per visualizzare un’altra pagina Collegamenti a pagine sullo stesso server o anche su un altro server  WWW (World Wide Web)

Architettura del WWW Software client (su ogni PC che vuole accedere ai documenti del WWW) e server (sui calcolatori dove sono i documenti richiesti) Programma client: browser, per visualizzare le pagine (testo, grafica, …) provenienti dal server con cui si comunica Il server la invia in formato HTML (Hypertext Markup Language): file di caratteri ASCII piu’ comandi per l’impaginazione e i collegamenti Browser piu’ usati: Netscape e Explorer

URL Ogni risorsa su Internet (pagina, file, immagine, …) e’ identificata dal suo URL (Uniform Resource Locator) Formato degli URL: protocollo://host.dominio/cammino/nome Protocollo: tipo della risorsa e protocollo da usare. Es.: file, ftp, http, telnet Host.dominio: indirizzo del server dove trovare la risorsa. Es.: cammino/nome individua il file nel file system del server. Es.:

Esempio di URL

Netscape Uno dei browser piu’ usati (assieme ad Explorer) Attivando Netscape, viene aperta una finestra dove vengono visualizzate le pagine ipertestuali di WWW Barra degli strumenti per controllare la navigazione in Internet  Spostarsi avanti e indietro fra le pagine gia’ caricate  Aprire una nuova pagina  Salvare una pagina sul proprio file system  Creare una lista di URL preferiti, per riaccedervi velocemente

HTML (Hyper Text Markup Language) Linguaggio per descrivere una pagina di ipertesto Specifica come dovra’ apparire quando sara’ visualizzata, quali collegamenti contiene e dove portano Comando in HTML: riguarda una porzione di testo, tag all’inizio e alla fine Es.: testo per il grassetto

Struttura di un documento HTML Titolo della pagina (viene usato dai motori di ricerca) Quello che sara’ visualizzato dal brower

Comandi di HTML Per definire un paragrafo (P) Per far apparire un testo in grassetto (B) o corsivo (EM) Per centrare un pezzo di testo (CENTER) Per realizzare una lista: primo elemento secondo elemento Per definire il colore dello sfondo: (codice RGB) Per inserire un collegamento: hotword html

Altro esempio di HTML

Motori di ricerca -- 1  Per poter accedere ad un sito Internet, dobbiamo sapere il suo URL  Troppi siti, e nuovi siti ogni giorno  non ci sono indici di tutti i siti  I motori di ricerca permettono di specificare alcune parole chiave, e trovano i siti piu’ rilevanti per queste parole  Alcuni motori di ricerca:     

Motori di ricerca -- 2  Per usare un motore di ricerca:  Andare al suo sito con un browser  Specificare le parole chiave in una mascherina  In pochi secondi si hanno le pagine rilevanti  Le pagine non vengono cercate in quel momento:  I motori di ricerca navigano continuamente su Internet, e a mano a mano che trovano nuove pagine le associano a certe parole chiave (es. quelle nel titolo)  Quando arriva una parola chiave, hanno gia’ le pagine relative a questa parola  risposta in breve tempo

Protocolli di rete -- 1 Come collegare in rete elaboratori diversi? Anni ’70:  Elaboratori tutti uguali  Stesso sistema operativo  Un solo mezzo trasmissivo

Protocolli di rete -- 2 In seguito, elaboratori diversi ma stesso software di base Ma se si collegano sistemi diversi? Necessita’ di uno standard che regoli la realizzazione del software di comunicazione

Protocolli di rete -- 3 Nel 1978 l’ISO (International Standard Organization) propose il modello ISO/OSI (Open System Interconnection) per specificare il modo in cui elaboratori diversi comunicano tramite la rete Architettura di rete strutturata in sette livelli

Esempio: spedizione di un pacco Alla partenza:  Noi: Scriviamo l’indirizzo e diamo il pacco ad una ditta di spedizioni  Ditta di spedizioni 1: mette il pacco insieme ad altri in un container e lo da’ ad una compagnia aerea  Compagnia aerea: carica il container sull’aereo, fa il viaggio aereo All’arrivo:  Compagnia aerea: scarica il container e lo mette negli spazi della ditta di consegne 2  Ditta di consegne 2: estrae il pacco dal container e lo consegna all’indirizzo  Destinatario: riceve il pacco

Schema a tre livelli per l’esempio

Comunicazione su Internet Quattro livelli di software:  Applicazione (application)  Trasporto (transport)  Rete (network)  Connessione dati (data link)

Livello applicazione Software di utilita’ per richiedere la comunicazione via Internet Es.: FTP (software per trasferire file tra calcolatori) Es.: telnet o ssh (software per accedere ad un calcolatore in rete come se fossimo utenti locali) Analogo di noi che facciamo il pacco e scriviamo l’indirizzo giusto: deve specificare l’indirizzo IP del calcolatore con cui comunicare Aggiunge anche il numero di porta dell’applicazione

Livello trasporto Accetta messaggi dal livello applicazione Li divide in pacchetti e spedisce i pacchetti  Nei punti di smistamento di Internet, un messaggio lungo costringerebbe tutti gli altri messaggi ad aspettare la sua trasmissione completa Ad ogni pacchetto aggiunge:  dei bit per riconoscerli e riassemblare il messaggio alla destinazione  l’indirizzo IP della destinazione Passa i pacchetti cosi’ trasformati al livello di rete

Livello di rete Manda ogni pacchetto come un messaggio a se’ stante  Anche percorsi diversi per pacchetti dello stesso messaggio Controlla che i pacchetti arrivino a destinazione Ad ogni nodo intermedio, decide l’instradamento del pacchetto, cioe’ l’indirizzo di destinazione intermedia Aggiunge questo indirizzo al pacchetto e lo passa al livello di connessione

Livello connessione Traduce gli indirizzi di Internet associati ai pacchetti nel sistema di indirizzamento della rete di destinazione Reti diverse, esistenti anche prima di Internet

All’arrivo... Ogni pacchetto viene ricevuto dal livello connessione Lo passa al livello di rete Se destinazione finale = indirizzo locale   Lo passa al livello trasporto  Quando tutti i pacchetti arrivano al livello trasporto, ricostruisce il messaggio e lo passa al livello applicazione (col numero di porta giusto) Altrimenti, aggiunge un nuovo indirizzo intermedio e lo ripassa al livello connessione Solo livello connessione e rete nelle fermate intermedie

Riassumendo Livello applicazione: messaggi e indirizzi per un software di utilita’ Livello trasporto: da messaggi a pacchetti e viceversa Livello di rete: instradamento pacchetti attraverso Internet Livello connessione: trasmissione pacchetti tra computer all’interno di una rete Tempo totale: millisecondi

Livelli di Internet

TCP/IP Famiglia di protocolli a quattro livelli per Internet TCP e IP sono due protocolli a quattro livelli TCP e’ una versione del livello trasporto  Annuncia il messaggio al livello trasporto del calcolatore ricevente, e aspetta conferma della ricezione IP e’ lo standard per il livello di rete  Ogni volta che passa un pacchetto al livello connssione, aggiunge il tempo di vita (numero massimo di passaggi su rete), cosi’ si buttano i pacchetti persi  Es.: 64 e’ sufficiente

Protocollo ISO/OSI -- 1 Livello 7 – applicazione:  Fornisce i servizi che eseguono le applicazioni utente  Definisce le specifiche dei programmi che permettono di usare la rete (trasferimento file, condivisione risorse, …) Livello 6 – presentazione:  traduce i dati trasmessi sulla rete nel formato adatto al sistema di destinazione

Protocollo ISO/OSI -- 2 Livello 5 – sessione:  Gestisce il dialogo tra due programmi applicativi sulla rete, e il loro scambio di dati  Esempio: gestisce la ripresa di un trasferimento di file dopo un’interruzione per malfunzionamento su una linea Livello 4 – trasporto:  Controlla il trasferimento dei dati verso il nodo destinazione  Decomposizione in pacchetti  Controllo e correzione degli errori  Ricomposizione di pacchetti nel corretto ordine

Protocollo ISO/OSI -- 3 Livello 3 – rete:  Sceglie il percorso di rete piu’ adatto per giungere al nodo destinazione  Trova percorsi alternativi in caso di guasti Livello 2 – data link:  Gestisce la trasmissione affidabile dei dati tra due nodi adiacenti  Aggiunge codici per il controllo degli errori  Definisce le procedure di accesso ai mezzi trasmissivi condivisi Livello 1 – livello fisico:  Definisce gli aspetti elettrici e meccanici del collegamento tra due nodi  Caratteristiche cavi e connettori  Codifica dei bit per la trasmissione

Protocollo ISO/OSI -- 4 La trasmissione dei dati avviene solo al livello piu’ basso (livello 1) Ogni livello N comunica, tramite i livelli sottostanti, con il livello N dell’altro nodo Ogni livello aggiunge, ai dati che vengono dal livello superiore, delle informazioni di controllo, e passa il risultato (dati + info di controllo) al livello sotto I dati prodotto dal livello 1 vengono trasmessi

Protocollo ISO/OSI -- 5 Dati da trasferire

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4 Livello 3

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4 Livello 3 Livello 2

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4 Livello 3 Livello 2 Livello 1

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4 Livello 3 Livello 2 Livello 1 Al nodo destinazione

Cose da sapere -- reti  Cos’e’ una rete di calcolatori?  Che differenza c’e’ tra reti locali, reti metropolitane, e reti geografiche?  Cosa si intende per servizi di rete?  Fai degli esempi di servizi di rete  A cosa servono i servizi telnet e FTP?  Come si fa a collegare in rete calcolatori diversi e con SO differenti?  Cos’e’ il protocollo ISO/OSI?  Come sono fatti i protocolli a quattro livelli, e che ruolo ha ciascun livello?

Cose da sapere – reti e Internet  Quali sono le principali topologie di collegamento per le reti?  Cos’e’ Internet?  Come vengono individuati i nodi di Internet?  Cos’e’ un dominio?

Cose da sapere – WWW  Cos’e’ il WWW?  Cos’e’ un ipertesto?  Come sono collegate le pagine di WWW?  Cos’e’ un browser? A che serve?  Descrivi il sistema client-server di WWW  Cos’e un URL? Come e’ fatto? A che serve?  In che formato sono scritte le pagine del WWW?  A che servono i motori di ricerca?