Alla scoperta di Mac OS Classic

Mac OS 8 è stato il sistema operativo precedente al moderno macOS, dal quale ha una struttura totalmente diversa e che svelerò in quest’articolo.

Tutti ormai sanno che in Mac OS X (o macOS) e iOS “batte un cuore” Unix-Like. La base dei sistemi operativi Apple è infatti Darwin, un sistema open source con kernel XNU.

Più precisamente, come dice Wikipedia: un sistema operativo libero e completo sviluppato da Apple Computer, della famiglia Open source BSD, derivato da Unix, con kernel XNU basato sul microkernel Mach, ispirato e ibridato al kernel del sistema operativo FreeBSD con ampie porzioni di codice NetBSD.

La struttura del Classic, invece, è ben diversa.

Cosa si intende per Mac OS Classic?

Il sistema operativo per Macintosh è stato sempre lo stesso sin dal 1984. Esso si chiamava originariamente “System”, poiché era parte integrante del prodotto. Venne ridenominato Mac OS solo con la versione 7.6 , quando Apple intraprese per breve tempo la strategia di concedere l’OS ad altri produttori di computer per realizzare dei cloni dei Macintosh. Fu ridenominato, poi, Mac OS Classic con l’avvento di OS X.

Nota: Il passaggio a Mac OS X avvenne grazie all’acquisizione da parte della Apple di NeXT, fondata da Steve Jobs stesso. Il sistema OpenSTEP divenne lo spunto per OSX.

La Struttura

Scritto in Assembly e in Pascal, il sistema girava, con kernel monolitico, inizialmente su processori CISC Motorola 68000 e successivamente anche sui RISC PowerPC (dunque G3,G4,G5). Il passaggio alla nuova architettura fu fatto creando un nanokernel PowerPC nel quale far girare il Mac OS tradizionale emulato grazie al Mixed Mode Manager. Questo, perché il passaggio da un’architettura ad un altra richiedeva troppo per la traduzione delle istruzioni Assembly. Ricordiamo, infatti, che il linguaggio Assembly cambia da processore a processore. Dunque, era necessario tradurre tutti i codici sorgente.

La gestione dei processi

Mac OS Classic è multitasking e multithreading. Utilizza, dunque, più thread e più processi. I processi sono i programmi in esecuzione in memoria. I thread, invece, sono dei processi più leggeri, i quali eseguono solo delle attività. Essi sono inclusi nei programmi e risolvono problemi con alta cooperazione e condivisione di risorse. In Mac OS i processi vengono denominati processes mentre i thread divengono task.
In quanto multitasking, Classic utilizza la tecnica del time sharing. Il time sharing consiste nell’assegnare ai processi in esecuzione la priorità d’uso della CPU ad intervalli di tempo regolari. Con esso, si dà l’impressione che i processi vengano eseguiti contemporaneamente.

info

I difetti che lo hanno mandato in pensione

I motivi che videro costretta Apple a passare ad un nuovo OS furono la mancanza del multitasking preemptive e della protezione della memoria, oltre, ovviamente, ad una base ormai antiquata.

Il multitasking, in Classic, è di tipo cooperative. Questa tecnica è oramai sorpassata e prevede il cedimento del controllo al sistema operativo soltanto una volta terminata l’operazione in corso. Ciò diverrebbe uno svantaggio nel caso in cui l’operazione si fermasse per un errore qualsiasi. Se ciò accadesse, infatti, al sistema operativo non verrebbe ceduto il controllo e dunque si creerebbe un blocco totale. Il multitasking preemptive, invece, interrompe il processo a prescindere dalla volontà del programma, grazie a delle particolari strutture hardware integrate nel microprocessore, dunque, restituisce automaticamente il controllo al sistema operativo in caso di problemi.

La protezione della memoria, invece, è un sistema che impedisce ad un processo di corrompere lo spazio di memoria utilizzato da un altro processo in esecuzione.

bomb_mac

La gestione dei supporti di memoria

I supporti di memorizzazione (hard disk o floppy) vengono partizionati in volumi. Ogni volume è formattato (o inizializzato), secondo un formato scelto al momento dell’inizializzazione. Il formato è la struttura di un file o di una cartella in un disco.

format
L’inizializzazione in Mac OS 8

 

diskrepair
Già in Mac OS Classic vi era una specie di Utility Disco nel quale riparare gli errori presenti nelle unità disco.

L’ambiente di run-time

Con l’ambiente di run-time viene stabilito come un software diviene un codice eseguibile, quanto codice è caricato in memoria, dove i dati vengono immagazzinati, e come vengono indirizzati.

In Mac OS Classic vengono intesi come software development system i compilatori ed i linker. Vi sono, poi: il Code Fragment Manager, ovvero il software che gestisce la preparazione del codice eseguibile, il microkernel, e cioè il software che colloca il codice nella memoria e lo organizza per l’esecuzione e per ultimo la CPU, la quale è l’esecutore del codice.

Tutto il codice compilato o linkato per il Classic viene poi linkato in pacchetti chiamati Code Fragment. Ognuno di essi è formato da un codice oggetto (cioè un codice sorgente compilato) e da librerie. Quando un programma viene mandato in esecuzione, il Code Fragment viene preparato per l’esecuzione dal Code Fragment Manager.

L’interfaccia

L’interfaccia grafica non è molto diversa da quella dell’odierno macOS. L’unica sostanziale differenza è la mancanza del Dock. Il Dock è quella barra dei collegamenti nella barra inferiore dal quale avviare il Finder e le applicazioni. In Mac OS Classic, le applicazioni vengono avviate dal menu mela in alto a sinistra.

menumela
Il menu mela era simile allo start di Windows. In macOS è limitato solamente alle funzioni di logout/spegnimento/riavvio/stop e alle funzioni di sistema.

Per lo spegnimento o il riavvio si utilizza il menu Special. Per passare tra un’applicazione ed un’altra non vi è una barra, ma un menu in alto a destra.

menuapp

L’interfaccia è personalizzabile anche installando dei temi.

mac

In Mac OS Classic vi era anche una barra in cui settare delle impostazioni rapide
In Mac OS Classic vi era anche una barra in cui settare delle impostazioni rapide

Nelle versioni 8 e 9 di Mac OS è presente l’interfaccia Platinum. L’attuale interfaccia di macOS è la Aqua.

 

Nota: ciò che ho scritto sulla struttura e l’interfaccia si riferisce alla versione 8 di Mac OS

La fine ufficiale di Mac OS

La fine ufficiale fu “celebrata” da Steve Jobs con tanto di funerale. http://grectech.it/blog/mac-os-9-end/

 

Francesco Grecucci

Mmh…c’è tanto da dire, ma non ti annoierò! Ho questo blog dal 2016 e studio all’ultimo anno di Informatica alle superiori a Taranto, in Puglia. Mi piacciono molto i vecchi computer, la fotografia e la musica. Ho anche scritto un libro, ma quella è un’altra storia…

Francesco Grecucci

Francesco Grecucci

Mmh...c'è tanto da dire, ma non ti annoierò! Ho questo blog dal 2016 e studio all'ultimo anno di Informatica alle superiori a Taranto, in Puglia. Mi piacciono molto i vecchi computer, la fotografia e la musica. Ho anche scritto un libro, ma quella è un'altra storia...