Sistemi operativi: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Diablo (discussione | contributi)
m Annullate le modifiche di 84.221.188.92, riportata alla revisione precedente di 62.101.98.215
Riga 8: Riga 8:
La prima generazione dei computer, attorno agli anni '50, non prevedeva un sistema operativo, ma bensì un operatore umano che gestisse tutti gli aspetti delle operazioni di controllo. Con la seconda generazione, a cavallo degli anni '60, le operazioni dovevano essere automatizzate. Ma è solo con la terza generazione che si assiste alla nascita dei veri e propri sistemi operativi moderni.
La prima generazione dei computer, attorno agli anni '50, non prevedeva un sistema operativo, ma bensì un operatore umano che gestisse tutti gli aspetti delle operazioni di controllo. Con la seconda generazione, a cavallo degli anni '60, le operazioni dovevano essere automatizzate. Ma è solo con la terza generazione che si assiste alla nascita dei veri e propri sistemi operativi moderni.
Un sistema operativo può essere di vari tipi, cioè multi/monoutente e multi/monoprocesso. Storicamente, si tende a suddividere così i sistemi operativi:
Un sistema operativo può essere di vari tipi, cioè multi/monoutente e multi/monoprocesso. Storicamente, si tende a suddividere così i sistemi operativi:
*'''MS DOS, Mac System 1-5''' monoutente, monoprocesso
* monoutente, monoprocesso: esempi '''MS DOS, Mac System 1-5'''
*'''Windows 1.0, 2.0, 3.0, 3.1, 3.11, 95, 98, Me, Mac System 6-7, Mac OS 8''' monoutente, multiprocesso
* monoutente, multiprocesso: esempi '''Windows 1.0, 2.0, 3.0, 3.1, 3.11, 95, 98, Me, Mac System 6-7, Mac OS 8'''
*'''Windows NT, 2000, XP, 2003, Mac OS 9''' "multiutente", multiprocesso
* "multiutente", multiprocesso: esempi '''Windows NT, 2000, XP, 2003, Mac OS 9'''
*'''Unix, GNU/Linux, Mac OS X, BSD''' multiutente, multiprocesso
* multiutente, multiprocesso: esempi '''Unix, GNU/Linux, Mac OS X, BSD'''


Un sistema multiprocesso ha ovviamente un maggior numero di vincoli imposti su memoria e risorse, che un sistema monoprocesso. Infatti, mentre in origine il problema non si poneva (non esistendo nemmeno un sistema operativo), già con la seconda generazione di processori il problema delle risorse era di primissimo piano.
Un sistema multiprocesso ha ovviamente un maggior numero di vincoli imposti su memoria e risorse, che un sistema monoprocesso. Infatti, mentre in origine il problema non si poneva (non esistendo nemmeno un sistema operativo), già con la seconda generazione di processori il problema delle risorse era di primissimo piano.

Versione delle 12:54, 16 feb 2007

Wikiversità
Questo libro può essere utile per
il corso di Sistemi operativi dell'area di Ingegneria

I Sistemi Operativi

Un sistema operativo è il programma che agisce da intermediario fra utente e macchina. Fornisce infatti all'utente vari strumenti, quale un ambiente per l'esecuzione di altri programmi e una visione astratta del hardware.

Evoluzione

I sistemi operativi nascono e si sviluppano di pari passo con la complessità delle macchine su cui nascono. La prima generazione dei computer, attorno agli anni '50, non prevedeva un sistema operativo, ma bensì un operatore umano che gestisse tutti gli aspetti delle operazioni di controllo. Con la seconda generazione, a cavallo degli anni '60, le operazioni dovevano essere automatizzate. Ma è solo con la terza generazione che si assiste alla nascita dei veri e propri sistemi operativi moderni. Un sistema operativo può essere di vari tipi, cioè multi/monoutente e multi/monoprocesso. Storicamente, si tende a suddividere così i sistemi operativi:

  • monoutente, monoprocesso: esempi MS DOS, Mac System 1-5
  • monoutente, multiprocesso: esempi Windows 1.0, 2.0, 3.0, 3.1, 3.11, 95, 98, Me, Mac System 6-7, Mac OS 8
  • "multiutente", multiprocesso: esempi Windows NT, 2000, XP, 2003, Mac OS 9
  • multiutente, multiprocesso: esempi Unix, GNU/Linux, Mac OS X, BSD

Un sistema multiprocesso ha ovviamente un maggior numero di vincoli imposti su memoria e risorse, che un sistema monoprocesso. Infatti, mentre in origine il problema non si poneva (non esistendo nemmeno un sistema operativo), già con la seconda generazione di processori il problema delle risorse era di primissimo piano.

Famiglie di sistemi operativi

I primi sistemi operativi erano, per loro natura, sistemi monolitici, data la bassissima necessità di uso di interfacce particolari, in quanto tutto veniva fatto apposta sull'hardware che si utilizzava. Erano semplicemente delle applicazioni che gestivano e monitoravano i processi che venivano eseguiti sulla macchina.

Presto arrivò il paradigma di programmazione ad oggetti. Con esso arrivarono i cosiddetti sistemi modulari con i loro vantaggi e i loro svantaggi. Fondamentalmente, nel kernel monolitico era necessario avere tutti i driver caricati nel sistema, il che garantiva una grande velocità, ma nel contempo aumentava le risorse necessarie. Al contrario un kernel modulare è generalmente molto leggero, ma aumenta il suo tempo di accesso ai driver che sono salvati in moduli esterni.

Esiste una ulteriore famiglia di sistemi modulari, detti a microkernel, che godono di una ulteriore leggerezza del processo. In questo caso anche alcune funzioni tipiche del kernel vengono eseguite da elementi esterni al kernel in senso stretto. Questo modello viene spesso associato al modello client-server. In effetti ogni servizio è garantito da una particolare applicazione.

È infine necessario notare un ulteriore paradigma: il modello a livelli gerarchici. Questo, realizzato nel sistema THE, riprende in alcuni aspetti l'idea dei layer tipica del mondo delle comunicazioni.

I Processi

Libri correlati

Altri progetti

Collegamenti esterni

  • [1] - Sito ufficiale di Minix, il sistema di A. Tanenbaum
  • [2] - L4
  • [3] - Appunti di Sistemi Operativi