OS/2 1.00 (Codename: CP/DOS, Control Program/DOS, o anche Next DOS) viene presentato ufficialmente da Microsoft ed IBM il 2 Aprile del 1987 e rilasciato a Dicembre dello stesso anno, con un discreto anticipo sul previsto primo quadrimestre del 1988.
Già la scelta del nome rappresenta un intreccio di con-cause che è interessante ricordare. Infatti gli albori di OS/2 possono essere ricercati a partire dal 1983 in quello che comunemente viene chiamato European MS-DOS 4.0 (da non confondere con il disastroso PC/MS DOS 4.0), il primo DOS multitasking made in Redmond e distribuito solo in Europa, in edizione OEM, principalmente tramite Siemens.
A giugno del 1985 IBM e Microsoft stringo un accordo generico di collaborazione chiamato Joint Development Agreement (JDA) che ad Agosto si trasforma in “Phase II”, una sorta di piano per OS/2. Inizialmente il nuovo sistema viene chiamato CP/DOS, seguendo i canoni degli OS per Mainframe di IBM, ma anche DOS 5 (specialmente da Microsoft), 286-DOS o Big DOS. Nessun riferimento, quindi, al nome OS/2.
Tra la fine del 1986 e l’inizio del 1987 il progetto viene rinominato in OS/2 (ma anche in OS|2) per creare una decisa assonanza con il nuovo PS/2 con cui IBM vorrebbe riconquistare il ruolo di leadership nel settore che essa stesso ha creato, così come la presentazione prima della reale disponibilità è una politica di marketing a cui BigBlue non è abituato, ma necessaria per il lancio del nuovo hardware. Ovviamente OS/2 è in grado di funzionare anche su macchine diverse dal nuovo PS/2, tant’è che tutta la prima fase di sviluppo viene portata avanti su “classiche” macchine AT, così come su di esse è perfettamente funzionante l’MS OS/2 SDK.
Nella distribuzione del nuovo OS, Microsoft ed IBM adottano la stessa dualità già utilizzata per il DOS: IBM propone IBM OS/2 ottimizzato per i propri calcolatori (anche se è possibile utilizzarlo, senza supporto ufficiale, sui PC compatibili), mentre Microsoft rilascia MS OS/2 direttamente agli utenti (versione Retail) o agli altri OEM (Compaq, Zenith, Tandy, Epson, AST, ecc), responsabile direttamente della personalizzazione del sistema per adattarlo al proprio hardware tramite la scrittura di appositi device driver.
Microsoft OS/2 1.0 Boot Screen
IBM OS/2 1.0 Boot Screen
E’ IBM a rilasciare per primo OS/2 1.0 Standard Edition, a circa 325$ (contro i 120$ del DOS 3.30), mentre la versione OEM di Microsoft viene resa disponibile l’anno seguente con un leggero ritardo.
OS/2 1.0 è un sistema operativo a 16bit operante in modalità protetta ed offre un multitasking pre-emptive, multi-threading (con il supporto alla shared memory, alle pipes, alle code, ai semafori e ai signals), dynamic linking (per l’utilizzo delle DLL di sistema) e la gestione della memoria virtuale segmentata (segment swapping). La modalità protetta taglia di fatto fuori il supporto ai vecchi sistemi (è richiesto almeno una CPU 286), mentre è possibile utilizzare 16MB di memoria reale a cui va aggiunta quella virtuale, limitata a 32Mb per la dimensione massima delle partizioni su disco realizzabili.
In realtà la scelta di realizzare un OS a 16bit basato sul 286 (fatta perché il 386 era ancora in cantiere e sia IBM che Microsoft avevano la necessità di presentarsi con qualcosa di nuovo), fa si che il sistema sia vulnerabile alle vecchie applicazione DOS non in grado di girare in protect-mode che, in caso di crash, mandano in blocco tutto il sistema. Il problema verrà risolto solo con OS/2 2.0 e il supporto alla modalità Virtual-8086 (V86 mode) introdotta con i 386, con grande ritardo rispetto a Windows/386, DesqView, TopView e diverse varianti di UNIX.
Ovviamente il nuovo sistema è pensato per portare l’esperienza d’uso dei PC a nuovi livelli, andando gradualmente a sostituire il DOS e, proprio per questo, il file system è il “classico” FAT che permette di scambiare agevolmente file tra i due sistemi operativi.
Viene introdotto anche un sistema di Dual Boot che consente di far convivere ed eseguire sulla stessa macchina sia OS/2 che il DOS, anche se le applicazioni pensate per quest’ultimo possono essere normalmente eseguite in una sessione “DOS Compatibility” di OS/2. Inoltre tramite le “Family API” si possono scrivere applicazioni che traggono vantaggio da entrambi gli OS.
La grossa differenza nella scrittura delle applicazioni per OS/2 rispetto a quelle per il DOS è che ora è necessario interagire con l’hardware attraverso le API dell’OS, piuttosto che accedere direttamente ad essere in modo libero e senza controlli.
Come accennato, OS/2 SE richiede almeno un processore 80286 e circa 1.5MB RAM, oltre che un HD per l’installazione del sistema stesso. In realtà è possibile eseguire direttamente l’OS da floppy (tipicamente fornito su 4 supporti da 5,25” e 4 da 3,50”) anche se non è assolutamente consigliato lavorare in tal modo. Durante l’installazione è possibile partizionare / formattare il proprio disco rigido ed effettuare alcune selezioni relative ai device installati.
Il sitema di Help di OS/2 1.0
Questa prima versione è sprovvista della GUI, il che rende impossibile la visualizzazione contemporanea di più applicazioni, mostrandone solo una per volta mentre gli altri sono come "dormienti". Inoltre l’aspetto con cui l’OS si presenta è praticamente identico a quello del DOS, sia per il set di comandi (ad esempio: CD, DIR, COPY, ecc) e sia per la possibilità di eseguire le varie applicazioni pensate per esso, incluso Windows 1.03. L’interprete dei comandi (CMD.exe) è, però, decisamente più completo del COMMAND.COM, permettendo di creare, ad esempio, catene di comandi in stile UNIX (tramite gli operatori &&, ||, &).
Se non fosse per il Program Selector (e ovviamente applicazioni specifiche in grado di sfruttarne le potenzialità), l’installazione di OS/2 non da particolari vantaggi rispetto ad una tipica installazione del DOS. Ma questo tool (simile a TopView per DOS), rappresenta decisamente un valore aggiunto permettendo di usufruire di tutti i vantaggi multi-tasking del sistema operativo, avviando, ad esempio, nuove applicazioni concorrenti.
OS/2 1.0 Program Selector
Le due versioni gemelle, MS ed IBM, sono compatibile al 100% ma non identiche per quel che riguarda la dotazione. Ad esempio l’edizione Microsoft non dispone di alcun driver per i sistemi PS/2, così come differente è la documentazione fornita, sia dal punto di vista dei contenuti (nel caso di IBM non esistono le sezioni dedicate agli OEM) sia dal punto di vista del layout/stampa.
Inoltre le due edizioni presentano alcune differenze di facciata: l’MS OS/2 utilizza i n nomi OS2BIO.COM e OS2DOS.COM, rispettivamente per il loader ed il kernel, mentre nel caso di IBM troviamo IBMBIO.COM e IBMDOS.COM (gli stessi del DOS). Inoltre anche le directory di sistema sono diverse: Microsoft utilizza tre dir primarie: “\OS2\BIN”, “\OS2\PBIN”, e “\OS2\RBIN” per li comandi dedicati al dual-mode, al protected-mode, e al real-mode, mentre IBM utilizza la sola directory “\OS2”.
Queste differenze comunque spariranno nelle successive minor release, tanto da rendere le due edizioni praticamente indistinguibili.
Ovviamente, questa prima release presenta una serie di bug di gioventù:
- Nonostante il limite teorico di 16MB RAM, OS/2 1.0 va in crash nel caso in cui tenti di utilizzare più di 8MB di RAM;
- Partizioni fino a 32MB;
- Compatibilità limitata per le applicazioni DOS (risolta come detto solo con la V 2.0);
- Nessun supporto al Networking;
- Nessun supporto multi-utente.