* Uma História dos Sistemas Microsoft e sua Relação com os Sistemas Padronizados e Abertos ** Por que se preocupar com sistemas padronizados ou proprietários? Uma tendência perturbadora para os amigos dos sistemas livres, e inclusive para quem ainda acredita em sistemas abertos[1], é como se tem usado os termos "padrão" e "aberto" para descrever sistemas fechados e proprietários como o Windows em suas diversas encarnações e a arquitetura Intel em contraste com sistemas realmente padronizados como os diversos Unices e a arquitetura SPARC, por exemplo. Esse erro tem origens históricas relativamente antigas no meio da informática. Explicar cada detalhe dessa história seria um artigo mais longo, em várias partes; aqui vamos somente delinear a história do Windows e como a Microsoft deliberadamente se afastou do ideal dos sistemas abertos, assim se colocando na posição de precisar espalhar desinformação sobre os sistemas realmente padronizados, além de semear confusão sobre o próprio conceito de sistemas padronizados ou abertos. Vamos passar direto sobre a história de como o DOS foi parar na Microsoft e na IBM, o que já dá uma história em si. ** O MS-DOS como caminho de migração para sistemas abertos. O MS-DOS da Microsoft é modo real. Isso significa que é capaz de executar apenas um programa de cada vez[1a]. O projeto original previa também um DOS multiusuário, que mixou logo no começo. Isso consta da história do DOS conforme a Introdução à MS-DOS 3.0 Encyclopedia[2]. Ainda nos anos oitenta a Microsoft comprou da AT&T uma licença do Unix, e lançou uma versão para Intel 80286, que era o Xenix. A idéia era migrar todos os usuários de DOS para Xenix. Um dos piores problemas era o uso de "/" pra designar opções para o COMMAND.COM, o interpretador padrão de linhas de comando do DOS, também conhecido como "Aviso de Comando MS-DOS" ou simplesmente "linha de comando". Por isso a versão 2.11 do DOS tinha um parâmetro do CONFIG.SYS chamado SWITCHAR que aceitava os valores "/" ou "-". O "-" era o padrão na 2.11. O plano era que na 3.0 o padrão seria "/", e aí a migração para Xenix seria facilitada, porque não haveria problemas mais com os nomes de caminho do Unix. Isso está documentado no manual "ITT XTRA MS-DOS 2.11 Reference", sendo que ITT XTRA era uma das versões OEM do DOS. Nunca consegui uma cópia dele ou do manual equivalente da própria Microsoft, então essa informação é de segunda mão. ** O caminho do monopólio I: com a IBM. Quando a Microsoft percebeu que junto com a IBM ela tinha poder para dominar o mercado sem precisar da compatibilidade com POSIX, vendeu o Xenix à SCO e partiu para o DOS modo protegido, num projeto conjunto com a IBM. O plano era lançá-lo como DOS 3.0, o que se provou impossível. Assim, o DOS modo real com acionadores de rede foi lançado como DOS 3.0, e o DOS protegido ia ganhar o nome de DOS 4 - por isso houve tanto tempo entre as versões 3 e 4 do DOS. Mas o projeto atrasou e o DR-DOS[2a], um concorrente mais capaz do MS-DOS derivado do CP/M-86, começou a ganhar mercado. Por isso a Microsoft mudou de planos e lançou uma nova versão do DOS modo real como 4.0; chegou a pensar em ainda lançar o DOS protegido como DOS 5, mas decidiram simplesmente mudar o nome para OS/2, combinando com as novas máquinas PS/2 da IBM. Ao mesmo tempo criaram o Windows como um ambiente para rodar sobre DOS. A idéia era vender eventualmente o DOS protegido com o Windows. Mas a IBM achou que o Windows era ruim demais e não tinha conserto (no que ela tinha toda a razão), e forçou a Microsoft a trocar o Windows protegido pelo Presentation Manager, que é a interface gráfica do OS/2 até hoje. Até esse momento a Microsoft ia cuidar das versões ímpares do OS/2, e a IBM das pares - algo como o acerto entre a Intel e a HP sobre o IA-64 (Merced/Itanium, McKinley). O 1.0 foi lançado, mas a Microsoft não fez a tarefa de casa dos drivers. Além disso 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 rodasse no 286, que não tinha modo virtual. O resultado é que a "caixa de compatibilidade DOS" do OS/2 ficou conhecida como "caixa de tortura DOS". Finalmente, o OS/2 presumia uma configuração parruda de uma máquina de boa qualidade. Para quem tinha IBM, Compaq, Xerox ou coisa assim tudo bem, mas naquela época os /clones/ de IBM-PC eram ainda piores que hoje, e aí o OS/2 dava mensagens de erro de montão. Para complicar, essas mensagens de erro eram no formato padrão da IBM, que praticamente não tem informação útil nenhuma, somente um código que está muito bem explicado numa documentação enorme, cara e que ninguém tinha. Além disso o OS/2 custava US$ 500 ou coisa assim ** O caminho do monopólio II: sem a IBM. O resultado disso tudo é que a adoção do OS/2 não aconteceu nas versões 1.X. Antes de chegar à versão 2.0, a Microsoft percebeu que não precisava 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 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í ela lançou o 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 OS/2 2.0, inclusive com uma interface melhorada, a WorkPlace Shell (WPS), mas rodando somente em 386 com 8MB de memória e uns 70 MB de disco. Na época isso era considerado excessivo, a WPS era muito diferente do que as pessoas esperavam, a configuração inicial era muito pobre e feia, e ainda não havia muitos acionadores de dispositivo, especialmente impressoras. Em contraposição o Windows modo virtual exigia apenas 4MB, o modo protegido 2MB e o modo real (que ninguém usava) 1MB. Tinha muitos acionadores, uma interface familiar (semelhante à interface do Windows 2 e OS/2 1), e a Microsoft logo cancelou o Word e Excel para o OS/2, se dedicando às versões para Windows 3.1. Por essa época a Microsoft já desenvolvia o OS/2 3.0, apelidado de OS/2 NT, que rodava em cima de Mach [3] ou coisa parecida. O que ela fez foi arrancar fora o Presentation Manager e colocar o Windows por cima, e lançar com Windows NT. Dado o fracasso do OS/2 e do PowerPC no mercado de massa, e à preocupação com outros assuntos, a IBM acabou desistindo do OS/2 NT e a versão 3.0 (Warp) acabou sendo simplesmente uma otimização da 2.3 - até algumas telas diziam 2.3 em vez de 3.0 Warp. ** Por que nunca ouvimos falar disso antes? Um dado interessante é que com o fim da mania de sistemas abertos e a consolidação do domínio da Microsoft ela deixou de falar que o NT era baseado em micronúcleo[4] ou orientado a objeto, cancelou as versões RISC e as personalidades OS/2 e POSIX, e só lançou a versão multiusuário porque a Citrix fez sucesso. [1] Aqui considero que sistemas livres são um subconjunto dos sistemas abertos. Para o conceito de sistemas livres, ver http://www.gnu.org./philosophy/categories.html e para o conceito de sistemas padronizados, ver http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?standard. [CONSERTE-ME: Conseguir uma boa definição de "sistemas abertos".] [1a] Isso porque cada programa enxerga os endereços "reais", ou seja físicos, da memória. Assim, o DOS não é capaz de limitar o quanto cada programa usa de memória, nem evitar que um programa tente usar a memória já em uso por outro programa. [2] The MS-DOS Encyclopaedia, Ray Duncan, Editor 1.988, Microsoft Press, Redmond, WA, EUA. Com prefácio de William Gates III. [CONSERTE-ME: obter referência bibliográfica completa.] [2a] A Digital Research, responsável pelo MS-DOS, foi comprada pela Novell e transformada na Caldera. Curiosamente, a mesma SCO que comprou o Xenix da Microsoft vendeu sua versão do Unix para a Caldera, cuja principal atividade é a manutenção de uma versão do GNU/Linux. Além disso, a concorrência do DR-DOS foi um dos motivos para a Microsoft unir o Windows 4.0 e o MS-DOS 7 no produto Windows 95, assim eliminando o mercado independente de sistemas operacionais compatíveis com DOS. "Por acaso" o DR-DOS parece ser um derivado do CP/M-86 original, cujo antecessor, o CP/M para Intel 8080 e Zylog Z80 foi copiado pela Seattle Computer Products como Quick and Dirty Operating System (QDOS) e vendido para a Microsoft, que o lançou como... MS-DOS! A comprovação da linhagem do DR-DOS está na mensagem sobre direito de cópia: algo como "DR-DOS (c) Digital Research, Inc, 1.976, 1.986, 1.989." A data 1.976 faz referência ao CP/M 8080. [3] Supporting Windows NT & 2000 Workstation & Server, Jim Mohr Chapter 1 - Windows NT Basics Dezembro de 1.999, Prentice Hall ISBN 0130830682 http://www.microsoft.com/technet/winnt/windowsn.asp Windows NT 4 Web Development, Sanjaya Hettihewa 1.995, SAMS Publishing ISBN 1-57521-089-4 http://www.netinnovation.com/nt/NTVsUnix.html [4] Jon Udell, The Great OS Debate Byte Magazine, Janeiro de 1.994 http://www.eoenabled.com/byte-itdev/out.asp?n=33686541&i=NT+Mach&tid=1&url=http%3A%2F%2Fwww%2Ebyte%2Ecom%2Fart%2F9401%2Fsec8%2Fart1%2Ehtm&title=January+1994+%2F+Special+Report+%2F+The+Great+OS+Debate Enquanto o fato não está documentado, é só ver o contraste entre este artigo e o anterior para verificar que a Microsoft deixou de alardear a herança Mach do Windows NT (hoje 2.000). (C) Leandro Guimarães Faria Corsetti Dutra, abril de 2.001. É permitida a cópia literal deste documento em sua integridade. Uma versão será proximamente publicada sob a Licença Pública Geral de Documentação GNU. Feito com a colaboração dos membros da lista de discussões de usuários lusófonos de Debian.