Sistemi Operativi
Un sistema operativo (abbreviato in SO) è un software di base che gestisce le risorse hardware e software di un computer o dispositivo digitale.
Esso fornisce una serie di comandi e servizi per sfruttare al meglio la potenza di calcolo di qualsiasi elaboratore elettronico, dai palmari ai potenti mainframe1.
Ecco alcune funzioni principali chiave sui sistemi operativi:
Gestione della Memoria
La gestione della memoria in un sistema operativo è come organizzare un grande magazzino di scatole.
Immagina che ogni scatola rappresenti una parte di memoria. Ecco alcuni concetti chiave :
- Requisiti per la Gestione della Memoria:
- Protezione e Condivisione: Vogliamo che ogni processo abbia le sue scatole di memoria e non possa “sbirciare” nelle scat. Un sistema operativo è un software di base che gestisce le risorse hardware e software di un computer o dispositivo digitale.ole degli altri processi. Tuttavia, alcune scatole possono essere condivise tra processi.
- Rilocazione: I processi non devono preoccuparsi di dove si trovano le loro scatole. Devono solo sapere come accedervi.
- Terminologia di Base:
- Allocare: Mettere qualcosa in una scatola vuota.
- Deallocare: Rimuovere qualcosa da una scatola.
- Indirizzo di memoria: L’etichetta sulla scatola che dice dove si trova.
- Gestore della Memoria:
- Il gestore della memoria è come il magazziniere. Si assicura che le scatole siano assegnate correttamente ai processi.
- Quando un processo ha bisogno di spazio, il gestore della memoria gli assegna una scatola vuota.
- Obiettivi della Gestione della Memoria:
- Economicità: Utilizzare lo spazio in modo efficiente.
- Massimizzare l’uso: Riempire tutte le scatole disponibili.
vai alla home
Gestione delle Periferiche
La gestione delle periferiche in un sistema operativo è fondamentale per garantire un corretto funzionamento dei dispositivi di input/output.
Ecco alcuni concetti chiave:
- Visione Astratta dei Dispositivi:
- Il sistema operativo fornisce all’utente una visione astratta dei dispositivi.
- Questo rende trasparenti le caratteristiche fisiche delle periferiche,
consentendo agli utenti di interagire con i dispositivi senza preoccuparsi dei dettagli implementativi.
- Comandi per Utilizzare i Dispositivi:
- L’utente può utilizzare comandi standard per interagire con i dispositivi.
- Ad esempio, per la stampante, l’utente può dare il comando di “Stampa” senza preoccuparsi del trasferimento dei byte a livello fisico.
- Device Driver:
- I device driver sono moduli speciali del sistema operativo che gestiscono le particolarità e i dettagli dei vari dispositivi.
- Sono scritti dai produttori dei dispositivi stessi e conoscono approfonditamente le caratteristiche fisiche.
- Controller e Interrupt:
- Oltre ai driver, ogni dispositivo è controllato da un controller hardware.
- Il controller comunica il verificarsi di eventi esterni, come dati disponibili o periferiche libere.
vai alla home
Gestione dei Processi
La gestione dei processi in un sistema operativo è fondamentale per coordinare, sincronizzare e gestire l’esecuzione dei processi. Ecco alcuni concetti chiave:
- Processi e Risorse:
- Processo: Ogni programma in esecuzione è un processo con una specifica mansione.
- Risorse: I processi richiedono risorse come il processore, la memoria e dispositivi di input/output.
- Scheduler:
- Il scheduler (o gestore dei processi) decide quale processo deve essere eseguito.
- Si basa su criteri come prelazione, priorità e durata di esecuzione.
- Algoritmi di Scheduling:
- FCFS (First-Come-First-Served): Esegue il primo processo pronto.
- Round-Robin: Assegna il processore a ciascun processo per un intervallo di tempo (time slice).
- Shortest-Process-Next: Basato sulla priorità senza rilascio, sceglie i processi più brevi.
- Multilevel Feedback: Combina caratteristiche degli algoritmi precedenti.
vai alla home
macchina di Von Newman:
vai alla home
a cura di Matteo Cuccuru