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

UnixTimestamp raggiunge quota 17

The Unix timestamp will begin with 17 this Tuesday 14 November 2023 10:13:20 PM UTC. Here is how to see Unix time on your system. For #macos #freebsd #bsd run 
date -ur 1700000000

For #GNU #Linux type: 
date -ud @1700000000Questo martedì 14 novembre 2023 alle 10:13:20 PM UTC lo unix timestamp, ovvero il numero intero che nel mondo Unix esprime la data corrente in termini di secondi trascorsi dal 1 gennaio 1970, raggiungerà il valore 1700000000.

La cosa costituisce un momento di celebrazione e festa nel mondo nerd che gira intorno ad Unix e Linux, e dunque in questi giorni sono comparsi diversi post sui social network e articoli che celebrano la ricorrenza.

E voi siete pronti a festeggiare? 😀

 

Nel 2023 Unix è morto?

Nota: quello che segue è un articolo tradotto dall’inglese che parla della “morte di Unix” collegando la vita di Unix all’esistenza di un OS commerciale ufficialmente licenziato, ma abbiamo avuto modo di spiegare in precedenza che ormai da molto tempo UNIX non è più un OS ma piuttosto un insieme di specifiche, e che quindi rimane in vita anche se non c’è un OS specifico che porti il marchio UNIX, a patto che rispetti le specifiche. L’articolo tiene conto di questo aspetto ma sembra comunque legare il nome di UNIX soltanto all’esistenza di un OS commerciale che ne porti il fregio, pur riconoscendo che ci sono sistemi FOSS e di altra origine che rispettano le specifiche.

È la fine di un’era. Come ha spiegato The Register in precedenza, IBM ha trasferito lo sviluppo di AIX in India. Perché IBM dovrebbe pagare per un costoso team con sede negli Stati Uniti per mantenere la propria versione proprietaria di Unix ufficiale quando ha pagato 34 miliardi di dollari per la propria versione FOSS in Red Hat?

Alla scrivania di The Reg FOSS si era sentito che questo stava arrivando da quando abbiamo riferito che Big Blue stava lanciando nuovi server POWER che non supportavano AIX, già quasi otto anni fa. Anche se stava visibilmente arrivando all’orizzonte, questo è un evento significativo: AIX è l’ultimo Unix proprietario che era in fase di sviluppo attivo e costituisce quattro delle 10 voci nell’elenco ufficiale di Open Group .

All’interno di Oracle, Solaris è in modalità di manutenzione . Quasi esattamente sei anni fa, abbiamo riferito che la successiva major release, Solaris 12, era scomparsa dalla roadmap di Oracle . Anche HP-UX di HPE è in modalità di manutenzione perché non c’è nuovo hardware su cui eseguirlo. Itanium è davvero morto ora e alla fine è tutto ciò su cui HP-UX potrebbe funzionare. È passato più di un decennio da quando abbiamo riferito che HP ha indagato ma ha annullato un tentativo di portarlo su x86-64 .

L’ultima incarnazione del gruppo SCO, Xinuos, è ancora in circolazione e offre non una ma due varianti UNIX proprietarie: SCO OpenServer , discendente da SCO Xenix, e UnixWare , discendente da Unix di Novell. Notiamo che OpenServer 10, un sistema operativo più moderno basato su FreeBSD 10, è scomparso dalla homepage di Xinuos. Vale la pena sottolineare che il gruppo SCO era la società precedentemente nota come Caldera e non è la stessa SCO dell’operazione Santa Cruz che ha co-creato Xenix con Microsoft negli anni ’80.

C’erano due distribuzioni Linux cinesi che avevano superato i test dell’Open Group e potevano utilizzare il marchio Unix: Inspur K/UX e Huawei EulerOS . Tuttavia, entrambe le società hanno lasciato scadere il marchio piuttosto costoso . Ma il dettaglio importante qui è che Linux è passato ed è stato certificato come UNIX™. E non era solo una distro, sebbene entrambe fossero derivate da CentOS Linux. Sospettiamo che qualsiasi Linux ce la farebbe perché molti sistemi operativi non Unix sono già passati.

Tuttavia, altri sistemi operativi sono passati o probabilmente lo farebbero facilmente. Lo z/OS di IBM è vivo e vegeto: la versione 2.5 è uscita nel 2021 e nel 2022 Big Blue ha iniziato a offrire istanze cloud . z/OS ha un ambiente compatibile con Unix che ha superato i test di compatibilità così ufficialmente, è un UNIX™, anche se quella non era la sua API nativa originale.

L'”open” nel nome “OpenVMS” si riferiva originariamente alla compatibilità POSIX ottenuta con la versione 5, nel lontano 1991, e fu applicato per la prima volta alla nuova versione per le CPU Alpha di DEC. L’anno scorso VMS Software ha rilasciato la versione 9.2 per hypervisor x86-64 (e un singolo box supportato, DL380 di HPE ).

Sin da Windows NT nel 1993, Windows ha avuto un ambiente POSIX. Ora, con WSL, probabilmente ne ha due, e sospettiamo che se Microsoft fosse così incline, potrebbe avere Windows certificato come sistema operativo compatibile con Unix ufficiale.

Nella nostra recente storia sulla Beta 4 di Haiku , abbiamo detto che non era davvero un Unix. Come puoi vedere, c’è una nota dell’editore allegata alla fine della storia che spiega perché.

Avevamo sentito parlare del principale sviluppatore a tempo pieno di Haiku, che era decisamente in disaccordo con il nostro punto di vista. A suo avviso, il fatto che Haiku ora abbia una forte compatibilità con Unix, con alcune delle principali directory Unix presenti nel suo filesystem, un set abbastanza completo di chiamate API Unix, una shell Unix e così via, significa che Haiku è decisamente un Unix. Riteniamo che in quanto è una reimplementazione di BeOS, con il proprio filesystem nativo, API, GUI e così via, è qualcosa di diverso, che offre anche la compatibilità Unix .

Ma questo illustra la difficoltà di definire con precisione cosa significhi la parola “Unix” nel 21° secolo. Non ha significato “basato sul codice AT&T” da quando Novell ha acquistato Unix System Labs da AT&T nel 1993, ha mantenuto il codice e ha donato il marchio all’Open Group. Da quel momento, se supera i test dell’Open Group (e paghi una quota per utilizzare il marchio), è UNIX™. Haiku non li ha superati quindi non lo è. Linux li ha superati quindi lo è. Ma lo è anche z/OS, che è un diretto discendente di OS/390, o IBM MVS come veniva chiamato quando fu lanciato nel 1974. In altre parole, un sistema operativo che in realtà non è basato, simile o anche relativo a Unix.

Il che significa che l’ultimo UNIX™ commerciale con marchio registrato ufficialmente è macOS 13 di Apple, che sotto il livello della GUI proprietaria è per lo più un sistema operativo open source chiamato comunque Darwin. Il kernel, XNU , è basato su Mach con un “server Unix” interno al kernel derivato da FreeBSD.

Quindi, a partire dal 2023, l’open source ha davvero vinto. Ci sono più sistemi operativi simili a Unix che mai e alcuni sistemi operativi molto diversi da Unix che sono altamente compatibili con esso, ma la linea ufficiale è, a tutti gli effetti, morta e sepolta. Tutti gli Unix proprietari e commerciali sono ora in supporto vitale: riceveranno correzioni di bug essenziali e aggiornamenti di sicurezza, ma non vedremo nessun nuovo rilascio importante.

Articolo originale su The Register

1 2 3 6