Il software di sistema è un tipo di programma per computer progettato per eseguire i programmi hardware e applicativi di un computer. Se pensiamo al sistema informatico come a un modello a più livelli, il software di sistema è l'interfaccia tra l'hardware e le applicazioni utente. Il sistema operativo è l'esempio più noto di software di sistema. Il sistema operativo gestisce tutti gli altri programmi in un computer.
Il software di sistema viene utilizzato per gestire il computer stesso. Funziona in background, mantenendo le funzioni di base del computer in modo che gli utenti possano eseguire software applicativo di livello superiore per eseguire determinate attività. In sostanza, il software di sistema fornisce una piattaforma su cui eseguire il software applicativo.
Caratteristiche importanti del software di sistema
I produttori di computer di solito sviluppano il software di sistema come parte integrante del computer. La responsabilità principale di questo software è creare un'interfaccia tra l'hardware del computer che produce e l'utente finale.
Il software di sistema generalmente include le seguenti funzionalità:
- Alta velocità. Il software di sistema deve essere il più efficiente possibile per fornire una piattaforma efficace per il software di livello superiore nel sistema informatico.
- Difficile da manipolare. Spesso richiede l'uso di un linguaggio di programmazione, che è più difficile da usare rispetto a un'interfaccia utente (UI) più intuitiva.
- Scritto in un linguaggio informatico di basso livello. Il software di sistema deve essere scritto in un linguaggio del computer che l'unità di elaborazione centrale (CPU) e altro hardware del computer possono leggere.
- Vicino al sistema. Si collega direttamente all'hardware che consente al computer di funzionare.
- Versatile. Il software di sistema deve comunicare sia con l'hardware specializzato su cui viene eseguito sia con il software applicativo di livello superiore che di solito è indipendente dall'hardware e spesso non ha una connessione diretta con l'hardware su cui viene eseguito. Il software di sistema deve anche supportare altri programmi che dipendono da esso man mano che si evolvono e cambiano.
Tipi di software di sistema
Il software di sistema gestisce le funzioni di base del computer, inclusi il sistema operativo del disco, il software dell'utilità di gestione dei file e i sistemi operativi.
Altri esempi di software di sistema includono quanto segue:
Un quadro completo dello stack del software. Il software di sistema include il firmware attraverso i livelli del sistema operativo di questo modello.
- Il progetto BIOS (sistema di input / output di base) avvia il sistema del computer dopo l'accensione e gestisce il flusso di dati tra il sistema operativo e i dispositivi collegati, come il disco rigido, l'adattatore video, la tastiera, il mouse e la stampante.
- Il progetto stivale <font style="vertical-align: inherit;" class="">Programma</font> carica il sistema operativo nella memoria principale del computer o nella memoria ad accesso casuale (RAM).
- An assembler prende le istruzioni di base del computer e le converte in un modello di bit che il processore del computer può utilizzare per eseguire le sue operazioni di base.
- A driver del dispositivo controlla un particolare tipo di dispositivo collegato al computer, come una tastiera o un mouse. Il programma del driver converte le istruzioni I / O più generali del sistema operativo in messaggi comprensibili al tipo di dispositivo.
Inoltre, il software di sistema può includere anche utilità di sistema, come l'utilità di deframmentazione del disco e Ripristino configurazione di sistema, e strumenti di sviluppo, come compilatori e debugger.
Sistemi operativi
Il sistema operativo del computer è un noto esempio di software di sistema. I sistemi operativi ampiamente utilizzati includono Microsoft Windows, macOS e Linux. A differenza di altri tipi di software di sistema, l'utente medio del computer interagisce regolarmente con il sistema operativo del computer tramite la sua interfaccia utente grafica (GUI) e, con alcuni sistemi operativi, un'interfaccia della riga di comando (CLI) meno complessa.
Poiché una GUI è un programma che si trova sopra il sistema operativo, può essere indicato come software applicativo, non software di sistema. In altre parole, la GUI è un software applicativo che consente all'utente di manipolare parti del sistema operativo.
Attività importanti eseguite dal sistema operativo
La responsabilità principale del sistema operativo è gestire le risorse software e hardware di un computer. È il principale programma di controllo del computer. Il sistema operativo controlla e conserva una registrazione di tutti gli altri programmi sul computer, inclusi sia l'applicazione che il software di sistema. Il sistema operativo crea un ambiente in cui vengono eseguiti tutti gli altri programmi per computer e fornisce servizi a tali altre applicazioni.
I sistemi operativi eseguono le attività. Cinque dei più importanti sono i seguenti:
- Gestione dei file e pianificazione dei processi. Il sistema operativo alloca le risorse e assegna la priorità a quali programmi dovrebbero ricevere le risorse e in quale ordine. Ad esempio, un'applicazione per workstation audio digitale può richiedere un certo livello di potenza di elaborazione quando viene utilizzata. Il sistema operativo decide quanta potenza l'applicazione riceve dalla CPU e gestisce gli effetti di tale allocazione su altre applicazioni. Se un processo più critico è in corso altrove sul computer, il sistema operativo potrebbe sacrificare parte della potenza richiesta dalla workstation audio digitale, ad esempio, per garantire che l'altro processo possa essere completato.
- Processore e gestione della memoria. Il sistema operativo alloca la memoria del computer a un processo quando necessario e la rilascia al termine del processo.
- Rilevamento degli errori. Il sistema operativo rileva, tiene traccia ed esegue il debug degli errori negli altri programmi del computer.
- Sicurezza. Il sistema operativo utilizza password per proteggere i programmi e i dati del computer da accessi non autorizzati.
- Controllo e gestione. Il sistema operativo utilizza compilatori, assemblatori e interpreti per controllare e gestire altri programmi sul computer. Questi processori di linguaggio sono pezzi di software di sistema che traducono i linguaggi di alto livello - Java, Python e C ++ - in cui sono scritti molti programmi per computer in istruzioni di codice macchina di basso livello, che è essenzialmente una serie di 1 e 0 che il la CPU del computer può leggere.
Differenza tra software di sistema e software applicativo
Il software di sistema e i programmi applicativi sono i due principali tipi di software per computer. A differenza del software di sistema, il software applicativo, spesso chiamato semplicemente applicazione o app, svolge una particolare funzione per l'utente finale. Alcuni esempi di software applicativo includono quanto segue:
- browser web
- client di posta elettronica
- elaboratori di testi
- fogli di calcolo
Scopri le principali differenze tra l'applicazione e il software di sistema.
Il software applicativo e il software di sistema sono codificati in modo diverso. Il software di sistema è scritto in linguaggi di programmazione di sistema, come ESPOL (Executive Systems Problem Oriented Language), progettati per fornire un facile accesso all'hardware del computer sottostante. I programmi applicativi sono scritti in linguaggi generici, come Pascal, che consentono al programma di utilizzare lo stesso codice su piattaforme diverse. Alcuni linguaggi, come il C, vengono utilizzati sia per il software di sistema che per quello applicativo.
Anche il software di sistema e il software applicativo vengono attivati in modo diverso. Il software di sistema viene generalmente attivato quando un computer o un dispositivo viene acceso e rimane acceso fino allo spegnimento del dispositivo. Il software applicativo viene attivato da un utente finale dopo l'accensione del computer. Il software applicativo necessita del software di sistema per funzionare, mentre il software di sistema può essere eseguito indipendentemente dal software applicativo.
Nella maggior parte dei casi, gli utenti finali non interagiscono con il software di sistema perché viene eseguito in background. Al contrario, gli utenti finali interagiscono con il software applicativo: installandolo, avviandolo, utilizzandolo per eseguire determinate attività, avviandolo e disinstallandolo.