Sistema operativo
Il sistema operativo è un software che si interpone tra l'hardware e l'utente. Il fine del sistema operativo è quello di eseguire programmi e gestire risorse Hw e Sw.
Interfacce
GUI → Interfaccia grafica
CLI → Interfaccia a righe di comando (Shell). La shell, essendo meno intuitiva, è destinata ad un amministratore.
Sistema di calcolo
- Hardware
- Sistema Operativo
- Programmi
- Utenti
Startup
Il bootstrap viene caricato in RAM dal BIOS (ROM, Firmware). Il bootstrap loader, che è contenuto nell'MBR, fa un controllo dell'hardware e carica il kernel dell'OS.
MBR (master boot record) dice come è partizionato il disco e l'indirizzo del caricatore del sistema operativo (512 byte).
Interrupt
Al verificarsi di un'interruzione viene eseguita una routine di gestione che salva lo stato della CPU e l'indirizzo dell'istruzione.
Trap: Interrupt generato dal software.
Direct Memory Access (DMA)
Utilizzato per I/O ad alte prestazioni, viene generato un solo interrupt per scrivere un certo numero di byte, senza chiedere l'intervento della CPU per ciascun byte. La CPU dà due informazioni: l'indirizzo di memoria dove scrivere e per quanti byte.
Modalità di DMA
- Burst: Il processore dà il controllo dei bus al DMA, non può più accedervi fino a quando non ha finito.
- Furto di ciclo: Il DMA impegna il bus solo se ci sono dati da trasmettere.
- Trasparente: Il DMA chiede il permesso al processore se può utilizzare i bus, ma se il processore ha bisogno, il DMA deve aspettare.
Struttura della memoria
Principale (accesso diretto, cache) / Di massa (estensione della principale).
Caching
Copia dell'informazione in una memoria più veloce, più piccola e più vicina secondo il principio di località (cache). La cache, non essendo grande quanto la RAM, ha una probabilità di cache hit (attorno al 90%) e una probabilità di cache miss (attorno al 10%). Per risolvere il problema ci sono più cache, più grandi ma meno veloci.
Multiprogrammazione
Programma: Algoritmo risolutivo di un problema, scritto in un certo linguaggio. (Statica)
Processo: Istanza di un programma in esecuzione. (Assegnate tutte le risorse, no CPU). Entità dinamica. Necessita risorse. Il SO crea, cancella e sospende i processi.
Thread: Oggetto del sistema operativo a cui è assegnata la CPU.
Job: Insieme di processi che cooperano per svolgere un determinato compito.
La multiprogrammazione è fondamentale per l'efficienza di un sistema; con essa, più job sono memorizzati contemporaneamente, mantenendo la CPU occupata.
-
Appunti Fondamenti di Informatica teoria - sistemi di operativi
-
Appunti Fondamenti di informatica
-
Appunti Fondamenti di informatica
-
Fondamenti di informatica 1