operativo, sistèma

insieme di programmi che sovrintende all'esecuzione delle elaborazioni su un sistema di elaborazione elettronica; esso facilita all'utente l'accesso al calcolatore, favorendone il migliore sfruttamento delle risorse. È generalmente costituito da una porzione residente permanentemente, in genere in una memoria ROM, nella memoria principale dell'elaboratore, e che si attiva al momento dell'accensione dell'elaboratore, e da porzioni che risiedono su memorie ausiliarie, da cui vengono richiamate nella memoria principale quando devono operare. Generalmente un sistema operativo comprende i seguenti programmi: supervisore, smistatore, distributore di memoria, schedulatore, interpretatore, input/output fisico, input/output logico. Si ha inoltre un certo numero di programmi di utilità per la messa a punto dei programmi, la contabilizzazione dell'uso delle risorse, la strutturazione e l'ordinamento degli archivi, la correlazione dei programmi ecc., che svolgono un ruolo collaterale ed entrano in funzione dietro richiesta dell'utente, la connessione ai servizi di rete. La realizzazione di sistemi operativi ha la sua ragion d'essere nella riduzione dei tempi morti dovuti all'operatore nel passaggio da una fase di elaborazione all'altra. In un centro di calcolo solo una certa parte del tempo complessivo di funzionamento dell'elaboratore può essere considerata come effettivo tempo di elaborazione, poiché il resto è assorbito in operazioni preparatorie, di manutenzione ecc. Quando l'operatore ha introdotto i programmi da eseguire e i relativi flussi di dati, il sistema operativo sovrintende alla loro esecuzione, passando dall'uno all'altro, gestendo le operazioni di ingresso e di uscita di ciascuno di essi ed eliminando ogni necessità di decisione e di intervento umano. I primi sistemi operativi furono sviluppati per gli elaboratori della seconda generazione; con l'introduzione della multiprogrammazione, caratteristica degli elaboratori della terza generazione, essi divennero indispensabili per l'utilizzo dell'elaboratore. Il supervisore è la parte principale del sistema operativo; suo compito fondamentale è la gestione dell'hardware dell'elaboratore; esso può utilizzare altri programmi del sistema operativo per lo svolgimento di funzioni relative alla gestione delle risorse, dei dati e dei lavori. Lo smistatore, o dispatcher, è un programma che viene richiamato dal supervisore quando bisogna decidere a quale dei processi residenti in memoria in attesa di elaborazione deve essere assegnato il successivo intervallo di tempo dell'unità centrale. La gestione della memoria secondo opportune tecniche è compito del programma distributore di memoria che viene richiamato al momento opportuno dal supervisore. La scelta del lavoro da eseguire tra quelli in attesa di passare in fase operativa viene fatta secondo appositi criteri di priorità dallo schedulatore, o scheduler, il quale gestisce contemporaneamente una tavola delle risorse disponibili nei vari tipi di memoria. L'interpretatore, o interpreter, effettua l'analisi e l'interpretazione delle richieste fatte dall'utente nel linguaggio caratteristico dell'elaboratore. L'input/output logico è costituito da una serie di programmi che permettono l'accesso agli archivi registrati su memorie di massa o su altri supporti esterni: per effettuare operazioni sulle unità periferiche l'input/output logico si serve di un altro sistema di programmi detto input/output fisico. Un'altra componente del sistema operativo che ha acquisito grande importanza nel corso degli anni è la parte del programma che gestisce l'interazione diretta con l'utente, nota come interfaccia utente. Dal sistema di interazione basato su comandi battuti su tastiera o perforati su scheda, si è passati a interfacce grafiche che utilizzano simboli rappresentati sullo schermo con icone e che possono venire individuati e selezionati dall'utente con particolari strumenti di input (mouse, penne ottiche ecc.). L'informatica ha mostrato una continua evoluzione dei sistemi operativi con la proposta di linguaggi adatti non solo al funzionamento degli elaboratori ma anche della miriade di grandi e piccoli dispositivi dotati di microprocessore che hanno invaso il mercato. Mentre in principio la tendenza era verso lo sviluppo di sistemi operativi capaci di usare sulla stessa macchina i programmi concepiti per macchine differenti, con il tempo si è andati verso l'integrazione e la “navigazione”: l'integrazione consente di dialogare senza difficoltà con tutte le altre macchine in rete, mentre la navigazione permette di accedere a programmi e documenti come se anche l'hard disk fosse una piccola Internet.I sistemi operativi sono in grado di individuare il tipo di interprete o di applicazione da mandare in esecuzione in base al tipo di programmi o dati su cui operare. Questo tipo è generalmente indicato in forma mnemonica dalla cosiddetta estensione del file in cui sono memorizzati i dati; dal punto di vista del sistema operativo il tipo dichiarato deve essere però convalidato da particolari informazioni all'interno del file stesso, che ne rendono il contenuto autodescrittivo. La struttura dei moderni sistemi operativi prevede la distinzione fra un kernel, che deve essere sempre residente per tutto il tempo in cui il sistema operativo ha il controllo dell'elaboratore, e altre componenti, che possono essere attivate su richiesta.

Quiz

Mettiti alla prova!

Testa la tua conoscenza e quella dei tuoi amici.

Fai il quiz ora