Un browser è un esempio di software di sistema?
Non ci sono definizioni universali, dure e veloci per molti termini del software, come "software di sistema", ma in generale, no, un browser non è un esempio di software di sistema, è un esempio di software applicativo.
La gente non è d'accordo su cosa sia esattamente il software di sistema, ma per definirlo per contrasto, il senso generale è che un software applicativo è specifico e mirato, e generalmente viene avviato dall'utente, usato e poi spento.
Il software di sistema può essere abbastanza specifico e mirato, ma generalmente funziona da solo, automaticamente, per lunghi periodi di tempo e in gran parte senza il coinvolgimento dell'utente. Il software di sistema è generalmente un servizio, un programma che soddisfa le richieste di altri programmi; a volte di altri software di sistema, a volte di applicazioni.
Per esempio, potreste usare un programma client di posta elettronica, (tecnicamente chiamato MUA, Mail User Agent) come Mozilla Thunderbird, o, se siete costretti da un datore di lavoro o avete un gusto incredibilmente povero in fatto di sicurezza informatica, Outlook. Questo è un software applicativo.
Il tuo client di posta elettronica ti aiuta a comporre e formattare la tua e-mail, poi deve parlare con un altro programma, un server di posta elettronica (tecnicamente chiamato MTA, Mail Transport Agent) come SendMail, Postfix, Exim, ecc. In questi giorni la maggior parte dei server di posta elettronica girano su altri computer, di solito computer gestiti dal tuo provider di servizi internet. Il tuo client di posta apre una connessione di rete all'MTA e gli chiede di consegnare l'email.
Alcuni considerano il sistema operativo come software di sistema. Personalmente, io non lo faccio, ma la maggior parte dei sistemi operativi sono forniti in bundle con ogni sorta di software di sistema e di software applicativo, così la gente diventa confusa con la loro terminologia.
Un sistema operativo, in generale, fa tre lavori, che si possono raggruppare in due lavori, e poi raggrupparli in un solo lavoro.
Il "solo lavoro" è che un sistema operativo esegue i programmi.
Possiamo suddividerlo ulteriormente, in due lavori; un sistema operativo gestisce le risorse di cui i programmi hanno bisogno per funzionare. La prima di queste risorse è l'esecuzione del programma stesso. Il secondo lavoro è che il sistema operativo gestisce l'accesso del programma alla CPU, alla memoria, all'archiviazione (dischi rigidi) e all'I/O.
Possiamo suddividere di nuovo questo secondo pezzo, in primo luogo gestendo l'accesso dei programmi all'hardware, e secondo gestendo l'hardware stesso, perché i computer non contengono solo un tipo di CPU, un tipo di memoria, un tipo di disco rigido, ecc. Questi diversi tipi di ogni hardware hanno tutte piccole variazioni nel modo in cui funzionano e come sono usati, e uno dei grandi compiti di un sistema operativo è quello di nascondere queste variazioni e presentare un'interfaccia uniforme ai programmi.
Ma alcune persone vedono questo strato che nasconde le variazioni, chiamato "driver", come distinto dal sistema operativo stesso. Come ho detto, per molti termini nel software non ci sono definizioni universali, dure e veloci.
Articoli simili
- Posso fare un'applicazione web che gira su Android in modalità foreground, ad esempio, lavorare in background anche quando chiudo il browser?
- Il sistema operativo Windows potrà mai superare il sistema operativo Android o il sistema operativo Apple nei dispositivi mobili?
- Qual è un esempio di sistema di controllo del secondo ordine per un'applicazione reale?
- Quale linguaggio di programmazione dovrei usare per creare un'estensione del browser che possa funzionare su tutti i browser?