Buscar

Artigo Windows XP

Prévia do material em texto

UFF - UNIVERSIDADE FEDERAL FLUMINENSE 
ESCOLA DE ENGENHARIA 
TET – DEPARTAMENTO DE TELECOMUNICAÇÕES 
Disciplina: Fundamentos de Sistemas Operacionais 
 
 
 
Windows XP 
 
 
 
Alunos: Carlos Roberto F. dos Reis 
 Diego Oliveira 
 Lanna Bousquet Paschoalino 
 Thaís de Oliveira 
 
 
 
Sumário 
 
1. Introdução 
2. Motivação 
3. Objetivo 
4. O sistema operacional 
5. Componentes do sistema 
6. Sistemas de arquivos 
7. Conclusão 
8. Bibliografia 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1. Introdução 
 
Neste trabalho será apresentado, de forma breve, o Windows XP, um sistema operacional muito 
utilizado. Começou a ser desenvolvido em setembro de 1981, mas só a partir de sua versão NT ( 
que foi lançada em agosto de 1993) ele começou a ser tecnicamente considerado como um sistema 
operacional. O impacto deste sistema no mundo atual é enorme, devido ao grande número de cópias 
instaladas. O Windows conquistou uma legião de usuários, pela facilidade e por não exigir 
conhecimentos avançados na área. 
 
O nome XP é uma abreviação da palavra eXPerience. O Windows XP é o sucessor do Windows 
2000 e do Windows ME (Millennium Edition) e é o primeiro sistema operacional para 
consumidores produzido pela Microsoft construído em nova arquitetura e núcleo (Windows NT 
5.1). 
 
As duas principais edições do sistema operacional são o Windows XP Home Edition, que é 
destinada a usuários domésticos, e o Windows XP Profissional Edition, que oferece recursos 
adicionais, tais como domínio de Servidor do Windows, dois processadores físicos e é direcionada a 
usuários avançados e a empresas. O Windows XP é conhecido pela sua estabilidade e eficiência que 
melhoram ao longo das versões 9x. Ele apresenta uma nova interface gráfica, uma mudança que o 
tornou mais amigável do que as versões anteriores do Windows. Devido suas vulnerabilidades de 
segurança, sua fraca integração entre aplicativos, como o Internet Explore 6 e Windows Media 
Player, e para funções de contas de usuário, o Windows XP foi criticado por alguns usuários. 
 
Além disso, o trabalho trata de partes mais técnicas, como por exemplo, escalonamento, 
componentes do sistema e sistema de arquivos. 
 
 
 
 
 
2. Motivação 
 
O Windows XP é uma atualização do sistema operacional desktop Windows 2000 e substituto para 
o Windows 95/98. Ele aproveita as melhorias que ocorreram no hardware para implementar 
facilidades para o usuário. Entre os avanços estão recursos para reparar problemas 
automaticamente, melhorias de redes e dispositivos, melhorias de desempenho, mais confiabilidade 
e segurança. 
 
Esse sistema operacional é multiusuário, permite acesso de serviços distribuídos, também de várias 
instâncias de interface gráfica (GUI) através de servidor de terminal Windows. Existe a capacidade 
de troca rápida de usuário, que é o recurso que permite a passagem de usuário para o outro no 
console sem necessidade de desconectar e conectar. A principal extensão de 64 bits no XP é o 
suporte para endereços grandes, ele é a primeira versão de Windows de 64 bits. 
 
O Windows XP apresenta duas versões desktop: uma para especialistas, o Windows XP 
Professional, e outro para usuários domésticos, o Windows XP Personal que possui a confiabilidade 
e facilidade do XP, mas sem recursos mais avançados. Existe também a família Windows. Net 
Server, que possui recursos adicionais como, grupos de servidores Web, servidores de impressão e 
arquivo e grandes máquinas de centro de dados. 
 
 
 
 
3. Objetivos 
 
Os objetivos de Windows XP são segurança, confiabilidade, compatibilidade com aplicações 
Windows e Posix, alto desempenho, extensibilidade, portabilidade e suporte internacional. 
 
3.1. Segurança 
 
O Windows NT 4.0 tinha classificação de segurança moderado contra software defeituoso e ataque 
malicioso, chamada de classificação C2 do governo dos Estados Unidos. O Windows XP necessitou 
ir além disso, e uma revisão e teste completo do código foram combinados com sofisticadas 
ferramentas de análise automática para identificar e investigar defeitos em potencial que pudessem 
representar uma falha de segurança. 
 
3.2. Confiabilidade 
 
Os requisitos de confiabilidade do Windows XP foram muito rigorosos. Foram realizadas revisões 
manuais e automáticas completas no código, para descobrir mais de 63.000 linhas nos arquivos-
fonte que pudessem ter problemas não detectados pelo teste, e foi feita revisão. 
 
O Windows XP verifica driver para apanhar bugs mais sutis, mais facilidades para encontrar erros 
de programação no código em nível de usuário. Ele sujeita aplicações de terceiros, drivers e 
dispositivos a um rigoroso processo de certificação. Possui também, modos de monitorar a saúde do 
PC, como o download de reparos de problemas antes de eles serem encontrados pelos usuários. A 
confiabilidade percebida também melhorou, com interface gráfica mais fácil para o usuário. 
 
3.3. Compatibilidade com aplicações Windows e Posix 
 
O Windows XP como atualização do Windows 2000, deve ter alta compatibilidade com aplicações 
de consumidor executadas no Windows 95/98. A compatibilidade das aplicações é difícil ser 
alcançada, porque cada aplicação verifica uma versão particular do Windows, isto parece que pode 
variar de cada API, apresentando bugs que não apareciam na versão anterior. 
 
O sistema operacional fornece uma camada de compatibilidade entra aplicações e APIs Win32. Isto 
faz parecer compatível quase bug a bug com versões anteriores. Também mantém o suporte a 
execução de muitas aplicações de 16 bits utilizando uma camada que traduz de API de 16 bits a 
equivalentes de 32 bits, a camada é chamada de thunking. A tradução de 32 bits para 64 bits ocorre 
na versão de 64 bits. 
 
O Windows XP possui um novo subsistema POSIX, chamado Interix. Um software compatível com 
UNIX é compilado e executado sob o Interix sem modificação alguma. 
 
 
 Exemplo de API Win32 
 
 
 
 
3.4. Alto desempenho 
 
O Windows XP foi projetado para oferecer alto desempenho em sistemas desktop, sistemas 
servidores, grandes ambientes multiprocessados e threads. Além disso, melhorou ainda mais o 
desempenho, reduziu a extensão do caminho do código nas funções críticas, usando melhores 
algoritmos e estrutura de dados por processador, usou coloração de memória para arquiteturas 
NUMA e implementando protocolos de locks mais escaláveis, como spinlocks enfileirados. 
 
O Windows NT utilizou técnicas de E/S assíncrona, protocolos otimizados de rede, gráficos 
baseados no kernel e caching sofisticados de dados do sistema de arquivos. Os algoritmos de 
gerenciamento de memória e sincronismo tentam melhorar o desempenho relacionado a filas de 
cache e multiprocessadores. 
 
A comunicação entre subsistemas do Windows XP ocorre através de chamadas de procedimento 
local (LPC). Os threads nos subsistemas Windows XP podem ser preemptadas por threads de 
prioridade mais alta, com exceção de quando são executadas no despachante do Kernel. Isso ajuda a 
responder com mais rapidez a eventos externos. No Windows XP, várias threads podem ser 
executadas ao mesmo tempo em computador multiprocessado, porque usa processamento simétrico. 
 
 
3.5. Extensibilidade 
 
O Windows XP usa arquitetura em camadas, isso ajuda a realizar mudanças com o tempo. Portanto, 
essa característica permite a extensibilidade, que é a capacidade de um sistema operacional 
acompanhar os avanços na tecnologia de computação. 
 
Essa adaptação é permitida porque o executivo do Windows XP roda no Kernel, no modo protegido 
oferecendo os serviços básicos do sistema.Acima dele vários subsistemas servidores operam no 
modo usuário e entre eles estão os subsistemas de ambiente, que simulam diferentes sistemas 
operacionais. 
 
Desta forma, pela sua estrutura modular, outros subsistemas de ambiente podem ser acrescentados 
ao Windows XP sem afetar o executivo. O Windows XP utiliza drivers carregados nos sistemas de 
E/S, de modo que novos sistemas de arquivo, novos tipos de dispositivos de E/S e novos tipos de 
rede podem ser acrescentados enquanto o sistema está sendo utilizado. 
 
3.6. Portabilidade 
 
A portabilidade de um sistema operacional se refere à capacidade de ser movido de uma arquitetura 
de hardware para outra com poucas mudanças. O Windows XP foi projetado para ser portável. A 
maior parte do código que depende do processador é isolada em uma biblioteca de vínculo 
dinâmico ( DLL – Dynamic Link Library ) que é chamada de camada de abstração de hardware 
(HAL). Uma DLL é um arquivo mapeado no espaço de endereço de um processo, assim, qualquer 
função na DLL parece fazer parte do processo. 
 
O que melhora a portabilidade do XP é o fato de as camadas superiores do Kernel dependerem das 
interfaces do HAL, e não do hardware básico. O HAL manipula o hardware diretamente, e o 
restante do Windows XP não sente as diferenças de plataforma. O Windows XP funciona em 
processadores compatíveis com IA32 e IA64. 
 
3.7. Suporte internacional 
 
O Windows XP oferece suporte para diferentes locais por meio da API de suporte à linguagem 
nacional (NLS – National Language-Support). A API NLS tem rotinas para formatar as informações 
de data, hora e moeda de acordo com vários costumes nacionais. 
 
O UNICODE é o conjunto de caractere nativo do Windows XP. Ele aceita caracteres ANSI e faz 
conversão para UNICODE antes de manipulá-los. As strings de texto do sistema são mantidas em 
arquivos de recursos que podem ser trocados para adaptar o sistema a diferentes idiomas. 
 
 
 
 
 
4. O Sistema Operacional Windows XP 
 
A principal função do sistema operacional é servir a interface entre o usuário e a máquina. Todos os 
computadores trabalham sob um sistema operacional. 
 
Quando um computador é ligado primeiramente ocorre a leitura da memória ROM e estando tudo 
certo o Sistema Operacional é carregado na memória RAM. Depois do sistema ter mostrado a sua 
tela inicial ele habilita para o usuário uma tela conhecida como Área de Trabalho. A figura a seguir 
mostra uma área de trabalho do Windows. 
 
 
Fig 1. Área de Trabalho do Windows 
 
A área de trabalho é composta de: 
 
• Barra de Tarefas – fica localizada na inferior da tela que contém o Botão Iniciar, a data e 
hora do sistema e os programas que estão sendo executados. A barra de tarefa do Windows 
pode ocupar qualquer um dos quatros cantos da tela, mas só pode estar nos cantos, e o 
tamanho máximo que ela pode ocupar é 50% da tela. 
• Atalhos – são os ícones de programas que estão na forma de atalho e para serem acessados 
precisam de um duplo click. Um exemplo é o ícone do Internet Explore na área de trabalho. 
• Botão Iniciar – é através do botão iniciar que o usuário entra no menu iniciar, onde se 
encontra todos os programas e aplicativos do sistema operacional. 
 
 
Existem alguns ícones na área de trabalho que não são atalhos, como é o caso do ícone lixeira, que 
apresenta algumas funções importantes, por exemplo, nenhum arquivo pode ser executado quando 
estiver dentro da lixeira, se for necessário saber qual o conteúdo de um arquivo na lixeira o usuário 
deverá restaurar o arquivo. A tabela abaixo mostra a figura da lixeira em dois estados diferentes. 
 
 
 
Fig 2. Lixeira 
 
 
Fig 2.1. Janela da lixeira aberta 
 
Na fig 1 observa-se também que ao clicar com o botão direito do mouse em qualquer lugar vazio da 
área de trabalho tem-se a lista de opções a seguir: 
 
 
Fig 3. Clique com o botão direito na área de trabalho 
 
 
Fig 4. Clique com o botão direito na barra de tarefas 
 
Na figura 3 as opções mais usadas são propriedades e novo. A opção propriedades leva o usuário às 
configurações de vídeo do sistema operacional. A opção ‘novo’ permite entre as principais funções 
a criação de um atalho ou nova pasta. 
 
Na barra de tarefas quando um clique com o botão direito é aplicado em uma região vazia, a 
seguinte lista de opções é apresentada na figura 4. A lista mostrada oferece diversas opções para 
organização das janelas abertas na área de trabalho do sistema operacional. Na opção ‘barra de 
ferramentas’ existem as opções que habilitam e desabilitam opções de barras expostas na barra de 
tarefas. A opção ‘propriedades’ permite configurar a aparência da barra de tarefas, como, por 
exemplo, mostrar ou ocultar o relógio. 
 
Outro ícone muito importante aparece na área de trabalho é o ícone do compactador WINZIP ou 
WINRAR, programa que se encarrega de fazer a compactação ou descompactação de arquivos e 
pastas. Uma ferramenta muito poderosa no auxílio do procedimento de backup. Ao clicar com o 
botão direito do mouse nesse ícone ou tem-se a figura 5 onde a opção Add to Zip 
permite executar a ação de compactar um arquivo ou pasta. O procedimento é similar para o 
WINRAR. 
 
Figura 5. Clique com o botão direito no ícone do WINZIP 
 
4.1. Programas do Botão Iniciar 
 
No sistema operacional Windows XP quando o usuário clica no botão iniciar uma lista de opções é 
mostrada, na primeira linha encontra-se as opções que permite efetuar logoff ou desligar o 
computador. Isso é mostrado na figura abaixo: 
 
Figura 6. Menu iniciar do Windows XP 
 
4.1.1. Desligar o Computador 
 
Figura 7 
 
 
Figura 7.1. 
 
4.1.2. Fazer Logoff do Windows 
 
 
Figura 8. 
 
Figura 8.1. 
O botão iniciar também permite acesso à janela painel de controle mostrado a seguir. 
 
 
 
 
4.1.3. Painel de Controle 
 
O painel de controle permite que sejam feitas as configurações mais importantes dentro do sistema 
operacional. Configurações de hardware como teclado, instalações de novos periféricos, 
impressoras, configurações de áudio e vídeo, configurações de periféricos referentes a redes de 
computadores e configurações de softwares como instalações de novos programas e a configuração 
de perfis do usuário. 
 
 
Figura 9. Painel de Controle do Windows XP 
 
• Aparência e temas – Permite configuração de aparência de pastas, menus e área de trabalho. 
• Conexões de rede e Internet – Permite criar ou alterar uma conexão como rede local ou 
Internet. 
• Adicionar ou remover programas – Permite adicionar, remover e alterar programas e 
componentes do Windows. 
• Som, fala e dispositivos de áudio – Permite alterar e configurar esquemas de sons, alto 
falante e volume. 
• Desempenho e manutenção – Permite ajustar efeitos visuais, liberar espaço e organizar itens 
no disco rígido, backup de dados e consultar informações básicas sobre o micro. 
• impressora e outros itens de hardware – Permite adicionar e configurar uma impressora 
instalada. 
• Contas de usuário – Permite criar e gerenciar as contas dos usuários do sistema. 
• Data, hora, idiomas e opções – Permite alterar as configurações de data e hora do sistema e 
opções. 
• Regionais – Regionais dos programas. 
• Opções de acessibilidade – Permite configurar o Windows para as necessidades visuais, 
auditivas e motoras do usuário. 
 
4.2. A janela do sistema operacional Windows 
 
O Windows é um sistema operacional de ambiente gráfico onde as aplicações são feitas através de 
janelas. Todos os aplicativos do Windows são padronizados e as janelas possuem a mesma 
estrutura. Na barra de títulos tem-se a caixa de comandos, o título e os botões de comandos. A 
janela do Windows Explorer a seguir mostra estaestrutura. 
 
 
Figura 10. A janela do Windows Explorer 
 
Os botões de comandos da esquerda para direita são: 
• Botão Minimizar – Minimiza uma janela colocando à disposição na barra de tarefas. 
• Botão Maximizar – Maximiza uma janela colocando-a sob toda a tela do computador. 
• Botão Restaurar – Este botão faz com que a janela volte a ter o seu tamanho normal. 
• Botão Fechar – Fecha as aplicações e ou programas que essas janelas representam. 
 
4.3. Os componentes do Windows Explorer 
 
• Menu de Opções – Contém as opções de ferramentas para executar todos os procedimentos 
necessários para a edição, formatação, criação, etc... de um arquivo ou documento dentro da 
sua respectiva janela. 
• Barra de Navegação – Possui os comandos para a navegação entre os programas e pastas. 
Por exemplo: voltar, avançar, acima, localizar, pastas, exibir. 
• Barra de Endereços – Essa barra indica qual localização do arquivo, pasta ou programa 
dentro do HD. 
• Barra de Status – Situada na parte inferior da janela mostra detalhes do componente 
selecionado como, por exemplo, tamanho que ocupa o disco. 
 
Botões da Barra de Navegação: 
 
 
 
 
 
 
5. Componentes do Sistema 
 
Como já foi dito, a arquitetura do Windows XP é sistema de módulos em camadas. O HAL, o kernel 
e o executivo são as principais camadas e operam no modo protegido. 
 
Vários subsistemas e serviços executam no modo usuário. Os subsistemas no modo usuário 
compreendem o de ambiente, que simulam diferentes sistemas operacionais e, os subsistemas de 
proteção oferecendo funções de segurança. 
 
5.1. Camada de Abstração do hardware 
 
A HAL confere portabilidade ao Windows XP, como já foi visto antes. Ele faz isso escondendo as 
diferenças de hardware dos níveis superiores do sistema operacional. A HAL exporta uma interface 
de máquina virtual usada pelo despachante do kernel, pelo executivo e pelos drivers de dispositivo. 
 
Esta técnica necessita de só uma versão de cada driver de dispositivo, ele executa em todas as 
plataformas do hardware sem portar o código do driver. 
 
A HAL oferece suporte para multiprocessamento simétrico. Os drivers de dispositivos mapeiam 
dispositivos e os acessam diretamente, mas os detalhes administrativos são fornecidos pelas 
interfaces da HAL. 
 
5.2. Kernel 
 
O Kernel do Windows XP tem como funções principais o escalonamento de threads, tratamento de 
interrupção e exceção, sincronismo de baixo nível do processador e recuperação após uma falta de 
energia. Permanece sempre na memória, e sua execução nunca é preemptada. Ele oferece base para 
o executivo e os subsistemas. 
 
O Kernel é orientado a objeto. Um tipo de objeto é um tipo de dados definido pelo sistema que 
possui valores de dados conhecidos como atributos e um conjunto de métodos. O objeto é uma 
instância de um tipo objeto. O Kernel usa objetos do Kernel, que tem atributos com dados do 
Kernel, e seus métodos realizam atividades do Kernel. 
 
 
5.2.1. Despachante do Kernel 
 
O despachante do Kernel serve ao executivo e os subsistemas. A maior parte do despachante nunca 
é paginada para fora da memória, e sua execução nunca é preemptada. Ele realiza o escalonamento 
de threads, implementação de primitiva de sincronismo, gerenciador de temporizador, interrupções 
de software e despacho de exceção. 
 
5.2.2. Threads 
 
No Windows XP, uma aplicação é executada como um processo separado. Cada processo pode 
conter uma ou mais threads. No Windows XP é utilizado o mapeamento um-para-um, no qual cada 
thread de nível de usuário é associada a um thread de Kernel. Ele também dá suporte para uma 
biblioteca fiber, que permite funcionalidades de muitos-para-muitos. 
 
Cada thread pertencente a um processo pode acessar o espaço de endereços virtuais do processo. 
 
• Os componentes gerais de um thread são uma ID de thread (que garante a exclusividade na 
identificação). 
• Conjunto de processadores que mostram o status do processador. 
• Uma pilha do usuário, que é usada quando o thread está no modo usuário. No modo Kernel, 
cada thread também possui uma pilha, só que de Kernel. 
• Área de armazenamento privada. 
 
O conjunto de registradores, pilhas e áreas de armazenamento privado são conhecidos como 
contexto do thread. O thread possui estruturas de dados, as principais são a ETHREAD que é bloco 
de thread do executivo, a KTHREAD bloco de thread do Kernel e o TEB bloco de ambiente do 
thread. 
 
5.2.3. Escalonamento 
 
Os threads possuem estados de escalonamento que são: pronto, standby, executando, esperando, 
transição, terminado. Pronto indica esperando para executar. A thread pronta de prioridade mais 
alta é levada para um estado de standby, que a coloca na posição de ser a próxima para execução. 
 
Num sistema multiprocessado, cada processo tem um thread em stanby. Um thread está em estado 
executando, quando esta sendo trabalhada no processador. Ele executa até ser preemptada por um 
thread de prioridade mais alta, terminar sua execução, seu tempo de execução alocado (quantum) 
terminar ou ser bloqueada sobre um objeto despachante. O thread está esperando quando estiver 
esperando um objeto despachante sinalizar. Ela está em transição, quando espera por recursos 
necessários para finalizar e o estado Terminando quando termina a execução. 
 
O escalonamento de threads no Windows XP ocorre com prioridade, é preemptivo. Ele garante que 
a thread de maior prioridade sempre será executada. A parte do Kernel que trata do escalonamento é 
chamada despachante. Se um thread de tempo real fica pronta enquanto uma de menor prioridade 
está executando, o thread de menor prioridade será interrompida. Essa preempção permite que o 
thread de tempo real use a CPU quando necessitar. Mas o Windows XP não é um sistema de tempo 
real rígido, pois não garante que um thread de tempo real será executado dentro de um limite de 
tempo. 
 
Para determinar a ordem de execução, o despachante usa 32 níveis de prioridade. Existem as 
prioridades de classe variável com valores de 1 a 15, e a classe de tempo real com valores de 16 a 
31. Há um thread de prioridade 0, usada para gerenciamento de memória. Existe uma fila para cada 
prioridade de escalonamento, e o despachante procura nas filas um thread pronto para execução, 
desde as mais altas para as mais baixas. /se não for encontrada nenhuma, o despachante executará 
um thread ocioso. 
 
A API Win32 identifica várias classes de prioridade as quais um processo pode pertencer. Dentro de 
cada classe de prioridade existe uma prioridade relativa. 
Quando um quantum de tempo termina, o thread é interrompida, e se ela estiver na classe de 
prioridade variável, sua prioridade é reduzida. Mas ela nunca é reduzida para menos que a 
prioridade básica. Uma propriedade importante para threads interativas, quando uma de prioridade 
variável é liberada da operação de espera, o despachante aumenta a sua prioridade. O aumento 
depende do que o thread estava esperando. 
 
Num programa interativo que precisa de bom desempenho o Windows XP possui uma regra de 
escalonamento especial. Um processo rodando em primeiro plano, está atualmente na tela, tem um 
quantum de escalonamento aumentado em algum fator, geralmente 3. E existe outro em segundo 
plano, que não está selecionado na tela. 
 
 Fig.3- Mostra exemplo de estados dos threads no Windows XP 
 
 
 Interrupção de software 
 
Existem duas interrupções de software feitas pelo despachante: as chamadas de procedimento 
assíncronas e chamadas de procedimento adiadas. 
 
As chamadas de procedimento assíncronas (APCs) interrompem uma thread em execução e 
chamam um procedimento. As APCs são usadas para iniciar uma nova thread, terminar processos e 
oferecer notificação deque uma E/S assíncrona terminou. 
 
As chamadas de procedimento adiadas (DPCs) são usadas para que uma interrupção seja executada 
posteriormente. A rotina de serviço de interrupção (ISR) escalona o processamento dos processos de 
interrupção dos dispositivos em blocos que foram tratados, fazendo fila DPC. O despachante dá 
uma prioridade mais baixa para interrupção de software do que para a interrupção de dispositivos, 
para que as DPCs não bloqueiem outras ISRs. 
 
5.2.5. Exceções e interrupções 
 
O despachante do Kernel oferece tratamento de interceptação para exceções e interrupções de 
hardware ou software. As exceções independentes da arquitetura: violação de acesso à memória, 
overflow de inteiros, overflow e underflow de ponto flutuante, divisão de inteiro por zero, divisão 
de ponto flutuante por zero, instrução ilegal, falta de alinhamento de dados, instrução privilegiada, 
erro de leitura de página, violação de acesso, cota de arquivo de página ultrapassada, ponto de 
interrupção do depurador e execução passo a passo do depurador. 
 
Tratadores de interrupções tratam das simple, enquanto o tratamento mais desenvolvido é realizado 
pelo despachante do Kernel. Uma exceção no modo Kernel faz o despachante de exceção chamar 
uma rotina para localizar o tratador. Se nenhum tratador é encontrado, o usuário recebe tela azul 
significando falha do sistema. 
 
No modo usuário o tratamento de exceção é mais complexo, porque o subsitema ambiente 
configura uma porta de depurador e uma porta de exceção para cada processo criado. Se o 
tratamento não funcionar, o Kernel termina o processo que tem a thread que causou exceção. 
 
Existem 32 níveis de requisição de interrupção (IRQLs) no Windows XP. Oito são usadas pelo 
Kernel, e 24 para interrupções de hardware por meio do HAL (4.1). O Kernel utiliza uma tabela de 
despacho de interrupção para vincular cada nível de interrupção a uma rotina de serviço. 
 
5.3 Executivo 
 
Os subsistemas de ambiente utilizam os serviços do executivo. Os serviços são agrupados em: 
gerenciador de objetos, gerenciador de memória virtual, gerenciador de processos, facilidade de 
chamada de procedimento local, gerenciador de E/S, monitor de referência de segurança, 
gerenciador de plug and play e segurança, registro e inicialização. 
 
5.3.1 Gerenciador de Objetos 
 
Objeto são entidades do modo Kernel que são manipulados pelos programas no modo usuário. A 
parte do executivo que manipula os objetos é o gerenciador de objetos. Os objetos são gerenciados 
por contadores de referência de códigos do modo protegido e descritores no modo usuário. Mas 
alguns componentes do kernel usam as mesmas APIS que o código no modo usuário. 
 
Os processos têm tabelas de objetos que rastreiam os objetos usados pelos processos. Alguns 
objetos são semáforos, mutex, eventos, processos e threads. 
 
O gerenciador de objetos mantém o espaço de nomes internos do Windows XP. Ele utiliza um 
espaço de nomes abstratos e conecta os sistemas de arquivos como dispositivos. 
 
Os objetos são manipulados por um conjunto de funções virtuais com implementação fornecidas 
para cada tipo de objeto: create, open, close, delete, query name, parse e security. 
 
A tarefa do gerenciador de objetos é supervisionar o uso dos objetos. No Windows XP, o objeto é 
protegido por uma lista de controle de acesso que tem ids de segurança e controle de acessos 
concedidos. 
 
5.3.2 Gerenciador de Memória Virtual 
 
O gerenciador de memória virtual ( Virtual Memory – VM ) é responsável por gerenciar o espaço de 
endereços virtuais, alocação de memória física e a paginação. Quando se projeta o gerenciador de 
memória virtual leva-se em consideração que o hardware que está na camada abaixo dá suporte 
necessário. O Gerenciador VM no XP pode funcionar com páginas de 4KB se o processador for 
compatível IA32, caso seja compatível com IA64, a página é de 8KB. 
 
Se o processador é IA32 o espaço de endereços virtual é de 4GB, divididas em duas partes de 2GB. 
Na primeira parte é usado o modo kernel para acessar códigos e estrutura de dados do sistema 
operacional. Esta primeira parte é parecida para todos os processos, as diferenças da região do 
modo kernel são o auto-mapa de tabela de página, o hiperespaço e o espaço de sessão. Os outros 
2GB são próprios de cada processo, e podem ser acessadas por threads do modo usuário e do modo 
kernel. Existem configurações do Windows XP que separam 1GB para o espaço de kernel só e 3GB 
para espaço de endereço. Isto diminui o caching de dados do kernel, mas pode ser bom para grandes 
aplicações que gerenciam sua I/O. 
 
O gerenciador de memória virtual do Windows XP primeiro reserva parte do espaço de endereços 
virtual do processo, e depois compromete a alocação de memória física ou espaço de arquivo de 
paginação. 
 
A quantidade de espaço de memória virtual cedida a um processo é limitada, sendo esta a memória 
comprometida. Quando um processo deixa de usar o espaço, ele deve descomprometê-lo, 
permitindo que outros processos a usem. 
 
Um processo privilegiado pode fazer locks de páginas, com permissão do só, impedindo que elas 
sejam enviadas para arquivos de paginação. 
 
Processadores IA32 podem fazer extensão de endereço físico ( PAE – Physical Address Extension ), 
fazendo com que o sistema tenha até 64GB de memória física. Para que este espaço de memória 
possa ser usado, a memória física é primeiro alocada e depois é feita associação de regiões de 
endereços virtuais através das APIs de extensão de janelas de endereços ( AWE – Address 
Windowing Extension ). 
 
A memória compartilhada ocorre com a definição de um objeto de seção. Os processos usam 
descritores para objetos de seção, associando a parte da memória que precisam ao seu espaço de 
endereço. Se uma seção aparece no mesmo espaço de endereço para todos os processos que tentam 
fazer acesso, ela é chamada de baseada. A proteção de memória das páginas na seção pode ser 
leitura, leitura-escrita, leitura-escrita-execuçao, somente execução, nenhum acesso, ou cópia na 
escrita. 
 
Quando não é usada extensão de endereços físicos, um processo tem diretório de páginas com 1024 
entradas de diretório de páginas ( PDEs – Page-directory Entries ) com comprimento de 4 bytes. 
Cada entrada de diretório de páginas, aponta para uma tabela de páginas que também possui 1024 
entradas de páginas ( PTE – Page-Table Entries ) com 4 bytes. Uma estrada de tabela de página 
aponta para um quadro de página de 4KB na memória física. Isto foi descrito para processador IA32 
sem extensão de endereço físico. Então, no Windows XP, traduz-se endereços através de tabelas de 
páginas multiníveis. O tamanho total para todas as tabelas de páginas de um processo é de 4MB. 
 
Em processadores compatíveis com IA32, com extensão de tabela de página desativada, o endereço 
de memória virtual de 32 bits é dividido em três partes. Os primeiros 10 são índices para diretório 
de páginas. Os 10 bits seguintes são usados pela unidade de gerência de memória ( MMU – 
Memory Management Unit ) paar selecionar uma entrada de tabela de página. A entrada de tabela 
de página indica um quadro de página na memória física e, com os últimos 12 bits, tem-se um 
deslocamento dentro do quadro de página. 
 
Já para o caso de processadores IA32 com extensão de endereços ativos, são usadas PDE e PTE 
com 64 bits. Neste modo, tem-se 4GB de espaço de endereços virtual, o que exige um nível extra de 
diretório de páginas, com 4 PDE. 
 
Os processadores utilizam um Translation Look-aside Buffer ( TLB), que contém um cache de 
memória associativo para mapear páginas virtuais à PTEs, para reduzir o custo de pesquisa à PDE e 
PTE. 
 
Nos processadores IA64, as páginas possuem 8KB de tamanho. A parte de usuário do espaço de 
endereço vitual do processo para Windows XP, nestecaso, é 6TB. 
 
As páginas podem apresentar estados, que são: 
Válida – página em uso por processo ativo 
Livre – página que não está referenciada em um PTE. 
Zerada – é página livre que foi zerada e está pronta para uso imediato para satisfazer às falhas 
“zerar por demanda”. As páginas marcadas como “zerar por demanda” são as páginas do arquivo de 
paginação que nunca faltaram. 
Modificada – é a que foi modificada por algum processo e precisa ser gravada em disco antes de ser 
usada por outro processo. 
Satndby – cópias de informação já armazenada no disco. 
Defeituosa – não ode ser usada porque houve defeito no hardware. 
Em transição – está a caminho do disco para um quadro de página alocado na memória física. 
Quando o bit de página válida indica que a página é inválida, o gerenciador define o formato dos 
outros bits. 
 
Como já havia sido dito, são usados objetos de seção para descrever páginas compartilháveis entre 
processos. Os objetos de seção têm conjunto de tabelas de página com PTE mestras, os processos 
têm seu próprio conjunto de tabelas de páginas virtuais. Quando a entrada da tabela de página é 
válida, o processo acontece como descrito para IA32. Mas se a página compartilhada é inválida, a 
PTE aponta para o mestre do objeto de seção. 
 
Estas tabelas referentes aos objetos de seção se desenvolvem conforme a necessidade. O mecanismo 
de ter como necessárias as PTEs que descrevem páginas onde tem visão, sendo que a visão é a parte 
de memória que o processo precisa e associa a seu espaço de endereços, melhora a eficiência de 
endereços virtuais do Kernel. 
 
As páginas físicas compartilhadas marcadas como válidas, não podem ser removidas da memória. 
Para processos que estão usando mais que seu tamanho mínimo de conjunto de trabalho, o Windows 
XP usa política de substituição FIFO, para apanhar as páginas. Quando um processo é iniciado, ele 
recebe como tamanho mínimo padrão de 50 páginas. O Windows XP ajusta o tamanho do conjunto 
de trabalho de cada processo que está no tamanho mínimo, com do monitoramento de page fault. 
 
O gerenciador substitui as páginas de acordo com a contagem dos ciclos aparando as páginas 
aconteceram sem a PTE. 
 
O princípio da localidade é usado para reduzir o número de falhas de páginas, isso porque, quando o 
gerenciador gera uma falha de página, ele também precisa de páginas adjacentes. 
 
 
 
 
 
 
 
6. Sistemas de arquivos 
 
São necessários para organizar os milhões de bits em um disco rígido, a fim de localizar as 
informações. O disco rígido é como uma bandeja circular que giram ao redor de um eixo cujas 
zonas concêntricas estão divididas em setores. A organização desses setores permite ao Sistema 
Operacional criar um sistema de arquivos no disco. 
 
 O sistema se baseia na criação de “clusters”, que são pequenos grupos de disco com tamanhos 
variáveis,sendo que um arquivo só pode ocupar um número inteiro de clusters. Se por acaso p 
arquivo tiver o tamanho de 50GB e for usado 2 cluster de 32GB , haverá um desperdício. O sistema 
de arquivos de tabela de alocação de arquivos (FAT – File-Allocation Table ) já era usado no MS-
DOS e continuou sendo no Windows XP. 
 
A FAT16 utiliza 16 bits para endereçamento de dados, fazendo dois elevado a 16 para chegar até a 
sua capacidade máxima de cluster e pode ter tamanho de 32KB e partições de 2G.. Já FAT32 utiliza 
32 endereço de dados e utiliza cluster menores, geralmente 4K, diminuindo o desperdício. Para isso, 
a Microsoft limitou para 2 elevado 32 o número de setores ,sendo estes com espaço 512 
bytes,somente. 
O Windows XP usa o FAT16 para ler disquetes e outras mídias removíveis, já o FAT32 foi 
importante para interoperabilidade de mídias com sistema Windows 95/98. 
O FAT16 apresentava problemas que em parte foram resolvidos pelo FAT32. Mas ambos ainda são 
fracos em comparação com o sistema de arquivos NTFS. Para evitar o problema do desperdício de 
espaço foi adotado o NTFS o qual usa volume, que é criado pelo utilitário de gerenciamento de 
disco lógico do Windows XP. 
 
O NTFS utiliza cluster, que é uma série de setores cuja quantidade é uma potência de 2 e além disso 
possui endereço lógico de 64 bits para endereço de dados. 
 
Uma vantagem do NTFS sobre o FAT de 16 bits é que o que o tamanho de seu cluster é muito 
menor que o usado pelo FAT, o que reduz a quantidade de fragmentação interna. Para o cluster 
padrão, o tamanho é o do setor para volume de até 512 MB, 1KB para volume de até 1GB, 2KB 
para volumes de até 2GB e 4KB para volumes maiores. 
 
 
 
 
 
Mostra ilustrações de comparação de alocação de um FAT para um NTFS. 
 
 
 
Tabela de sistemas operacionais com seus respectivos sistemas de arquivos. 
 
Além disso, o NTFS usa o journaling, registro no diário, para recuperar erros com maior eficiência. 
Primeiro é necessário alocar espaço no disco depois os dados são escritos os discos como clusters 
dos setores, depois os dados são atualizados para refletir a localização no disco, a data de criação, o 
tamanho do arquivo, o dono, as permissões. O problema é na ausência de energia ou se o sistema 
travar antes a conclusão de um processo, o espaço alocado e gravado, mas não atualizado. 
Então, o jornauling evita esses problemas através de atualizações no log $LOGFILE antes de serem 
gravadas no sistema de arquivos. O primeiro ato da gravação é ativar o bit incorreto de volume. 
Cada operação de aumento de volume é armazenada no $LOGFILE e separada por “checkpoint” e 
processada pelo serviço de log o que cria REDO e UNDO. 
 
 
7. Conclusões. 
 
O Windows XP, que é um sistema operacional amplamente difundido entre os usuários de 
computador do mundo todo, é multiusuário, ou seja, permite acesso simultâneo de múltiplos 
usuários ao computador. 
 
Foram apresentados itens como aplicações, segurança e portabilidade que é a capacidade de ser 
movido de uma arquitetura de hardware para outra com poucas alterações. 
 
Os componentes do sistema têm parte fundamental neste trabalho. Maiores informações sobre o 
Kernel do sistema são dadas. Pronto, standby, executando, esperando, transição e terminado são 
estados do thread de escalonamento. 
 
Também foi pesquisado sobre memória e os processadores. O gerenciador de memória virtual ( 
Virtual Memory – VM ) é responsável por gerenciar o espaço de endereços virtuais, alocação de 
memória física e a paginação. O gerenciador de memória virtual do Windows XP primeiro reserva 
parte do espaço de endereços virtual do processo, e depois compromete a alocação de memória 
física ou espaço de arquivo de paginação 
 
Os sistemas de arquivos são necessários para organizar os milhões de bits em um disco rígido, a fim 
de localizar as informações.O sistema se baseia na criação de “clusters”, que são pequenos grupos 
de disco com tamanhos variáveis.Uma vantagem do NTFS sobre o FAT de 16 bits (sistema de 
arquivos de tabela de alocação de arquivos) é que o que o tamanho de seu cluster é muito menor 
que o usado pelo FAT, o que reduz a quantidade de fragmentação interna 
 
 
 
 
 
8. Bibliografia 
 
• Livro: Sistemas Operacionais com Java, Silberschatz - Galvin - Gagne 
• http://www.facensa.com.br/ 
• http://windows.microsoft.com/ 
• http://www.tecmundo.com.br/

Outros materiais