Clube do Hardware
Home
Home
Armazenamento
Armazenamento
Energia
Energia
Gabinetes
Gabinetes
Placas-Mãe
Placas-Mãe
Processadores
Processadores
Redes
Redes
Vídeo
Vídeo
Windows
Windows
Outros
Outros
Conteúdo
Artigos
Editoriais
Notícias
Primeiras Impressões
Testes
Tutoriais
Menu Principal
Blog
Boletim
Classificados
Compra Coletiva
Descubra a Marca
Dicionário
Download
Drivers
Dúvidas
Fórum
Links
Livros Recomendados
Livros do Autor
Pesquisa de Preços
Produtos Recomendados
Provas
RSS
Sobre
Sorteio
Boletim
Assine hoje mesmo!
 
Procura
 




 
Recomendação
Home » Windows

Como o Windows 95 funciona
Autor: Gabriel Torres
Tipo: Artigos Última Atualização: 30 de maio de 1997
Página: 5 de 5
Conclusões

O Windows 95 é um sistema operacional verdadeiramente de 32 bits?

Vimos que o boot do Windows 95 é feito por uma nova versão do MS-DOS trabalhando no modo virtual 8086. Do ponto de vista prático, este procedimento não acarreta nenhum problema, pois após a carga do VMM32.VXD o Windows 95 permanece inteiramente em modo protegido e, teoricamente, trabalhando com um novo código de 32 bits.

Nesta afirmação "com um novo código de 32 bits" é que está a chave de tudo. A Microsoft deveria ter escrito inteiramente o Windows 95 a partir do zero. Mas ela não fez isto, por um motivo bem simples: ela queria que o Windows 95 funcionasse em um micro com apenas 4 MB de memória RAM. Como um código de 32 bits é bem mais complexo e maior que um código de 16 bits, o Windows 95 precisaria de muita memória RAM para "rodar" caso fosse um sistema inteiramente compilado para o modo protegido de 32 bits.

Tanto o Windows 3.x quanto o Windows 95 possuem três núcleos básicos:

  • Kernel - O núcleo do sistema propriamente dito. É o Kernel que controla o acesso a memória, gerencia a memória virtual, controla os aplicativos, gerencia arquivos, etc.
  • GDI - Graphics Device Interface. É a parte do Windows responsável pela apresentação de tudo aquilo que está na tela. Todas as janelas e ícones são desenhados pelo GDI.
  • User - Controla a interface do Windows com o usuário, como entrada de comandos e documentos abertos.

No Windows 3.x, estes três núcleos possuem código de 16 bits, como é de se supor, e estão armazenados nos arquivos KRNL386.EXE, GDI.EXE e USER.EXE. O Windows 95 possui esses três núcleos compilados para o modo protegido de 32 bits, estando armazenados nos arquivos KERNEL32.DLL, GDI32.DLL e USER32.DLL. Apesar disto, o Windows 95 continua possuindo os três arquivos contendo o mesmo código de 16 bits presente no Windows 3.11.

O Windows 95 funciona da seguinte forma: quando um aplicativo de 32 bits é executado, ele utiliza única e exclusivamente o núcleo 32 bits - o Kernel32, o GDI32 e o User32. Já um aplicativo de 16 bits, porém, tem um pequeno problema. Como ele foi escrito de modo a utilizar os arquivos do núcleo de 16 bits (afinal o núcleo de 32 bits não estava presente no Windows 3.x), o núcleo de 16 bits do Windows 95 tem que ser especialmente qualificado. Quando um aplicativo de 16 bits faz uma chamada a uma subrotina presente no núcleo de 16 bits, este redireciona esta chamada ao núcleo de 32 bits.

Teoricamente este processo funcionaria maravilhosamente bem, mas não é bem assim o andar da carruagem. Como a Microsoft decidiu não compilar totalmente os três núcleos do Windows 95 para o modo protegido de 32 bits por causa das exigências de memória RAM, estes núcleos não possuem todas as subrotinas necessárias para a execução dos programas em 32 bits, com exceção do Kernel - que é o núcleo básico e mais importante, tendo sido totalmente reescrito para o modo protegido de 32 bits.

Quando um programa chama uma subrotina do GDI ou do User, caso esta subrotina não esteja presente no núcleo de 32 bits porque não foi implementada, o núcleo de 32 bits chama a subrotina necessária no núcleo de 16 bits.

O problema deste processo é claro: mesmo aplicativos de 32 bits uma vez ou outra utilizarão código de 16 bits, porque o GDI32 e o User32 não possuem todas as subrotinas necessárias implementadas em modo protegido de 32 bits.

O problema é maior ainda, pois o código de 16 bits é um tipo de código não-reentrante: ele foi escrito sem se preocupar com multitarefa. Por este motivo, um código de 16 bits não pode ser executado simultaneamente por mais de um programa. Ou seja, tudo pára quando o núcleo de 16 bits é acessado. E vimos que mesmo aplicativos de 32 bits acessam indiretamente o núcleo de 16 bits do Windows 95...

É por este motivo, por exemplo, que às vezes quando você maximiza e minimiza programas no Windows 95 a janela do programa demora um pouco para ser formada, mesmo quando estamos trabalhando somente com aplicativos de 32 bits e mesmo com um micro com dezenas de MB de memória RAM: o GDI32 (que é o núcleo responsável por desenhar as janelas) de vez em quando acessa subrotinas presentes no núcleo de 16 bits. E neste instante tudo pára, pois o código de 16 bits não pode ser acessado simultaneamente por mais de um aplicativo.

Não parece que tudo isto importe tanto, afinal afirmamos anteriormente que o núcleo básico do Windows 95 - o Kernel32 - foi totalmente compilado para o modo protegido de 32 bits e, por este motivo, o sistema estaria totalmente a salvo destes problemas.

Há, no entanto, um detalhe importante: tanto o GDI quanto o User acessam o Kernel. E vice-e-versa. Desta forma, o Kernel32 acessa de vez em quando o User32 ou o GDI32. E vimos que o User32 e o GDI32 de vez em quando acessam o User16 e o GDI16, sendo que estes dois acessam o Kernel16 (KRNL386)...

Não importa que você tenha somente aplicativos de 32 bits nem que você tenha centenas de MB de RAM em seu micro. O Windows 95 é um sistema operacional híbrido que ainda acessa código de 16 bits. Como este código não pode ser acessado por mais de um programa ao mesmo tempo, tudo pára até que o código seja "liberado" por quem o esteja acessando.

Por outro lado, é importante enfatizarmos que o Windows 95 somente protege em memória aplicativos de 32 bits. Se você utilizar ao menos um aplicativo de 16 bits, o esquema de proteção de memória é deixado de lado e a multitarefa passa a ser igual à multitarefa utilizada pelo Windows 3.x. Em outras palavras, quando um aplicativo de 16 bits é aberto, o Windows 95 "se transforma" em Windows 3.11 para executá-lo, sendo os demais aplicativos que porventura estejam abertos prejudicados por esta mudança.

Páginas (5): « 1 2 3 4 [5]
Imprimir | Enviar a um Amigo | Adicionar aos Favoritos | Comentários (0)

Conteúdo Relacionado
  • Visualização automática dos arquivos .bmp
  • Novos Recursos das Placas-mãe
  • Windows 98 SE
  • Processador MII-366
  • Alterando a Tela de Abertura do Windows XP
  • Classificados
  • Maximum - Controle Ponto Acesso Biometria C/ Leitor Digital - R$ 480,00
  • Windows Vista Ultimate Brazilian Full 32/64 Completo Fpp Box - R$ 470,00
  • Pinnacle Studio 12 Ultimate - Super Pack Full Platinum!! - R$ 373,00
  • Windows Vista Home Premium 32 Ou 64bits - Box Completo (oem) - R$ 269,00
  • Loja Virtual Integrada Ao Mercado Livre Site E-Commerce Php - R$ 149,90
  • Mais Ofertas...
  • Ofertas de Lojas Parceiras
    WINDOWS VISTA HOME BASIC SP1 66G - 02717 PORTUGUES FPP FULL DVD - Microsoft FPP VERSÃO COMPLETA ( Parceiro Microsoft ) VERSÃO COM SRVICE PACK 1. - R$ 254,15
    Softwares de Sistemas Operacionais Windows Windows XP Unlimited Classic 5. Com 5 coneções RDP. - R$ 476,00 ou 3x sem juros de R$ 158,66
    Windows Vista Home Basic Atualização - R$ 249,90 ou 10x sem juros de R$ 24,99
    Windows Vista Home Basic Full SP1 - Microsoft Microsoft - R$ 429,00 ou 12x sem juros de R$ 35,75
    WINDOWS XP NOVA SERIE INFORMATICA 12 EDICAO CASTILLO, ELAINE BELLINOMINI / SURIANI, ROGERIO MASSARO ISBN: 8573595795 - R$ 55,00 ou 5x sem juros de R$ 11,00
    BuscapéVeja Mais Ofertas de Softwares de Sistemas Operacionais no Buscapé

    Últimas Notícias
    QPAD Lança Headset Para Jogos
    04 de dezembro de 2008 - 13:56 H
    Pesquisa Corsair: Quais Recursos Uma Fonte de Alimentação Deve Ter?
    03 de dezembro de 2008 - 15:12 H
    OCZ Anuncia Memória USB CrossOver
    03 de dezembro de 2008 - 13:47 H
    NZXT Lança Gabinete Zero 2
    03 de dezembro de 2008 - 13:20 H
    Cooler Master Lança Fontes de Alimentação Silent Pro M
    03 de dezembro de 2008 - 12:38 H
    G.Skill Lança Kits DDR3-2000 de Três Canais
    02 de dezembro de 2008 - 13:24 H
    ASUS Lança Netbook Eee PC 1002HA
    01 de dezembro de 2008 - 16:08 H
    Novos Processadores Para Desktop da Intel
    01 de dezembro de 2008 - 12:42 H
    Novas Ventoinhas da Thermalright
    28 de novembro de 2008 - 09:38 H
    Glacialtech Lança Cooler UFO V51
    27 de novembro de 2008 - 16:16 H
    .:: Mais Notícias ::.

    Últimos Artigos
    Teste da Fonte de Alimentação Zalman ZM750-HP
    Teste da Fonte de Alimentação Antec Signature 650
    Teste do Gabinete Leadership Goldship Smart Handle
    Teste do Teclado-Scanner KeyScan KS810
    Como um notebook pode aumentar sua qualidade de vida? Qual o papel que ele desempenha em sua vida?
    Teste da Fonte de Alimentação Seventeam ST-550P-AG
    Teste da Fonte de Alimentação Leadership Gamer Wireless 900 W
    Encontrado o Melhor Desempenho Por Watt para o Folding@Home
    Design de Laptops: Como a forma pode melhorar a função?
    Teste da Placa de Vídeo GeForce GTX 260 com 216 Processadores
    Teste da Webcam QuickCam Pro 9000 da Logitech
    Teste da Fonte de Alimentação OCZ EliteXStream 1000 W
    Tudo o Que Você Precisa Saber Sobre Megapixels
    Teste do Neural Impulse Actuator da OCZ
    Teste da Fonte de Alimentação Corsair HX1000W

    Últimas Mensagens no Fórum
    331.559 usuários cadastrados
    4.644 usuários on-line
    Uma boa fonte substitui um estabilizador?
    por Sujeito Curioso
    (41.526 visualizações, 569 respostas)
    8800GT - Tópico Oficial
    por daniloskape
    (65.185 visualizações, 2.228 respostas)
    Grand Theft Auto IV - Tópico Oficial
    por mondomuderno
    (44.890 visualizações, 970 respostas)
    não grava iso
    por edinhocgr
    (2 visualizações, 0 respostas)
    Como sumir com este aviso de restrição na conta ao ligar o PC?
    por OLGA
    (60 visualizações, 3 respostas)
    Firewall do roteador é suficiente ?
    por Tutakamon
    (98 visualizações, 5 respostas)
    Passar fitas Hi8 da Sony CCD-TRV128 para o PC usando como ponte a Panasonic NV-GS320
    por Ripirraitec
    (16 visualizações, 1 respostas)
    Grande Problema - Grande Ajuda
    por jackjames
    (2 visualizações, 0 respostas)
    Review Asus F5SL - T2370 e HD3470 - Atualizado
    por digodigo666
    (8.374 visualizações, 442 respostas)
    945GZ7MC nao liga
    por tuxkey
    (3 visualizações, 0 respostas)
    .:: Visite Nosso Fórum ::.

    © 1996-2008, Clube do Hardware. Todos os direitos reservados.
    Anuncie Conosco | Informações Legais | Política de Privacidade