MacOS 15 Sequoia è ufficialmente UNIX

Apple macOS 15 Sequoia è apparso a metà settembre ed è una versione ufficiale e conforme di UNIX™, ma potrebbe non significare esattamente ciò che pensate. Ad esempio, macOS non utilizza alcun codice sorgente AT&T: “Unix” ha smesso di significare questo nel lontano 1993, quando Novell ha acquistato UNIX da Bell Labs, come abbiamo discusso all’inizio dell’anno scorso quando abbiamo annunciato che Unix era morto.

Poco dopo l’uscita di Sequoia, sono emerse notizie riguardanti alcuni break del software di sicurezza seguiti dal primo aggiornamento, versione 15.0.1, all’inizio di questo mese. L’arrivo della versione 15.0.1 è stato seguito da un paio di altri eventi. Uno non è affatto molto significativo. Un giorno o giù di lì dopo, il MacBook Air del Reg FOSS desk ha iniziato a offrire l’aggiornamento.

L’altro è un po’ più significativo per il mondo in generale, anche se solo leggermente. Sequoia è apparso come la voce più recente nel registro dei prodotti certificati UNIX® dell’Open Group. In effetti, ha sia il primo che il secondo posto perché ci sono voci separate per la versione Apple Silicon e la versione x86-64. Non c’è un significato particolare nell’ordine, ma se Apple continua a pagare per la certificazione, a un certo punto la versione x86-64 uscirà dall’elenco quando Apple smetterà di supportare il suo kit basato su Intel.

Unix è solo un nome nuovo per POSIX

Non è una questione di codice. Non lo è da più di 30 anni, da quando Novell ha acquistato l’Unix originale da AT&T. In realtà, ciò che la certificazione UNIX™ significa ora è ciò che una volta veniva chiamato “compatibile con POSIX”, un’abbreviazione coniata da Richard Stallman, guarda caso.

POSIX è essenzialmente un set di specifiche e test di compatibilità, tra cui avere gli strumenti giusti presenti nelle posizioni giuste. Finché ci sono, un sistema operativo può superare il test, ed è così che sistemi come il sistema operativo mainframe z/OS di IBM sono nell’elenco. z/OS è un lontano discendente dell’MVS a 24 bit di IBM per il mainframe System/370 del 1974, che in fondo non è molto più simile a Unix di un Apple II che esegue ProDOS.

Lo standard POSIX si è evoluto nel corso degli anni e, cosa abbastanza interessante, Apple rivendica UNIX 03 solo dal 2002. Un singolo prodotto, IBM AIX 7, vanta la compatibilità con la versione 4 dello standard, denominata UNIX® V7, ovvero POSIX.1-2008.

Da allora, lo standard ha continuato a evolversi. La specifica della versione 4 è stata rivista l’ultima volta nel 2018 e c’è anche una versione del 2024. Nessuno sembra più farci caso, il che è abbastanza giusto. Il mondo si è allontanato da Unix proprietario e ora che tutti i sistemi operativi Unix-like significativi sono FOSS o freeware, puoi aggiungere qualsiasi bit mancante senza pagare.

Ad esempio, POSIX ha risolto le differenze tra vari strumenti di archiviazione aggiungendo un nuovo comando, chiamato pax, in grado di gestire tutti i formati principali. È un ibrido di tar e cpio e la maggior parte delle distribuzioni Linux non lo include perché gli strumenti esistenti possono gestire i file. L’assenza del comando pax significa che un sistema operativo non è conforme a POSIX-1.2001 o versione successiva, ma ormai a nessuno importa più.

Quindi cosa rende un sistema operativo simile a Unix?

Se non avete bisogno di usare nessuno dei codici sorgente originali AT&T e persino la manciata di aziende che continuano a pagare per la certificazione ufficiale Unix non si preoccupa di puntare alla conformità con le ultime versioni di POSIX, allora cosa rende un sistema operativo simile a Unix?

Da una prospettiva molto più ampia, ciò che costituisce un Unix è che sembra Unix, si comporta come Unix e puoi trasferire programmi scritti per Unix su di esso senza modifiche sostanziali.

Il nucleo di macOS è abbastanza simile da qualificarsi. Utilizza un kernel chiamato XNU (che, ironicamente, sta per “XNU is Not Unix”) e un user-land derivato principalmente dal codice BSD. XNU è basato sul kernel Mach [PDF]. In particolare, dopo che Apple ha acquistato NeXT, ha aggiornato i componenti Mach del kernel NeXTstep con la versione migliorata di DEC OSF/1 (in seguito commercializzata come Compaq Tru64). Dispone inoltre di un grande “server Unix” nel kernel derivato dal codice BSD, il che significa che il sistema operativo microkernel più famoso e di successo del settore non è affatto un vero microkernel.

Oltre a ciò, la “user-land” (la roba in modalità testo sotto la GUI, i vari comandi, le shell e così via) è per lo più open source e gran parte di essa proviene da BSD. Ad esempio, il kernel XNU è su GitHub, così come grandi porzioni di macOS e iOS. Sono i livelli della GUI, le parti visibili che la rendono carina, che sono proprietari; sono i bit scritti per lo più in Objective-C e più di recente in Swift.

Apple era solita rendere disponibile una versione per lo più autonoma di questi livelli inferiori del sistema operativo come progetto chiamato Darwin e c’erano diverse distribuzioni che cercavano di completarla usando bit di altri sistemi operativi FOSS, come OpenDarwin e PureDarwin. Per noi, uno dei progetti più interessanti è stato NextBSD, che ha fatto l’opposto. Ha mantenuto il kernel FreeBSD, ma lo ha modificato in modo da poter usare parte del codice di livello superiore di Apple, come launchd, il sistema init di nuova generazione di Apple. In altre parole, l’equivalente di Cupertino di systemd.

Apple annunciò che avrebbe acquisito NeXT Computer alla fine del 1996 e nell’ottobre 1997 pubblicò un’anteprima del suo sistema operativo di nuova generazione chiamato Rhapsody. Rhapsody era effettivamente NeXTstep 5. Nel 1999, divenne Mac OS X Server 1.0, ancora visibilmente simile a NeXTstep. Che si evolse in Mac OS X 1.0 nel 2000.

NeXTstep (la capitalizzazione cambiò un paio di volte) divenne OPENSTEP, che divenne Rhapsody, poi Mac OS X Server, Mac OS X e poi solo OS X con 10.8 Mountain Lion e, a partire da 10.12 Sierra, era semplicemente macOS. Ma è riconoscibilmente lo stesso sistema operativo di NeXTstep 0.8, come dimostrato da un giovane Steve Jobs nel 1988.

Bootnote: Quindi, tutto in C?

No, non deve nemmeno essere implementato in C. Serenity OS è implementato in C++ e Redox OS è scritto in Rust, ed entrambi sono molto simili a Unix. Per andare agli estremi, sia C++ che Rust sono linguaggi di parentesi graffe nella più ampia famiglia C, ma TUNIS, il Toronto University System, era un sistema operativo compatibile con Unix Seventh Edition implementato in Concurrent Euclid, una variante di Pascal.

 

Articolo originale su The Register

Rilasciato Mac OS X Lion 10.7

Un paio di settimane fa Apple ha rilasciato ufficialmente la nuova versione del suo sistema operativo desktop basato su UNIX, Mac OS X “Lion”.

Le novità introdotte con questa versione tendono ad essere principalmente funzionali ed estetiche, piuttosto che tecniche. L’intenzione di fondo sembra essere quella di rendere l’interfaccia e le modalità d’uso del sistema desktop più simili a quelle delle piattaforme smartphone (iPhone) e tablet (iPad).

E’ stata quindi introdotta la possibilità di aprire le applicazioni a schermo intero. Fino ad adesso infatti su OS X non era possibile espandere le finestre in modo che occupassero l’intera area visibile dello schermo, ma si poteva solo trascinare il bordo della finestra fino a una dimensione massima che lasciava comunque visibile la dock. Adesso invece è presente un pulsante sul bordo della finestra delle applicazioni abilitate al full screen, il quale effettua lo switch tra modalità a schermo intero e modalità finestra.

Sono stati introdotti Mission Control e Launchpad, entrambi dedicati alla gestione delle applicazioni. Il primo può essere richiamato in qualsiasi momento tramite una gesture sul trackpad e permette di tenere sotto controllo tutte le applicazioni attive in quel determinato momento. Launchpad invece si occupa di rendere facilmente accessibili le applicazioni che non si trovano nella dock, creando un pannello riassuntivo simile a quello di iOS su dispositivi mobili. Finora soltato le applicazioni dotate di icona nella dock erano facilmente accessibili, mentre tutte le altre erano relegate nei meandri del menu Applicazioni. Il comportamento del trackpad tramite gesture multitouch consente di ricalcare quello di iOS su apparati mobili, trascinando e sovrapponendo le icone per creare gruppi e cartelle.

Diverse applicazioni di sistema sono state aggiornate, soprattutto quella dedicata alla Mail, che ha inglobato molte funzioni caratteristiche mutuate da Gmail, come ad esempio la funzione Preferiti e l’anteprima di due righe in inbox.

A un livello più basso del sistema, è stata portata da iOS la funzione Resume e AutoSave, la quale fa si che le applicazioni aperte salvino di continuo i contenuti e le impostazioni, senza più bisogno che l’utente dia esplicitamente un comando di salvataggio, e che in caso di crash sia teoricamente possibile riaprire l’applicazione ritrovandola nello stato in cui era prima del blocco.

La novità più evidente sempre in ambito usabilità è costituita dalle gesture Multitouch, le quali simulano le funzioni ottenibili con il touchscreen di uno smartphone o di un tablet. Con lo spostamento di cinque, tre, oppure due dita in contemporanea sul trackpad è possibile comandare l’apertura di Launchpad e Mission Control, il passaggio tra più applicazioni full-screen aperte contemporaneamente, e lo zoom su parti di schermo.

E’ stato introdotto AirDrop, per lo scambio rapido di file tra due sistemi Mac vicini tra loro in ambito wireless, e sono state introdotte alcune modifiche ad altri aspetti minori (scrolling, autocorrezione del testo, ecc.).

OS X Lion è reso disponibile agli utenti Mac tramite download dal market online di Apple.

 

 

Apple abbandona ZFS

zfs-snow-leopardDopo un iniziale interesse e anche un certo quantitativo di sforzi di sviluppo, Apple ha deciso di abbandonare il progetto di portare ZFS, il file system pluripremiato di Sun, su Mac OS X.

Leopard includeva già un supporto di base un driver di base in sola lettura, e si vociferava che ZFS sarebbe diventato il file system di default.

La nota sul sito di sviluppo non dice nulla sui motivi dell’abbandono, ma la notizia non giunge totalmente inattesa, dato che già Snow Leopard era uscito senza alcun supporto per ZFS, nemmeno il driver di base che era presente nella 10.5.

Le ipotesi sulle ragioni della decisione spaziano da possibili problemi di licenza alla causa legale pendente su ZFS da parte di NetApp.

D’altro canto Apple ha aperto una posizione di lavoro per un file system engineer, e si vocifera che stia lavorando in casa ad un file system di nuova generazione.

Nuovo security update per Mac OS X

Come riportato da Webnews in questo articolo, è stato rilasciato il settimo security update per Mac OS X, sia Leopard che Tiger.

I principali bug corretti riguardano la condivisione delle stampanti che poteva portare all’esecuzione di codice potenzialmente pericoloso dall’esterno e alcuni fix su ColorSync per ridurne le possibilità di crash. Inoltre sono stati aggiornati ClamAV, MySQL, Apache e PHP.

Rilasciato Mac OS X 10.5.5

E’ stato rilasciato l’aggiornamento 10.5.5 per Mac OS X, la cui installazione è raccomandata a tutti coloro che possiedono le versioni precedenti a partire dalla 10.5. Questa release contiene una nutrita serie di novità, a partire da X11, portato dalla versione 2.11 alla 2.15, insieme con le sue utility collegate; varie altre componenti Unix relative alla stampa e alla rete (dig, nslookup, lp, lpstat, etc.) sono state anch’esse aggiornate; anche l’OpenSSH è stato portato dalla versione 4.7p1 alla 5.1p1. Sono da notare anche dei miglioramenti all’integrazione in Active Directory, al Dizionario, alla sincronia con iPhone e numerosi altri bug fix.

1 2