Windows, Linux e Mac OSX a confronto

La prima scelta durante l’inizializzazione di un nuovo PC è senza dubbio quella del Sistema Operativo. Sebbene una volta la stragrande maggioranza fosse puntata su un sistema di casa Microsoft (Windows), oggigiorno la scelta comincia a farsi abbastanza interessante.

L’interfaccia grafica di un sistema operativo (GUI) non è altro che la parte di software che si occupa della gestione dell’input da parte dell’utente: in tutti e tre i sistemi operativi l’interfaccia risulta essere simile, anche se con qualche piccola differenza. Lo scopo della GUI è quello di rendere il sistema operativo il più possibile semplice e vicino alle esigenze di qualunque utente medio.

Parlando di sistemi operativi, è obbligatorio sapere il significato di Kernel. Il kernel ha funzioni talmente importanti da nasconderne la visualizzazione da parte dei comuni utenti (che fondamentalmente non si devono preoccupare delle azioni svolte da esso). La differenza principale dei tre sistemi operativi Windows, Linux, e Mac OS X sta principalmente nel kernel e nella sua modalità di lavoro. Di seguito andremo ad analizzare le differenze dei tre diversi kernel.

NTOS: il “cuore” di Windows
E’ un kernel sviluppato dalla Microsoft per Windows NT (da qui il nome), NTOS è alla base di tutti i sistemi operativi, fino a Windows 7. In questo kernel, i driver accedono all’hardware direttamente, il chè è un vantaggio per le prestazioni, ma nel caso in cui si nascondano dei rootkit ciò può essere molto pericoloso. Per impedire ciò, è stata sviluppata la tecnologia dei driver firmati. Fin dalle origini Windows NT si ispira alla filosofia dei sistemi Unix e si differenzia nettamente dai sistemi basati su MS-DOS (Windows 98 e precedenti): l’impostazione è multiutentemultitask e multiprocessore. Il file system (NTFS nelle sue varie versioni) gestisce adeguatamente la multiutenza, assegnando a ciascun file diritti di accesso specifici per ogni utente.Il kernel NTOS è spesso erroneamente considerato di tipo microkernel, in realtà è di tipo ibrido: molti servizi sono implementati in kernel mode, fra i quali il file system, la gestione della memoria e anche la gestione della grafica.NTOS è interamente a 32 bit e dispone di uno scheduler preemptive (cioè che gestisce il rilascio anticipato dei processi, consentendo di liberare la CPU da un processo che la sta impegnando da troppo tempo).
Pro: Il sistema risulta veloce in multitasking, ed offre una compatibilità dei programmi al topContro: I moduli vengono caricati tutti assieme all’avvio, ed il registro di sistema implementato rallenta molto i programmi di esecuzione giornaliera causando rallentamenti dopo qualche anno.
Linux
Il primo kernel ad aprirsi all’utente medio, se non l’unico. All’avvio di molte distro potete vederlo in azione, soprattutto per quanto riguarda le Live Distro. Probabilmente, è anche uno dei più stabili, tanto da spingere Apple a integrarlo nel suo kernel ibrido. E’ stato sviluppato da Linus Thorvalds nei primi anni novanta, si sta affermando molto come Sistema Operativo. E’ molto più simile a Windows di quanto si possa immaginare, se non fosse che carica i moduli secondo le necessità.L’architettura scelta da Torvalds per il kernel (ovvero una struttura monolitica, considerata da alcuni obsoleta a differenza della più moderna architettura a microkernel) fu causa di un dibattito molto acceso con Andrew S. Tanenbaum nel 1992 sul newsgroup comp.os.minix. Sebbene oggi il kernel possa essere compilato in modo da avere un’immagine binaria ridotta al minimo e i driver caricabili da moduli esterni, l’architettura originaria è chiaramente visibile: tutti i driver infatti devono avere una parte eseguita in kernel mode, anche quelli per cui ciò non sarebbe affatto necessario (ad esempio i driver dei file system).Linux è un kernel che supporta il multitasking ed è multi utente. Ciò permette che diversi utenti (con privilegi differenziati) possano eseguire sullo stesso sistema diversi processi software in simultanea. Attualmente Linux supporta gran parte dell’hardware disponibile per PC e supporta un numero enorme di architetture (tra cui SPARC, PowerPC e le più moderne CPU a 64 bit).Dato che il codice sorgente di Linux è disponibile a tutti, è ampiamente personalizzabile, al punto da rendere possibile, in fase di compilazione, l’esclusione di codice non strettamente indispensabile. La flessibilità di questo kernel gli da la possibilità di venire incorporato in alcuni videoregistratori digitali e nei telefoni cellulari.
Pro: I moduli vengono caricati solo quando sono indispensabili. Non ha bisogno di manutenzione di alcun genereContro: Ancora poco usato, scarsa compatibilità per quanto riguarda i programmi di Windows
Mac OS X: due kernel combinati assieme
La Apple ha definito il suo kernel a partire da Mac OS X con la sigla Xnu, che sta per X is not Unix. L’OS, infatti, usa il microkernel Mach esclusivamente per le comunicazioni tra le singole parti del suo kernel ibrido, mentre sfrutta una mod di FreeBSD (un sistema derivato da Unix totalmente gratuito come Linux) per tutte le operazioni, come l’elaborazione dei segnali e la gestione degli utenti. Con questo kernel, la maggior parte delle applicazioni Unix trova terreno fertile anche in Mac.Il cuore di Mac OS X e’ il kernel XNU, il quale puo’ essere visto come un insieme di piu’ componenti : il core basato su Mach 3, le features supplementari offerte da FreeBSD 5, la personalita’ di un Sistema Operativo basato su BSD ed un ambiente basato su un sistema object-oriented per quanto concerne i driver. In effetti il Kernel di Mac OS X e’ molto di piu’ che XNU, infatti esistono molti driver che non risiedono nel core di XNU ma derivano dai packages Darwin.Se il kernel XNU e’ il core di Mac OS X, Mach puo’ essere considerato il core di XNU. Nato da un progetto di Rick Rashid e Avie Tevaniane’ alla Carnegie Mellon University con il preciso compito di essere un Sistema Operativo UNIX-based compatibile, e’ il responsabile dell’astrazione del sistema hardware, un metodo molto comune nei moderni Sistemi Operativi  che serve per disaccoppiare l’hardware sottostante con lo strato software.Il cuore del Kernel Mach e’ a MicroKernel, tale kernel e’ orientato alla comunicazione tramite il meccanismo IPC ( Inter-Process Communication ) e con il pieno supporto al multiprocessing. Tale scelta implementativa e’ stata fatta per cercare di diminuire l’ammontare del codice che gira a livello kernel e permettere agli altri moduli del kernel ( FileSystem, Networking, User Interface ) di poter girare a livello user in modo da non creare problemi critici al sistema in caso di failure.Il kernel di Mac OS X include molte linee di codice derivanti direttamente da FreeBSD ( circa un milione di linee di codice ). Il codice incorporato da FreeBSD, per poter funzionare correttamente con Mach ed il Kit I/O, e’ stato modificato in buona parte.
Pro: Scattante, non richiede alcuna manutenzioneContro: Richiede hardware speciale, venduto esclusivamente da Apple (anche se potrebbe tranquillamente girare su PC normali, visto che dal 2006 sfrutta CPU Intel e schede grafiche di ATi e nVidia)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

gigatech

GRATIS
VIEW