In breve, il sistema operativo provvede a rendere l’user program più semplice e ottimizzato l’utilizzo di tutte le risorse della macchina.

L’utente interagisce con il sistema operativo attraverso la shell oppure attraverso una GUI (Graphical User Interface).

Quasi tutti i computer hanno due modalità di operare: kernel mode e user mode.

Le parti più importanti vengono eseguite in kernel mode (anche chiamato supervisor mode). In questa modalità si ha completo accesso all’hardware.

Il resto del software viene eseguito in user mode, dove sono disponibili solo una certa parte di istruzioni macchina.

Screenshot 2024-10-16 083013.png

Cos’è un sistema operativo?

Il sistema operativo si occupa di 2 cose:

  1. Estendere la macchina
  2. Gestore di risorse

Il sistema operativo come macchina estesa

L’obiettivo del sistema operativo è quello di creare una buona astrazione e poi implementarla e gestire gli oggetti astratti creati.

Il sistema operativo deve nascondere l’hardware e presentare programmi con una bella, pulita ed elegante astrazione di ciò che c’è sotto.

Screenshot 2024-10-16 084341.png

Il sistema operativo come gestore di risorse

Il lavoro del sistema operativo è di provvedere ad un ordinata e controllata allocazione dei processori, memorie, e device di I/O tra i vari programmi che li vogliono.

Sistemi operativi moderni permettono a più programmi di essere in memoria ed essere eseguiti allo stesso tempo.

Gestione di risorse comprende anche multiplexing resources in due modi differenti: in tempo e spazio. Quando una risorsa è time multiplexed, diversi programmi o utenti prendono il turno per utilizzare le risorse ogni tot tempo. Space multiplexing, invece che ogni programma prende il proprio turno, ognuno di essi viene assegnata una parte delle risorse.


Computer Hardware