# MS-DOS

MS-DOS, acrônimo de Microsoft Disk Operating System, é um sistema operacional comprado pela Microsoft para ser usado na linha de computadores IBM PC. O dono e criador original do projeto QDOS - Quick and Dirty Operating System é a empresa Seattle Computer Systems, que foi inicialmente uma tentativa de criar um concorrente do estabelecido Sistema Operacional CP/M que rodasse no recém-lançado processador 8086 da Intel.

## História

Dentro da História da computação é considerado por alguns como sendo o produto que decidiu o destino da então minúscula Microsoft, o MS-DOS foi sucedido por duas linhas de produtos: o OS/2 e o Windows 3.11. O desenvolvimento destes sistemas operacionais (e do Windows NT) pode ser considerado como a evolução da informática nas décadas de 1980 e 1990.
Foi originalmente desenvolvido por Tim Paterson da Seattle Computer Products sob o nome de QDOS (Quick and Dirty Operating System, que em português significa Sistema operacional rápido e raso), sendo uma variação do CP/M-80 da Digital Research.
O QDOS era apenas um produto interno criado para testar uma nova placa com UCP 8086. Também não rodava nas CPUs 8080 (ou compatíveis) exigidas pelo CP/M-80. A Microsoft licenciou-o da SCP, fez algumas modificações e licenciou-o posteriormente à IBM (vendido como PC-DOS) para seu novo 'PC' usando a CPU 8088, e a vários outros fabricantes de hardware, vendido então como MS-DOS.
MS-DOS (e o IBM PC-DOS que foi licenciado desde então), e seu antecessor, QDOS, foram baseados no CP/M (Control Program / (for) Microcomputers — Programa de Controle para Microcomputadores) — que era o sistema operacional de disco dominante entre os microcomputadores baseados nos processadores de 8 bits Intel 8080 e Zilog Z80.
A empresa Digital Research produziu um sistema compatível, conhecido como "DR-DOS", que foi tomado pela Novell (depois de ter comprado a Digital Research). Este se tornou o "OpenDOS" durante certo tempo, após a venda de uma divisão importante da Novell feita a Caldera International, atual SCO. Mais tarde, a divisão da Caldera se separou, tornando-se a Lineo (posteriormente rebatizada como Embedix), que por sua vez vendeu o DR-DOS a recém-criada Device Logics, atualmente DRDOS Inc.
Em 25 de março de 2014, a Microsoft disponibilizou o código para SCP MS-DOS 1.25 e uma mistura de Altos MS-DOS 2.11 e TeleVideo PC DOS 2.11 ao público sob o Contrato de Licença de Pesquisa da Microsoft, que disponibiliza o código-fonte, mas não é de código aberto conforme definido pelos padrões da Open Source Initiative ou da Free Software Foundation. Mais tarde, a Microsoft iria licenciar novamente o código sob a Licença MIT em 28 de setembro de 2018, tornando essas versões software livre.

## Versões

A Microsoft licenciou ou lançou versões do MS-DOS sob diferentes nomes, como Lifeboat Associates "Software Bus 86", também conhecido como SB-DOS, COMPAQ-DOS, NCR-DOS ou Z-DOS antes de eventualmente impor o nome MS-DOS para todas as versões, exceto a IBM, que foi originalmente chamada de "IBM Personal Computer DOS".
No antigo bloco oriental, os derivados do MS-DOS chamados DCP (Disk Control Program [de]) 3.20 e 3.30 existiam no final dos anos 1980. Eles foram produzidos pelo fabricante de eletrônicos da Alemanha Oriental VEB Robotron.
As seguintes versões do MS-DOS foram lançadas ao público:
* A primeira versão, PC-DOS 1.0, foi lançada em agosto de 1981. Ela suportava até 256 kB de RAM e dois disquetes de 160 kB 5.25" de face única. Suas principais características era ser um sistema monousuário e monotarefa (monoprocessador).
* Em maio de 1982, o PC-DOS 1.1 trouxe suporte aos disquetes de 320 kB dupla-face.
* PC-DOS 2.0 e MS-DOS 2.0, lançados em março de 1983, foram as primeiras versões a suportar o PC/XT e drives de discos fixos (comumente chamados de drives de disco rígido). A capacidade dos disquetes foi elevada a 180 kB (face única) e 360 kB (dupla face) com o uso de nove setores por trilha em vez de oito. A versão 2.0 também permitiam a um programa carregar e rodar subprogramas e overlays de programa (isso lhes dá um grau de independência do programa que os iniciou).
* Ao mesmo tempo, a Microsoft anunciou sua intenção de criar uma GUI (Graphical User Interface - Interface Gráfica de usuário) para o DOS. Sua primeira versão, Windows 1.0, foi anunciada em novembro de 1983, mas estava incompleta e não interessou a IBM. Em novembro de 1985, a primeira versão completa, Windows 1.01, foi então lançada.
* MS-DOS 3.0, lançado em setembro de 1984, suportava inicialmente disquetes de 1,2 MB e discos rígidos de 32 MB. Incluiu também códigos de erro mais estendidos, de forma que permitia que os programas obtivessem uma explicação mais detalhada do que aconteceu de errado, quando um erro surge.
* MS-DOS 3.1, lançado em novembro do mesmo ano, introduziu o suporte a redes, com serviços que permitiam o "travamento" e "destravamento" do acesso a todas as partes de um arquivo, o que tornava seguro e prático para vários computadores compartilharem o mesmo arquivo sem interferência um do outro.
* MS-DOS 3.2, lançado em abril de 1986, foi o primeiro lançamento comercial do MS-DOS. Ele adicionou suporte aos disquetes de 720 kB/3.5". As versões anteriores foram vendidas apenas aos fabricantes de computadores que embutiam-no em seus produtos, porque os sistemas operacionais, até então, eram considerados parte de um computador, não um produto independente. Ele também incluiu o suporte para que o sistema a usasse linguagens diferentes do inglês americano.
* MS-DOS 3.3, lançado em abril de 1987, introduziu os discos lógicos. Um disco físico maior que 32 MB poderia ser dividido em várias partições, consideradas como discos independentes pelo sistema operacional. Também foi adicionado suporte aos disquetes de 1,44 MB/3.5" e o suporte para até quatro portas seriais reconhecidas pelo sistema.
* MS-DOS 4.0, lançado em julho de 1988, suportava discos de até 2 GB, sem a necessidade de se criar partições, (discos cujos tamanhos variavam, geralmente, entre 40 e 60 MB na época), e teve a adição de uma shell chamada DOSSHELL. Outrasshells, como a Norton Commander e a PCShell, existiram na época. Em novembro de 1988, a Microsoft corrigiu muitos defeitos em um update, MS-DOS 4.01.
* MS-DOS 5.0, lançado em abril de 1991, incluiu o interpretador (compilador) de BASIC em tela cheia, o QBasic, também trazendo um editor de texto em tela cheia, (anteriormente, havia apenas um editor linha-a-linha, edlin). Um utilitário de cache de disco (SmartDrive), capacidade de undelete, e outras melhorias foram incluídas nessa versão. Como houve problemas graves com alguns utilitários de disco, mais tarde, no mesmo ano, foi lançado o MS-DOS 5.01, com as devidas correções.
* Em março de 1992, a Microsoft lançou o Windows 3.1, que se tornou a primeira versão popular do sistema Microsoft Windows, que somou mais de um milhão de cópias vendidas.
* MS-DOS Prompt no Windows 95Em março de 1993, o MS-DOS 6.0 foi lançado. Seguido pela concorrente Digital Research, a Microsoft adicionou um utilitário de compressão de disco chamado DoubleSpace. Nessa época, os discos rígidos mais comuns tinham em torno de 200 a 400 MB, e muitos usuários necessitavam seriamente de mais espaço em disco. O MS-DOS 6.0 também trouxe o desfragmentador de disco DEFRAG, o MSBACKUP para criação de backups, otimização de memória com o MEMMAKER, e um princípio de protetor antivírus,MSAV.
* Como suas duas antecessoras, a versão 6.0 mostrou ter diversas falhas. Devido a reclamações sobre perda de dados, a Microsoft lançou uma versão atualizada, MS-DOS 6.2, com um utilitário DoubleSpace melhorado, um novo utilitário de checagem de disco, SCANDISK (similar ao fsck do Unix), além de outras melhorias.Prompt de Comando no Windows 10
* A versão seguinte, MS-DOS 6.21 (lançada em março de 1994), surgiu devido a problemas legais. A empresa Stac Electronics acionou judicialmente a Microsoft, que foi forçada a remover o DoubleSpace de seu sistema operacional.
* Em maio de 1994, a Microsoft lançou o MS-DOS 6.22, com outro pacote de compressão de disco, DriveSpace, licenciado da VertiSoft Systems.
* O MS-DOS 6.22 foi a última versão stand-alone do sistema disponível ao público. Ele foi retirado do mercado pela Microsoft em 30 de novembro de 2001. Veja o (em inglês) Microsoft Licensing Roadmap.
* A Microsoft também lançou as versões de 6.23 a 6.25 para bancos e organizações militares Estadunidenses. Estas incluíam já suporte a partições FAT32. A partir de então, o MS-DOS passou a existir apenas como uma parte dos sistemas Windows 9x (95, 98 e Me). A versão original do Microsoft Windows 95 incorporou o MS-DOS versão 7.0.

## Questões legais

Como resposta ao DR DOS 6.0 da Digital Research, que incluía a compactação de disco SuperStor, a Microsoft abriu negociações com a Stac Electronics, fornecedora da ferramenta de compactação de disco DOS mais popular, o Stacker. No processo de due diligence, os engenheiros da Stac mostraram à Microsoft parte do código-fonte do Stacker. Stac não estava disposto a cumprir os termos da Microsoft para licenciar o Stacker e retirou-se das negociações. A Microsoft optou por licenciar o DoubleDisk da Vertisoft, usando-o como o núcleo de sua compactação de disco DoubleSpace.
MS-DOS 6.0 e 6.20 foram lançados em 1993, ambos incluindo o programa utilitário de compactação de disco Microsoft DoubleSpace. A Stac processou com sucesso a Microsoft por violação de patente em relação ao algoritmo de compressão usado no DoubleSpace. Isso resultou no lançamento do MS-DOS 6.21 em 1994, que teve a compactação de disco removida. Pouco tempo depois veio a versão 6.22, com uma nova versão do sistema de compressão de disco, o DriveSpace, que tinha um algoritmo de compressão diferente para evitar o código infrator.
Antes de 1995, a Microsoft licenciava o MS-DOS (e Windows) para fabricantes de computadores sob três tipos de contrato: por processador (uma taxa para cada sistema vendido pela empresa), por sistema (uma taxa para cada sistema de um modelo específico), ou por cópia (uma taxa para cada cópia do MS-DOS instalada). Os maiores fabricantes usavam o arranjo por processador, que tinha a taxa mais baixa. Esse arranjo tornou caro para os grandes fabricantes migrar para qualquer outro sistema operacional, como o DR DOS. Em 1991, a Federal Trade Commission do governo dos EUA começou a investigar os procedimentos de licenciamento da Microsoft, resultando em um acordo de 1994 limitando a Microsoft ao licenciamento por cópia. A Digital Research não ganhou com esse acordo e, anos depois, seu sucessor em interesse, Caldera, processou a Microsoft por danos no processo Caldera v. Microsoft. Acreditava-se que o acordo era da ordem de US$ 150 milhões, mas foi revelado em novembro de 2009 com o lançamento do Acordo de Liquidação em US$ 280 milhões.

## Uso de APIs não documentadas

A Microsoft também usou uma variedade de táticas no MS-DOS e em vários de seus aplicativos e ferramentas de desenvolvimento que, embora funcionassem perfeitamente quando executados no MS-DOS genuíno (e no PC DOS), falhavam quando executados na implementação do DOS de outro fornecedor. Exemplos notáveis ​​desta prática incluem:
* O QuickPascal da Microsoft (lançado no início de 1989) foi o primeiro produto MS que verificou o MS-DOS modificando o prefixo do segmento do programa usando funções DOS não documentadas e, em seguida, verificou se o valor associado foi alterado ou não em uma posição fixa dentro do segmento de dados do DOS. (também não documentado). Essa verificação também foi incluída em produtos MS posteriores, incluindo Microsoft QuickC v2.5, Programmer's Workbench e Microsoft C v6.0.
* O código AARD, um bloco de código no iniciador do Windows (WIN.COM) e alguns outros arquivos de sistema do Windows 3.1. Foi criptografado com XOR, auto-modificável e deliberadamente ofuscado, usando várias estruturas e funções não documentadas do DOS para determinar se o Windows realmente estava sendo executado no MS-DOS. Nas versões beta, exibia uma mensagem de "erro" se o teste para o MS-DOS genuíno falhasse, solicitando ao usuário que abortasse ou continuasse, com abortar como padrão. Na versão final, o código ainda rodava, mas a mensagem e o prompt foram desabilitados por um byte sinalizador adicionado, tornando-o (provavelmente) ineficaz.
** Observe que o código beta do Windows 3.0 forneceu apenas um aviso de que o Windows não funcionaria corretamente em um sistema operacional "estrangeiro". Na verdade, funcionou muito bem no DR DOS 6.0.
* Rotinas de interrupção chamadas pelo Windows para informar ao MS-DOS que o Windows está iniciando/encerrando, informações que o MS-DOS reteve em um sinalizador IN_WINDOWS, apesar do fato de que o MS-DOS e o Windows deveriam ser dois produtos separados.

## Sistemas relacionados

Os sistemas compatíveis com MS-DOS incluem:
* IBM PC-DOS
* DR DOS, Novell DOS, OpenDOS
* FreeDOS
* PTS-DOS
* ROM-DOS
A Microsoft criou o IBM PC DOS para a IBM. Ele e o MS-DOS eram produtos idênticos que eventualmente divergiram a partir do MS-DOS versão 6.0. A Digital Research não seguiu o esquema de numeração de versão da Microsoft. Por exemplo, o MS-DOS 4, lançado em julho de 1988, foi seguido pelo DR DOS 5.0 em maio de 1990. O MS-DOS 5.0 veio em abril de 1991 e o DR DOS 6.0 foi lançado em junho seguinte.
Esses produtos são referidos coletivamente como "DOS", embora "Disk Operating System" seja um termo genérico usado em outros sistemas não relacionados ao x86 e ao IBM PC. "MS-DOS" também pode ser uma referência genérica ao DOS em computadores compatíveis com IBM PC.
O controle da plataforma Windows pela Microsoft e suas práticas de programação que intencionalmente faziam o Windows parecer que funcionava mal em versões concorrentes do DOS, prejudicaram a capacidade de outros fabricantes de DOS de continuar a competir com o MS-DOS. A Digital Research teve que lançar versões provisórias para contornar as limitações do Windows inseridas artificialmente, projetadas especificamente para fornecer à Microsoft uma vantagem competitiva.