Quali altri sistemi operativi ci sono oltre a Windows, Linux e macOS?

Possono essere i principali sistemi operativi per personal computer, ma ce ne sono altri per sistemi mainframe e server. E, sebbene girino principalmente su architetture Intel/AMD, tutti e tre hanno girato su altri hardware: Alpha per Windows, Motorola per OS/X, SPARC per Linux. Google Android e Apple iOS sono i principali sistemi operativi nei telefoni e nei tablet. Windows ha radici in CP/M, con elementi presi in prestito da Xenix, VMS e Xerox PARC. L'eredità di OS/X viene da Xerox e Apple OS-9, con molto di BSD su un microkernel MACH. GNU/Linux è lo sforzo di Linus di costruire un kernel a 32 bit come nucleo di un sostituto del Minix a 16 bit, uno strumento didattico che girava sull'architettura del primo PC IBM. La parte GNU dell'equazione deriva da utility e applicazioni costruite dal progetto GNU della Free Software Foundation, che ha cercato di duplicare le funzionalità di UNIX in open source, in modo che la conoscenza fosse condivisa. BSD, la tecnologia di base di OS/X, era anch'essa open source, con un diverso modello di licenza.

Windows divenne dominante negli anni '90 a causa di un'aggressiva campagna di licenze e marketing di Microsoft che richiedeva ai produttori dei modelli di personal computer IBM open-hardware di usare solo MS-DOS e più tardi Windows come sistema operativo, se volevano usarlo del tutto. Dato che IBM aveva stipulato un contratto con Microsoft per fornire il sistema operativo per i suoi PC, tutti gli altri seguirono l'esempio. La pressione per fornire sistemi multiutente/multitasking a basso costo costruiti sul design dell'hardware IBM portò Microsoft ad acquisire i diritti su Xenix, una versione di Unix che girava sul processore 80286 a 16 bit.

IBM ruppe con Microsoft dopo il rilascio di Windows 3, sviluppando OS/2 come un sistema operativo grafico multitasking integrato, dove Win3 era ancora un'applicazione grafica in esecuzione sopra MS-DOS. OS/2 poteva eseguire i programmi di Windows 3, quindi era un'alternativa attraente per gli utenti potenti che avevano bisogno di eseguire applicazioni popolari in un modo più robusto. Tuttavia, Windows 95 ruppe la compatibilità, e OS/2 morì per mancanza di applicazioni native equivalenti. Nel frattempo, Linux stava diventando abbastanza robusto da trovare uso nei retrobottega dei negozi IT e degli sviluppatori: I sistemi Unix di Sun Microsystems (Solaris), IBM (AIX) e Digital Equipment (ULTRIX e OSF) dominavano la scena del networking mentre Internet prendeva forma, e i sistemi operativi per minicomputer e mainframe continuavano a prosperare negli anni '90. Novell Netware fornì un modo per condividere le risorse di Windows all'interno di un gruppo di lavoro, finché Windows non aggiunse uno stack TCP/IP nativo.

Windows, progettato originariamente come un'applicazione grafica per il desktop sopra un sistema a singolo utente e singolo compito, subì una drastica revisione dopo lo scisma OS/2, con un nuovo kernel multi-tasking basato su idee del sistema operativo per minicomputer DEC VMS, e alcuni tentativi di separazione dei privilegi per la sicurezza. Il nuovo prodotto fu chiamato NT, per New Technology. La generazione successiva, Windows 2000, aggiunse capacità di rete avanzate con l'Active Directory basata su LDAP. I successivi 18 anni sono stati spesi a rifinire l'interfaccia utente e a rincorrere i buchi di sicurezza lasciati dal modello originale a singolo utente, con Microsoft saldamente trincerata in contratti di fornitura unica con i maggiori produttori di computer.

Questo lascia la Apple, una volta propagandata come "il computer per tutti noi", con il suo modello di business di hardware e sistema operativo integrati, con un prodotto di alta qualità con un controllo totale sui driver dei dispositivi, solidamente nel collaudato sistema operativo basato su BSD / Mach* affinato da anni di esperienza con il sistema Apple Unix (AUX) e l'esperienza di Steve Jobs nel costruire il breve sistema NEXT durante il suo esilio dalla Apple. Le macchine Apple funzionano e basta, fuori dalla scatola, e hanno un bell'aspetto. Apple ha esteso questa filosofia al mercato dei telefoni e dei tablet, con un successo sfrenato.

Per molto tempo, Linux è stato relegato all'installazione su vecchie macchine Windows che erano troppo lente o troppo piccole da aggiornare. Ma, come il sistema è maturato e l'hardware di base è diventato più capace, le macchine Linux hanno cominciato a comparire in produzione nei centri dati, non solo sui banchi di lavoro degli hobbisti. Anche il sistema stesso, con i contributi dei migliori ingegneri, è maturato. I produttori di computer, non vincolati dal monopolio di Microsoft sulle macchine di classe desktop per l'hardware di classe server, dato che Microsoft preferiva vendere licenze per utente direttamente all'utente finale, iniziarono a spedire macchine senza sistema operativo, molte delle quali finirono con Linux installato. I fornitori di dispositivi furono costretti a fornire anche i driver per Linux. Presto i server Linux cominciarono a rimpiazzare i server SPARC Sun Solaris, specialmente per i server Internet, dove le potenti e costose macchine RISC erano sottoutilizzate, con un risparmio sui costi del 70-90%. Linux divenne il sistema dominante che serviva Internet. Le azioni Sun caddero, e l'azienda fu acquistata da Oracle, che aveva ottimizzato i suoi motori di database aziendali per funzionare su processori SPARC sotto Solaris.

Altri sistemi operativi esistono ancora, in applicazioni embedded, e dove è necessario il controllo in tempo reale (né Windows né i sistemi derivati da Unix [cioè OS/X e Linux] furono progettati per questo scopo, anche se entrambi i kernel di Linux e Solaris hanno qualche capacità in tempo reale). Sebbene Windows NT sia stato originariamente compilato per il processore DEC Alpha e cross-compilato per Intel, nel tentativo di renderlo portabile, e ultimamente è apparso su macchine ARM, non è così versatile come BSD, la Berkeley Software Distribution, che è ancora in largo uso in diverse distribuzioni, derivata dalla finale open-source 4.4BSD-Lite Release 2 nel 1995. Linux, anch'esso nella tradizione Unix, è stato cross-compilato per funzionare su diverse architetture, ed è il kernel per i dispositivi Android e Chromebook.

*BSD ha tradizionalmente un kernel monolitico: MACH è un'implementazione del kernel BSD in forma di micro kernel, dove ogni sottosistema è un programma separato nello spazio utente, con un piccolo modulo di controllo centrale che gira in modalità protetta. Linux usa un kernel monolitico con moduli caricabili, in modo che nuovi driver di dispositivi possano essere installati senza ricompilare il kernel.