Concetti Chiave

  • Un sistema operativo gestisce le risorse hardware in modo semplice ed efficiente, fungendo da interfaccia tra l'hardware e gli utenti.
  • Le generazioni di sistemi operativi si sono evolute nel tempo, passando da un'assenza totale a sistemi user-friendly e compatibili con dispositivi mobili.
  • La terza generazione ha introdotto la multiprogrammazione, consentendo a più programmi di utilizzare la CPU contemporaneamente grazie a innovazioni come le interruzioni.
  • Il time-sharing è stato implementato nella quinta generazione per garantire accesso simultaneo alle risorse, assegnando intervalli di tempo alla CPU per ogni processo.
  • La sesta generazione ha migliorato le interfacce per rendere i personal computer accessibili anche a utenti meno esperti, portando alla creazione di sistemi operativi moderni come Windows e Linux.

Un sistema operativo è un insieme di programmi che deve garantire la gestione delle risorse hardware in modo semplice ed efficiente tra tutti gli utenti del sistema.

I primi calcolatori non avevano il sistema operativo. In essi il programmatore doveva provvedere a tutto e al termine dell'esecuzione del programma doveva provvedere ad un nuovo caricamento in memoria.

Con l'introduzione dei sistemi operativi il passaggio da un applicazione ad un altra è svolto in automatico.

La CPU si trova così ad edeguire i programmi del sistema operativo in alternanza con quelli applicativi.

La necessità di utilizzare al meglio il tempo della CPU ha fatto nascere l'esigenza di introdurre programmi capaci di amministrare in modo razionale tutte le risorse di un calcolatore.

Esistono varie definizioni di un sistema operativo,da un punto di vista Nella prima definizione (Top-down) il sistema operativo è l'interfaccia che rende più semplice l'utilizzo del calcolatore e delle sue risorse da parte degli utilizzatori. Quindi può essere visto come la macchina estesa che si interpone tra l'hardware e gli utilizzatori.

Dal punto di vista Bottom-up,il sistema operativo è il gestore delle risorse hardware e sofware di un sistema di eleborazione quali la CPU,la memoria,i dischi,i dispositivi I/O,programmi etc.

Inoltre garantisce al calcolatore di svolgere le prorprie funzioni con la massima efficienza possibile.

I parametri che sono necessari per effettuare la misura dell'efficienza sono:

- I tempi di risposta;

- La facilità d'uso;

- tolleranza ai guasti.

Evoluzione storica dei sistemi operativi

Nel corso degli anni i sistemi operativi hanno avuto delle evoluzioni,una sorta di cambiamento,che hanno portato al loro perfezionamento. Ogni miglioramento costituisce una generazione. In tutto le generazioni di SO sono sette.

Prima generazione : Assenza completa dei Sistemi operativi. Gli utilizzatori scrivono i programmi direttamente in linguaggio macchina e si fanno carico anche del caricamento in memoria e dell'avvio dei programmi. La CPU rimane inattiva durante tutti i periodi delle operazioni Input e Output e tra l'esecuzione di un programma e un altro.

Seconda generazione : Sistemi operativi basati su Il Batch era un lotto che racchiudeva una serie di programmi.

Terza generazione : Nasce il concetto di Multiprogrammazione. Vengono caricati in memoria piu programmi facendo in modo che condividano l'uso della CPU.

Tale caratteristica è resa possibili grazie all'introduzione di due importanti innovazioni:

- I processi input/output avevano in dotazione un insieme proprio di istruzioni e registri,ed erano in grado di comunicare con i dispostivi input/output

- Le interruzioni,ovvero segnali generati dai controllori dei dispositivi,in grado di interromepre il normale ciclo di esecuzione della CPU,quando arrivavano segnali dall'esterno.

Ogni processo viene spostato dalla memoria di massa alla memoria centrale solo quando serve. La tecnica consente il caricamento in memoria non di un programma intero,ma solo delle specifiche parti,aimento cosi il numero di processi che è possibile caricare nella memoria centrale.

Quinta generazione : Nascono i sistemi time-sharing. Prima di questa generazione più utlizzatori avevano esisgenza di accedere alle risorse contemporaneamente.

Per prevenire questo problema fu introdotto la tecnica del time sharingh che si basa sull'assegnare degli intervalli di tempo alla CPU,detti anche time slice,ad ogni processo,dopodichè terminato tale tempo.il processo deve abbandonare la CPU,e cedere il posto al programma successivo.

Sesta generazione : l'architettura interna resta pressoché invariata. L'attenzione viene posta sulle interfacce, al fine di facilitare l'uso dei primi personal computer anche ai meno esperti. Nascono i primi sistemi operativi user-friendly che nelle successive generazioni porteranno alla nascita degli attuali sistemi operativi come Microsoft, Linux, MacOS,che usano interfacce di utilizzo completamente grafiche.

Le generazioni successive avranno il compito di adeguare i sistemi operativi ai dispositivi mobili,come cellulari e tablet.

Domande da interrogazione

  1. Qual è la funzione principale di un sistema operativo?
  2. Un sistema operativo gestisce le risorse hardware in modo semplice ed efficiente, fungendo da interfaccia tra l'hardware e gli utenti del sistema.

  3. Come è cambiato l'uso dei sistemi operativi nel tempo?
  4. I sistemi operativi si sono evoluti attraverso sette generazioni, passando dall'assenza di un sistema operativo alla multiprogrammazione e infine ai sistemi user-friendly per personal computer.

  5. Quali sono i parametri per misurare l'efficienza di un sistema operativo?
  6. I parametri includono i tempi di risposta, la facilità d'uso e la tolleranza ai guasti, che sono essenziali per garantire un funzionamento ottimale del calcolatore.

  7. Cosa ha introdotto la terza generazione di sistemi operativi?
  8. La terza generazione ha introdotto il concetto di multiprogrammazione, permettendo a più programmi di condividere l'uso della CPU, grazie a innovazioni come le interruzioni e i processi I/O.

  9. Qual è l'importanza della quinta generazione di sistemi operativi?
  10. La quinta generazione ha introdotto i sistemi time-sharing, consentendo a più utenti di accedere alle risorse contemporaneamente, migliorando così l'efficienza nell'uso della CPU.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community