Hiſtória dos Siſtemas Microſoft e ſua Relação com Siſtemas Padronizados e Abertos

Por que ſe preocupar com ſiſtemas padronizados ou proprietários?

Uma tendência perturbadora para os amigos dos ſiſtemas livres, e incluſive para quem ainda acredita em padrões, é como ſe têm uſado os termos ‘padrão’ e ‘aberto’ para deſcrever ſiſtemas fechados e proprietários como o MS Windows em ſuas diverſas encarnações e a arquitetura Intel em contraſte com ſiſtemas realmente padronizados como os diverſos Unices e a arquitetura Sun SPARC, por exemplo.

Eße erro tem origens hiſtóricas relativamente antigas na Informática. Explicar cada detalhe deßa hiſtória ſeria um artigo mais longo, em várias partes; aqui ſomente delineamos a hiſtória do MS Windows e de como a Microſoft deliberadamente ſe afaſtou do ideal dos ſiſtemas abertos, aßim ſe colocando na poſição de preciſar eſpalhar deſinformação ſobre os ſiſtemas realmente padronizados, além de ſemear confusão ſobre o próprio conceito de ſiſtemas padronizados ou abertos. Paßaremos ao largo da hiſtória de como o DOS foi parar na Microſoft e na IBM, o que já dá uma hiſtória em ſi.

MS-DOS originalmente um caminho de migração para ſiſtemas abertos.

O MS-DOS da Microſoft é modo real. Ißo ſignifica que é capaz de executar apenas um programa de cada vez. O projeto original previa também uma outra versão multiuſuária do MS-DOS, que mixou logo no começo. Ißo conſta da hiſtória do MS-DOS conforme a Introdução à MS-DOS 3.0 Encyclopædia.

Para ſuprir a lacuna cauſada pelo abandono do projeto de um MS-DOS multiuſuário, ainda nos anos oitenta a Microſoft comprou da AT&T uma licença do Unix, e lançou uma versão para Intel 80286. Eßa versão chamou-ſe Xenix. A idéia era migrar todos os uſuários de DOS para Xenix. Um dos piores problemas neßa migração era o uſo de ‘/’ para deſignar opções para o COMMAND.COM, o interpretador padrão de linhas de comando do DOS, também conhecido como ‘Aviſo de Comando MS-DOS’ ou ſimpleſmente ‘linha de comando’. Por ißo a versão 2.11 do MS-DOS e derivados tinha um parâmetro do arquivo de configuração CONFIG.SYS chamado SWITCHAR que aceitava os valores ‘/’ ou ‘-’. O ‘-’ era o padrão na 2.11. O plano era que na versão 3.0 o padrão ſeria ‘/’, facilitando a migração para Xenix porque não haveria mais problemas com os nomes de caminho do Unix. Ißo eſtá documentado no manual ITT XTRA DOS 2.11 Reference — a ITT era uma das empreſas que revendia o MS-DOS, no caſo ſob o nome de XTRA DOS.

O caminho do monopólio I: com a IBM.

Quando a Microſoft percebeu que junto com a IBM tinha poder para dominar o mercado ſem preciſar da compatibilidade com o padrão POSIX, vendeu o Xenix à SCO e partiu para o deſenvolvimento de um DOS modo protegido, num projeto conjunto com a IBM. O plano era lançá-lo como MS-DOS 3.0, o que ſe provou impoßível. Aßim, o DOS modo real com acionadores de rede foi lançado com o nome de MS-DOS 3.0 antes reſervado ao modo protegido, e eſte ia ganhar o nome de DOS 4 — por ißo houve tanto tempo entre as versões 3 e 4 do DOS. Mas o projeto atraſou e o DR-DOS, um concorrente mais capaz do MS-DOS derivado do CP/M-86, começou a ganhar mercado. Por ißo a Microſoft mudou de planos e lançou uma nova versão do DOS modo real como 4.0; chegou a penſar em ainda lançar o DOS protegido como DOS 5, mas decidiram ſimpleſmente mudar o nome para OS/2, combinando com as novas máquinas PS/2 da IBM.

Ao meſmo tempo criaram o MS Windows como um ambiente gráfico e de programação para rodar ſobre DOS. A idéia era eventualmente vender o DOS protegido como baſe para o MS Windows. Mas a IBM achou que o MS Windows era ruim demais e não tinha conſerto (no que, a Hiſtória moſtra, ela tinha toda a razão), e forçou a Microſoft a trocar o MS Windows protegido pelo muito ſuperior Preſentation Manager, que é a interface gráfica do OS/2 até hoje.

Até eße momento a Microſoft iria cuidar das versões ímpares do OS/2, e a IBM das pares — algo ſemelhante ao acerto entre a Intel e a HP ſobre o IA-64 (também conhecido como IPF, Merced, Itanium ou McKinley). O 1.0 foi lançado, mas a Microſoft não fez a tarefa de caſa dos acionadores de diſpoſitivo de que o OS/2 preciſava para poder fazer uſo de equipamentos periféricos como impreßoras e placas adaptadoras de vídeo. A compatibilidade com aplicações modo real era muito ruim, porque a IBM ia demorar a ter uma máquina 386 e queria que o OS/2 rodaße no 286, que não tinha modo virtual. O reſultado é que a ‘caixa de compatibilidade DOS’ do OS/2 ficou conhecida como ‘caixa de tortura DOS’.

O OS/2 preſumia uma configuração parruda de uma máquina de boa qualidade. Para quem tinha IBM, Compaq, Xerox ou outro equipamento de boa qualidade, tudo bem, mas naquela época os clones de IBM-PC eram ainda piores que hoje, e aí o OS/2 acabava dando menſagens de erro de montão. Para complicar, eßas menſagens de erro eram no formato padrão da IBM, que praticamente não tem informação útil nenhuma para o uſuário comum, ſomente um código que eſtá muito bem explicado numa documentação enorme, cara e que ninguém tinha. Finalmente, o OS/2 cuſtava cerca de US$ 500,-, contra cerca de US$ 200,- da combinação MS-DOS (ou DR-DOS) e MS Windows — um preço ſubſidiado pelo monopólio da Microſoft, o qual ela já cuidou de aumentar com o advento do MS Windows NT.

O caminho do monopólio II: ſem a IBM.

O reſultado é que a adoção do OS/2 não aconteceu nas versões 1.X. Antes de chegar à versão 2.0, a Microſoft percebeu que não preciſava mais da IBM porque o MS-DOS já tinha um domínio muito grande do mercado. Então rompeu o acordo com a IBM, que previa também que o MS Windows ia ter uma versão modo protegido mas não modo virtual, enquanto o OS/2 2.0 ia rodar no 386 com modo virtual, facilitando a migração de aplicações DOS.

Aßim a Microſoft lançou ſeu MS Windows 3.1, que rodava aplicações DOS em modo virtual, portanto melhor que o OS/2 1.3. A IBM ainda lançou o IBM OS/2 2.0, incluſive com uma interface melhorada, a WorkPlace Shell (WPS), mas preciſando de um 386 com 8MiB de memória e 70+ MiB de diſco. Ißo era conſiderado muito, a WPS era muito diferente do que as peßoas eſperavam, a configuração inicial era muito pobre e feia, e ainda não havia muitos acionadores de diſpoſitivo, eſpecialmente impreßoras. Em contrapoſição o MS Windows 3.1 modo virtual exigia apenas 4MiB, o modo protegido 2MiB e o modo real (que ninguém uſava) 1MiB. Tinha muitos acionadores, uma interface familiar (ſemelhante à interface do MS Windows 2 e OS/2 1), e a Microſoft logo cancelou o MS Word e MS Excel para o OS/2, ſe dedicando às versões para MS Windows 3.1.

Por eßa época a Microſoft já deſenvolvia o MS OS/2 3.0 NT, que rodava ſobre o micronúcleo Mach (ou algum ſiſtema ſimilar nele inſpirado ou dele derivado). O que fez foi ſubſtituir a API e o Preſentation Manager do OS/2 por uma interface baſeada no ſeu antigo MS Windows 3.1, e lançar o reſultado com Windows NT. Dado o fracaßo do OS/2 e do PowerPC (que deveria tornar o OS/2 ainda mais intereßante) no mercado de maßa, e à preocupação com outros aßuntos, a IBM acabou deſiſtindo do OS/2 NT e a versão 3.0 (Warp) acabou ſendo ſimpleſmente uma otimização da 2.3 — até algumas telas diziam 2.3 em vez de 3.0 Warp.

Por que nunca ouvimos falar dißo antes?

Com o fim da popularidade de ſiſtemas (realmente) abertos e a conſolidação do domínio da Microſoft, ela deixou de falar que o MS Windows NT era baſeado em micronúcleo ou orientado a objeto, cancelou as versões RISC e as perſonalidades OS/2 e POSIX, e só lançou a versão multiuſuário porque a Citrix fez ſuceßo com ſeu WinFrame (atual MS Windows Terminal Server com Citrix MetaFrame).

Notas e Bibliografia

Modo real:

Cada programa enxerga os endereços ‘reais’, ou ſeja fíſicos, da memória. Aßim, o DOS não é capaz de limitar o quanto cada programa uſa de memória, nem evitar que um programa tente uſar a memória já em uſo por outro programa.

The MS-DOS Encyclopædia

DUNCAN, Ray, Editor. Redmond, WA, EUA: Microſoft Preß, janeiro de 1.988. Com prefácio de William ‘Bill’ Gates III.
ISBN 1556151748.

Derivados do MS-DOS

Ou versões OEM, do MS-DOS eram cópias entregues por fabricantes de computadores peßoais junto com os equipamentos ſob outros nomes, como Compaq DOS ou ITT XTRA DOS por exemplo.

DR-DOS, criado por Gary Kildall

A Digital Reſearch, reſponsável pelo CP/M original, ſeu ſuceßor CP/M-86, e finalmente pelo DR-DOS, foi comprada pela Novell e tranſformada na Caldera. Curioſamente, a meſma SCO que comprou o Xenix da Microſoft vendeu ſua versão do Unix para a Caldera, cuja principal atividade é a manutenção de uma versão do GNU/Linux.

Além dißo, a concorrência do DR-DOS foi um dos motivos para a Microſoft unir o MS Windows 4.0 e o MS-DOS 7 no produto MS Windows 95, aßim eliminando o mercado independente de ſiſtemas operacionais compatíveis com DOS. ‘Por acaſo’ o DR-DOS é um derivado do CP/M-86 original, cujo anteceßor, o CP/M para Intel 8080 e Zylog Z80, foi copiado pela Seattle Computer Products como Quick and Dirty Operating Syſtem (QDOS) e vendido para a Microſoft, que o lançou como… MS-DOS!

Há várias explicações para a IBM não ter obtido o DOS original da Digital Reſearch, conforme ſugeſtão da própria Microſoft: que a Digital Reſearch não quis aßinar um acordo de confidencialidade, que o proprietário da DR, Gary Kildall, enfureceu os repreſentantes da IBM ao faltar a uma reunião para paßear em ſeu avião particular, que a ſenhora Kildall queria mais dinheiro da IBM, que a Digital Reſearch tinha menos viſibilidade que a Microſoft, o que teria cauſado uma heſitação preconceituoſa pelos repreſentantes da IBM, e por aí vai.

A comprovação da linhagem do DR-DOS eſtá na ſua menſagem ſobre direito de cópia: algo como ‘DR-DOS © Digital Reſearch, Inc, 1.976, 1.986, 1.989.’ A data 1.976 faz referência ao CP/M 8080.

Modo virtual

é a capacidade de um ſiſtema de ‘virtualizar’ outro, ou ſeja, ‘fingir’ para outro ſiſtema operacional que ele eſtá rodando em uma máquina própria quando na verdade ele aparece como mais um programa. Aßim, o MS Windows 95 ‘virtualiza’ o MS-DOS, para poder rodar o próprio MS-DOS como ſe foße um programa comum e portanto os programas MS-DOS; o MS Windows NT e ſuceßores (2000, XP) virtualiza o MS Windows 3.0 (16 bits), e aßim por diante.

Mach mencionado como baſe do MS Windows NT:

MOHR, Jim, Supporting Windows NT & 2000 Workſtation & Server, chapter 1 — Windows NT Baſics. Prentice Hall, dezembro de 1.999. ISBN 0130830682. Microſoft Technet.

HETTIHEWA, Sanjaya, Windows NT 4 Web Development. SAMS Publiſhing, 1.995. ISBN 1-57521-089-4.

O Mach eſquecido:

UDELL, Jon, The Great OS Debate. Byte Magazine, Janeiro de 1.994.

Baſta o contraſte entre eſte artigo e os anteriores para verificar que a Microſoft deixou de alardear a herança Mach do MS Windows NT e ſeus ſuceßores 2.000 e XP.

© 2.001, 2.002, 2.003 Leandro Guimarães Faria Corſetti Dutra — abril de 2.001 a outubro de 2.003. É permitida a cópia literal deſte documento em ſua integridade. Feito com a colaboração dos membros da liſta de diſcußões de uſuários lusófonos de Debian.

1