Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

comunicare Cpu e i dispositivi. Esistono interfacce di diverso tipo a seconda del dispositivo che si

vuole connettere, alcune sono posizionate direttamente sulla scheda madre, altre su schede di

espansione. SCHEDE DI ESPANSIONE:adattatori.inserite negli SLOT della motherboard:schede

video,audio,di rete.

PORTE PS/2: connessioni rotonde di tipo SERIALEà1 bit alla volta.Connettono Mouse e Tastiera.

Connessione USB(Universal Serial Bus): bus esterno molto veloce, può connettere periferiche

diverse. SISTEMA PLUG&PLAYàcapacità del pc di riconoscere e configurare nuovi dispositivi

quando vengono collegati mediante un’interfaccia.

PORTE PARALLELE: traferiscono contemporaneamente più bit(x es.stampante).

DRIVER: software di gestione del dispositivo,permette la comunicazione col processore. TUTTI le

periferiche ne hanno bisogno(anche l’HD e i CD e DVD).

I dispositivi operano in modo ASINCRONO rispetto al Cpu,devono quindi avvertire il Cpu,sia in

input che in output. Il SO gestisce la SINCRONIZZAZIONE tra i programmi in esecuzione e i

dispositivi, avviene mediante un segnale di INTERRUPT (segnale inviato al Cpu quando i dati

sono disponibili in Input e terminati in Output). L’UC a ogni ciclo di clock prima di iniziare

l’esecuzione verifica se è giunto un segnale di Interrupt.

TASTIERA: Dispositivo di Input. Tasti alfanumerici, Tasti speciali (enter,backspace), frecce

direzionali, tasti funzione. Il SO (driver) preleva il carattere, lo deposita nel BUFFER di tastiera,e

passa i dati al programma a cui i dati erano destinati,che così da “In Attesa” passa allo stato di

“Pronto” (x es.Word). Attualmente non è piu collegata con PS/2,ma con USB.

à

VIDEO: Output, è il SO che riproduce sul video le info fornite dalla tastiera ECO LOCALE.

segnale lampeggiante = CURSORE. Word o blocco note = EDITOR DI SCHERMO.

L’ immagine è composta accendendo o spegnendo i Pixel.

Ci sono video a CARATTERE (più vecchi) e i video GRAFICI (qualunque immagine x es. con

65536 colori). I piu sofisticati: 4096X3300 pixel con 16 milioni di colori.

Dimensione misurata in pollici(1 pollice=2,5 cm).

REFRESH RATE:frequenza di aggiornamento di immagine

àMULTISYNC(video si adatta alla rate).

PROFONDITA del colore = numero massimo supportabile.

DIVERSI TIPI DI SCHERMI:

Tubo catodico:bombardamento di elettroni.

LCD:cristalli trasparenti se carichi.1995 escono Lcd a matrice attiva(TFT,Thin Film

Transitor)àrisoluzione alta e immagini ferme.

STAMPANTI: è un dispositivo di output, permette la stampa su carta delle informazioni.

FONT: carattere, ne esistono di diversi tipi. La dimensione dei caratteri viene misurata in Pica (1/6

di pollice) e in PUNTI (1/72 di pollice).

La qualità della stampa si misura in punti per pollice.

DIVERSI TIPI DI STAMPANTI:

à

- Stampanti ad AGO da 9 a 24 aghi,la precisione dipende dagli aghi. Economiche, copia

multipla ma rumorose. à

- Stampanti a GETTO DI INCHIOSTRO piu silenziose e qualità piu alta, inchiostro liquido

spruzzato sul foglio. L’inchiostro è magnetizzato. 1)Piezoelettrica: cristalli caricati

elettricamente che si espandono facendo uscire inchiostro. 2) Termica: cristallo riscaldato x

esplodere. 3) Flusso continuo: Si mescolano i tre colori CMY. Risoluz massima 4800X1200

DPI(Dots Per Inch).

- Stampanti LASER: più sofisticate e costose. Inchiostro in polvere (Toner) depositato su un

rullo. Stampanti particolari:funzionano mediante LED. Le porte per le stampanti possono

essere parallele,usb.

SCANNER: usa un software OCR (Optical Character Recognition), è in grado di leggere

un’immagine e creare la sua rappresentazione bitmap o il suo carattere ASCII.LETTORI DI

CODICI A BARRE: leggono le informazioni mediante il codice usato dai codici a barre.

SCHEDE AUDIO (Sound Blaster): producono suoni e gli altoparlanti lo emettono.

SCHEDE VIDEO: servono x la gestione del video. Si differenziano x la risoluzione grafica e le

relative caratteristiche.

SCHEDE DI RETE: connessione dell’elaboratore con rete locale, spesso sono chiamate

NIC(Network Interface Controller).

PLOTTER:stampa di grafici e disegni.

FOTOCAMERE E TELECAMERE DIGITALI:facilmente collegabili con usb.

CAP 4: IL SOFTWARE

Insieme di programmi che stabiliscono le procedure di funzionamento della macchina e che si

trovano registrati sui dischi o nella memoria, permettono di trasformare un insieme di circuiti

elettronici in un oggetto capace di svolgere delle funzioni. Al di sopra della macchina Hw si crea un

livello software che realizza una macchina virtuale astratta con le funzionalità desiderate. Viene

realizzata mediante un insieme di programmi che realizzano il software di base. Ogni elaboratore ha

un suo linguaggio macchina, un linguaggio di programmazione le cui istruzioni sono direttamente

eseguibili sulla macchina Hw. Il software di base fornisce un insieme di comandi, linguaggio

comandi, che la macchina è in grado di eseguire. Non vi sono limiti al numero di macchine virtuali

che possono essere realizzate sulla macchina fisica, secondo una struttura a cipolla.

Un'organizzazione a più livelli permette di ridurre la distanza tra due livelli consecutivi e questo

facilita la traduzione da un livello a quello successivo. Livelli intermedi permettono la definizione

di linguaggi via via sempre meno astratti e quindi di passare da una traduzione complicata a

traduzioni semplici. Si può pensare di annullare la differenza tra due macchine Hw diverse

definendo una sorta di linguaggio macchina generico. La macchina virtuale potrà eseguire solo

quelle funzioni che possono essere sviluppate dalla macchina fisica, la differenza tra le due

macchine è solo nel livello di astrazione che fornisce all'utente.

Il software di base svolge funzioni proprie del sistema operativo e funzione di traduzioni tra

linguaggi diversi. I programmi che formano il OS si occupano di:

configurazione e accensione macchina

– gestione informazioni in memoria secondaria

– strumenti per l'accesso ai dati

– gestione CPU e RAM

– gestione risorse

– interazione utente e sistema

– comunicazione tra gli utenti e tra gli elaboratori

– interpreti e compilatori,cioè strumenti x passare da programmi ad alto livello a programmi

– scritti in linguaggio macchina

sviluppo di programmi

CAP 5: SISTEMA OPERATIVO

Il sistema operativo (S.O.) è formato da un insieme di programmi che interagiscono e cooperano tra

loro per:

Gestire l’elaboratore e le sue periferiche e garantire che le risorse siano gestite nel modo

– ottimale

Creare un ambiente virtuale per facilitare l’interazione uomo-macchina

Ogni livello fornisce un insieme di funzioni e servizi a partire dalle funzioni e dai servizi forniti dal

livello sottostante. Il livello più basso è il KERNEL, il più vicino all’Hw e dipendente da esso. I

livelli più alti sono più vicini agli utenti e ai programmi applicativi. Per la scrittura del software di

base vengono usati il linguaggio C e C++. Il sistema operativo deve garantire che le risorse

dell'elaboratore siano usate in modo ottimale nel minor tempo possibile e con contemporaneità tra

utenti.

Il OS è fermo, detto event-driven, si sveglia all'accadere di determinati eventi, è guidato da essi.

Eventi Hw, o interrupt, segnali Hw inviati dai controller dei dispositivi.

Eventi software o eccezioni:

accidentali o trap, si verificano quando un programma in esecuzione provoca un errore

– volontari o system call, si verificano quando un processo utente chiede all'OS di svolgere

un'operazione delicata.

Per il corretto funzionamento dell'elaboratore vi sono due modalità di controllo: il bit di modalità,

che ha la funzione di indicare se la funzione corrente è in esecuzione per conto del sistema o di un

processo utente(0, modalità utente, 1 modalità kernel). La modalità kernel viene usata per

operazioni delicate. Se un programma utente prova a eseguire istruzioni di questo tipo si genera un

trap. Per tali istruzioni l'utente deve demandarne l'esecuzione al OS mediante system call.

L'avviamento dell'elaboratore prende il nome di bootstrap, fase in cui programmi e dati vengono

caricati in memoria principale(programmi per gestione processi e processore, memoria,periferiche,

file system,interfaccia). Una parte del OS va sempre mantenuta in memoria e deve essere sempre

pronta per l'esecuzione. In questa fase vengono identificate le periferiche e per ciascuna viene

avviato il programma di gestione. Vengono prima ricercati i CD o dispositivi rimovibili, e poi in una

posizione particolare nell'HD. Così facendo è possibile un sistema diverso da quello installato ed è

possibile eseguire operazioni di ripristino di sistema. Il OS deve gestire il processore, il cui ruolo è

eseguire i programmi, considerato che un processo è un programma in esecuzione.

Il OS può essere mono-tasking o multi-tasking(multi programmato). Con il mono-tasking vi può

essere all'interno del sistema un solo processo attivo, eseguendo i programmi in maniera

sequenziale(MS/DOS). Qualunque processo alterna fasi diesecuzione a fasi di attesa di qualche

evento esterno, ad esempio del termine di un'operazione di input di dati o di una risorsa occupata.

Mentre il processo attivo è bloccato in attesa di un evento esterno il CPU è inattivo in uno stato di

idle, sotto-utilizzato.

Il multi-tasking permette un'esecuzione contemporanea ed alternata di più programmi sullo stesso

processore. Il processore viene alternato tra i processi, in modo da ridurre i tempi di inattività del

CPU. Il numero di processiattivi è detto grado di multi-programmazione. Dal punto di vista del

CPU in ogni istante vi è un solo processo in esecuzione. Un processo può trovarsi in tre stati

diversi: in esecuzione, usato dal CPU

– in attesa o bloccato, in attesa di un evento esterno

– pronto, è in grado di utilizzare il CPU

Un processo può abbandonare lo stato di esecuzione x 3 motivi:

Terminazione, termina e abbandona il sistema

– richiesta di un'operazione di input/Output o di una risorsa occupata. Il processo va in attesa

– cambio di esecuzione, per realizzare equamente l'alternanza tra i vari processi

vi sono tre famiglie di sistemi multi-programmati:

batch,a lotti, è nato per l'esecuzione di programmi compute bound(processi che effettuano

– lunghe computazioni senza la necessità di frequenti interazioni con l'esterno, come i

programmi usati in campo matematico e fisico) in cui l'utente richiede l'esecuzione di un

programma, se ne disinteressa, e ritorna dopo un certo tempo a recuperarne i risultati. Un

processo rimane così in esecuzione fino a quando non è terminato o va in attesa

time-sharing, interattivo, serve per la gestione di elaboratori con sistemi operativi multi-

– utente,per l'esecuzione di programmi I/O bound, ossia programmi che hanno una frequente

interazione con l'utente.

real-time, in tempo reale, serve a soddisfare esigenze di esecuzione in ambiti in cui il tempo

– di reazione dei programmi è critico, rispettando vincoli ditempo di esecuzione e di risposta.

OS mantiene in una zona di memoria riservata la tabella dei processi, PCBT(process control block

table) in cui vengono registrate le informazioni sui processi attivi. TCBT ha un descrittore per ogni

processo in cui sono memorizzate:

identificatore del processo(nome univoco)

– identificatore dell'utente proprietario, permette di realizzare meccanismi di protezioni in

– sistemi multi-utente

stato del processo

– il valore del registro PC, che permette di ricordare a che punto è arrivato il processo

– nell'elaborazione

il contenuto di tutti i registri

– informazioni sui file e sulle risorse Hw in uso

– informazioni sull'uso della RAM e HD

– informazioni per lo scheduling

ogni volta che un processo viene fermato per eseguirne un altro, non basta ricordare il valore del PC

ma occorrono alcune operazioni che vanno sotto il nome di cambio di contesto:

si salva il contenuto di tutti i registri del CPU nel descrittore della tabella dei processi di P1

– che è sospeso;

si seleziona un processo P” pronto per l'esecuzione

– si copiano nei registri del CPU i valori dei registri salvati nel descrittore del processo P2, per

– poter ripristinare lo stato in cui si trova P2 al momento della sospensione; se P2 non era

stato eseguito in precedenza è sufficiente caricare nel registro PC l'indirizzo della prima

istruzione.

Così facendo quando un processo riparte si ritrova nella situazione in cui era quando era stato

sospeso.

POLITICHE DI GESTIONE(SCHEDULING)

Strategie usate nella selezione del prossimo processo da mandare in esecuzione. Servono a :

Massimizzare il grado di utilizzazione del processore

– Massimizzare il numero di programmi che vengono eseguiti nell’unità di tempo, cioè il

– throughput del sistema, in modo tale che CPU lavori il più possibile

Minimizzare il tempo di esecuzione dei processi, tempo di turnaround (tempo tra l’inizio e

– la fine di un processo)

Minimizzare il tempo d’attesa dei processi.

Lo scheduling può essere a breve termine, e può essere diviso in due famiglie:

politiche non-preemptive(non può essere interrotto), il processo in esecuzione può essere

– sostituito solo se si ferma volontariamente, ossia va in attesa solo se ha bisogno di un evento

esterno.

politiche preemptive, OS può decidere di bloccare il sistema per mandarne un altro in

– esecuzione. Lo stato di esecuzione ha tre possibili transizioni uscenti: terminazione del

processo, sospensione in attesa di un evento esterno, sospensione da parte di OS. La

selezione di un processo da mandare in esecuzione prevede varie politiche di scheduling:

FCFS(first come first served), i processi sono eseguiti nell'ordine in cui vengono

• sottomessi al sistema. La coda dei processi pronti viene gestita selezionando il prossimo

percorso da mandare in esecuzione dall'inizio della coda, e inserendo in fondo alla coda i

processi che diventano pronti. Ogni volta che il processore è libero,viene selezionato e

mandato in esecuzione il primo processo della coda. Rimane in esecuzione fin quando

non termina o in attesa.

SJF(Shorted Job First), politica non-preemptive, viene selezionato il processo che

• richiede meno tempo per terminare o andare in attesa. Così facendo si ottiene il minimo

tempo medio di turnaround, il tempo medio di attesa nei processi della coda dei pronti è

minimo.

SRTF(shortest remaining time first), politica preemptive, si manda in esecuzione il

• processo più breve, che può essere interrotto se nel frattempo è diventato pronto un

processo che richiede meno tempo per terminare. Quando un P diventa pronto, si deve

confrontare il suo tempo di esecuzione con con il tempo di esecuzione residuo del

processo che sta usando la CPU. Se il tempo richiesto del nuovo processo è minore si

effettua uno switch di contesto, altrimenti il P in esecuzione continua.

Selezione con priorità, occorre associare una priorità ai processi ed ogni volta si

• seleziona dalla coda dei pronti il processo che ha la priorità più alta. La variante

preemptive di questa politica prevede un cambio di contesto se P2 ha una priorità più

alta, mentre nella variante non-preemptive il processo rimane in esecuzione fino a

quando non va in attesa, anche se diventano pronti dei processi con priorità maggiore. La

priorità può essere definita in base al tipo di programma, al proprietario del processo,

alla lunghezza del programma, al tempo già trascorso in esecuzione.

RR,(Round Robin), politica preemptive basata sul concetto di quanto di tempo(time-

• slice). Ad ogni processo che viene mandato in esecuzione è assegnato lo stesso quanto di

tempo prefissato entro il quale esso dovrà abbandonare lo stato di esecuzione. Sono

possibili due comportamenti: o il processo va in attesa o termina, oppure scade il quanto

di tempo, e quindi il processo viene fermato e ritorna in ultima posizione nella coda dei

processi pronti. Questa politica permette un'esecuzione alternata: è ottimale in un

sistema interattivo in cui vi sono molti processi di vari utenti e si vuol dare l'impressione

che l'esecuzione avvenga in contemporanea. Se la durata del quanto di tempo è troppo

breve si ha uno scambio di esecuzione marcato, ma si hanno anche molti contest switch

con una conseguente perdita di tempo. Se il tempo di quanto è troppo lungo si rischia di

cadere nella FCFS.

Le politiche possono essere eque e non eque: è equa se garantisce che ogni processo prima o poi

verrà selezionato e andrà in esecuzione, non è equa quando c'è il rischio che un processo pronto sia

costretto ad aspettare in eterno perchè non arriva mai il suo tempo, come nel caso della politica con

priorità.

Lo scheduling può anche essere a lungo termine: esso prevede un'ulteriore coda di processi in

anticamera e ammettere questi processi alla coda dei pronti quando gli altri terminano. Ogni volta

che un P termina viene ammesso alla coda dei pronti quello che era in anticamera da più tempo, per

cui è possibile adottare una politica FCFS per questa nuova coda. Nel caso in cui nel sistema vi

siano sia processi compute bound che processi I/O bound si può adottare una politica che adotta sia

la tecnica RR che le politiche con priorità.

Quando vi sono più processi in esecuzione contemporanea possono nascere conflitti o competizioni,

oppure può capitare che i processi debbano scambiarsi delle informazioni. Quasi tutte le risorse

hardware e software sono di tipo seriale,ovvero possono essere usate da un solo processo alla volta.

I problemi di mutua esclusione vengono risolti con la tecnica del semaforo, ovvero ad ogni risorsa

seriale viene associato un semaforo, ovvero un bit, che può assumere due valori: verde o rosso.

GESTIONE DELLA MEMORIA PRINCIPALE

un programma per essere eseguito deve risiedere nella memoria principale, così come i dati su cui

esso opera. Di solito vengono destinate al sistema operativo le prime o le ultime celle della

memoria, e viene lasciato il resto della memoria al singolo processo utente. Per evitare che il P

utente danneggi il sistema operativo riuscendo a scrivere o leggere celle di memoria riservate gli

elaboratori usano un registro speciale del CPU, il registro staccionata(fence) che contiene l'indirizzo

dell'ultima cella riservata al sistema operativo. Ad ogni accesso in memoria l'Hw verifica che

l'indirizzo sia maggiore di quello nel registro fence, viene segnalato un errore di violazione di

indirizzo e il processo utente viene fatto terminare. Nel caso di un sistema multi-programmato in cui

più programmi vengono eseguiti in alternanza vi sono due tecniche:

sistema a partizioni multiple con allocazione continua, dove ogni partizione deve contenere

– integralmente l'immagine di un processo. Per tener traccia delle zone di memoria in cui sono

caricati i programmi è sufficiente mantenere nel descrittore di ciascun processo l'indirizzo

iniziale della partizione in cui esso è caricato. Ad ogni processo deve essere consentito di

leggere e scrivere solo in tale partizione per non danneggiare l'esecuzione degli altri. La

partizione della memoria può essere:

fissa, il numero e le dimensioni delle partizioni vengono scelte nella fase di

• configurazione del sistema operativo, può causare frammentazione, ossia spreco di

memoria. La frammentazione può essere interna, ossia dentro una partizione, o esterna,

quando ad esempio un'intera partizione viene sprecata perchè è troppo piccola per

contenere l'immagine di un qualunque processo. Con questa tecnica si pongono dei limiti

sulle dimensioni dei processi eseguibili. Non sarà possibile eseguire un processo la cui

immagine abbia dimensioni più grandi della partizione. La necessità di dover creare una

partizione con dimensioni tali da contenere il processo più grande aumenta i problemi di

frammentazione interna. Se un processo da 250 Mb viene eseguito raramente, e la media

dei processi è di 100 Mb, tale partizione sarà usata raramente con grande spreco di

spazio.

Variabile, le partizioni vengono create dinamicamente a seconda delle necessità. I criteri

• di scelta di partizione sono il best fit, che prevede di caricare il P nella partizione più

piccola che lo contiene; ciò permette di minimizzare localmente la frammentazione

esterna. Oppure il worst fit, che prevede di caricare un processo nella partizione più

grande, in modo tale da avere spazi avanzati grandi che permettono di caricare ulteriori

processi. Nel caso di un processo grande, dove la somma degli spazi liberi lo può

contenere, ma non vi è un unico spazio che lo possa contenere, si può effettuare una

compattazione della memoria, ossia spostare tutte le zone occupate verso uno dei due

estremi in modo da creare una sola zona libera.

sistemi ad allocazione non contigua, l'immagine di un processo viene divisa in più parti che

– possono essere caricate in memoria separatamente. Ciò obbliga a tener traccia degli indirizzi

di memoria in cui esse sono caricate. Si ha una segmentazione, ossia l'immagine del

processo è stata suddivisa in segmenti che vengono caricati in memoria separatamente. Le

diverse parti possono essere caricate indipendentemente in memoria con il vantaggio

che,essendo più piccole, si semplifica la gestione dello spazio e diminuiscono i problemi di

frammentazione. Lo svantaggio è che occorre ricordarsi come è stata suddivisa l'immagine e

dove si trovano in memoria i vari pezzi.

La tecnica di paginazione fa sì che tutti i segmenti abbiano la stessa dimensione,che viene

– stabilita dal sistema operativo. La memoria è suddivisa in un insieme di blocchi della stessa

dimensione(1Kb – 4Kb). Le immagini dei processi vengono suddivise in pagine uguali tra

loro e con la stessa dimensione dei blocchi di memoria. Le pagine vengono caricate in modo

sparso, ed il OS tiene traccia nella tabella dei processi di dove sono caricate le pagine di

ciascun processo.

GESTIONE DELLA MEMORIA VIRTUALE

Un OS multi-programmato vuole che ogni utente possa scrivere programmi grandi almeno fino alla

memoria reale contemporaneamente ad altri. Vi sono due tecniche mutuamente esclusive per la

gestione della memoria virtuale:

le immagini dei processi vengono alternate all'interno della memoria centrale; al momento

– dello switch di contesto del CPU si esegue anche un'operazione di swapping, cioè uno

scambio dei processi nella memoria principale. Per realizzare lo swapping si dovrà disporre

di un ulteriore spazio di memoria. Lo swapping funziona così: alla creazione di un processo

la sua immagine viene posta in memoria secondaria, che verrà caricata nella memoria

principale non appena vi sarà uno spazio libero. Quando un P in esecuzione si ferma, perde

l'uso del processore e può anche esser tolto dalla memoria e messo in stato di attesa. Quando

un P esce dallo stato di attesa sarà in stato di pronto quando si sarà liberato dello spazio per

essere caricato in memoria. La coda dei processi viene gestita con una politica FCFS. Lo

swapping può essere realizzato sia con partizioni fisse che variabili. Consente di avere uno

spazio virtuale grande al più come la memoria reale.

le immagini dei processi vengono caricate nella memoria centrale a pezzi, cioè quella parte

– del programma e dei dati che servono durante una certa fase dell'elaborazione, mentre le

altre parti possono essere tenute in memoria secondaria.

Per realizzare il concetto di memoria virtuale occorrono la memoria principale in cui tenere solo i

programmi, e una memoria secondaria in cui mantenere tutte immagini dei processi che verranno

caricate.

DEMAND PAGING

Propone di tenere in memoria solo alcune parti delle immagini dei processi, purchè sia sempre in

grado di caricare le altre parti quando servono. Nella paginazione l'immagine di un processo viene

suddivisa in pagine di dimensioni uguali, caricate in memoria principale in modo indipendente.

Anche la memoria principale dev'essere suddivisa in un certo numero di frame, e il OS deve tener

traccia dei frame liberi e di quelli occupati in una tabella detta tabella dei blocchi, frame table. Ogni

cella della memoria virtuale del processo P avrà un indirizzo virtuale e le istruzioni del codice P

faranno riferimento agli indirizzi virtuali. Gli indirizzi virtuali vengono rappresentati mediante una

coppia di numeri: il N della pagina in cui si trova l'informazione, l'indirizzo relativo all'interno di

tale pagina(offset). Al momento della creazione di P, la pagina 0 che contiene l'inizio del

programma , deve essere caricata in un frame libero. P inizia quindi l'elaborazione che continuerà

fino a quando si hanno dei riferimenti ad indirizzi all'interno della pagina 0. Non appena

l'esecuzione fa riferimento ad un indirizzo che si trova in un'altra pagina si ha un page fault, cioè un

indirizzamento ad una pagina che non è correntemente caricata in memoria. Il processo P viene

bloccato e messo nello stato di attesa. A questo punto OS deve fare in modo che la pagine venga

caricata all'interno della memoria principale. Nel frattempo un altro processo, le cui pagine sono

caricate già in memoria, entra in esecuzione. Non appena la pagina richiesta viene caricata in

memoria il processo P può ritornare nello stato di pronto. Il OS ricorda nella tabella delle pagine le

seguenti informazioni:

se la pagina si trova in memoria principale

– se è in memoria principale, l'indirizzo del frame

– se non è in memoria principale, qual è il suo indirizzo in memoria secondaria in modo da

– poterla ricordare quando serve.

La tabella ha tante righe quante sono le pagine del processo. Alla creazione di un P tutte le sue

pagine si trovano in memoria secondaria. Quando P diventa pronto tutte le sue pagine vengono

caricate in memoria principale.

Se in memoria non vi sono frame liberi si può eliminare una pagina dalla memoria principale per far

posto alla nuova pagina, scegliendo come pagina da eliminare una che non servirà più in futuro. Se

tale scelta viene fatta male si rischia che si generi il fenomeno di trashing, che vede i processi a

perdere tempo a paginare, e di conseguenza si può avere il blocco totale del sistema. La pagina

eliminata dovrà essere copiata in memoria secondaria.

FILE SYSTEM

Il file system è quella parte di sistema operativo che si occupa di gestire e strutturare le

informazioni. Le informazioni vengono memorizzate in blocchi, record fisici: un blocco è la

quantità di informazione che viene letta o scritta in un'operazione di I/O. Le informazioni sonon

memorizzate in tracce concentriche e settori: ogni blocco è l'intersezione tra una traccia ed un

settore. Il file system è costituito da un insieme di programmi che devono fornire all'utente una

visione logica dei file e utilizzare lo spazio sui dischi in modo ottimale, così come gestire i file nella

memoria di massa. L'utente deve poter identificare ogni file con un nome logico, avere un insieme

di operazioni per lavorare sui file, effettuare l'accesso alle informazioni, poter organizzare in

sottoinsiemi un insieme di file, avere dei meccanismi per poter proteggere i file in un sistema multi-

utente.

I nomi simbolici di un file, in base al sistema operativo, hanno dei vincoli sulla lunghezza, sul tipo

di carattere. Un OS deve permettere la creazione di directory(folder), all'interno delle quali vi

possono essere dei file con lo stesso nome, purchè siano in due directory differenti. I file in ogni

directory possono essere suddivisi in sotto-directory , che sono rappresentati mediante alberi(radice

→ padre → discendente). Per identificare un file in modo univoco si deve specificare l'intera

sequenza di directory partendo dalla radice dell'albero(pathname, cammino da compiere per

raggiungere un determinato file).

Per poter creare, rimuovere, copiare,spostare, rinominare, elencare il contenuto di una directory

sono necessari in un sistema multi-utente dei meccanismi di protezione che permettono di

specificare le operazioni possibili sui file di sua proprietà:

login e password

– directory di proprietà all'interno di un albero dei file

– specificare le operazioni consentite su file o cartelle

– suddivisione in gruppi ai quali sono concesse o meno determinate operazioni

Per quanto riguarda la memorizzazione, un disco viene suddiviso in due parti: device directory,

usata per tener traccia dei file memorizzati sul disco, e lo spazio su disco effettivamente in uso.

Ogni elemento prende il nome di file descriptor e contiene varie informazioni riguardanti un file o

una directory(nome,data,dimensione,nome del proprietario,descrizione delle protezioni, tipo di file,

luogo del file). Nel caso di una directory logica si hanno informazioni quali il nome,la data di

creazione, nome del proprietario, descrizione delle protezioni, elenco di file e sotto-directory in esso

contenuti. Nel descrittore di una directory è sufficiente memorizzare l'elenco degli indici dei file

descriptor corrispondenti agli elementi contenuti nella directory. Ciò permette una gestione dello

spazio nel miglior modo possibile; prende il nome di allocazione del file. Essa può essere:

contigua, ciascun file è trattato come un'entità indivisibile,analogamente alle tecniche di

– gestione della memoria a partizioni variabili. È facile ricordare dove è memorizzato un file,

è facile l'accesso diretto ai record, si ha un elevato spreco di memoria. Nel caso di file le cui

dimensioni variano nel tempo si tende a spostare il file in un'altra zona del disco, oppure si

fa la compattazione, lasciando così libera una zona di blocchi consecutivi.

Sparsa, i vari blocchi di file possono essere memorizzati indipendentemente sullo spazio

– del disco. È simile alla paginazione usata per gestire la memoria principale. Ogni file viene

spezzato in blocchi delle stesse dimensioni che vengono memorizzati separatamente gli uni

dagli altri. Ci sono due meccanismi per tener traccia delle zone di memoria in cui sono

memorizzati i blocchi di un file

allocazione indexata, si mantiene nel descrittore del file una tabella che contiene gli

• indirizzi dei blocchi,permette sia l'accesso diretto che sequenziale. Per risolvere il

problema dei file di varie dimensioni, i file descriptor possono avere dimensioni che si

basano sulle dimensioni dei file, oppure si stabilisce una dimensione massima dei file e

quindi anche un numero massimo di indirizzi da inserire nel file descriptor. Così facendo

tutti i file descriptor hanno le stesse dimensioni.

Allocazione linkata, viene memorizzato nel descrittore del file solo l'indirizzo del primo

• blocco, ed ogni blocco deve poi contenere l'indirizzo del successivo. Così facendo non si

ha nessuno spreco di spazio nel file descriptor. Questo accesso permette solo l'accesso

sequenziale.

Alcuni OS, come Unix, combinano le due tecniche per ottenere la maggiore efficienza possibile:

Unix ha dei file descriptor con 13 celle per gli indirizzi dei blocchi dei file. Per i primi dieci blocchi

si ha un'allocazione indexata, e a partire dall'undicesimo viene creato nello spazio disco per i file un

blocco che può contenere gli indirizzi di altri 128 blocchi. Così per i blocchi tra il 10° e il 138° si ha

un accesso diretto a due passi: uno per accedere al blocco con gli indirizzi e uno per accedere al

blocco del file. Il tempo di accesso cresce al crescere del file ma non si ha l'accesso sequenziale.

GESTIONE DELLE PERIFERICHE

OS deve fornire all'utente una visione astratta dei dispositivi e semplici comandi per l'utilizzo, e

ottimizzare l'uso dei dispositivi facendo in modo che lavorino in parallelo con il CPU. I dispositivi,

anche se dotati di un processore, sono schiavi del CPU centrale, che ne coordina tutte le operazioni.

Ogni dispositivo ha una memoria privata dove il CPU centrale copia il comando di I/O che deve

essere eseguito. I dispositivi possono essere:

a controllo di programma, in cui i dati di ingresso o uscita vengono copiati o prelevati nella

– memoria temporanea del dispositivo. Nel caso di dispositivi di output(video) OS deve

depositare nella memoria privata i dati in output e dare il comando; il dispositivo recupera i

dati dalla sua memoria e li manda in esterno. Nei dispositivi di input i dati in ingresso

vengono messi dal dispositivo nella memoria privata. OS li preleva e li copia nella memoria

centrale prima di utilizzarli(tastiera,video).

Dispositivi in DMA(Doirect Memory Access) sono in grado di leggere e scrivere i dati

– direttamente nella memoria centrale(dischi di memoria secondaria).

Al termine di ogni operazione i dispositivi inviano dei segnali di interrupt al CPU che richiamano la

sua attenzione. Ad ogni ciclo di clock CPU verifica se sono arrivati degli interrupt; in tal caso

termina il processo in esecuzione e lo mette in testa alla coda dei pronti, e va ad eseguire il

programma di gestione del dispositivo, il driver del dispositivo. Terminato ciò rimette in esecuzione

il processo precedentemente interrotto. Nel caso di dispositivi di input il driver recupera il dato letto

e lo passa al processo che lo aveva richiesto, rimette nella coda dei processi pronti il processo che

ha ottenuto il dato in ingresso, per poi mandare al dispositivo un nuovo comando di lettura di un

dato.

Il driver dev'essere installato nell'OS ogni volta che si aggiunge un nuovo dispositivo. I dispositivi

sono risorse seriali, possono essere usati da un solo processo alla volta. In un sistema multi-

programmato OS deve gestire le richieste. Per serializzare le risorse si può assegnare un semaforo

ad ogni dispositivo; tutte le richieste vengono mantenute in una coda con il semaforo. Con delle

politiche di scheduling verrà scelta la richiesta da soddisfare. Tutti i dispositivi sono di tipo non

preemptive, perciò ogni operazione deve essere eseguita fino al termine. I dischi magnetici

utilizzano delle politiche di scheduling ad hoc, come la politica sector queueing, con la quale le

richieste di operazioni di lettura e scrittura non vengono inserite in un'unica coda ma si ha una coda

per ogni settore; nella coda associata ad un settore vengono memorizzate le richieste che riguardano

blocchi in quel settore. Mentre il disco gira si seleziona come prossima operazione quella che

riguarda il prossima settore da cui passala testina. Ciò dipende dall'architettura hardware di un disco

magnetico, e ai suoi tempi di attesa.

I vari comandi che OS fornisce all'utente fanno parte del linguaggio di interazione tra l'utente e il

sistema, che permette di utilizzare l'elaboratore. I linguaggi possono essere ad interazione testuale(i

comandi vengono forniti mediante un linguaggio testuale) o ad interazione grafica(menù).

OS segnala la disponibilità ad accettare comandi mediante un messaggio di prompt; l'utente può

digitare il nome del comando e richiederne l'esecuzione mediante il carattere speciale di return. Se il

comando è corretto il sistema manda in esecuzione il programma(lo reperisce in memoria), se è

errato segnala un errore. Terminato il comando il sistema ripete lo stesso ciclo.

CAP 6: RETI DI CALCOLATORI

Una rete di elaboratori è formata da un insieme di nodi ed un insieme di archi di collegamento. Il

modo più semplice di collegare è l'utilizzo di un cavo. Un nodo può esservisto come un'entità in

grado di scambiarsi dei messaggi.

Si usa il termine banda della rete per indicare la capacità di trasmissione,che viene misurata in

termini di bit/s. Per quanto riguarda i dati trasferiti si usa il termine messaggio.

Le componenti hardware utilizzate sono:

cavi di rame o telefonici, coassiali, a fibre ottiche, collegamenti satellitari

– scheda di rete, Ethernet, può essere interna o esterna, la maggior parte supporta la

– comunicazione a 100 Mbps

switch o hub, dispositivi che smistano i messaggi tra le varie porte di connessione alla rete.

– Repeater, dispositivi di ripetizione di segnale nel caso di archi di rete molto lunghi,

– ritrasmettono più volte il segnale ricevuto in ingresso.

Router, modem

la comunicazione più veloce si ottiene mediante il collegamento diretto tra i nodi. Se non vi è un

collegamento diretto, si deve fare in modo che i messaggi non attraversino un numero troppo alto di

nodi intermedi. Ogni nodo intermedio causa un ritardo di trasmissione, dovuto al fatto che il nodo

deve ricevere il messaggio, riconoscere che è destinato ad altri, e ritrasmetterlo verso il destinatario.

È opportuno che la comunicazione sia distribuita equamente, e che non vi siano zone a traffico

troppo intenso, dette colli di bottiglia, che possono rallentare l'intero insieme di comunicazione

nella rete. La rete deve essere ridondante, per fare in modo che funzioni anche in caso di

malfunzionamenti.

La topologia di una rete può essere:

punto a punto, che richiede un collegamento tra ogni coppia di nodi nella rete, N*(N-1)/2

– archi. Comunicazione efficiente ma costosa, inutilizzabile nella pratica

multi-punto

Rete gerarchica, basata su un elaboratore principale cui sono collegate le sotto-reti corrispondenti

alle varie divisioni. In ogni divisione si può individuare un nodo principale cui sono collegate le

sotto reti corrispondenti. Topologia a forma d'albero: il primo nodo prende il nome di radice, il nodo

a livello superiore padre, il nodo a livello inferiore figlio, i nodi che non hanno figli foglie.

Occorrono N-1 archi, basso costo, la comunicazione non è veloce perché un messaggio deve

log

attraversare N archi, dove N è il num dei nodi e è il numero dei figli di ogni nodo. Azienda

m m

Rete lineare: si ha una dorsale a cui sono collegati tutti i nodi. Ha un costo limitato, comunicazione

veloce, ma si corre il rischio che diventi un collo di bottiglia. Se vi sono molti conflitti la velocità

diminuisce. Le reti lineari non hanno problemi nel caso di rottura di un nodo in quanto questo porta

solo all'isolamento del nodo stesso.

Rete ad anello: nodi collegati l’uno all’altro attraverso una rete circolare. Per N nodi servono N

archi.Velocità minore della rete circolare perchè i messaggi devono attraversare dei nodi intermedi.-

la rottura di uno o più nodi causa l'interruzione della rete. L'affidabilità può essere migliorata

usando più anelli circolari di collegamento.

Rete a stella: Un nodo centrale collegato a tutti gli altri. Più veloce e meno costoso di tutti gli altri.

Per N nodi servono N-1 archi e per far comunicare qualunque coppia di nodi si deve passare solo

dal nodo centrale,che può diventare un collo di bottiglia. Il nodo centrale dev’essere potente e non

guastarsi. Le reti attuali optano per reti a stella con eventuali dorsali tra nodi centrali. Si usano hub

per alleggerire il traffico.

PROTOCOLLO DI COMUNICAZIONE: regole che determinano le operazioni che devono essere

eseguite ad ogni scambio di informazione e che determinano anche il significato delle richieste e

delle risposte che vengono scambiate tra mittente e destinatario. Tutte le regole che definiscono un

protocollo devono essere definite a priori.

Modello ISO/OSI (1978 Intrnational Standard Organization), standard per la definizione dei

protocolli. Modello gerarchico con 7 livelli nella definizione delle caratteristiche di un protocollo. I

livelli più bassi sono più vicini all'Hw, e definiscono regole di basso livello. Essi azzerano le

differenze tra le diverse reti fisiche, introducendo un livello virtuale uniforme su cui si basano i

livelli successivi che possono essere definiti in modo indipendente dalle caratteristiche fisiche delle

reti sottostanti.

Una gerarchia di livelli è chiamata pila o stack:

- PHYSICAL (Fisico): definisce le caratteristiche fisiche della comunicazione, come ad

esempio trasferire il segnale, rappresentare i bit, come si apre una comunicazione)

- DATA LINK (Collegamento): gestisce l'accesso e la gestione del canale di comunicazione,

la gestione della velocità di trasmissione, l'organizzazione dei messaggi e il loro invio.

- NETWORK (Rete): indirizzamento dei nodi, ovvero le regole di identificazione dei nodi e

dell'instradamento dei messaggi.

-TRANSPORT (Trasporto): definisce il controllo delle sessioni di comunicazione tra i nodi

- SESSION e PRESENTATION: controllano la comunicazione tra le applicazioni e

trasformano i dati forniti dalle applicazioni in un formato standardizzato.

- APPLICATION: definisce i protocolli applicativi utilizzati in rete

Affinchè due nodi possano comunicare è necessario che i diversi protocolli siano implementati su

entrambi i nodi. Pertanto occorrono dei programmi che realizzano le regole di comunicazione su

entrambi i nodi. Per indicare i programmi che implementano le funzionalità di un certo protocollo

si parla di entità di quel protocollo. Si parla di interfacce quando ci si riferisce alle relazioni tra

moduli di livelli differenti, che operano all'interno di uno stesso nodo di rete. Si parla di protocolli

quando ci si riferisce a relazioni tra moduli dello stesso livelli situati in nodi diversi. La

comprensione tra i livelli è possibile in quanto ogni livello, oltre ai dati, spedisce delle informazioni

di controllo definite secondo le regole stabilite dal protocollo stesso, comprese dall'altro nodo e

vengono chiamate header, il quale viene aggiunto all'inizio dell'informazione che deve essere

spedita. Partendo dal livello application, ogni livello in una comunicazione tra A e B aggiunge un

header nel momento in cui il messaggio lo attraversa, il quale sarà poi letto,interpretato,separato ed

eliminato dal livello corrispondente posto nel nodo B. Esempio pag. 193

Oggi lo stack più usato è a 5 livelli

TRASMISSIONE

La linea telefonica è analogica(onde elettromagnetiche), variazioni di frequenza indicano variazioni

di segnale. I modem convertono le informazioni da analogiche in digitali e viceversa. Trasmettono

un segnale fisso costante detto segnale portante – Carrier - e codificano l'informazione digitale

mediante opportune variazioni e modulazioni di questo segnale. 0 è il segnale portante, 1 si può

trasmettere con –modulazione di frequenza (x es. dimezzare le onde), modulazione di altezza

(Raddoppiare l’Altezza) o modulazione di fase (inversione dell’onda). I modem attuali hanno una

velocità di trasmissione di 56600 bit al secondo, che è il massimo che si può trasmette sulle linee

telefoniche. Oltre al modem esterno collegato a una porta del pc,dev’esserci una scheda modem

sulla motherboard. Linee telefoniche digitali ISDNà servono modem speciali.

La trasmissione può essere seriale, dove i bit sono trasmessi in sequenza lungo il canale di

comunicazione, oppure parallela, che prevede più segnali trasmessi simultaneamente,grazie al

multiplexing. Il multiplexing è una tecnica che permette di suddividere un canale di comunicazione

in sotto-canali che possono essere usati indipendentemente(es. cavo con 8 fili trasmette 8 bit tutti

insieme). In questo modo si possono trasmettere più segnali. In alcuni casi la suddivisione è fisica e

ogni cavo è formato da più cavi usabili indipendentemente. In altri casi la condivisione è logica e si

usano tecniche di suddivisione della frequenza o del tempo di trasmissione per condividere un unico

canale fisico.

Il collegamento può essere con linea dedicata o commutata. La prima è una linea di collegamento

esclusivamente dedicata a loro, sempre disponibile e non usabile da nessun altro nodo. Nel secondo

caso esiste un insieme di circuiti di comunicazione e il collegamento tra due nodi viene creato solo

quando serve. L'uso di linee commutate è il più diffuso.

Nel caso di commutazione di circuito viene creata una connessione tra A e B commutando alcuni

dei canali e la connessione o il circuito viene mantenuta dal momento in cui uno dei nodi richiede di

iniziare la comunicazione fino a quando uno dei nodi non chiude. Viene usato nelle reti telefoniche.

Tale linea sarà dedicata e non potrà essere usata da altre comunicazioni, mentre le linee intermedie

dovranno essere in grado di gestire molte comunicazioni. Il vantaggio è che una volta stabilito il

circuito questo si comporta come una sorta di canale dedicato, mentre lo svantaggio è che il circuito

viene occupato anche se lo scambio di informazioni tra i nodi è scarso.

Nella commutazione di pacchetto un messaggio viene diviso in parti, pacchetti, che vengono spedite

l'una indipendentemente dall'altra verso il destinatario. In questo modo le linee vengono usate in

base alla quantità di informazione. La correttezza della trasmissione viene effettuata attraverso il

controllo di parità. Per ogni byte viene inviato un bit aggiuntivo,detto bit di parità: il bit aggiuntivo

vale 0 se il byte contiene un numero pari a 1, altrimenti vale 1. In ricezione vengono ricevuti sia il

byte che il bit, ed il destinatario calcola un nuovo bit di parità con le stesse regole enunciate e lo

confronta con quello ricevuto; se i valori sono diversi vi è stato un errore di trasmissione. Questa

tecnica non è in grado di riconoscere due errori simultanei, e non consente di riconoscere quale sia

stato l'errore. La tecnica di codici a correzione di errore permette sia l'individuazione che la

correzione dell'errore di trasmissione.

Ogni nodo dovrà avere un indirizzo univoco che lo distingue dagli altri: per fare ciò si può associare

un nome logico oppure una sequenza di bit(indirizzamento dei nodi). Assegnati gli indirizzi occorre

mantenere una corrispondenza tra gli indirizzi dei nodi e la loro localizzazione fisica. Questa

corrispondenza può anche essere vista come una tabella nella quale ad ogni nome logico viene

associato il corrispondente indirizzo fisico.

L'instradamento dei messaggi. Ossia la scelto del percorso – routing – che deve percorrere il

messaggio è un problema da affrontare nella progettazione di una rete geografica. L'instradamento

può essere:

fisso,si scelgono i percorsi al momento della costruzione della rete, scelta fatta a priori a

– livello hardware. Vantaggi:cammino corto e velocità. Svantaggi:con un guasto su un arco o

un nodo la comunicazione per quel nodo diventa impossibile

variabile, si sceglie il percorso ad ogni sessione di lavoro. È una scelta che viene eseguita a

– livello software. I messaggi inviati nella stessa sessione seguono lo stesso percorso

dinamico, percorso scelto ogni volta che viene inviato un messaggio da un nodo a un altro a

– livello software, in base al percorso più opportuno. Ogni nodo tiene una tabella che indica a

quali nodi vicini rivolgersi per inoltrare il messaggio a un altro nodo; egli sceglie il nodo cui

è opportuno inviare il messaggio in base alle condizioni di traffico. Protocolli più complessi

ma più flessibilità, le scelte vengono fatte a livello locale

packet switching, si suddivide il messaggio in pacchetti, tale tecnica è usata nel caso di

– messaggi di grandi dimensioni. Avere messaggi più corti permette una gestione più

flessibile del traffico. I pacchetti sono tutti della stessa dimensione,pertanto è semplice

sapere per quanto tempo un arco sarà occupato; si potranno scegliere percorsi differenti per i

diversi pacchetti in modo tale da ottimizzare e distribuire il traffico. L'unico problema è che

occorre ricordare le posizioni dei diversi pacchetti all'interno del messaggio, in modo che il

destinatario sia in grado di ricostruire il messaggio.

In una rete con molti nodi e con molto traffico è possibile che si creino dei conflitti di

comunicazione, ossia delle situazioni in cui più nodi tentano di trasmettere contemporaneamente

sulla stessa linea. Tali conflitti possono essere risolti con due tecniche:

token passing, tecnica usata nelle reti ad anello x evitare sovrapposizioni di messaggi. Sulla

– rete circola un gettone(token) che viene passato circolarmente da un nodo all'altro: un nodo

può trasmettere solo quando è in possesso del gettone. Poiché durante la trasmissione il

gettone non è disponibile, nessun altro nodo potrà iniziare ad inviare informazioni. Quando

il destinatario ha ricevuto il messaggio avverte A che rimette in circolo il gettone. Con

questa tecnica si ha la garanzia che la comunicazione nella rete sia equa. Le prestazioni di

tali reti sono modeste perchè non è possibile avere più comunicazioni contemporanee. Una

soluzione può essere la tecnica treno di slot, che permette l'invio di più messaggi in

parallelo. Più messaggi si muovono nella rete in modo sincrono evitando di occupare

contemporaneamente lo stesso arco.

Prevenzione e correzione mediante ascolto, cerca di prevenire il più possibile le collisioni

– ma non garantisce una protezione completa. Ogni nodo, prima dell'invio di un msg, verifica

che tale arco sia libero. Se l'arco non è libero rimane in ascolto, in attesa che si liberi e

quindi di inviare. Può capitare che due nodi si mettano inascolto in contemporanea, e

trovandolo entrambi libero, iniziano in contemporanea la trasmissione creando una

collisione. Registrata una collisione, un nodo smette di trasmettere per poi riprovare dopo un

tempo scelto casualmente, che abbassa la probabilità di un ennesima collisione.

Il modello client/server è alla base del funzionamento delle reti, permette di funzionare sia al

sistema operativo distribuito per le reti locali, quanto del software di gestione e applicativo delle reti

internet. Le risorse disponibili in rete sono collegate ad un elaboratore(server) su cui sarà in

esecuzione un programma per la gestione della risorsa stessa, mentre coloro che la richiedono sono i

client. Un modello alternativo è il P2P, che prevede che due elaboratori possano connettersi

direttamente tra loro: è ideale per connessioni multiple. Le varie classi di reti sono:

Reti locali(LAN) edificio

– reti metropolitane(MAN) città

– reti geografiche(WAN) mondo

CAP.7: RETI LOCALI E SISTEMI OPERATIVI DISTRIBUITI

Il modello time-sharing multi-utente permette il collegamento ad un elaboratore potente attraverso

terminali. L'informatica distribuita può esser vista come l'evoluzione di tale modello: è un sistema

più flessibile che offre maggiori vantaggi, quali ad esempio il fatto che la rottura di una macchina

blocca un solo utente mentre gli altri possono continuare a lavorare.

In una rete locale ogni utente dovrà poter usare gli stessi programmi e gli stessi dati, così come

l'accesso a qualsiasi dispositivo di output. Il modello client/server permette che sia creato un

servizio accessibile per ogni elaboratore di una rete locale, dove per servizio si intende l'accesso

tanto a software quanto ad un hardware. Il modello prevede che il servizio S venga realizzato

attraverso un programma di gestione, il software server di S, che si occupa di ricevere e gestire le

richieste da parte degli utenti. Gli utenti per effettuare le richieste devono usare un software client

per S. I software server e client devono accordarsi su un protocollo di comunicazione attraverso il

quale vengono scambiate le richieste di accesso al servizio. Il software server genera un processo

dedicato per la gestione di ognuna delle richieste. Quando il processo server riceve una richiesta, se

non può soddisfarla, crea un nuovo processo server dedicato alla sua gestione che verrà terminato al

termine della fornitura del servizio.

Per la gestione dell'elaboratore all'interno della rete occorre:

sitema operativo di rete, o distribuito: nasconde all'utente che sta lavorando su una macchina

– in una rete. Egli deve poter usare qualsiasi risorsa della rete come se questa fosse locale. Il

sistema operativo distribuito è un'ulteriore macchina virtuale costruita su quella virtuale che

sta al di sopra del sistema operativo locale. Dato un comando dall'utente sull'elaboratore A,

il sistema operativo distribuito su A verifica se il comando coinvolge risorse non locali e, in

caso affermativo, contatta il sistema operativo distribuito dell'elaboratore che ha le risorse.

Questi si occupa delle risorse come se fosse locale.

Tali sistemi prevedono che ad ogni elaboratore e ad ogni risorsa venga associato un nome logico

univoco che non tenga conto della posizione fisica. Il name server si occupa di mantenere la

corrispondenza tra i nomi logici e la localizzazione fisica. Quando l'utente chiede di accedere ad

una risorsa, viene contattato il name client che fa parte del sistema di rete di ogni elaboratore e che

localizza la risorsa. Es. pag 216

File system distribuito: Il OS locale se si accorge che il file richiesto non è memorizzato sul proprio

disco,passa la richiesta al OS di rete che attraverso il nome logico risale al file e al disco su cui è

memorizzato, dopodichè il OS locale del pc che ha la risorsa passa il file al OS di rete che lo manda

sul pc che ha richiesto quel file. Se si rompe un server di una risorsa,bisogna cambiare il server e

quindi le tabelle di naming. Per ovviare ai problemi di rottura di un discoàRIDONDANZA tramite

àMirroring

BACKUP (disco di riserva= ogni file memorizz su 2 dischi). del disco.

WIRELESS: senza filo. Reti WLAN, è sviluppata su dispositivi radio a 2.4 Ghz, è minore rispetto

alle reti cablate. Standard fisico IEEE 802.11b prevede 2 tipi di trasmissione: -FHSS e DSSS. Sono

comuni molte tipologie ibride Wired/Wireless. I dispostivi Hw necessari sono un terminale wireless,

ovvero una scheda wireless,e un access point, un ponte fra rete wireless e rete cablata. L'access

point può fornire roaming tra access point diversi, e uno psazio di movimento dei terminali wireless

teoricamente illimitato, senza mai perdere la connessione. Gli access point implementano un

sistema di crittazione dei dati detto WEP, Wired Equivalent Privacy. Quelli più moderni utilizzano

una tecnica WPA, Wi-fi protected access, fornendo un metodo di sicurezza più sofisticato.

CAP.8: RETI GEOGRAFICHE E INTERNET

Una rete geografica è formata da un insieme di reti: internet può esser definito inter-rete e i

ptotocolli stessi sono protocolli di inter-networking piuttosto che di networking. Un approccio inter-

networking consente di scomporre in problema di comunicazione di una rete geografica in due sotto

problemi: uno relativo alla comunicazione interna, l'altro relativo alla comunicazione tra le reti. Le

varie reti sono collegate attraverso un router, un dispositivo che permette la connessione verso

l'esterno. Un calcolatore in una rete A comunica prima con il router della sua rete, poi vi è uno

scambio di informazioni nella rete di router, e raggiunto il router della rete B, esso permetterà la

comunicazione con l'elaboratore B. I protocolli di inter-networking si occupano della

comunicazione all'interno della rete di router.

In Internet ci sono 5 livelli e non 7 come nello standard Iso/Osi(non ci sono i livelli Session e

Presentation). Suite di protocolli Internet

Livello DHCP , HTTP , HTTPS, SMTP , POP3,IMAP , FTP , SFTP , DNS, SSH, IRC,

applicazioni SNMP , SIP , RTSP , Rsync, Telnet, HSRP,RIP, RTP, BGP, IGRP, VoIP, ...

Livello di trasporto TCP , UDP , SCTP , DCCP ...

Livello di IPv4, IPv6, ICMP, ICMPv6, IGMP, IPsec,OSPF ...

internetworking

Livello di Ethernet, WiFi, Powerline, PPP, Token ring, ARP , ATM, FDDI, LLC, SLIP

collegamento ,WiMAX, HSDPA, MPLS ...

Protocollo IP: Internet protocol

Protocollo di livello Network che si occupa dell'indirizzamento e dell'identificazione dei nodi e

dell'instradamento dei pacchetti che formano i messaggi, essendo internet una rete a commutazione

di pacchetto, che in questo contesto son detti datagrammi. IP è un sistema di comunicazione:

a commutazione di pacchetto(packet switching), i pacchetti vengono instradati in modo

– indipendente;

non orientato alla connessione(connectionless), non viene stabilita alcuna connessione

– diretta tra mittente e destinatario, e ogni pacchetto viene solamente inoltrato nella rete e

passato da un router all'altro. Non viene mantenuta alcuna storia della comunicazione e del

percorso che ogni pacchetto ha seguito per raggiungere un router.

non affidabile(unreliable), non dà alcuna garanzia che i pacchetti vengano consegnati, e

– tantomeno che arrivino integri.

con modalità di invio di tipo best effort, fa il possibile affinchè ogni pacchetto giunga a

– destinazione nel modo corretto.

Per fare ciò IP deve stabilire delle regole di indirizzamento degli elaboratori in rete(A), definire il

formato dei pacchetti(B) e stabilire le regole di instradamento(C).

A)Gli indirizzi degli elaboratori per rendere possibile la comunicazione devono essere univoci.

Ogni elaboratore è identificato da una sequenza binaria di 32 bit, della quale la parte di bit a sinistra

identifica la rete a cui appartiene(NETID), e la restante è un identificativo univoco dell'elaboratore

all'interno della rete(HOSTID). Gli IP sono stati divisi in classi:

Classe A:primo bit 0; 7 bit x il Netid e 24 x l’Hostidà128 reti diverse,+ di 16 milioni di pc.

– Classe B:primi due bit sono 10; 14 bit x il Netid e 16 x l’Hostidàcirca 65.500 pc.

– Classe C:primi tre bit sono 110; 21 bit x il Netid e 8 x l’HostidàUn massimo di 256 pc in

– ogni rete,è la classe PIU DIFFUSA.

Gli IP vengono rappresentati dividendo i 32 bit in 4 sequenza da 8 bit, per ognuno dei quali si

ocnsidera la rappresentazione decimale equivalente. L'assegnazione degli IP può esser fatta in modo

statico o dinamico. Il protocollo DHCP assegna gli IP man mano chr gli elaboratori vengono

connessi alla rete.

B)IP può definire il formato di pacchetti che vengono spediti nella rete. Ogni pacchetto è formato da

un header che contiene informazioni di controllo(identificativo univoco del pacchetto, lunghezza

del pacchetto, IP del mittente, IP del destinatario, il time to live del pacchetto, ossia la Q di tempo

oltre la quale il pacchetto non è più considerato valido, il tipo di servizio richiesto, vale a dire il tipo

di protocollo applicativo che ha generato il pacchetto) ed una parte di dati, payload, che contiene le

informazioni che devono essere trasmesse.

(C)I router si occupano dell'istradamento dei pacchetti seguendo la seguente procedura: ricevuto un

pacchetto, se esso è destinato alla rete cui anch'esso è connesso, lo passa alla rete locale affinchè

venga consegnato al nodo destinatario che viene stabilito attraverso NETID e HOSTID, altrimenti,

se è destinato ad un'altra rete, lo passa ad un router connesso, sperando che compia un passo avanti

nella comunicazione. Ogni router fornisce il suo contributo facendo fare un balzo(hop) ad ogni

pacchetto verso la destinazione, senza garanzie che tale pacchetto raggiunga il destinatario. Il router

sceglie a chi passare il pacchetto andando a visualizzare una tabella di routing, che specifica per ogn

indirizzo di destinazione quale sia, per i router vicini, il migliore cui passare il pacchetto. Noto l'IP

del destinatario e delle informazione sullo stato dei vari router e sul traffico verso di loro, il router

può scegliere quale sia il miglior instradamento. Non vi sono garanzie che tale pacchetto non venga

rimbalzato da un router all'altro. Ogni pacchetto contiene un'informazione detta time to live, che fa

sì che un pacchetto non vaghi nella rete per un tempo maggiore entro il quale dovrebbe essere

consegnato, generando del traffico inutile che appesantisce la comunicazione. Il time to live è

impostato dal mittente del messaggio che imposta un numero di balzi entro cui il pacchetto


ACQUISTATO

6 volte

PAGINE

40

PESO

265.93 KB

PUBBLICATO

+1 anno fa


DETTAGLI
Esame: Informatica
Corso di laurea: Corso di laurea in scienze della comunicazione
SSD:
Università: Torino - Unito
A.A.: 2012-2013

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher fabio.dipi di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Torino - Unito o del prof Console Luca.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Informatica

Riassunto esame informatica, prof Console, libro consigliato Introduzione all'informatica, Console
Appunto
Appunti informatica
Appunto
Informatica generale modulo I
Appunto
Informatica generale modulo II
Appunto