Microsoft divulga em código aberto o “código-fonte de DOS mais antigo já descoberto até agora”
(arstechnica.com)- A Microsoft divulgou materiais iniciais do DOS que remontam a antes de ele receber o nome MS-DOS, mostrando uma etapa de desenvolvimento ainda mais antiga do que a vista nas divulgações anteriores
- O material divulgado inclui o código-fonte do kernel do 86-DOS 1.00, vários snapshots de desenvolvimento do kernel do PC-DOS 1.00 e utilitários como o
CHKDSK - Tim Paterson criou o 86-DOS para os kits de computador com Intel 8086 da Seattle Computer Products, e esse sistema operacional também era conhecido como QDOS
- A Microsoft licenciou o 86-DOS para fornecer um sistema operacional ao IBM PC 5150, contratou Paterson e depois comprou os direitos, expandindo-o para PC-DOS e MS-DOS
- Este código não foi recuperado de um arquivo digital, mas transcrito e digitalizado manualmente a partir de impressões em papel de Paterson, ampliando o escopo das fontes de pesquisa sobre os primeiros sistemas operacionais de PCs
Código-fonte inicial do DOS divulgado
- A Microsoft divulgou o “código-fonte de DOS mais antigo entre os códigos de DOS que já publicou”
- Esta divulgação retrocede até código anterior ao nome MS-DOS, e o post da Microsoft inclui o código-fonte do kernel do
86-DOS 1.00, vários snapshots de desenvolvimento do kernel doPC-DOS 1.00e utilitários como oCHKDSK - Como o material é de um momento anterior ao dos códigos-fonte de MS-DOS já publicados, ele permite observar o processo inicial de desenvolvimento do DOS em uma fase ainda mais precoce
O caminho do 86-DOS ao MS-DOS
- Tim Paterson criou originalmente o 86-DOS para kits de computador baseados em Intel 8086 vendidos pela Seattle Computer Products
- O 86-DOS era anteriormente conhecido como QDOS, sigla para “quick and dirty operating system”
- Para fornecer um sistema operacional ao IBM PC 5150, que ainda estava em desenvolvimento, a Microsoft licenciou o 86-DOS e contratou Paterson para dar continuidade ao desenvolvimento
- Depois, a Microsoft comprou integralmente os direitos do 86-DOS e o licenciou à IBM como PC-DOS, mantendo ao mesmo tempo o direito de vendê-lo a outras empresas
- A versão vendida pela Microsoft ficou conhecida como MS-DOS e se tornou um sistema operacional amplamente usado com a expansão dos compatíveis IBM PC de terceiros nos anos 1980 e 1990
Código restaurado a partir de impressões em papel
- Este código-fonte é tão antigo que não foi preservado em formato digital
- Uma equipe de historiadores e especialistas em preservação, liderada por Yufeng Gao e Rich Cini sob o nome “DOS Disassembly Group”, transcreveu e digitalizou manualmente o código a partir de impressões em papel fornecidas por Paterson
- Por causa da qualidade das impressões com décadas de idade, softwares modernos de OCR tiveram dificuldade para processá-las corretamente, o que tornou a restauração mais trabalhosa
Divulgações e preservação relacionadas
- A Microsoft publicou em código aberto o MS-DOS 1.25 e 2.0 em 2014 e os republicou em 2018
- Em 2024, também divulgou o código-fonte do MS-DOS 4.0, descrito como uma versão incomum, e essas versões estão no mesmo repositório no GitHub
- Esta divulgação não é o primeiro material relacionado ao 86-DOS redescoberto nos anos 2020; há dois anos, a versão mais antiga conhecida do 86-DOS foi redescoberta e enviada ao Internet Archive
- Com a divulgação conjunta de código anterior à marca MS-DOS, snapshots de desenvolvimento e utilitários, amplia-se o conjunto de fontes primárias para estudar a história dos primeiros sistemas operacionais de PCs
1 comentários
Comentários do Hacker News
Não se diz isso com frequência, mas obrigado, Microsoft. Na verdade, tão importante quanto o DOS, ou talvez até mais, foi o BASIC da Microsoft
O que eles realmente queriam fazer era BASIC, e o DOS foi o que lhes permitiu fechar o contrato com a IBM. Durante décadas, a Microsoft foi mais parecida com uma empresa de ferramentas para desenvolvedores que fazia sistemas operacionais e outros softwares como atividade paralela, e aquele código do BASIC também foi liberado como open source https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...
O Dartmouth BASIC depois evoluiu para o SBASIC (Structured BASIC), uma linguagem de programação estruturada, mas a popularidade do Microsoft BASIC acabou até bloqueando a padronização ANSI do SBASIC
https://en.wikipedia.org/wiki/Microsoft_BASIC
O interpretador Altair BASIC foi desenvolvido por Paul Allen e Bill Gates usando um emulador do Intel 8080 que eles mesmos criaram em um minicomputador PDP-10, e o dialeto da Microsoft foi inspirado no BASIC-PLUS da DEC que Gates usava no ensino médio
https://en.wikipedia.org/wiki/Dartmouth_BASIC
O Dartmouth BASIC foi o BASIC original criado por John G. Kemeny e Thomas E. Kurtz e, junto com o DTSS, ofereceu um ambiente interativo de programação para alunos de graduação e para toda a comunidade universitária. Em 1975, eles lançaram o SBASIC, incorporando conceitos de programação estruturada, e isso serviu de base para o trabalho do ANSI “Standard BASIC” no começo dos anos 1980
Mas, no fim dos anos 1980, dezenas de milhões de computadores domésticos rodavam variantes do interpretador MS BASIC, tornando-o o padrão de fato, e o esforço ANSI em torno do SBASIC acabou sendo abandonado. Kemeny e Kurtz seguiram com essas ideias e criaram o True BASIC, mas, em fevereiro de 2026, o site do TrueBASIC foi oficialmente encerrado
https://en.wikipedia.org/wiki/True_BASIC
Dá muita inveja pensar que naquela época era possível criar uma empresa de software bem-sucedida escrevendo apenas alguns milhares de linhas de assembly
A Microsoft não escreveu o código do DOS do zero; ela o comprou. Claro, depois desenvolveu e modificou, mas isso foi menos uma conquista técnica e mais um negócio esperto com um pouco de sorte
O verdadeiro começo da Microsoft veio antes, quando Allen, Gates e Davidoff criaram o interpretador Altair BASIC, e isso sim foi uma conquista impressionante
Eles nunca tinham visto o computador de destino, nem possuíam um. Trabalharam por 8 semanas em um computador da universidade que não deveriam estar usando
“A Altair concordou em se reunir para discutir a possibilidade de comprar um interpretador BASIC, mas Gates e Allen não tinham nem um interpretador BASIC nem um sistema Altair. Allen já havia criado um emulador do Intel 8008 rodando em um computador de time-sharing PDP-10, e o adaptou ao guia do programador da Altair para desenvolver e testar o interpretador no PDP-10 de Harvard.”
O interpretador final cabia em 4KB de memória, incluindo seu próprio sistema de entrada e saída e um editor de linhas, e ainda sobrava espaço suficiente para os programas a serem interpretados. Para preparar a demonstração, eles gravaram o interpretador concluído em uma fita perfurada que a Altair pudesse ler, e Paul Allen voou para Albuquerque para encontrar a Altair
Pouco antes de pousar, Allen percebeu que havia esquecido o bootloader para carregar a fita na memória, então terminou o programa em código de máquina 8080 antes do avião aterrissar. Só depois de carregar o programa na Altair e aparecer o prompt perguntando o tamanho da memória do sistema é que Gates e Allen souberam que o interpretador realmente funcionava no hardware real da Altair
https://en.wikipedia.org/wiki/Altair_BASIC
Hoje, para sequer começar, você já precisa de um processadorzinho separado dentro do processador principal. Aquela era a era de ouro
A discussão sobre o código-fonte da época está aqui. Há 24 dias, 79 pontos, 19 comentários https://news.ycombinator.com/item?id=47957494
Também há uma discussão sobre o clone no GitHub. 162 pontos, 15 comentários https://news.ycombinator.com/item?id=47946813
Surpreendentemente, foi preciso ler novamente as listagens em papel com OCR
Esse código-fonte é tão antigo que não havia sido preservado digitalmente, e a equipe de historiadores e preservacionistas “DOS Disassembly Group”, liderada por Yufeng Gao e Rich Cini, transcreveu e escaneou com muito esforço o código a partir das listagens em papel fornecidas por Paterson. Dizem que até softwares modernos de OCR tiveram dificuldade por causa da qualidade das impressões de décadas atrás
Já consegui OCR de saída de impressora letter quality com algo em torno de 97%, e os problemas principais eram com O e X
Mas parece que, hoje em dia, o reconhecimento de texto baseado em aprendizado de máquina também é enviesado para rejeitar código de computador por ele não se parecer com linguagem humana
É uma história interessante sobre como a Microsoft entrou no negócio de sistemas operacionais. A IBM queria o sistema operacional CP/M, mas a Digital Research não assinou o NDA da IBM, e isso virou um grande ponto de inflexão na história da computação
Citando o roteiro do programa de TV “Triumph of the Nerds”:
https://www.pbs.org/nerds/part2.html
Jack Sams (IBM) achava que a Microsoft tinha um pacote com a linguagem BASIC e o sistema operacional, mas a IBM não fez direito sua lição de casa
Segundo Steve Ballmer, a IBM achava que a Microsoft poderia licenciar o CP/M para o novo computador pessoal porque a Microsoft vendia o CP/M junto com o produto SoftCard. A Microsoft respondeu: “nós não estamos nesse negócio”
Jack Sams disse que Bill Gates explicou que não tinha os direitos, mas que Gary Kildall provavelmente estaria pronto, e então ligou na hora para o Gary, da Digital Research, pedindo que tratasse bem o pessoal da IBM
Fico me perguntando quanto tempo levará até o código das versões mais antigas do Windows ser liberado. Só o fato de esse código tão antigo do DOS ainda existir já dá esperança de que o código antigo do Windows também tenha sido preservado
Embora, quando surgir sequer um sinal dessa possibilidade, eu provavelmente já tenha morrido há muito tempo. Era um sistema operacional realmente bonito e suave de usar
Post relacionado recente: Microsoft open sources DOS 1.00 on 45th anniversary - https://news.ycombinator.com/item?id=47957494 - abril de 2026, 19 comentários
Os primeiros tempos da computação moderna foram realmente brilhantes. Tratávamos a máquina como máquina, do jeito que ela era
Desempenho, criatividade e ciência eram todos necessários para fazer uma máquina 386 funcionar direito. Hoje parece ser só biblioteca em cima de virtualização em cima de código ruim em cima de código ruim em cima de código ruim, e eu não gosto disso
Linus Torvalds disse algo parecido alguns meses atrás, quando falava sobre ferramentas de programação com IA. A geração dele, e a minha, teve a sorte de começar pelo baixo nível e manter uma noção da stack inteira, mas as crianças de hoje têm dificuldade para ter essa oportunidade
Se a primeira experiência de programação de uma criança for um chatbot que parece genial, não deve ser fácil desenvolver esse tipo de intuição sobre computadores, algoritmos e estruturas de dados
Este é o código-fonte mais antigo, mas o binário 86-DOS v0.1-C é anterior a este código v1.00, e o v0.34 também foi encontrado; dá até para baixar e executar em um emulador :-)
https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...