Informática Numaboa - Referências

O sistema Windows de 32 bits

Dom

27

Mai

2007


09:42

  • Imprimir
(55 votos, média 4.25 de 5) 


A arquitetura do Windows 32 bits é composta por diversos elementos, como mostra a figura abaixo. Cada elemento cuida de uma parte do ambiente Windows. Por exemplo, a camada API (Application Programming Interface) permite que os aplicativos se comuniquem com os elementos internos do sistema básico.

Anéis
Sistema de anéis de proteção

Antes de analisar cada um dos elementos, é necessário conhecer alguma coisa do sistema de anéis de proteção fornecidos pelos processadores 80386 e mais avançados. Existem quatro anéis de segurança no esquema de proteção da Intel, mas a maioria dos sistemas operacionais utiliza apenas dois deles (às vezes três). O anel de segurança máxima, o mais interno, é o Ring 0. É onde está o sistema operacional. O anel mais afastado, onde reside o aplicativo, é o Ring 3. Em diversas situações, o acesso a alguns recursos do sistema é facilitado se estes puderem ser executados a partir do Ring 1 ou Ring 2. Mas o Windows não faz qualquer tipo de concessão: os drivers de dispositivos são executados apenas nos anéis 0 e 3, dependendo da sua finalidade.

O Windows utiliza estes anéis de proteção para assegurar que apenas os componentes do sistema possam acessar os componentes internos, impedindo desta forma que um aplicativo possa alterar parâmetros do sistema básico e provocar uma paralização do sistema. Por exemplo, o Windows se reserva o direito de alocar memória a partir do pool global. Deste modo, os recursos necessários para desempenhar esta tarefa residem no Ring 0. Por outro lado, os aplicativos precisam acessar a memória atribuída a eles. É por isto que o sistema atribui à memória local o valor 3.

Imagine cada anel como uma barreira de segurança. Antes de ultrapassar esta barreira você precisa fornecer uma senha para obter a permissão. O Windows apenas fornece a senha para aplicativos nos quais ele confia, os que possuem "documentos de identificação" em ordem porque estão registrados no sistema. Sempre que um aplicativo tentar burlar a segurança, o processador dá um alerta emitindo uma exceção. Ao receber este alarme de segurança, o sistema "captura" e desativa o aplicativo infrator e avisa o usuário. Deu para entender porque o sistema Windows é chamado de Sistema Fechado? É porque o usuário não tem como acessar diretamente o sistema básico.

O Sistema Básico do Windows

O componente Sistema Básico (Basic System) contém todos os serviços específicos do sistema operacional. É o núcleo do Windows, a parte que sempre precisa estar em operação para que o Windows funcione adequadamente. Está no Ring 0, sob proteção máxima. O Sistema Básico é composto por diversos subsistemas: o subsistema de Gerenciamento de Arquivos (File Management Subsystem), o subsistema de Rede (Network Subsystem), os Serviços do Sistema Operacional (Operating System Services), o Gerenciador da Máquina Virtual (Virtual Machine Manager) e os Controladores de Dispositivos (Device Drivers). Apesar de não poderem ser acessados diretamente pelo programador (não?), cada um deles terá sua função explicada.

Subsistema de Gerenciamento de Arquivos

É responsável pelo gerenciamento de arquivos em dispositivos de armazenamento de dados como disquetes, disco rígido, CD-ROM, etc. Muita coisa mudou nas sucessivas versões do Windows. Veja maiores detalhes em "Sistema de Gerenciamento de Arquivos".

Subsistema de Rede

Torna possível executar a rede não hierárquica da Microsoft. Também fornece ganchos (hooks) de modo protegido para a maioria das redes locais de terceiros. É possível manter mais de uma rede ativa por vez. A natureza modular do subsistema de rede permite incluir recursos através da utilização de VxDs.

Serviços do Sistema Operacional

É o componente do sistema que lida com recursos como o Plug and Play (ou seria plug and pray? smile ). Atende diversas solicitações, tanto do próprio sistema operacional quanto do usuário, por exemplo, fornecendo a hora atual.

Gerenciador da Máquina Virtual

É a alma do sistema Windows, onde todas as coisas são ligadas. O gerenciador da máquina virtual cuida do agendamento de tarefas e da inicialização e interrupção de cada aplicativo. É também o componente que gerencia a memória virtual e, como trata de todas as alocações de memória, atua também como um servidor DPMI (DOS Protected Mode Interface). Por fim, o gerenciador da máquina virtual é responsável pela comunicação entre tarefas. Isto significa que todas as solicitações DDE e OLE são filtradas através desta seção do sistema operacional.

Controladores de Dispositivos

O Windows simplesmente ignora todos os dispositivos que não tiverem um driver correspondente. O driver, ou controlador, nada mais é do que um código especial que atua como intérprete. Ele transforma as solicitações do sistema operacional para um formato que o dispositivo possa compreender. Por exemplo, a impressora só pode imprimir o texto solicitado se "entender" o que o sistema quer. Para isto são necessários drivers da impressora associados ao sistema. Os Virtual Device Drivers, ou VxD como são conhecidos, são controladores especiais que permitem ao Windows se comunicar com os dispositivos do sistema sem precisar alternar para o modo real.


A camada API

A camada API do Windows pode ser considerada como o cão de guarda do Ring 0. Só através dela é que os aplicativos podem se comunicar com o Sistema Básico. Existem três componentes principais nesta camada: são os arquivos KERNEL32.DLL, USER32.DLL e GDI32.DLL. Arquivos DLL são executáveis especiais que contêm as funções necessárias para que um aplicativo possa ser executado no ambiente Windows. Já existiam nas versões de 16 bits do Windows sob os nomes de KRNL386.EXE, USER.EXE e GDI.EXE.

KERNEL32

Fornece suporte para as funções de baixo nível que um aplicativo necessita para ser executado. Por exemplo, toda vez que o aplicativo precisar de memória, ele irá obtê-la no Kernel do Windows. Da mesma maneira, operações em disco, com arquivos, o relógio do sistema, são atribuições do Kernel. Este componente não lida com a interface ou com os dispositivos - ele apenas interage com o Windows propriamente dito.

USER32

O Windows, como o próprio nome indica, é um sistema baseado em janelas. Bem por isso ele precisa de um gerente para administrar todas as janelas criadas por aplicativos. Esse gerente é o User, que trata principalmente da interface com o usuário.

GDI32

GDI vem de Graphical Device Interface - interface do ambiente gráfico. Este componente cuida de vídeo, gerenciamento de cores, fontes e outros aspectos ditos artísticos, responsáveis pelo grande apelo visual deste sistema operacional. Daí a velha piadinha: "Cite 10 qualidades do Windows. Resposta: uma interface bonitinha, uma interface bonitinha, uma interface bonitinha, ..." laugh

A Máquina Virtual do Sistema (System Virtual Machine ou VM)

A System Virtual Machine possui dois elementos principais: aplicativos win32 e a shell. Os aplicativos win32 são programas que podem rodar simultaneamente (o Win32 é multitarefa) fazendo uso dos serviços e recursos que o sistema operacional oferece. Uma shell (a tradução é casca ou concha) também é um aplicativo, mas de um tipo especial que o sistema oferece. Com uma shell é possível agrupar, iniciar e de alguma forma controlar outros aplicativos. O Windows Explorer é uma shell para o gerenciamento de arquivos em disco - é um utilitário, como tantos outros, que acompanha o Windows. Existe um tratamento especial para as shells pela API, obtido através da SHELL32.DLL.

Outros Aspectos Importantes

O Windows é um sistema operacional multitarefa e orientado a eventos. Para conhecer mais sobre multitarefa, leia "Processos e Linhas de Processo". Agora, o que é um evento para o Windows? Praticamente tudo. Quando se pressiona uma tecla, quando se toca no mouse ou se altera algum parâmetro, o Windows reconhece isto como um evento. O sistema executa uma tarefa para cada evento, chamando o aplicativo que pode tratar do evento ou tratando-o por conta própria. Uma das consequências da natureza multitarefa do Windows é que os eventos podem ocorrer em diversos aplicativos diferentes, por isto é preciso tratar os eventos de forma coordenada para que cada aplicativo receba as informações que lhe competem e a integridade, tanto do sistema como dos aplicativos, seja preservada.

Алиен Роботсмейкап украиналобановский александр компроматгаджетыреклама на авто москвалобановский александрсайт никас