Sartomiki.net

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Blog
Appunti

Paginazione e segmentazione

E-mail Stampa PDF

Paginazione
La paginazione prevede che gli indirizzi fisici di uno stesso processo potrebbero non essere allocati in modo contiguo.
Il metodo base della paginazione prevede di dividere la memoria fisica in blocchi di dimensione costante detti frame e la memoria logica in blocchi di uguale dimensione, detti pagine. Quando si deve eseguire un processo, si caricano le sue pagine nei frame disponibili, prelevandole dalla memoria secondaria, divisa anch'essa in blocchi di dimensione fissa.
In questo modo il processo è allocato in memoria fisica in qualunque parte sia possibile. Per eseguire un processo di dimensione n pagine, è necessario trovare n frame disponibile e caricare il programma.
La paginazione risolve la frammentazione esterna, ma crea frammentazione interna, in quanti non tutti i blocchi avranno dimensione multipla della quantità fissa dei blocchi. La dimensione di ogni pagina dipende dall'architettura del calcolatore ed è in genere un multiplo di 2.
Il problema della frammentazione interna potrebbe far pensare, che una minore dimensione delle pagine, garantistica prestazioni migliori. Questo ragionamento è vero solo in parte, in quanto, aumentando le dimensioni delle pagine, si riduce l'overhead portato dalla tabella che garantisce la conversione degli indirizzi logici e di quelli fisici.
Per garantire il corretto funzionamento della paginazione è necessario un meccanismo di traduzione degli indirizzi logici in indirizzi fisici. Gli indirizzi generati dalla CPU sono divisi in due:
-numero della pagina, utilizzato come un indice nella tabella delle pagine, che consente di trovare ogni pagina nella memoria fisica.
-offset di pagina, che definisce all'interno della pagina l'indirizzo fisico in cui si trova un dato.
L'implementazione di questo meccanismo avviene memorizzando la tabella di paginazione in memoria principale.
Poiché il SO gestisce la memoria fisica, esso deve conoscere quali frame siano liberi e a chi appartengono (per verificare se le operazioni siano sicure). La memorizzazione di queste informazioni avviene con una struttura chiamata tabella dei frame.

Leggi tutto...
 

Gestione della memoria principale

E-mail Stampa PDF

Organizzazione della memoria dinamica
I programmi, per essere eseguiti, devono essere caricati in memoria principale (RAM+registri). I registri si trovano direttamente sulla CPU, garantendo un accesso diretto in un colpo di clock, mentre l'accesso alla RAM risulta essere più oneroso in termini di tempo. Questo gap è parzialmente colmato mediante le cache messe tra la memoria RAM e i registri.
in quanto per essere veloce la RAM deve contenere più processi paralleli è necessario garantire la loro corretta esecuzione, evitando la possibilità che i processi scrivano su aree di memoria condivise.
Per questo motivo nella CPU sono presenti due registri che indicano l'indirizzo logico di inizio e l'offset della porzione di memoria utilizzabile da un determinato processo. Le parti di memoria al di fuori di questa porzione non sono accessibili dal processo considerato. Questi due registri sono accessibili soltanto dal sistema operativo, che risulta quindi essere l'unica entità ad avere accesso indiscriminato ad ogni parte della memoria.

Leggi tutto...
 

Domande riassuntive

E-mail Stampa PDF

1. Le system  call  sleep  e  alarm a cosa   servono,   come   si   usano,   sono   intercambiabili,   si possono usare  insieme nello stesso processo?  Come si  annulla un  time reimpostato? Un processo in attesa su una pipe riceve un segnale SIGALRM?

-unsigned int sleep(unsigned int seconds): 
Sospende l'esecuzione del processo per il numero di secondi specificato. 
-unsigned int alarm(unsigned int seconds): 
Invia al processo corrente il segnale SIGALRM dopo che siano trascorsi il numero di secondi specificato. Una successiva chiamata ad alarm() reimposta il tempo di invio del segnale SIGALRM. Se il numero di secondi è zero, non viene attivato nessun allarme e viene disabilitato l'eventuale allarme precedentemente impostato.  

-sleep() può essere basata sull'arrivo del segnale SIGALRM, pertanto è da evitare un uso contemporaneo di sleep() e della system call alarm().
Il processo in pipe riceve i segnali a lui inviati come un processo qualsiasi e reagisce con il comportamento definito per quel dato segnale.

Leggi tutto...
 

Routing multicast

E-mail Stampa PDF

Generalità
Il routing multicast prevede di inviare un pacchetto o una serie di pacchetti non ad una sola destinazione ma ad un insieme di esse. La sorgente dovrà quindi inviare una sola copia del pacchetto, che verrà copiato su più uscite dai router multicast che esso incontrerà. La difficoltà del multicast sta nell'individuare in ogni momento il gruppo di ascoltatori dinamici, in quanto essi non sono stabili nel tempo. Nel trasferimento unicast, al contrario, la destinazione è o presente ad un indirizzo specifico o assente.
Sono stati messi a punto algoritmi e protocolli per cercare di risolvere i problemi del routing multicast.

Leggi tutto...
 

Routing interdominio

E-mail Stampa PDF

Generalità
Il routing interdominio ha come scopo quello di connettere in modo corretto ISP diversi. Gli ISP della rete internet sono detti "Autonomous System" (AS).
Siccome il traffico per raggiungere altre reti deve passare attraverso altre reti, di proprietà altrui, si crea un problema di costi. Infatti traffico che non è di competenza della rete, potrebbe diminuire le prestazioni della rete stessa. Il routing interdominio cerca di limitare selettivamente la propagazione di alcuni pacchetti attraverso alcune reti.
In questo modo si evita che alcune informazioni importanti possano essere intercettate, o che alcuni pacchetti siano più costosi di altri.
L'AS è un'entità amministrata di Internet e rappresenta quindi una porzione della rete che è sotto il controllo amministrativo di qualcuno.
Ogni AS deve avere alcuni requisiti per poter essere considerato tale:
-banda consistente.
-router di una certa capacità.
-deve essere collegato direttamente ad altri due AS.
Per collegare due AS esistono due tipi di contratto possibili:
-peering, per il quale il collegamento è considerato tra AS di pari livello.
-transito, per il quale un passaggio del traffico è a pagamento.
Normalmente questi due tipi di accordo (è preferito il primo) avvengono tra ISP appartenenti ad uno stesso paese. Nel caso invece di international ISP (cioè ISP che collegano tra loro grosse regioni), il contratto è di tipo transito.
Per avere una mappa più chiara degli ISP si è definita una gerarchia tra ISP, basata sull'importanza di ciascun ISP. Il rango di un ISP si definisce come Tier e prevede che i Tier di pari livello utilizzino contratti peering, mentre contratti con ISP a livello maggiore siano di tipo transito.
Un problema consistente per gli ISP è determinato quindi dal traffico verso l'esterno, e questo aumenta in modo evidente nel caso di programmi p2p. E' per questo che alcuni ISP (ad esempio Tele2) mettono dei delimitatori di banda, oppure altri mettono dei veri e propri filtri, al fine di scoraggiare i clienti ad utilizzare queste tecnologie.
Per evitare problemi in caso di guasti normalmente gli AS vengono collegati tra di loro con un numero di router di frontiera elevato (Peer exterior). Nel caso di Peer interior, la risposta al guasto è quella di trovare una strada alternativa, mediante l'utilizzo di altri AS.

Leggi tutto...
 


Pagina 1 di 33

Amici


Siti amici

Web4Web.IT - Low Cost Hosting

Notizie flash

La sezione appunti ha superato i 150 articoli! Il database inizia ad essere abbastanza ampio! Consultatelo e scrivetemi in caso di dubbi o chiarimenti!!!

PUBBLICITA'