Un sistema operativo (abbreviato in SO, in inglese OS), in informatica, è un software di base, detto anche piattaforma operativa (composto normalmente da più sottosistemi o componenti software: kernel, scheduler, file system, gestore della memoria, gestore delle periferiche, interfaccia utente e spooler di stampa), che gestisce le risorse hardware e software della macchina, fornendo servizi di base ai software applicativi
Un sistema operativo è una raccolta di programmi che offre all'utilizzatore una serie di istruzioni e funzioni per ottimizzare l'utilizzo di qualsiasi dispositivo elettronico, che va dai dispositivi portatili ai computer di grande potenza come i mainframe.
Un kernel (nucleo) è un gruppo di funzioni fondamentali, strettamente interconnesse fra loro e con l'hardware. un kernel non è altro che un software che ha il compito di fornire ai moduli che compongono il sistema operativo e ai programmi in esecuzione sul computer le funzioni fondamentali ed un accesso controllato all'hardware, sollevandoli dai dettagli della sua gestione.
Lo scheduler è il cuore pulsante dei sistemi operativi multitasking, che gestiscono simultaneamente più processi.
La periferica è collegata agli altri componenti hardware del computer via cavo o in maniera wireless ed è controllata dal sistema operativo attraverso un driver di periferica.
Il gestore di memoria è la parte del sistema operativo responsabile di gestire e allocare e deallocare i processi in esecuzione (memoria volatile che è la RAM).
Un computer diventa significativamente più utile e efficiente quando è dotato di una memoria di massa. Per gestirla, è necessario un gestore di file system, un software che permette di organizzare e gestire i dati sulla memoria di massa secondo una struttura specifica, consentendo accesso, lettura, scrittura e ordinamento. I sistemi operativi in grado di risiedere su disco e gestire un file system sono chiamati Disk Operating System (DOS). Un esempio famoso è MS-DOS di Microsoft, che ha dato origine ai sistemi operativi Windows 95/98/Me. Esistono anche versioni libere come FreeDOS e altre varianti come DR-DOS.
Il progresso verso una gestione migliorata del computer si verifica con lo sviluppo di un'interfaccia utente separata dal kernel, nota come shell, che funge anche da interprete dei comandi. Questa shell, spesso primitiva, può essere utilizzata anche per interpretare un linguaggio di programmazione o un linguaggio di scripting per creare comandi batch. Era comune nei sistemi operativi degli home computer degli anni '80, come il Commodore 64 e il Sinclair ZX Spectrum. L'interfaccia utente consente all'utente di interagire con il computer, e si suddivide principalmente in due categorie: interfaccia a riga di comando e interfacce grafiche, che includono, ad esempio, un desktop.
Lo spooler di stampa è stato storicamente il primo modulo esterno del sistema operativo ad essere implementato, per risolvere il problema della gestione delle stampe su carta.
fonte: Wikipedia