Het heeft 38 jaar geduurd, maar de source code van MS-DOS versie 4.00 is door Microsoft en IBM beschikbaar gesteld. De beweegreden voor deze release was omdat voormalig Microsoft-CTO Ray Ozzie bèta-binaries op DOS-floppydisks tegenkwam in zijn collectie.
De release kwam voort uit een correspondentie met Brits onderzoeker Connor Hyde. Hij werkt momenteel aan het documenteren van verschillende DOS-versies en het latere OS/2, dat in 1987 verscheen uit een samenwerking tussen Microsoft en IBM. De bèta-binaries werden gedeeld met de Microsoft Open Source Programs Office (OSPO) met als doel om de DOS-versie publiekelijk beschikbaar te stellen.
Het hoofd van OSPO, Jeff Wilcox, wist de volledige source code van MS-DOS 4.00 in de Microsoft Archives te vinden. De ‘nieuwe’ release volgt tien jaar na Microsofts donatie van MS-DOS 1.25 en 2.0 aan het Computer History Museum. In 2018 volgde het open-sourcen van deze versies op GitHub voor meer toegankelijkheid.
Op authentieke hardware gedraaid
De software is al getest op authentieke hardware uit dezelfde periode (de IBM PC XT uit 1983), maar ook op een nieuwere Intel Pentium en binnen emulators als PCem en 86box.
MS-DOS 4.00 is gebaseerd op MS-DOS 2.0 uit 1981. Het grote verschil met 2.0 is dat 4.0 multitasking ondersteunt. Bepaalde programma’s kunnen hierdoor actief blijven in een zogeheten “background mode“. De geheugenlimiet van 640 KB was echter ook in die tijd een forse inperking van de mogelijkheden, zeker voor de servertoepassingen die het meest voor de hand liggend waren voor deze versie. OEM’s bleken niet al te geïnteresseerd in deze variant van MS-DOS. Versie 5.0 volgde in juni 1991.
Net als MS-DOS 2.0 is het besturingssysteem volledig in x86 assembly geschreven, een familie programmeertalen die de veelgebruikte sets binaire getallen in machinecode met keywords representeert. Assembly geldt als een ‘low-level’ taal omdat programmeurs fundamentele CPU-instructies uitvoeren, terwijl moderne ‘high-level’ talen vele malen gebruiksvriendelijker zijn door dit proces te abstraheren. De kernel van modern Windows is in programmeertaal C en C++ geschreven, hoewel er momenteel een vernieuwingsproces plaatsvindt om delen naar Rust te transfereren.
Lees ook: Microsoft maakt open-source versie MS-DOS beschikbaar op GitHub