Evoluzione dei sistemi operativi

  • Prima Generazione

    I primi calcolatori (sulle valvole) non si basavano di un vero e proprio sistema operativo. L'utente era anche il programmatore e si usava solamente il linguaggio macchina. I primi software si trovavano su schede di collegamento o schede perforate ed erano essenzialmente assemblatori, compilatori, linker (programmi che combinano più oggetti provenienti dal compilatore per formare un programma eseguibile) e loader (programmi che caricano altri programmi in memoria e ne preparano l'esecuzione).
  • Seconda Generazione (1955-1965)

    In quegli anni sostituendo le valvole, avvenne la programmazione batch, il primo sistema operativo. Il transitor, con schede di controllo, voleva gestire la sequenza di programmi che andava eseguita sul calcolatore velocizzando l'esecuzione. Il problema principale di questi computer era la lentezza delle operazioni di lettura dalle schede perforate. Per risolverlo, veniva caricata da un altro computer su unità a nastro magnetico, la cui lettura era più veloce.
  • Terza Generazione (1965-1980)

    La multiprogrammazione è quando un processo è in attesa perché sta facendo un'operazione di I/O. Con gli hard disk, nacque una tecnica chiamata spooling, che è un'evoluzione della tecnica che caricava i programmi dalle schede perforate, al nastro magnetico. Negli anni '70 si crearono i primi sistemi time-sharing, per avere molti utenti che lavoravano nello stesso tempo, sullo stesso computer. Uno dei primi sistemi time-sharing fu Multics, dal quale derivò poi Unix.
  • Quarta Generazione (1980-oggi)

    Negli anni '80 nacquero i primi personal computer. Uno tra i più diffusi fu il PC IBM, con il quale venne introdotto anche il sistema operativo MS-DOS. Sempre in quegli anni, l' Apple (prendendo spunto da un'idea della Xerox) introdusse la prima interfaccia grafica (GUI). L'idea fu subito applicata anche dalla Microsoft con l'introduzione del sistema operativo Windows.