terça-feira, 23 de setembro de 2025

Nostalgia: Instalando o Windows 3.x no Proxmox!

 Pessoal,

Hoje vamos relembrar o Windows 3.x. Este post é uma atualização sobre a instalação que eu fiz em 2018 no VMWare (veja aqui) e a instalação de 2023 no Virtual Box (veja aqui).

Após termos dissecado as origens com o Windows 1.0 e o Windows 2.x, chegamos ao Windows 3.x.

Essa família de sistemas, lançada entre 1990 e 1995, marcou o ponto de virada para a Microsoft, transformando-a de uma empresa de software para MS-DOS em uma potência global. Não era mais apenas um shell sobre o DOS; era uma plataforma que explorava ao máximo o hardware emergente, pavimentando o caminho para a dominância do Windows.

Vamos mergulhar fundo no contexto do mercado de PCs na época, nas inovações de hardware que impulsionaram sua adoção, nas melhorias técnicas cruciais em relação ao Windows 2.x (especialmente no confuso e caótico gerenciamento de memória que falamos no post sobre o Windows 2.x), no impacto do seu lançamento, nas características de cada versão, nos concorrentes, no reposicionamento do mercado e nas inovações duradouras.

Antes de comerçarmos, vamos rever a caixa o Windows 3!


Windows 3.0 em disquetes de 3 1/2!

Windows 3.0 em disquetes de 5 1/4!







Discos 5 1/4 para instalação do Windows 3.0!

Disquetes 3 1/2 para instalação do Windows 3.0 e extras!

Você consegue baixar o manual do Windows 3.0 clicando aqui!

O Mercado de PCs no Início dos Anos 1990: Democratização e Competição Acirrada

No final dos anos 1980 a MS estava considerando acabar com o Windows e, junto com a IBM, desenvolver o OS/2 (que já instalamos aqui). A ideia era criar um sucessor do modo protegido do DOS. Assim, várias tecnologias de ambos esses sistemas são encontradas no Windows, Windows NT e OS/2. Já abordamos esta parceria da Microsoft e IBM aquiaqui e principalmennte aqui (no tópico sobre o OS/2).

No início dos anos 1990, o mercado de computadores pessoais (PCs) vivia uma transformação explosiva. Em 1990, quando o Windows 3.0 foi lançado, cerca de 20 milhões de PCs eram vendidos globalmente por ano, com IBM e seus clones (Compaq, Dell, Gateway) dominando. Os preços caíam vertiginosamente: um PC de entrada com Intel 80386SX, 1 MB de RAM e disco rígido de 40 MB custava US$ 1,500–2,000, contra mais de US$ 5,000 em meados dos anos 1980. Essa acessibilidade foi crucial, pois o Windows 3.x exigia no mínimo 1 MB de RAM para operar viavelmente, algo impensável poucos anos antes. O contexto econômico, marcado pelo otimismo pós-Guerra Fria, impulsionava o boom da computação pessoal, com empresas adotando planilhas e bancos de dados, enquanto lares começavam a ver PCs como ferramentas de produtividade e entretenimento.

Um grupo interno da MS começou a desenvolver um protótipo do Windows 3.0 e criou, também,  protótipos do que viriam a ser o Word, Excel e Powerpoint. Os executivos da MS teriam ficado tão impressionados que o tornaram um projeto oficial. Perto do lançamento, quando a IBM descobriu, a pareceria para desenvolvimento do OS/2 foi encerrada.

O mercado estava fragmentado. O MS-DOS dominava com ~80% de share, mas GUIs como o Macintosh System Software da Apple e o OS/2 da IBM desafiavam o paradigma textual. A Microsoft, com receita de US$ 800 milhões em 1989, via no Windows uma chance de unificar o ecossistema, mas enfrentava ceticismo – o Windows 2.x vendeu apenas 2 milhões de cópias, visto como um "acessório" para o DOS. O lançamento do Windows 3.0 coincidiu com a recessão de 1990–1991 nos EUA, mas, paradoxalmente, impulsionou vendas ao oferecer produtividade gráfica em hardware acessível, otimizando custos em treinamento e eficiência.

Tecnicamente, o mercado era movido por padrões abertos: o barramento ISA de 16 bits cedia espaço ao EISA e MCA para maior largura de banda, enquanto redes locais (LANs) como Novell NetWare ganhavam força, preparando o terreno para o Windows for Workgroups. Era uma era de transição onde hardware mais barato e software gráfico convergiam, criando um ciclo virtuoso que o Windows 3.x exploraria magistralmente.

Essas primeiras versões do Windows geram alguma controvérsia. As primeiras versões, 1.x e 2.x deram origem à versão 3.x e 3.x for Workgroups. Daí evoluiram para o Windows 95, Windows 98 e Windows ME. Todas essas versões, como falaremos abaixo, rodavam um kernel híbrido de 16/32 bits sobre um versão do DOS (independente do Windows até o 3.11 e integrada ao Windows a partir do Windows 95).

O Windows 3.0 vendeu 10 milhões de cópias até 1992, contribuindo para a receita da Microsoft ultrapassar US$ 1 bilhão em 1990, com US$ 337 milhões no quarto trimestre. Isso representou um crescimento de 46% em receitas anuais, impulsionado pela adoção em empresas e pelo surgimento de um ecossistema de programas compatíveis. No Japão, no entanto, o Windows 3.0 enfrentou barreiras culturais e técnicas, como suporte limitado a idiomas, resultando em vendas baixas comparadas aos EUA.

O impacto foi amplo: o Windows 3.x acelerou a transição para GUIs, influenciando o desenvolvimento de hardware como placas de vídeo VGA e memória RAM, e fomentando o mercado de software para Windows, que cresceu de centenas para milhares de títulos até 1993. Em 1994, as vendas de PCs atingiram 37 milhões de unidades anuais, com o Windows 3.x instalado em mais de 70% deles, consolidando a Microsoft como líder.

Já o Windows NT 3.1, apesar de uma interface idêntica ao do Windows 3.1, era completamente diferente. Usava um kernel novo de 32 bits (baseado no seu primo OS/2) e era adequado para empresas e para redes. Evoluiu para o Windows NT 4.0 (com interface semelhante ao Windows 95) e Windows 2000.


As versões baseadas em DOS e versões NT se fundiram no Windows XP em 1999.

Inovações de Hardware que Impulsionaram o Windows 3.x: Processadores, Memória e Multimídia

O sucesso do Windows 3.x está intimamente ligado às inovações de hardware que tornaram o sistema funcional. Vamos detalhar alguns desses avanços em processadores, custos de memória, multimídia e periféricos.

Avanços nos Processadores: Do 80286 ao 80486

O Intel 80286introduzido em 1982, era o requisito mínimo para o Windows 3.0 no modo Standard. Com 134.000 transistores e velocidades de 6 a 25 MHz, utilizava a Global Descriptor Table (GDT) e a Local Descriptor Table (LDT) para acessar até 16 MB de memória, isolando processos por meio de descritores de segmento que definiam endereço base, limite e privilégios. Contudo, sem suporte ao modo Virtual 8086 (V86), o multitasking era cooperativo, dependendo da cessão voluntária de CPU pelos programas, o que podia levar a travamentos se um programa monopolizasse recursos. O 80286 custava cerca de US$ 300 em 1990, com desempenho de até 2.66 MIPS no modelo de 12 MHz.

Intel 80386ançado em 1985 e amplamente adotado nos anos 1990, era o núcleo do Windows 3.x no modo 386 Enhanced. Com 275.000 transistores e velocidades de 16 a 33 MHz, permitia acesso teórico a 4 GB de memória, embora PCs da época raramente excedessem 8 MB devido aos custos. O 80386 introduziu:

  • Paginação: Páginas de 4 KB mapeadas via Page Directory e Page Tables no registrador CR3, suportando memória virtual por meio de um arquivo de troca (swapfile). Isso permitia executar programas que excediam a RAM física, utilizando o disco rígido como extensão, com desempenho de até 11 MIPS no modelo DX-33 MHz.

  • Modo Virtual 8086 (V86): Emulava múltiplos ambientes MS-DOS, cada um com 1 MB de memória virtual (640 KB convencional + 384 KB UMA). Isso viabilizava preemptive multitasking para programas DOS, com o Windows controlando a alocação de CPU, enquanto programas Windows usavam cooperative multitasking, mais propenso a falhas. Preços caíam de US$ 500 (DX-33 MHz em 1990) para US$ 200 em 1992.

O 80386SX, uma variante econômica lançada em 1988, tinha barramento de dados de 16 bits (contra 32 bits do 80386DX) e barramento de endereços de 24 bits (limitado a 16 MB). Com 275.000 transistores e velocidades de 16 a 20 MHz, suportava V86 e paginação, permitindo o modo 386 Enhanced, mas com desempenho reduzido em transferências de dados (cerca de 4 MIPS no SX-16 MHz), custando US$ 150–200 em 1990.

Por fim, o Intel 80486lançado em 1989, integrou cache L1 (8–16 KB) e uma unidade de ponto flutuante (FPU), acelerando cálculos gráficos e multimídia. Com 1.2 milhões de transistores e velocidades de 20 a 50 MHz, oferecia desempenho de até 50 MIPS no modelo de 50 MHz. No Windows 3.1, a renderização de fontes TrueType beneficiava-se diretamente do 80486. Preços caíram de US$ 700 em 1990 para US$ 300 em 1992, tornando-o acessível para PCs de alto desempenho.


Custos de Hardware em Queda: Memória e Armazenamento

A memória RAM também tornou-se mais acessível: em 1990, 1 MB de SIMM custava US$ 50–100, contra US$ 300 em 1987, uma queda expressiva! Isso era vital, pois o Windows 3.0 recomendava 2 MB para modo Enhanced, usando swap em disco para memória virtual (até 256 MB efetivos via HIMEM.SYS e sistema de paginação). Discos rígidos de 80–120 MB eram padrão (US$ 300–500), suportando instalações de 10–15 MB do Windows junto com aplicativos adicionais. O cache de disco SMARTDRV, que aproveitava a memória estendida (XMS) para buffer, acelerava operações de entrada/saída em discos rígidos lentos (com latência média de 15–20 ms), minimizando gargalos e melhorando o desempenho geral do sistema.

A Revolução Multimídia: Som, Vídeo e Periféricos

O Windows 3.0 Multimedia Extensions (MME) marcou a era multimídia. Suportava placas de som como AdLib e Sound Blaster 1.0, drivers para CD-ROM (via MSCDEX) e joysticks analógicos. O Media Control Interface (MCI) abstraía hardware, permitindo aplicativos como Media Player reproduzir WAV, MIDI e AVI (usando codecs como RLE para compressão run-length). Gráficos VGA (256 cores, 640x480) e SVGA emergente (800x600, até 1024x768 com drivers OEM) usavam Palette Manager para otimizar cores, priorizando a janela ativa. Custos: uma Sound Blaster custava US$ 200, CD-ROM 2x US$ 300 – acessíveis para jogos como King’s Quest V ou programas educacionais. Isso posicionou o Windows como plataforma multimídia, contrastando com o DOS textual.

Esses avanços criaram um ecossistema onde o Windows 3.x não era apenas viável, mas superior, explorando hardware para usabilidade inédita.

Vantagens no Gerenciamento de Memória em Relação ao Windows 2.x: Superando a Barreira dos 640 KB

O Windows 2.x sofria com as limitações do MS-DOS: memória convencional de 640 KB, EMS/XMS via drivers como HIMEM.SYS e EMM386, mas sem memória virtual nativa, causando crashes frequentes em multitasking cooperativo. O Windows 3.x revolucionou isso com três modos operacionais, explorando o hardware x86 de forma sofisticada.

  • Modo Real (8086/8088): Esse era o modo “retrocompatível” para PCs antigos, como um IBM PC/XT com 512 KB de RAM. Limitado a 1 MB (640 KB convencional + 384 KB de Upper Memory Area – UMA), usava o velho sistema de endereçamento segment:offset (ex.: FFFF:0010 = 100000h, ou 1 MB). Era funcional para rodar o Windows em máquinas legadas, mas sem multitasking avançado – você abria um app como o Write e precisava fechar para abrir outro. A memória expandida (EMS) via LIM 4.0 ajudava, mas era um quebra-cabeça carregar dados em páginas de 16 KB. Era compatível com todos os programas do Windows 1.x e 2.x, mas restrito a hardware de baixa capacidade.

  • Modo Standard (80286+): Operava em modo protegido, utilizando a Global Descriptor Table (GDT) e a Local Descriptor Table (LDT) para acessar até 16 MB de memória, com isolamento de processos por meio de descritores de segmento que definiam base, limite e privilégios. Aplicativos MS-DOS rodavam em tela cheia, com suporte a swap cooperativo gerenciado pelo driver HIMEM.SYS, que permitia alocação dinâmica de memória estendida (XMS). Comparado ao Windows 2.x, o Modo Standard era mais eficiente ao realocar partes do kernel para a High Memory Area (HMA, 64 KB entre os endereços 100000h e 10FFEFh), liberando espaço na memória convencional (até 640 KB) para aplicativos, o que reduzia conflitos e melhorava a estabilidade em sistemas baseados em 80286.

  • Modo 386 Enhanced (80386+): Representou um avanço revolucionário, operando em modo protegido com suporte a paginação (usando Page Directory no registrador CR3 e páginas de 4 KB) e memória virtual ilimitada por meio do arquivo de troca (swapfile WIN386.SWP, até 256 MB). O modo Virtual 8086 (V86) permitia emular múltiplas máquinas virtuais (VMs) para aplicativos MS-DOS, cada uma com 1 MB de memória virtual mapeada via page tables. O kernel (KRNL386.EXE) gerenciava interrupções (como INT 2Fh para DPMI – DOS Protected Mode Interface) e alocação dinâmica de recursos, minimizando erros de "Out of Memory". O modo suportava até 16 MB de RAM reconhecidos no Windows 3.0, expandido para 256 MB no 3.1, com VxDs como VDISK.VXD para disco. Por exemplo, com 4 MB de RAM, era possível executar 5–6 aplicativos simultaneamente (ex.: Lotus 1-2-3, Word for Windows e um terminal DOS), recorrendo ao paging no disco rígido quando necessário – um feito impossível no Windows 2.x devido à ausência de paginação nativa e à limitação da memória convencional.

Comparado ao Windows 2.x, que usava EMS (páginas de 16 KB via page frame na UMA) e não tinha paginação nativa, o 3.x liberava até 600 KB convencional após boot, usando Virtual Device Drivers (VxDs) em ring 0 para eficiência (ex.: VDISK.VXD para disco, VSOUND.VXD para som). Limitações persistiam: multitasking cooperativo para aplicativos Windows causava General Protection Faults (GPFs) se um programa monopolizasse a CPU – um problema herdado do DOS. Ainda assim, era um avanço enorme, preparando o terreno para o Windows NT.

O Impacto do Lançamento do Windows 3.x: Um Terremoto no Mercado de Software

O lançamento do Windows 3.0 em 22 de maio de 1990 foi um divisor de águas: 100.000 cópias vendidas na primeira semana, 2 milhões nos seis meses iniciais, atingindo 10 milhões até 1992. Financeiramente, catapultou a Microsoft para US$ 1,18 bilhão em receita em 1990, tornando-a a primeira empresa de software a ultrapassar US$ 1 bilhão anuais.

Tecnicamente, padronizou GUIs em PCs, com a WinAPI (GDI para gráficos, USER para UI) atraindo desenvolvedores. Em 1991, mais de 1.000 programas estavam disponíveis, incluindo Microsoft Office 1.0 (Word, Excel, PowerPoint), que desafiava Lotus 1-2-3 e WordPerfect.

Apesar de críticas por instabilidade (Unrecoverable Application Errors), o sucesso comercial consolidou o Windows como padrão. Em 1994, as vendas de PCs atingiram 37 milhões de unidades, com o Windows 3.x instalado em mais de 70% delas. O Windows 3.x acelerou a transição para GUIs, influenciando o desenvolvimento de hardware e fomentando o mercado de software, que cresceu de centenas para milhares de títulos até 1993. No Japão, no entanto, o Windows 3.0 enfrentou barreiras, com vendas baixas devido a suporte limitado a idiomas.

Lotus 1-2-3 para Windows (1992)

WordPerfect para Windows (1992)

O Windows 3.x transformou PCs de ferramentas de texto para plataformas multimídia. O Solitaire, incluído no 3.0, tornou-se um ícone, ajudando a vender hardware ao ensinar usuários a usar o mouse. Programas educacionais como Encarta e jogos como Myst impulsionaram a adoção em lares e escolas. O impacto no hardware foi claro: vendas de RAM (2–4 MB tornaram-se padrão), placas de som (Sound Blaster dominou) e CD-ROMs explodiram.

Microsoft Encarta

Principais Características do Windows 3.x: Uma Plataforma Gráfica Madura

O Windows 3.x era uma GUI sobre MS-DOS 3.1+, com foco no uso e em extensões.

Program Manager era a parte central da interface, um “desktop” com grupos de ícones (salvos em arquivos .GRP) onde era possível organizar os programas da forma que o usuário desejasse.

File Manager era uma revolução, com sua visão em árvore para navegar no sistema de arquivos FAT16 (nomes 8.3, como DOCUMENT.TXT). Era possível arrastar e soltar arquivos (drag-and-drop) para copiar ou mover, algo que hoje parece trivial, mas era inovador em 1990.

multitasking usava Dynamic Data Exchange (DDE) para permitir que apps compartilhassem dados – por exemplo, copiar um gráfico do Excel e colar no Word.

Os aplicativos nativos eram simples, mas funcionais: o Notepad editava textos ASCII sem frescuras, o Paintbrush tinha suporte a 256 cores em formato BMP e PCX, e o Calculator tinha até um modo científico para cálculos com precisão de 64 bits, operações trigonométricas e logarítmicas.

A parte gráfica era gerenciada pelo Graphics Device Interface (GDI), com um Palette Manager que otimizava as 256 cores do VGA (ou mais em SVGA, até 1024x768 com drivers OEM).

No Control Panel, você ajustava tudo: a sensibilidade do mouse, as cores da interface, os papéis de parede (arquivos BMP, como aqueles fundos clássicos de mosaico).

O Windows 3.x também trouxe o Object Linking and Embedding (OLE 1.0), permitindo inserir objetos dinâmicos, como uma planilha Excel em um documento Word – um precursor das integrações modernas.

Requisitos mínimos: 8086, 1 MB RAM, 8 MB disco; otimizado para 80386 com 2 MB de RAM ou mais. Diferente do Windows 2.x, suportava memória virtual e VxDs, permitindo maior escalabilidade.

O que Cada Versão Acrescentou: Evolução Incremental e Ramificações

Cada versão do Windows 3.x trouxe melhorias que refinavam a experiência e expandiam as possibilidades do usuário.

Windows 3.0 (1990): A Fundação Gráfica

Lançado em maio de 1990, o Windows 3.0 introduziu um visual 3D (botões com sombras, graças ao GDI) e os três modos de memória (Real, Standard, Enhanced). Os Multimedia Extensions (MME) adicionaram suporte a áudio e vídeo via Media Control Interface (MCI), permitindo reproduzir WAV, MIDI e AVI (com codecs como RLE). Havia drivers para joysticks e CD-ROMs, e o Recorder gravava macros de teclado/mouse (para automatizar tarefas repetitivas). Requisitos: 1 MB de RAM, 6–8 MB de disco. A grande inovação foi o Virtual Memory Manager (VMM), que usava paginação para suportar memória virtual, permitindo rodar programas grandes mesmo em PCs modestos. A versão Multimedia PC (MPC) exigia CD-ROM 150 KB/s e placa de som 8-bit. Vendido em caixas com 8 disquetes de 1.2 MB ou 5 de 1.44 MB, o Windows 3.0 teve builds como 1.14 (debug) e atualizações para suporte a VGA.

Windows 3.1 (1992): Estabilidade e Tipografia

Lançado em abril de 1992, o Windows 3.1 trouxe mais estabilidade, com menos crashes. Acabou o modo real e apenas o modo protegido passou a ser suportado. Assim, o suporte aos 8086/8088 acabou e o 286 passou a ser o mínimo aceitável. A estrela foi o suporte a fontes TrueType (Arial, Times New Roman), que usavam rasterização escalável com hinting para telas, revolucionando a tipografia em PCs. O Registry (REG.DAT) centralizava configurações, e o OLE 1.0 permitia mais integrações entre os programas. A multimídia ganhou força com o Media Player (suporte nativo a AVI, MIDI, WAV) e o Sound Recorder. Requisitos: Requisitos: 1 MB de RAM, 10 MB de disco, processador 286+.

modo Standart rodava Windows 3.1 em 80286 com 256KB de memória convencional livre e 192KB de XMS livre. Aqui você acessava a memória estendida, a UMA e a HMA mas não era criada memória virtual. Os programas DOS não podiam rodar em janelas, apenas em tela cheia.

Já o modo Enhanced precisava de 80386, 2MB ou mais de RAM (256KB de memória convencional e 1024KB de XMS). Era criada memória virtual que permitia programas DOS em janelas e e em multitarefa. Era meio que uma máquina virtual para rodar programas DOS nos 80386. Nesse modo, os 4GB máximos de RAM eram disponibilizados, mas na prática o limite era 256MB

O 80386 era forçado em modo Standart iniciando o Windows 3.1 com "WIN /S" e era forçado em modo Enhanced com "WIN /3".

Era o Windows que todo mundo queria!

Windows 3.11 (1993): Correções e Otimização

Esta versão foi apenas um service pack para o 3.1, uma atualização do kernel. Lançado em 1993, introduziu 32-bit disk access via VFAT (clusters menores, acesso em modo protegido via VDISK.VXD), corrigiu bugs de rede e melhorou suporte a discos grandes, maiores que 512 MB. Sem grandes novidades, mas aumentou estabilidade. Embora associado com o Windows for Workgroups 3.11, esta versão não continha as funcionalidades de rede presentes na versão "for Workgroups".

Windows for Workgroups 3.1 e 3.11 (1992–1993): A Era da Rede

O Windows for Workgroups trouxe redes para o populacho. Lançado em 1992 (versão 3.1) e atualizado em 1993 (versão 3.11), ele introduziu suporte nativo a protocolos de rede como NetBEUI (para redes locais pequenas e rápidas, baseado em NetBIOS), IPX/SPX (compatível com Novell NetWare para redes maiores) e TCP/IP via add-on, permitindo conectividade em LANs com velocidades de 10 Mbps via Ethernet. O compartilhamento de arquivos e impressoras utilizava o protocolo Server Message Block (SMB v1.0), que permitia acessar recursos remotos de forma transparente, com suporte a autenticação básica (senhas planas) e controle de acesso (leitura/escrita por usuário).

Programas incluídos como Microsoft Mail (para e-mail interno, suportando servidores POP3/SMTP) e Schedule+ (para agendamento compartilhado, com calendários sincronizados) facilitavam a colaboração em grupos de trabalho de até 10 usuários. A versão 3.11 adotou drivers de rede 32-bit compatíveis com o padrão Network Driver Interface Specification(NDIS 3.0), otimizando o desempenho em modo protegido e liberando memória convencional ao mover operações de rede para o kernel. Isso reduzia o uso de RAM em comparação com soluções de terceiros como Novell NetWare Lite, que exigiam drivers DOS adicionais e consumiam até 100 KB de memória convencional.

Requisitos: 2 MB de RAM, 15 MB de disco, exigindo pelo menos um 80286 (modo Standard abandonado na 3.11). Em comparação com o Windows 3.1 padrão, o Windows for Workgroups melhorava a eficiência em redes, mas adicionava overhead de 500 KB para usuários individuais. Seu impacto foi notável em empresas, acelerando a adoção de LANs e preparando o terreno para o Windows NT, com vendas estimadas em 5 milhões de cópias até 1994.

Era o Windows para quem queria conectar PCs em uma LAN!

Esta versão, o Windows for Workgroups 3.11, foi a primeirão da versão de Windows que eu usei, quando ganhei meu primeiro PC, um 486 DX2 66 MHz, após passar no Vestibular, no final de 1993! Lembro de jogar muito DOOM em LAN :)


Principais Concorrentes do Windows 3.x

O Windows 3.x enfrentou concorrentes de peso, cada um com pontos fortes e limitações que moldaram a competição. Já falei um pouco sobre esses competidores aqui.

OS/2 2.x (IBM, 1992)

Segundo a própria IBM, o OS/2 2.0 era "um DOS melhor que o DOS e um Windows melhor que o Windows". E, de fato, talvez fosse mesmo.

O OS/2 2.0, lançado em 1992, era um sistema operacional 32-bit desenvolvido pela IBM após a separação da parceria com a Microsoft. Seus principais features incluíam um kernel híbrido com preemptive multitasking total (permitindo interrupções automáticas de processos), a Workplace Shell (uma GUI objeto-orientada com suporte a drag-and-drop avançado e objetos manipuláveis como arquivos e impressoras), o file system HPFS (High Performance File System, com suporte a nomes longos até 255 caracteres, metadata e recuperação automática), e compatibilidade com programas DOS e Windows 3.x via subsistemas dedicados. O OS/2 2.1 (1993) adicionou suporte a multimídia (som 16-bit e vídeo), drivers aprimorados para hardware e suporte a Win32s para programas Windows 32-bit limitados. Requisitos: 4 MB de RAM, 30 MB de disco, processador 80386+.

Pontos fortes: Estabilidade e robustez em ambientes corporativos, onde travamentos eram raros graças ao isolamento de processos; melhor suporte a multiprocessamento (até 64 CPUs em versões posteriores) e redes (integração nativa com LAN Manager e TCP/IP); e maior eficiência em tarefas multitarefa, como rodar múltiplos programas DOS em janelas sem conflitos. Em comparações da época, o OS/2 superava o Windows 3.x em velocidade de disco (HPFS vs. FAT16, com leitura 20% mais rápida) e gerenciamento de memória, com até 512 MB reconhecidos e proteção contra acessos inválidos.

Pontos fracos: Requisitos de hardware mais altos (mínimo 4 MB de RAM, recomendado 8 MB), instalação complexa (com configuração manual de drivers e boot manager para dual-boot com DOS), escassez de programas nativos (devido ao ecossistema menor, focado em C e Assembly via Presentation Manager API), e custo elevado (US$ 200 por licença contra US$ 99 do Windows). A falta de suporte nativo a multimídia inicial e a dependência de add-ons para TCP/IP limitavam sua adoção doméstica. Além disso, a IBM enfrentou problemas de marketing, com vendas de apenas 1 milhão de cópias em 1992.

Comparado ao Windows 3.x, o OS/2 era tecnicamente superior em estabilidade e multitasking preemptivo, rodando programas Windows em uma camada compatível (Virtual DOS Machine), mas o Windows 3.x vencia em custo, compatibilidade ampla com hardwares disponívies e um ecossistema vasto de programas (milhares vs. centenas no OS/2). No final dos anos 1990, o OS/2 perdeu market share para o Windows NT, que herdou suas ideias, mas com melhor marketing da Microsoft. O OS/2 2.x vendeu cerca de 2 milhões de cópias até 1994, enquanto o Windows 3.x alcançou 25 milhões.


Mac OS System 7 (Apple, 1991)

Lançado em maio de 1991, era uma evolução do System Software da Apple, focado em usabilidade e integração hardware-software. As principais características incluíam o Finder com aliases (atalhos dinâmicos que atualizavam automaticamente), QuickDraw para gráficos vetoriais escaláveis (suporte a cores 32-bit em Macs com 68020+), QuickTime 1.0 para multimídia (vídeos H.261 a 320x240, áudio 8-bit), System Extensions para modularidade (ex.: drivers plug-and-play), e o Hierarchical File System (HFS) com nomes longos até 31 caracteres e pastas aninhadas. O System 7.1 (1992) adicionou WorldScript para suporte a idiomas internacionais (ex.: japonês, árabe) e TrueType fonts nativas. Requisitos: 2 MB de RAM, 40 MB de disco, processador 68000+.

Pontos fortes: Interface intuitiva e consistente, com elementos como menus drop-down e drag-and-drop padronizados; forte suporte a multimídia e gráficos, ideal para design (ex.: Photoshop 2.0 rodava com eficiência em Macs como o Macintosh LC); e integração perfeita com hardware proprietário Apple (Motorola 68030+, com suporte a aceleração gráfica), oferecendo desempenho otimizado. Nos anos 1990, o System 7 superava o Windows 3.x em usabilidade para tarefas criativas, com menos erros de configuração e boot mais rápido (10-20 segundos).

Pontos fracos: Alto custo (um Mac LC custava a partir de US$ 2.000); sistema fechado, sem clones, limitando acessibilidade; ausência de preemptive multitasking até o System 7.5 (1994), usando cooperative multitasking que podia causar travamentos se um programa monopolizasse a CPU; e dependência de hardware específico, sem suporte nativo a PCs IBM-compatíveis. O System 7 tinha limitações em rede (AppleTalk lento comparado a Ethernet) e memória (até 128 MB em Macs top de linha).

O System 7 era superior em interface gráfica e multimídia (QuickTime vs. MME inicial do Windows, com suporte a vídeo nativo), com uma experiência mais fluida para usuários iniciantes, mas o Windows 3.x vencia em preço, compatibilidade com hardware existente e ecossistema de programas (Office vs. ClarisWorks). No mercado corporativo, o Windows ganhou força por ser mais escalável em redes heterogêneas, enquanto o Mac ficou nichado em design e educação. O System 7 vendeu em cerca de 5 milhões de Macs até 1994, vs. 25 milhões do Windows 3.x.


DR-DOS com GEM/ViewMAX

O DR-DOS, desenvolvido pela Digital Research e lançado como versão 5.0 em 1990, era uma alternativa ao MS-DOS, com suporte a GUI via GEM (Graphical Environment Manager) ou ViewMAX (uma versão simplificada do GEM). Features incluíam gerenciamento avançado de memória (EMS/XMS via EMM386 ou QEMM, liberando até 620 KB de memória convencional), suporte a discos grandes (até 2 GB com FAT16), multitask de comandos DOS, compressão de disco (DR-DOS 6.0), e o ViewMAX como file manager com ícones, drag-and-drop e suporte a mouse. O GEM/ViewMAX permitia janelas, mas limitadas (sem sobreposição após disputa lega com a Apple em 1985), com resoluções até 640x480 em VGA. Requisitos: 640 KB de RAM, processador 8086+.

Pontos fortes: Mais eficiente e leve que o MS-DOS (ex.: até 620 KB de memória convencional livre vs. 580 KB no MS-DOS), compatibilidade total com programas DOS, custo baixo e melhor suporte a hardware legado. O DR-DOS 6.0 (1991) adicionou compressão de disco (Stacker-like) e ViewMAX 2.0 com cores e fontes melhoradas, tornando-o uma opção econômica para PCs de entrada. A GUI ViewMAX era rápida em hardware modesto, com boot em <10 segundos.

Pontos fracos: GUI limitada (ViewMAX era básica, sem multitasking gráfico avançado ou multimídia nativa), poucos programas nativos para GEM (focados em utilitários como GEM Paint), e dependência do DOS subjacente, sem inovações como o modo protegido completo do Windows. Após a aquisição pela Novell em 1991, o foco mudou para redes, mas perdeu market share para o MS-DOS integrado ao Windows. O GEM foi descontinuado em 1993.

O DR-DOS com GEM/ViewMAX era superior em eficiência para tarefas DOS puras e gerenciamento de memória, rodando em hardware modesto (512 KB de RAM), mas o Windows 3.x oferecia uma GUI mais completa (multitasking em janelas, multimídia) e ecossistema vasto de programas. O Windows venceu por integrar GUI e DOS, enquanto o DR-DOS permaneceu uma alternativa para usuários avançados. O DR-DOS vendeu cerca de 1 milhão de cópias até 1992.


AmigaOS

Desenvolvido pela Commodore, evoluiu de 1985 a 1994, com versões como AmigaOS 2.0 (1990) e 3.1 (1994) contemporâneas ao Windows 3.x. Features incluíam multitarefa preemptiva (multitarefa real desde a versão 1.0, com priorização de tarefas), o Workbench como GUI com ícones, janelas sobrepostas e menus personalizáveis, suporte a multimídia avançado (chipset AGA para 256 cores em 640x480, áudio estéreo 8-bit a 28 kHz), e o Exec kernel para gerenciamento de memória virtual (até 2 GB) e multiprocessamento em hardware customizado (processadores Motorola 680x0, com co-processadores Paula para som e Agnus para gráficos). O AmigaOS 2.0 adicionou boot de disco rígido e suporte a localizações. Requisitos: 512 KB de RAM, processador 68000+.

Pontos fortes: Excelente desempenho em multitasking e multimídia (superior ao Windows 3.x em gráficos 2D/3D e som, com chips dedicados como Paula para áudio 4 canais), eficiência em hardware limitado (rodava em 512 KB de RAM com multitasking completo), e suporte a jogos/criatividade (ex.: Deluxe Paint, Cubase). O AmigaOS era otimizado para o hardware Amiga, oferecendo estabilidade e velocidade em tarefas como edição de vídeo, com boot em <5 segundos.

Pontos fracos: Dependência de hardware proprietário, ecossistema de programas limitado (focado em nichos como música e vídeo, mas poucos aplicativos empresariais como Lotus 1-2-3), e falta de compatibilidade com PCs IBM (sem suporte nativo a programas DOS/Windows). A falência da Commodore em 1994 interrompeu o desenvolvimento, deixando o OS sem atualizações oficiais. O AmigaOS tinha limitações em rede (ARexx scripting, mas sem TCP/IP nativo até versões tardias).

O AmigaOS era tecnicamente superior em multitasking preemptivo e multimídia (AGA vs. VGA do Windows, com áudio 4 canais vs. mono no Sound Blaster inicial), rodando múltiplos programas sem os crashes comuns na multitarefa cooperativa do Windows, mas o Windows 3.x dominou pela compatibilidade com o hardware disponível, vasto ecossistema de programas e custo menor. No final dos anos 1990, o Windows absorveu ideias do AmigaOS, como multimídia integrada, enquanto o Amiga ficou como sistema nichado para entusiastas. O AmigaOS vendeu em cerca de 4,8 milhões de unidades Amiga até 1994.

Posicionamento do Windows 3.x no Mercado: De Coadjuvante a Estrela

Antes do Windows 3.x, o mercado era dominado pelo MS-DOS (~90% de share), com GUIs como marginais (Windows 2.x, por exemplo, tinha menos de 5%). O Windows 3.0 mudou tudo, vendendo 30 milhões de cópias até 1993 e forçando a IBM a relançar o OS/2 2.0 e a Apple a acelerar o System 7. Em 1995, com o NT 3.51 e o Windows 3.11 preparando o terreno para o Windows 95 e NT 4.0, o mercado era 90% Windows. As GUIs viraram o padrão, e a multimídia se tornou essencial – a Microsoft agora ditava o futuro dos PCs.

Marketshare dos principais computadores pessoais entre 1975 a 1996. Fonte: https://pegasus3d.com/total_share.html

Inovações do Windows 3.x: Legados que Vivem Até Hoje

O Windows 3.x deixou marcas duradouras:

  • TrueType: Fontes escaláveis que revolucionaram a tipografia, usadas até no Windows 11.
  • Memória Virtual: Paginação via VMM, base para o swap moderno.
  • Rede: SMB e NetBEUI, precursores do Active Directory.
  • OLE: Integração de objetos, base para o COM (Component Object Model).

Linguagens de Programação Utilizadas no Windows 3.x

O Windows 3.x foi desenvolvido principalmente em C e Assembly. O C foi usado para a maior parte do código, incluindo o kernel, a interface gráfica (GDI - Graphics Device Interface) e módulos de usuário (USER.EXE) pela eficiência e portabilidade para o hardware da época. Assembly foi usado em componentes de baixo nível, como o gerenciamento de memória (ex.: modos protegido e Virtual 8086), interrupções e drivers de dispositivo, onde o controle direto sobre o hardware era fundamental para a otimização de desempenho e compatibilidade com processadores como o 80386. Por exemplo, o Program Manager (PROGMAN.EXE) e o File Manager (WINFILE.EXE) foram escritos inteiramente em C, enquanto partes do kernel (KRNL386.EXE) incorporavam Assembly para manipulação de registradores e paginação.

Essa combinação permitiu uma estrutura modular: C para lógica de alto nível e Assembly para operações críticas, como o Virtual Device Drivers (VxDs) no modo 386 Enhanced.

O compilador utilizado foi o Microsoft C Compiler, otimizado para gerar código 16-bit compatível com o MS-DOS subjacente. Não encontrei referências ao uso significativo de outras linguagens, como Pascal ou Fortran, comuns em épocas anteriores, pois o foco estava em eficiência para o ecossistema x86.

Avanços no Desenvolvimento em Relação ao Windows 2.x

O Windows 2.x, lançado em 1987, foi desenvolvido de forma similar (C e Assembly), mas com limitações que o Windows 3.x superou através de inovações técnicas e de arquiteturas. Aqui, uma análise comparativa detalhada:

  • Gerenciamento de Memória e Modos de Operação: O Windows 2.x operava principalmente em modo real (8086), com suporte limitado a modo protegido no 80286, acessando até 16 MB via segmentação, mas sem paginação nativa ou memória virtual. Isso levava a erros frequentes de "Out of Memory" e multitasking cooperativo instável. O Windows 3.x introduziu três modos: Real (para compatibilidade), Standard (modo protegido no 80286, com GDT/LDT para isolamento) e 386 Enhanced (paginação de 4 KB via CR3, memória virtual até 256 MB). Assembly foi mais amplamente usado no kernel para implementar V86, emulando múltiplos ambientes DOS com 1 MB cada. Essa evolução permitiu executar programas DOS em janelas paralelas, reduzindo crashes em 50-70% em testes da época.
  • Interface Gráfica e Usabilidade: O Windows 2.x tinha uma GUI básica com janelas sobrepostas, mas limitada a 16 cores em EGA e fontes bitmap. O Windows 3.x aprimorou o GDI para suporte a 256 cores em VGA/SVGA, fontes proporcionais e ícones menores (32x32 pixels). No desenvolvimento, C foi usado para refinar o USER module, adicionando sombras 3D e palettes dinâmicas. O 3.1 introduziu fontes TrueType, escrito em C com otimizações de Assembly.
  • Multimídia e Extensões: O Windows 2.x tinha suporte mínimo a som e vídeo. O Windows 3.0 adicionou MME (Multimedia Extensions), com MCI para áudio/vídeo (WAV 8-bit, MIDI OPL2, AVI RLE), desenvolvido em C com drivers Assembly para hardware como Sound Blaster. Isso representou um avanço enorme na capacidade de multimídia.
  • Networking e Estabilidade: O Windows 2.x não tinha rede nativa. O Windows for Workgroups 3.11 introduziu NDIS 3.0 (drivers 32-bit em C/Assembly), NetBEUI/IPX/SPX e SMB, liberando RAM convencional. Estabilidade melhorou com menos GPFs, graças ao kernel otimizado.
  • API e Desenvolvimento de Programas: A WinAPI no 3.x foi expandida (ex.: OLE 1.0 em C), facilitando programas nativos, vs. API limitada no 2.x. O SDK 3.0 incluiu ferramentas como Spy para depuração.

Instalando o Windows 3.x no Proxmox

Para relembrar o Windows 3.x, usei a VM com DOS 6.22 que configurei na instalação do Windows 2/386 (aqui) como base, com desnecessários 64MB de RAM e supérfluos 20GB de HD (o sistema usava FAT 16 e só reconhecia até 2GB, mas vamos lá). Para esta máquina, resolvi reduzir a RAM para 16MB, para evitar possíveis instabilidade.

Otimizei o CONFIG.SYS:

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF X=DC00-DFFF FRAME=D000 NOEMS
DOS=HIGH,UMB
FILES=40
BUFFERS=30
STACKS=9,256
LASTDRIVE=Z
DEVICEHIGH=C:\DRIVERS\CD1.SYS /D:INTIL
DEVICEHIGH=C:\DRIVERS\MOUSE.SYS
DEVICEHIGH=C:\DOS\SETVER.EXE

Os objetivos são os seguintes:

  • HIMEM.SYS /TESTMEM:OFF: Desativa o teste de memória na inicialização para acelerar o boot, já que a VM tem RAM fixa.
  • EMM386.EXE RAM I=B000-B7FF X=DC00-DFFF FRAME=D000 NOEMS: Ativa modo RAM (não EMS) e reserva regiões de memória para evitar conflitos com placas de vídeo (B000-B7FF) e outros dispositivos virtuais (DC00-DFFF, comum em VMs). Define um frame em D000 para liberar mais UMB e desativa a EMS, liberando XMS para outras finalidades, como arquivo de troca. Isso liberou 601KB de memória convencional.
  • DOS=HIGH,UMB: Carrega o DOS na High Memory Area (HMA) e habilita Upper Memory Blocks (UMBs) para drivers.
  • FILES=40: Aumenta para 40 arquivos abertos simultâneos, suficiente para o Windows e aplicativos.
  • BUFFERS=30: Eleva para 30 buffers de disco, melhorando o acesso a arquivos no HD e CD-ROM.
  • STACKS=9,256: Ajusta para 9 stacks de 256 bytes, otimizando interrupções em multitarefa.
  • LASTDRIVE=Z: Expande para suportar mais unidades (útil para redes ou partições adicionais).
  • DEVICEHIGH: Carrega drivers na UMB para economizar memória convencional.

Já o AUTOEXEC.BAT ficou assim:

@ECHO OFF
PROMPT $P$G
PATH C:\DOS;C:\WINDOWS;C:\UTIL
SET TEMP=C:\DOS
SET WINDIR=C:\WINDOWS
LH C:\DOS\MSCDEX.EXE /D:INTIL /L:D
LH C:\DOS\SMARTDRV.EXE 2048 512 /X
LH C:\DOS\DOSKEY

Os objetivos são:

  • PATH: Adiciona C:\UTIL para utilitários e C:\WINDOWS para acesso rápido a arquivos do sistema.
  • SET TEMP e SET WINDIR: Define variáveis de ambiente para o Windows, evitando conflitos.
  • MSCDEX.EXE /D:INTIL /L:D: Atribui a letra D: ao CD-ROM, alinhando com a configuração do VirtualBox.
  • SMARTDRV.EXE 2048 512 /X: Configura 2 MB de cache (adequado para 16 MB de RAM) e 512 KB de cache write-behind, com /X para desativar compressão (não suportada em FAT16 puro). Otimiza acesso ao HD de 20 GB particionado.
  • LH: Garante que todos os programas sejam carregados na UMB.

Isso liberou 601KB de memória convencional (como dito acima), 20KB na UMB e 12.968KB de XMS.

No post anterior, da instalação do Windows 2/386 no Proxmox (aqui), falo muito mais sobre esses ajustes. Vale a pena dar uma lida para entender melhor.

Na hora de escolher a versão para download e instalação, temos várias opções entre versões propriamente ditas e línguas. Eu prefiro, habitualmente, instalar a última versão disponível do OS (para evitar bugs) e em português, nesta ordem. Como a versão em português não está separada por discos, mas está como um arquivo zipado (todos os arquivos juntos), preferi a versão em inglês. No caso das versões 3.11, podemos escolher a Windows 3.11 ou a 3.11 for Workgroups, que, como dito antes, diferem pelo suporte nativo a redes no 3.11 fWg. Sobre a 3.11 fWg, existia ainda a versão "3.11a", de 1994, com a remoção do código de compressão RAS devido a litígio com Stac Electronics, mas isso não afeta a diferença principal. Portanto, escolhi a versão Windows 3.11 for Workgroups em inglês com discos 3 1/2" (aqui). São os 8 discos abaixo:









Vamos começar seguindo a orientação do disquete #1: Inserir o disquete #1 no drive A, mudar <c:> para <a:> e digitar < setup> (ou apenas digitar < a:/setup> dentro do <c:>) e pressionar < ENTER>.


Por óbvio que escolhi "C":)



Agora começa a maçante cópia dos arquivos dos disquetes para o HD. Nas VMs, é muito rápido. Mas no mundo real, lá no começo dos anos 1990, isso era infindável...



E, abaixo, sejam ben-vindos à interface gráfica do Windows 3!

Vai tentar encontrar a placa de rede e, claro, não vai encontrar!


Pode deixar o "Product Number" vazio.


Agora vai começar uma trocação de discos e vou poupar vocês disso!


Optei por desmarcar a instalação da impressora neste primeiro momento (e provavelmente não vou instalar em nenhum outro momento...).

O Windows agora vai perguntar quais componentes você deseja instalar. Como temos 2GB de HD disponíveis e espaço não é um problema, vamos instalar tudo. Lá em 1990, era comum não instalar alguns jogos ou alguns screen savers e não instalar nenhum "Readme File":)


O Windows agora vai terminar de copiar os arquivos dos disquetes para o HD e continuar a instalação a seguir.


Aqui o Windows vai oferecer para instalar e configurar o suporte a rede. Vamos deixar isso para depois, porque provavelmente não teremos o suporte para equipamentos atuais. Para continuar sem instalar o suporte a rede, clique em "Continue"; para se arriscar, clique em "Network" ou "Advanced" e selecione os arquivos que você deseja instalar. Vou tentar fazer isso depois.

Agora o Windows vai oferecer para modificar os arquivos AUTOEXEC.BAT e o CONFIG.SYS. Eu prefiro pedir para revisar antes de corrigir.


No AUTOEXEC.BAT, as modificações foram a inclusão da pasta <c:\WINDOWS> (que instrui o sistema operacional onde procurar pelos arquivos executáveis -.EXE, .COM ou .BAT- quando você digita um comando no prompt do DOS, sem especificar o caminho completo) e acrescentou o "/S" ao carregar o driver do CD-ROM (o "/S" permite que outros computadores da rede acessem o CD-ROM via compartilhamento de arquivos).

Já no CONFIG.SYS, as mudanças foram a inclusão do parâmetro "/Y" ao carregar o driver MOUSE.SYS para a UMB. Esse parâmetro força o carregamento do driver para a UMB mesmo se houver espaço insuficiente ou conflito de memória, porém preservando a memória convencional mais vazia. É uma solicitação automática do Windows e vou aceitar, mas se tiver algum erro, basta retirar o "/Y". Outra inclusão foi a linha "DEVICE=C:WINDOWS\IFSHLP.SYS". Para o Windows 3.11 for Workgroups, esse driver é importante pois funciona como uma ponte entre o DOS e os drivers de rede de 32 bits do Windows. É essencial para o Windows for Workgroups, mas é opcional para o 3.11 padrão. Será  necessário acrescentar a linha "C:\WINDOWS\NET START" no AUTOEXEC.BAT para ativar a rede assim que o suporte for instalado (se eu tivesse optato por instalar durante instalação do Windows, o SETUP teria incluindo a linha automaticamente).


Ok, vamos em frente!

Agora o Windows vai tentar encontrar todos os programas no HD e configurá-los para funcionar no Windows.


Uma vez encontrados, basta escolher o programa que quiser ajustar para funcionar no Windows e movê-lo para a coluna da direita. Escolhi "Add All" para selecionar todos!


O Windows agora oferece o tutorial para uso do mouse, já que nos anos 1990 era um a "novidade" no ambiente Windows.


Eu não vou usar o tutorial, mas se você tiver curiosidade de saber como era, basta assistir o vídeo abaixo!

Pronto, Windows instalado! Basta reiniciar o computador e testar o Windows!


Bom, após reiniciar o computador ele volta automaticamente para o DOS. Para carregar o Windows, basta entrar com o comando <C:\WIN". Só que temos alguns alguns parâmetros para escolher:

  • WIN /R - era usado para forçar o Modo REAL, compatível com processadores 8086/8088 e limitado a 1 MB de memória (640 KB convencional + 384 KB UMA); não suporta multitasking avançado e foi removido no Windows 3.1 e superiores (disponível apenas no Windows 3.0);
  • WIN /S - usado para iniciar o Windows no Modo Standard, usando o modo protegido do 80286 para acessar até 16 MB de memória via segmentação (GDT/LDT). Era útil para processadores 80286, mas o 3.11 era focado no modo Enhanced, ou seja, do 80386 em diante este modo era desncessário.
  • WIN /3 ou WIN /E - usado para iniciar o Windows no Modo 386 Enhanced, otimizado para 80386 ou superior com paginação (até 256 MB de memória virtual via swapfile) e modo Virtual 8086 (V86) para múltiplas sessões DOS em janelas. Esse é o padrão para 386 ou superior com memória suficiente e será nossa opção!
Ainda existiam outros modos, como o WIN /2 para limitar a interface gráfica a duas cores para telas monocromáticas, o /D para ativar o modo de depuração, o /F para desativar o arquivo de troca (swapfile) temporário, o /N para desativar a compatibilidade de rede e o /W que permitia a depuração manual e carregamento de drivers antes da interface gráfica. Era possível utilizar mais de um parâmetro (por exemplo WIN /3 /F, para carregar o modo Enhanced sem swapfile temporário), desde que não fossem conflitantes (como WIN /R /3, uma vez que os modos REAL e Enhanced são exclusivos).

Começamos bem com o erro de carregamento do driver do mouse, mas o problema é que a configuração inicial era "DEVICEHIGH=C:\DRIVERS\MOUSE.SYS" e o Windows trocou o endereço de \DRIVERS para \WINDOWS e o arquivo MOUSE.SYS está no \DRIVERS. Por isso não carregou. Não reparei isso lá em cima, então é só dar um <C:EDIT CONFIG.SYS> e corrigir o endereço do driver. 


Corrigido e reiniciado, basta carregar o Windows:




Bom, vamos comerçar a arrumar as coisas agora. Precisamos colocar som e rede!

O Windows 3.11 está sem som. A primeira coisa é alterar a configuração no VirtualBox da controladora de áudio para "SoundBlaster 16".

Depois, é preciso instalar dois arquivos deste site: philscomputerlab.comAqui você encontrará vários arquivos, porém vamos precisar do primeiro .exe que deverá ser executado no Windows 3.11. O "sbbasic.exe" contém drivers para a SoundBlaster. Copie para uma pasta como "C:\DRIVERS\SBBASIC" e execute o sbbasic.exe lá dentro. Depois, ainda dentro da pasta, execute o "install.exe".





Sim, quero o Backup do arquivo.


    Ao iniciar o Windows com <C:\Win /3>, o grupo do "Audio Software" é criado automaticamente.


E já temos som!!!!

Agora vamos tentar resolver a rede!

Após entrar no Windows, dentro do Program Manager, abra Main -> Windows Setup -> Options -> Change Network Settings. Isso vai abrir o configurador de rede do Windows.





Agora vá em Networks -> Install Microsoft Windows Network -> OK:


E depois clique em Sharing para ativar o compartilhamento de pastas e impressoras:


Pronto, deve ter ficado assim:


Ao dar OK, a tela voltará para uma longa lista de drivers da placa de rede:


Do mesmo modo que precisamos mudar a controladora de som nas configurações do Virtual Box, talvez seja necessário mudar o adaptador de rede também. No meu caso, escolhi o PCnet-FAST III (Am79C973), em NAT, uma vez que tem total retrocompatibilidade com a instalação do Windows for Network 3.11 pois tem suporte nativo via drivers da família AMD PCnet.


Como adaptador de rede dentro do Windows, escolhi o Advanced Micro Devices PCNet Family. A placa PCnet-FAST III do VirtualBox foi criada para ser reconhecida diretamente pelos driveres AMD. Os parâmetros do driver são IRQ 10 (alternativo 3 ou 11, mas o 5 deve ser evitado pois é utilizado pela placa de som), porta I/O 300h (padrão para PCnet) e o DMA não é aplicável, pois o PCnet-FAST III não utiliza DMA fixo).


Encontrei os drivers aqui, no Internet Archive.


O driver está na pasta A:\WFW311



A porta I/O deve ser colocada em 300.



A interrupçã o (IRQ), como eu disse acima, deve ser 10 mas 3 ou 11 são aceitáveis e 5 deve ser evitado. 


No DMA eu deixei em Auto Scan mesmo.

Escolhido isso, ele pediu o nome do usuário, do grupo de trabalho e do computador:


Agora o Windows vai pedir discos da instalação. Em um momento, será pedido o disco do driver PCNNT3.386 (que também está na pasta A:\WFW311)




No logon, agora pede usuário e senha:


Dê <ENTER> para criar (ou não) uma senha:


Após reiniciar, o AUTOEXEC.BAT ficou assim:

@ECHO OFF
C:\WINDOWS\NET START
SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 T6
SET MIDI=SYNTH:1 MAP:E
C:\SB16\DIAGNOSE /S
C:\SB16\MIXERSET /P /Q
PROMPT $P$G
PATH C:\DOS;C:\WINDOWS;C:\UTIL
SET TEMP=C:\DOS
SET WINDIR=C:\WINDOWS
LH C:\DOS\MSCDEX.EXE /D:INTIL /L:D
LH C:\DOS\SMARTDRV.EXE 2048 512 /X
LH C:\DOS\DOSKEY.COM

Já o CONFIG.SYS ficou assim:

DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS I=B000-B7FF
DOS=HIGH,UMB
FILES=
BUFFERS=30
STACKS=8,256
LASTDRIVE=Z
DEVICEHIGH=C:\DRIVERS\CD1.SYS /D:INTIL
DEVICEHIGH=C:\DRIVERS\MOUSE.SYS /Y
DEVICEHIGH=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
DEVICE-C:\SB16\DRV\CSP.SYS /UNIT=0 /BLASTER=A:220
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICE=C:\WINDOWS\IFSHLP.SYS

Agora precisamos instalar o protocolo TCP/IP. Esse protocolo é importante para integrar um PC antigo (ainda que emulado) em uma rede local moderna.

Primeiro, temos que baixar o arquivos para instalação do protocolo TCP/IP. O disquete com o protocolo para Windows 3.11 pode ser encontrado aqui, no WinWorld. Aqui, no Internet Archive, também tem um disco semelhante mas que não está compactado e contém alguns arquivo a mais. Faça os downloads das imagens dos discos e, no Windows, vá em File Manager e execute o programa "tcp32b.exe". Este é um arquivo compactado que contém tudo para a instalação.

Descompactando o TCP32B.EXE

Após isso, o disquete estará assim:


Agora vá ao grupo Network -> Network Setup -> Drivers -> Add Protocol:

Repare que não temos listado o protocolo TCP/IP

Clique em Unlisted or Updated Protocol e aponte para a imagem do disco que acabamos de descompactar:


Agora o Windows encontrará os arquivos para instalar o protocolo TCP/IP:


Durante a instalação, aqui pra mim pediu o arquivo TELNET.EXE. Ele não está no disco baixado do WinWorld, mas está no disco do Internet Archive. É só trocar o disco e continuar:


Pronto! Agora vamos configurar o TCP/IP. Primeiro selecione o protocolo TCP/IP na lista, escolha-o como default e depois clique em Setup (certifique-se que o TCP/IP esteja selecionado nesta hora):



Aqui é instalação raiz, sem nutelagem :)

(1) Certifique-se que o adaptador de rede é o correto, (2) marque a caixa para ativar o DHCP automático, (3) coloque o IP do seu roteador no campo Default Gateway e (4) clique em OK para finalizar.


Tem um aviso que alguns arquivos foram alterados:


Pronto. O Windows será reiniciado e, para testar, dentro do Windows, no MS-DOS Prompt (está dentro de Main), digite:

C:\WINDOWS>ping 8.8.8.8 

ou

C:\WINDOWS>ping www.google.com

A resposta deve ser algo assim:


Vamos divertir um pouco mais! Feche a VM e, nas configurações do VirtualBox, troque a rede de NAT para BRIDGE. Usando o IPCONFIG, temos isso aqui:


É dito que o Windows for Workgroups 3.11 funciona razoavelmente bem em redes modernas. A única limitação é que não é possivel, a partir dele, acessar compartilhamento em um Windows moderno devido a mudanças do modo de autenticação de usuários e senhas a partir do Windows 2003. Apesar de ser possível, a partir de um Windows moderno, acessar o Windows 3.11, eu pessoalmente não consegui. Interessante que o Mac achou o computador na rede, mas o Windows não, mas mesmo assim não consegui conectar.


Bom, vamos ver se conseguimos navegar na internet. Para isso, baixe o Internet Explorer 3 para Windows 3.11 aqui. Carregue a image, abrar no File Manager e execute o programa msie301w.exe.



Ao final você terá que reiniciar a VM para executar o IE 3.



Nem o Google é carregado nesta versão do IE. O único objetivo é a prova de conceito: é possível navegar (com todas as restrições possíveis e imagináveis) no Windows for Workgroups 3.11 com IE 3. Este site acima, o https://info.cern.ch/hypertext/WWW/TheProject.html é o primeiro site criado para WWW. É o site do CERN e foi criado em 06/08/1991! O primeiro domínio é o https://www.symbolics.com, de 1985, e é o domínio em atividade mais antigo da internet (este não roda no IE 3, uma vez que exige HTTPS e o IE 3 só usava o HTTP).

Alguns sites falam que o IE 5, lançado em 1999, que tem uma versão 16 bits, funcionaria no Windows 3. Eu tentei mas a VM travou em todas as instalações. Portanto, como prova de conceito, acho que a gente pode encerrar por aqui.

Dois bons sites para consulta sobre a instalação são esses aqui: o do Michael Rigo (aqui) e esse tutorial do forum do VirtualBox (aqui). E este site aqui tem muito driver de versões antigas de Windows (som, rede, etc), caso necessário.

Agora, para encerrar, a gente vai passar pro Proxmox.

Para simplificar a vida, vou copiar e renomear o disco da VM para uma pasta para ficar mais simples ao digitar os comandos. Importante notar que isso vai gerar erro ao executar os comando para converter o .vdi em .raw. O Virtual Box vai falar que o disco a ser convertido tem o mesmo UUID de outro disco (sim, tem mesmo, eu que copiei ele 😒). Então, antes de dar erro, use o comando abaixo para alterar a UUID do disco que copiado que faremos a conversão:
# VBoxManage internalcommands sethduuid "W311.vdi"
Agora é só converter o arquivo .vdi para .raw:
# VBoxManage clonemedium disk --format RAW "W311.vdi" "W311.raw"
O "clonemedium" é mais novo que o antigo "clonehd" que usamos outras vezes. Foi introduzido após o Virtual Box 6.0 e converte discos, CDs e DVDs, sendo recomendado para o uso atualmente.

Outra opção SERIA usar o "convertdd":
# VBoxManage convertdd "W311.vdi" "W311.raw" --format RAW
O "convertdd" converte diretamente o disco, sem tentar registrar o disco de origem ou criar um clone com um novo UUID como "clonehd" faz. Mas eu tive problemas com esse comando: ele converte para um arquivo menor e, na hora de dar boot no Proxmox, fala que o disco não é bootável. Como vantagem, esse arquivo tem o tamanho do disco utilizado enquanto o RAW é o tamanho reservado (no caso, 20GB!). Entretanto, como o arquivo não funcionou, acabei ficando com o RAW mesmo :(

Para mandar o arquivo para o Proxmox, primeiro vou criar a VM, mais ou menos com as configurações da VM no VirtualBox. Vejam aqui, pois detalhei bem como fiz isso. Depois, com o Filezilla, eu copiei o .RAW criado no Mac para o Proxmox (coloquei na pasta ~var, mas você pode colocar na pasta que quiser). Antes de "adquirir" o disco em .RAW, converti dentro do Proxmox para .QCOW2 (fiz isso dentro da pasta para onde copiei o .RAW para não precisar digitar o caminho todo):
# qemu-img convert -f raw -O qcow2 W311.raw W311.qcow2
Isso reduziu o HD da VM de 20GB para 21MB!! Importo o .qcow2 para o Proxmox com o comando abaixo:
# qm importdisk 110 W311.raw VM-Disk --format qcow2
E aí o QEMU avisou que não aceita o formato .QCOW2 e retornou para o .RAW, de 20GB. Só tenho uma palavra pra isso: AFFF...

Continuando. Importei o .RAW para a VM do Proxmox sem problemas (é importado como um disco com o nome "vm-110-disk-0). A seguir, vá até a VM e adicione o disco que acabamos de importar, acrescente o HD na ordem de boot e pronto! Todo este processo está bem completo e bem detalhado aqui neste post! Recomendo que leiam antes de instalar.

Até aqui, tudo bem. Só que dentro do Proxmox a placa de áudio deu pau! O SB16, suporte padrão de áudio do Windows 3, não é mantido pelo QEMU há muitos anos, ou seja, resolver bugs não é prioridade nem de longe. Assim, resolvi retirar o som (já que não iria funcionar mesmo porque precisaria do SPICE para reproduzir áudio do Proxmox e eu prometi pra mim mesmo que esse SPICE eu não tento instalar NUNCA MAIS!).

Refiz tudo, toda a instalação do Windows e envio do disco pro Proxmox. Fui rodar e... Deu pau novamente na hora de carregar o Windows! kkkkkkrying....

Como já fiz a VM no Virtual Box funcionar perfeitamente, resolvi instalar o Windows 3.11, sem rede e sem som. Fiz tudo novamente. E, na hora de rodar no Proxomox...

Conclusão: O Alicerce do Império Microsoft

O Windows 3.x não foi apenas uma atualização – foi a fundação do domínio Microsoft, unificando hardware e software em uma plataforma acessível e versátil.

No próximo post desta série, vamos explorar o Windows NT e instalá-lo no Proxmox.

Até o próximo post, pessoal!