Microsoft ha divulgato il codice sorgente della versione iniziale di DOS, considerato il precursore di Windows.
Leggi in app
Microsoft ha reso disponibile su GitHub il codice sorgente di 86-DOS, un sistema operativo creato nel 1980 da Tim Paterson, progettato per computer dotati di microprocessore Intel 8086, che successivamente l’azienda co-fondata da Bill Gates ha acquisito, modificato e rinominato in MS-DOS, divenuto un elemento chiave del successo dei computer personali.
Tra il 2018 e il 2024, la compagnia di Redmond ha pubblicato le versioni dalla 1.25 alla 4.0, ma non si era mai spinta così indietro nel tempo, restituendo alla memoria collettiva le origini di un’impresa che, nel frattempo, è cresciuta fino a diventare un gigante con un fatturato annuale di 280 miliardi di dollari (quasi 240 miliardi di euro) e che impiega oltre 220mila persone a livello globale.
Può essere considerato il progenitore del MS-DOS e del PC-DOS e, da questo punto di vista, rappresenta il sistema operativo più significativo nella storia dei computer.
Cosa è MS-DOS
Le lettere MS indicano Microsoft, mentre la sigla DOS sta per Disk Operating System, ovvero sistema operativo su disco.
Si tratta di un sistema operativo testuale, a riga di comando, ampiamente utilizzato negli anni Ottanta e nei primi anni Novanta sui personal computer IBM e compatibili, prima che Windows – al suo debutto completamente dipendente dal MS-DOS – facesse la sua apparizione nel 1985.
Privo di interfaccia grafica (finestre e icone), il DOS fungeva da accesso ai computer che, all’epoca, erano macchine con risorse limitate, privi di disco fisso e con poca Ram, tipicamente 16 Kilobyte, una quantità così ridotta da richiedere un confronto forzato per rendere l’idea. Oggi, un pc con Windows necessita indicativamente di 4 Gigabyte di Ram per operare. Questo implica che un pc moderno richiede 262mila volte più Ram rispetto a uno dei primi anni Ottanta.
A chi è destinato 86-DOS
Attualmente, l’86-DOS è principalmente rivolto a ricercatori, appassionati di storia dell’informatica e sviluppatori.
Si tratta di un reperto di archeologia del software che permette di ricostruire i primi passi del personal computing e possiede un notevole valore educativo.
Gli sviluppatori possono analizzare i listati originali scritti in linguaggio assembly per comprendere come venisse realizzato il software in condizioni di hardware limitato, un’attività che richiedeva una disciplina ingegneristica e un’ottimizzazione del codice oggi raramente necessarie.
Esaminare i documenti forniti da Microsoft aiuta a comprendere le motivazioni dietro molte scelte architetturali che sono rimaste invariate per decenni e che continuano a influenzare i sistemi operativi moderni.
Oltre all’aspetto tecnico, l’86-DOS riveste un certo significato per chi si occupa di cyber security, poiché consente di approfondire le vulnerabilità strutturali e i limiti progettuali iniziali e, non da meno, il codice ha un valore museale considerando che alcune annotazioni di Tim Paterson saranno esposte all’Interim Computer Museum di Tukwila, nello stato di Washington.
L’evoluzione dello sviluppo del software
Nei primi anni Ottanta, i programmatori si confrontavano con i limiti fisici delle macchine, con processi manuali e con codice di basso livello. Sistemi come l’86-DOS erano scritti quasi interamente in linguaggio assembly e lo sviluppo era un’attività rigorosa che, in assenza di ambienti integrati, costringeva i programmatori a scrivere codice che veniva poi spesso analizzato su carta e successivamente corretto.
L’interfaccia a riga di comando e l’assenza di gestioni multitasking e multiutente contribuivano a rendere la programmazione meno fluida rispetto a quanto avviene oggi.
Oggi, lo sviluppo software è affidato a linguaggi e ambienti di programmazione avanzati che beneficiano del supporto delle intelligenze artificiali, capaci di completare intere righe di codice, suggerire miglioramenti, testare soluzioni e, non da meno, gli sviluppatori possono collaborare in tempo reale con agenti IA, utili in molte situazioni.
Il linguaggio assembly si usa ancora
Il linguaggio assembly è attualmente utilizzato quando è necessario il massimo controllo sull’hardware o quando sono richiesti tempi di risposta rigorosi, come avviene, ad esempio, per i microcontrollori, dispositivi progettati per eseguire un singolo compito con un chip, poca Ram, spazio limitato per l’esecuzione di software e periferiche integrate come timer o porte seriali.
Un tempo l’assembly era un punto di riferimento, oggi rappresenta una nicchia altamente specializzata.
I commenti sono chiusi.