Swappa : Uni / Sistemi Operativi
Creative Commons License

Torna alla pagina di Sistemi Operativi


 :: Appunti caotici ::

Lezione 1 Funzioni di un sistema operativo

Pag 1

Sommario

Ovviamente per sistema operativo si intende quell'insieme di programmi che hanno come obiettivo la gestione dell'architettura dell'elaboratore.

Pag 2

Obiettivi

Per astrazione si intende l'innalzamento del livello della concezione dei componenti del sistema di elaborazione, ovvero gli utenti utilizzeranno la macchina ad un livello più semplice e intuitivo rispetto quello hardware.

Tra le conseguenze di questa proprietà ricordiamo:

Altro obiettivo del sistema operativo è la virtualizzazione, ovvero la creazione di un ambiente simulato equivalente a quello della macchina, ma totalmente dedicato al programma in esecuzione. Ciò comporta:

Se la virtualizzazione non fosse rispettata, per ogni nuovo programma installato dovrei prima tener conto di tutti gli altri già presenti, il che è impossibile.

Organizzazione logica (1)

Subito da puntualizzare che l'organizzazione logica non è la reale struttura interna del sistema operativo, anche se quest'ultimo ne rispetterà l'organizzazione astratta.

Per ottenere l'astrazione e la virtualizzazione bisogna struttura logicamente il sistema operativo, per creare l'illusione che nella memoria centrale ci sia un solo programma.

Nella figura:

Non mi interessa sapere quali blocchi operativi (per processore memoria o periferiche) siano di un determinato programma, l'importante è che ognuno di essi vi accedano come se fossero l'unico ad accedere alla risorsa. Starà poi ai vari dispositivi gestire le richieste nel modo (e ordine) più ottimizzato possibile.

Pag 3

Organizzazione logica (2)

Premessa: il modo più naturale per accedere alle informazioni non è per posizione fisica, ma per contenuto (parole chiave). Ad esempio, se vado in una biblioteca e cerco "Pompieri ninja in bicicletta" utilizzo dei criteri (ordine alfabetico per il titolo, per l'autore, genere, anno, ...), non scelgo uno scaffalo a caso e scandisco tutti i libri finché non lo trovo.

Nel nostro sistema di elaborazione l'accesso alle informazioni per posizione era già un'astrazione (dell'infimo livello hardware) e potrebbe già andar bene. Astraendo ulteriormente arriviamo al concetto di file system, che traduce la struttura fisica del sistema in struttura logica, che consente la visione delle informazioni nelle memorie non più come blocchi e sezioni, ma come sequenze di record logici che compongono file. Il vantaggio è che si ottiene un'indipendenza dall'architettura dei dischi (numero di sezioni, blocchi, ...): il metodo di accesso ai dati rimarrà sempre uguale.

Un'ulteriore astrazione al file system è il database, che consente un accesso ai file per valore.

Anche le periferiche dal punto di vista astratto sono concepibili come file (immagini logiche) speciali. Ad esempio la tastiera può essere pensata come sequenza di caratteri, quindi gestita come file di testo. Ciò porta ad una rappresentazione piuttosto omogenea delle informazioni, che siano su file o su periferiche.

Considerazione finale generale: quando un'insieme di operazioni diventano di uso talmente condiviso dagli utenti, pur appartenendo inizialmente all'insieme delle applicazioni, può accadere che vengano "spostate nel sistema operativo", e quindi implementate direttamente in esso. Il file system rappresenta un esempio di tali spostamenti.

Funzioni (1)

La domanda a cui verrà risposto nei prossimi lucidi è:
"L'utente cosa si aspetta dal sistema operativo?"

Gestione del processore: il sistema operativo farà in modo che si possano attivare programmi e che evolvano (almeno apparentemente) in parallelo. Tale gestione passa attraverso la gestione dei processi, ovvero un programma entrato in esecuzione (istruzioni + informazioni che caratterizzano il programma stesso).

Tra le varie operazioni di gestione ricordiamo:

Pag 4

Funzioni (2)

Gestione della memoria centrale: il sistema operativo gestirà i vari processi caricati in memoria centrale in modo da garantire la multiprogrammazione, e quindi dargli tutto lo spazio necessario perché sia garantita la loro corretta esecuzione.

La multiprogrammazione concorre infatti a sfruttare nel miglior modo possibile le risorse condivise (memorie e processore), cercando di mantenere contemporaneamente in memoria il maggior numero possibile di programmi.

Funzioni (3)

Gestione delle periferiche: il sistema operativo dovrà rendere omogeneo e trasparente l'interazione con esse

Tra le varie funzioni ricordiamo:

Pag 5

Funzioni (4)

Gestione del file system: il sistema operativo dovrà far sì che le informazioni siano reperite per posizione logica e non fisica, utilizzando i concetti di file ed albero del file system.

Saranno così fornite un insieme di funzioni che mi permettano di gestire file e cartelle, dalla creazione alla cancellazione alla lettura e scrittura eccetera. Particolare attenzione va riposta nella protezione e nella sicurezza dei file, dal momento che il file system è ad accesso condiviso.

Funzioni (5)

Gestione dell'interfaccia utente: il sistema operativo dovrà fornire quell'insieme di funzioni che garantiscano l'interazione tra utente e i vari programmi.

Tra le varie funzioni ricordiamo:


Torna alla pagina di Sistemi Operativi

(Printable View of http://www.swappa.it/wiki/Uni/SO-Mod2-Lez1)