Sistemi Operativi Cosa è un sistema operativo



Scaricare 445 b.
17.12.2017
Dimensione del file445 b.


Sistemi Operativi

  • Cosa è un sistema operativo

  • Un po’ di storia

  • Il gestore dei Processi

  • Il gestore della Memoria

  • Il File System


Il sistema di Elaborazione ...



Cosa è un Sistema Operativo (S.O.)

  • Le due viste del S.O.

  • Un S.O. ha due funzioni fondamentali, apparentemente scorrelate

    • S.O. come generatore di macchina estesa o virtuale
    • S.O. come gestore delle risorse


S.O. come macchina estesa

  • Punto di vista Top Down (Dall’alto verso il basso) ...

  • Sia il programmatore che l’utente preferiscono trattare con una ASTRAZIONE della macchina reale

  • Il S.O. nasconde al programmatore la “verità” sui livelli hardware sottostanti e presenta un sistema semplice di accesso alle funzionalità del sistema nonché un’interfaccia gradevole e amichevole all’utente, maggiori funzionalità, ecc.



Il modello a Macchine Virtuali



Il modello stratificato di un S.O.



S.O. come gestore delle risorse

  • Punto di vista Bottom Up (dal basso verso l’alto)

  • Gestisce tutte le componenti di un sistema complesso



Classificazione dei S.O.

  • MonoTask

    • è presente un solo processo/programma alla volta
  • Mono Utente

    • è collegato un solo utente alla volta
  • MonoTask -> Mono Utente

  • MultiTask

    • sono presenti più processi/programmi alla volta
  • Multi Utente

    • sono collegati più utenti alla volta


Classificazione dei S.O. (cont.)

  • MonoTask

    • MS-DOS
  • MultiTask e Mono Utente

    • Win98
  • MultiTask e Multi Utente

    • WinXP, Unix, Linux


Turn Around Time Tta

  • Tta =TO-TI

    • è il tempo che passa tra l’ingresso dei dati e la produzione dell’output


Throughput

  • E’ proporzionale al numero di lavori eseguiti dal sistema nell’unità di tempo T

  • E’ detto anche CARICO del SISTEMA



Overhead di Gestione

  • Sovraccarico Gestionale

  • E’ proporzionale al tempo consumato dal S.O. per eseguire il suo compito



Un sistema efficiente ...

  • Throughput Elevato

  • TurnAround Time Basso

  • Overhead Gestionale Basso

    • Ma …. Quando il Turnaround è basso?


Un po’ di storia

  • Per comprendere le funzionalità di un S.O. è comodo seguirne l’evoluzione storica

      • anni 40 assenza di S.O.
      • anni 50 gestione dei lavori a lotti
      • anni 60 multiprogrammazione
      • metà anni 60 Sistemi General Purpose
      • a metà anni 70
      • metà anni 70 DB, Reti, S.Distribuiti
      • ad oggi


Un semplice schema



Overlap delle attività



Le interruzioni (1)

  • Con l’introduzione dei canali di dati si risolve il problema della sovrapposizione delle operazioni di I/O ma e’ necessario poter sovrapporre le operazioni di calcolo e quelle di I/O.

    • Per far cio’ e’ necessario che l’attivita’ della CPU sia interrompibile a seguito di un evento esterno come, ad es., la fine della stampa di un file. Per risolvere questo problema è stato introdotto il concetto delle interruzioni.


Le interruzioni (2)

  • Le interruzioni sono segnali che, arrivando alla CPU, possono interrompere, se abilitate, l’esecuzione del programma in corso ed eseguire un programma particolare detto Interrupt Service Routine (ISR)

  • Tramite l’uso dei canali e degli interrupts e’ possibile:

    • sovrapporre le operazioni di input e di output
    • sovrapporre le operazioni di calcolo e quelle di I/O
  • Per ottenere la sovrapposizione massima tra queste operazioni in memoria si caricano piu’ programmi in modo che, mentre uno e’ impegnato in operazioni di I/O, un altro possa utilizzare la CPU.



MultiTask o Multiprogrammazione

  • Possibilita’ di caricare piu’ programmi in memoria in grado di condividere l’uso della CPU e delle risorse dell’elaboratore

    • E’ possibile che il S.O per realizzare la multiprogrammazione non mantenga tutti i programmi in memoria ma li carichi di volta in volta quello piu’ idoneo da un supporto di massa
    • Tale tecnica, detta di “swapping” e’ meno efficiente ma risulta necessaria quando si hanno problemi di dimensione della memoria


Sistemi Time Sharing (1)

  • Un processo rimane in running solo per un intervallo fissato di tempo (Time Slice)

    • Per evitare che resti padrone della CPU a tempo indeterminato
  • Il Supervisore riacquista il controllo

    • quando è terminata la time slice
    • il programma termina la sua esecuzione
    • il programma avanza una richiesta di I/O


Sistemi Time Sharing (2)



Sistemi Real Time

  • Un sistema Real Time è al servizio di una specifica applicazione

    • controllo centrale nucleare
    • controllo caldaia
    • controllo radar
  • E ha severi limiti nei tempi di risposta

    • ossia la risposta deve essere prodotta in tempi utili per l’ambiente esterno
  • L’overhead deve essere ridotto all’osso



Sistemi Real Time(2)



Il Gestore della Memoria

  • Il compito del Gestore della Memoria è

    • ricordare quali parti della memoria sono attualmente in uso e quali non lo sono
    • di assegnare la memoria ai processi
    • di deallocare la memoria assegnata
    • di amministrare gli scambi tra memoria centrale e disco quando la prima non è più in grado di contenere i processi (swapping)


Partizioni Fisse

  • La memoria è divisa in n partizioni di lunghezza diversa

  • Problema: qualsiasi spazio non usato è perso



Partizioni Variabili

  • L’allocazione cambia a mano a mano che i processi entrano in memoria e poi la lasciano

  • Problema: compattazione e garbage collection



Paginazione

  • Lo spazio degli indirizzi viene suddiviso in unità logiche dette pagine

    • alle pagine corrispondono unità di memoria fisica detti frame
  • Alcune pagine sono i memoria centrale, altre su disco

    • se si tenta di accedere ad una pagina non in memoria centrale, viene provocata una eccezione detta page fault.
    • A questo punto il S.O. prende un frame poco usato, la scarica su disco e carica la pagina richiesta dal disco al frame liberato


Memory Paging e Mapping





File System

  • Crea una corrispondenza tra l’organizzazione logica dei file e la loro struttura fisica

    • corrispondenza tra spazio logico e spazio fisico
    • scambio dei dati tra memoria di massa e memoria fisica
    • gestione dei buffer di sistema
    • allocazione dei blocchi sulla memoria di massa
    • condivisione e protezione dei file
    • pipes o canali virtuali di comunicazioni fra processi.


Il File System

  • Dal punto di vista dell’utente il File System è caratterizzato dalle operazioni che ha a disposizione, cioè …

    • come si definisce un file
    • come il file vengono denominati e protetti
    • che operazioni sono permesse sui file e così via
  • Tipizzazione dei file

    • mediante un suffisso (“estensione”). Tipica di Windows.
    • altre tecniche


Directory

  • Per tenere traccia dei file, il File system mette a disposizione dell’utente dei directory

    • contenente un certo numero di elementi, uno per file


Albero dei directory



Memorizzazione dei File

  • Un file è di solito composto da una sequenza di blocchi

  • Il File System deve tenere traccia dei blocchi di ciascun file

  • Negli ambienti Microsoft ad ogni disco è associata una tabella d’allocazione dei file o FAT, contenente un elemento per ogni blocco del disco.

    • Il directory contiene il numero di blocco del primo blocco dei file


La FAT



I tipi di FAT

  • FAT

    • Ogni entry è di 16 bits, cioè 65.535 clusters max
    • Ogni cluster è max 32768 bytes,
    • il filesystem ha un limite massimo superiore di 2 Gbytes per la dimensione della partizione.
  • FAT32

    • Ogni entry è di 32 bits, cioè 4.294.836.225 clusters max
    • Ogni cluster è max 32768 bytes,
    • il filesystem ha un limite massimo superiore di 32 Gbytes per la dimensione della partizione.


I tipi di FAT (cont.)

  • Dimensioni dei cluster in base alla grandezza delle partizioni  

  • FAT

    • fino a 128MB -> 2KB 128-256MB -> 4KB 256-512MB -> 8KB 512-1024MB -> 16KB 1024-2048MB -> 32KB
  • FAT32

    • 512MB-8GB -> 4KB 8GB-16GB -> 8KB 16GB-32GB -> 16KB 32GB o + -> 32KB








©astratto.info 2017
invia messaggio

    Pagina principale