Menu

OS/2 2.0

OS/2 2.0 (Codename: Cruiser) viene rilasciato ad Aprile del 1992.

IBM, ormai svincolata da Microsoft, inizia lo sviluppo della prima versione a 32bit di OS/2 nel tardo 1988, parallelamente all’inizio dell’avventura NT (noto anche come OS/2 NT o OS/2 3.0) e al rilascio di OS/2 1.30.

Michael S. Kogan (co-autore, tra l’altro, dell’ottimo The Design of OS/2) viene nominato Team Lead del progetto ed i primi risultati arrivano a Novembre del 1991 con il rilascio di OS/2 2.0 LA (Limited Availability), sostanzialmente una versione beta destinata ai tester e a clienti “particolari”.

Il rilascio è anche una risposta indiretta all’affermazione di Steve Ballmer:

“ would eat a floppy disk if IBM managed to release OS/2 2.0 by the end of 1991” [mangerò un floppy disk se IBM rilascierà OS/2 2.0 prima della fine del 1991]

e una promessa (che per IBM era un dogma) di rilasciare a stretto giro la versione definitiva.

os2la_desk

OS/2 2.0 "LA"

“LA” è decisamente simile alla release finale, anche se alcune caratteristiche non sono del tutto ultimate (o incluse), come elencato nel lungo README. Le limitazioni più rilevanti riguardano la possibilità di eseguire applicazioni Windows 3.0 solo a schermo intero, quindi non direttamente sul desktop del nuovo Workplace Shell (sostituto di Presentation Manager), a causa del fatto che questa versione preliminare incorpora direttamente Windows 3.0(a) e non l’edizione specifica, tipicamente denominata  “IBM Win-OS/2”.

Piccole differenze anche sul layout delle finestre, come ad esempio l’icona per minimizzare la finestra separata dall’icona relativa al menu di sistema.

La versione finale  è decisamente un ottimo prodotto. BigBlue fornisce il sistema su floppy da 3,5” (21 in totale) e da 5,25” e persino su CD-ROM, anche se nel 1992 questo supporto è tutt’altro che comune e lo stesso OS/2 gestisce solo poche unità SCSI.

os2_20_package

package versione 2.0 

Ciò che spicca subito è, appunto, il nuovo Workplace Shell (WPS), una GUI (o meglio una OOUI: object oriented user interface) completamente object-oriented e distante anni luce da Windows 2.x e Windows 3.0. Sul desktop ogni icona è un “oggetto”: dal drive object, al printer object, passando per il program object e lo shredder object, ognuno dei quali può essere copiato, spostato, cancellato, sottoposto a drag-and-drop, ecc. Inoltre WPS sfrutta in modo decisamente efficiente il tasto destro del mouse, sia per aprire un corposo menù di sistema, sia per le operazioni di drag-and-drop, restando, al contempo, altamente configurabile.

os2ga_desk

OS/2 2.0

Nonostante WPS fosse un deciso passo in avanti, non riuscì a risparmiarsi le critiche, soprattutto per l’aumento delle risorse minime necessarie (leggasi RAM) e per il nuovo approccio di sviluppo richiesto.

OS/2 2.0 viene definito, a ragione, il primo sistema operativo a 32Bit per PC, e per anni resterà anche l'unico, ma in realtà si tratta di un sistema misto 16/32Bit, un po’ come farà Microsoft diversi anni dopo con Windows 95. Sostanzialmente le ragioni di questa scelta sono due: compatibilità con il passato e tempi ristretti. L’Engine Grafico della versione 2.0 è a 16bit, così come i Physical Device Driver (PDD), praticamente identici a quelli della release 1.30. Inoltre una larga parte del Kernel stesso è a 16bit per supportare le applicazioni scritte per le precedenti versioni, soprattutto quelle che hanno necessità di accedere direttamente a feauture interne del’OS. Anche il File System ed il Sottosistema di Storage sono a 16bit, anche se quest’ultimo è strutturato in modo differente rispetto alla precedente versione, così come il supporto al Networking fornito separatamente.

Comunque la maggior parte del sistema è a 32Bit e scritto in C (le versioni 1.x erano scritte in Assembler), a partire dal Memory Manager, che offre il supporto alla paginazione, all’ottima (Multiple) Virtual DOS Machine (MVDM), che sfrutta il Virtual 8086 mode dei processori Intel 386 per l’esecuzione in sandbox di applicazioni DOS, decisamente superiore a quello che sarà l’analogo supporto di Windows NT e Windows 9x.

La possibilità di eseguire efficacemente applicazioni DOS e WIN, spinge BigBlue a coniare il claim  “Integrating Platform”, con cui evidenzia le capacità del proprio sistema di eseguire, appunto, applicazioni DOS, Windows, OS/2 1.x e le nuove applicazioni a 32Bit per OS/2 2, contemporaneamente ed in modalità full-screen o windowed. L’interscambiabilità dei dati è possibile grazie alle API Dynamic Data Exchange e all’avanzata Clipboard.

IBM esalta questa caratteristica con lo slogan:

“a better DOS than DOS and a better Windows than Windows” [un DOS migliore del DOS e un Windows migliore di Windows]

Inoltre, se proprio non è possibile utilizzare il proprio ambiente all’interno di OS/2, è sempre possibile ricorre all’atteso Boot Manager per avere, contemporaneamente, più sistemi operativi avviabili sul proprio disco rigido.

Nel caso della applicazioni Windows, IBM sviluppa uno specifico modello di driver video per Win-OS/2 in modo da permettere un utilizzo efficiente delle stesse in modalità non full-screen, cosa che richiede l’interazione ed il coordinamento con WPS e le applicazioni relative. Nonostante l’approccio permetta di massimizzare le prestazioni, la scelta provoca forti resistenze da parte degli OEM che ora si vedono costretti a realizzare un set ulteriore di driver specificamente pensati per Win-OS/2.

bc_rws

Interfaccia versione 2.0

E’ importante sottolineare che questo supporto ottimizzato alle varie piattaforme si è rilevato un’arma a doppio taglio per OS/2, in quanto gli sviluppatori hanno preferito realizzare versioni DOS/Windows delle proprie soluzioni essendo sicuri di poterle proporre tranquillamente anche agli utilizzatori di OS/2, frenando, di fatto, la realizzazioni di edizioni specifiche.

Punto dolente di OS/2 2.0 è il supporto hardware, decisamente limitato e fortemente legato ai sistemi di IBM, anche se diversi OEM terzi si cimentano nel rendere il loro prodotti adatti al nuovo gioiello di BigBlue. Anche a livello di risorse hardware OS/2 non scherza: è richiesto come minimo un PC con CPU 80386SX e 4MB RAM.

Un altro aspetto interessante è la disponibilità di tool/ambienti di sviluppo per OS/2. La definitiva rottura con Microsoft fa si che quest’ultimo no rilasci alcun aggiornamento ai precedenti ambienti C e MSAM. Così, parallelamente, gli IBM Toronto Lab sviluppano un nuovo compilatore C a 32-bit chiamato CSet/2, seguito a primavera del 1993 dall’ IBM CSet++

cset_fld

IBM C/C++ Tools

In realtà, come sempre nella sua storia passata, BigBlue è decisamente bravo a confondere i propri clienti, e rilascia separatamente:

  • C/C++ Tool: il compilatore C/C++ , le librerie, il debugger, il browser ed il profiler;
  • WorkFrame/2: un IDE object-oriented;
  • OS/2 Toolkit: un insieme aggiuntivo di librarie e tools di sviluppo per OS/2.

complicatamente dipendenti tra loro.

A stretto giro arriva anche il supporto ufficiale di Borland, con il Borland C/C++ 1.0 per OS/2, e quello di Watcomcon il Watcom C/386 9.0.

bc_about

Borland C++ for OS/2

wc90_wvid

Watcom C/386 9.0