vuoi
o PayPal
tutte le volte che vuoi
SISTEMI OPERATIVI
SISTEMI OPERATIVI
Un sistema operativo è un componente software
- Lo spooling (Simultaneous Peripheral Operation on Line) consente nello spostamento dei dati in un buffer (o in un disco fisico) in attesa di essere spostati verso il dispositivo che li deve elaborare.
- Nei sistemi operativi time sharing il tempo di CPU viene assegnato ai vari JOB secondo un determinato algoritmo di scheduling stabilito dal sistema operativo.
Interruzioni
- Le interruzioni permettono il ritorno del controllo al sistema operativo.
- Tipicamente viene utilizzata la Interrupt Description Table (IDT) che è un array che contiene gli indizzi delle rispettive routine nel codice del sistema operativo.
- Un’architettura che gestisce gli interrupt deve fornire supporti per il salvataggio dell’indirizzo dell'istruzione successiva al programma interrotto (PC) e dei valori dei registri di CPU.
Processi
- Un processo è un’applicazione attiva su un sistema time-sharing
- Ogni processo ha associato
- i dati su cui opera
- un contesto di esecuzione
- Un processo può generare altri processi figli
Esecuzione dei processi
L'esecuzione di ogni processo può essere caratterizzata tramite una sequenza di istruzioni denominata traccia.
- Mem. principale
- S. Kernel S.O.
- Processo A
- Processo B
- Processo C
Program counter
Un sistema operativo time sharing garantisce un'esecuzione intercalata delle tracce dei singoli processi.
L'esecuzione quest'ultima può usare un proc. e l'altro.
Gestione dei processi
Per gestire l'esecuzione di processi il sist. oper. mantiene informazioni sui processi stessi e sulle risorse.
- Tabelle di memoria
- Inclusono informazioni su:
- Allocazione memoria principale ai processi
- Allocazione della memoria secondaria ai processi
- Modalità di protezione dei singoli soggetti, di memoria
- Tutto ciò che è necessario a gestire la memoria virtuale nei sistemi in cui è supportata
- Immagine di un processo
- È definita da:
- Dal programma di cui il processo risulta istanza
- Dai dati inclusi nella parte modificabile dell'address space
- Da uno stack supporto allle chiamate
- Da uno stack di sistema supporto alla gestione di syscall
- Dal PCB (Process Control Block) ovvero una collezione di attributi necessari al sistema operativo per controllare l'esec. del processo
Virtual File System (VFS)
- Nel virtual file system non si gestiscono solamente file ma anche una serie di altri oggetti, che vengono virtualizzati come se fossero dei file.
- Il VFS è costituito da tutti i moduli kernel che supportano le operazioni I/O.
Drivers
Tali oggetti "differenti" possono essere rappresentati tramite strutture dati differenti.
- Il driver è l'insieme di moduli software di livello kernel per l'esecuzione delle operazioni afferenti ad un qualsiasi oggetto I/O.
File System
- Dal punto di vista del S.O., la minima unità archiviabile è il file. Le informazioni in ogni modo devono essere contenute all'interno di un file.
- Dal punto di vista delle applicazioni, la minima unità informativa è il record.
Le operazioni sui file avvengono tramite un indice di lettura/scrittura che viene aggiornato.
- Operaz. Base: - Creazione: allocazione di un record nel sistema e il mantenimento di informazioni relative al file.
- - Scrittura/Lettura: di record, aggiornamenti di un 'indice' (puntatore).
- - Apertura: inizializzazione dell'indice per la sessione corrente.
- - Chiusura: rilascio dell'indice I/S.
- - Riposizionamento: ripristinare il valore del file pointer.
- - Eliminazione: deallocazione di RS e rilascio di memoria (blocchi dati) sul dispositivo.
- - Troncamento: rilascio di memoria sul dispositivo.
Le modalità di aggiornamento dell'indice di scrittura/lettura e riposizionamento dipendono dai metodi di accesso ai record di un file supportati dallo specifico file system.