História do Windows XP Significa Windows “eXperience”. Considerado o sistema operacional mais usado na história. Sucessor do Windows 2000 e do Windows Me. Lançado no dia 25 de outubro de 2001. Foi sucedido pela Windows Vista em 30 de janeiro de 2007. Windows XP É um S.O. multitarefa e multiusuário,pois permite que o usuário possa usar várias tarefas ao mesmo tempo além de permitir que mais de um usuário possa estar logado. Ele utiliza memória RAM de 64 bits. Segundos pesquisas,o Windows 7 o superará em vendas em 2014. Arquitetura do S.O. SMP (Symmetric Multiprocessing) Todos os processadores realizam a mesma função. Não existe relacionamento Mestre-escravo. Um programa pode ser executado por um processador ou vários ao mesmo tempo. Todos os processadores compartilham a memória física. Cada um deles possui cache próprio. Estrutura do S.O. O Windows XP é modelado sobre uma arquitetura de Microkernel e Kernel monolítico. Chamado de Kernel híbrido. É uma categoria similar ao Microkernel,mas implementado como monolítico. Quase todo os serviços do S.O. estão no espaço do kernel. Não há nenhum overhead para troca de mensagens e mudança de contexto entre o modo usuário e o modo kernel. Os componentes (sistemas de arquivo e gerenciamento de memória) executam em modo núcleo, e não no modo usuário. Operações em Windows XP Há uma necessidade de distinguir a execução do código do S.O. com o código do usuário. O XP utiliza o modo dual ,aonde : O bit de modalidade indica a modalidade do kernel (0) e do usuário (1). A idéia é assegurar que um programa incorreto não afete a execução dos outros. Chamadas de sistema Um mecanismo cujo objetivo é proteger o kernel do sistema e de acessar seus serviços. Quando uma aplicação ou programa decide utilizar algum serviço do S.O. faz por meio de uma rotina, e esta por uma system call . O hardware trata como interrupção de software. O bit de modalidades vai para 0 (kernel). API do Windows XP Significa interface de programação de aplicações (aplication programming interface). É um conjunto de rotinas e padrões estabelecidos por um software para a utilização por um programador de aplicações. A API do Windows é a Win32. Ela utiliza linguagem C++. As funções que compõem a API invocam as chamada de sistema reais como manipulação de blocos de memória e acesso a dispositivos. Interface com o usuário Interpretador de comandos e Interface gráfica (GUI). O primeiro permite que os usuários insiram diretamente o comando a ser executado. No Windows, ele está no Kernel (shell). Função :Capturar e executar o comando especificado pelo usuário. Interface com o usuário Interface gráfica Os usuários empregam um sistema de janelas e menus baseados no uso do mouse. Exemplos: criar uma pasta e mover o mouse. Interface com o usuário Sistemas de arquivos É necessário para gravar dados em um HD ou em outro qualquer dispositivo de armazenamento de forma a manter as informações acessíveis e organizadas. Toda a manipulação de dados e um dispositivo de armazenamento como: Guardar,acessar,manipular e apagar informações. Sistemas de Arquivos Existem vários tipos de sistema de arquivos e cada um divide a sua maneira como :FAT,FAT32,NTFS,HPFS,CDFS e outros. FAT significa Tabela de Alocação de Arquivos. A área de armazenamento de um disco rígido é dividida em trilhas, onde cada uma é subdividida em setores,cada um com 512 bytes,geralmente. Sistemas de Arquivos para o Windows XP A FAT e o NTFC trabalham com os clusters que são grupos desses setores,onde cada arquivo somente aloca um cluster. Para evitar o desperdício de espaço de alocação foram criadas outras versões da FAT . O Windows utiliza o NTFC. Este não conta com as limitações da FAT e utiliza 64 bits de endereço de dados. O limite chega até 256 TB (Tera). Programas utilitários Podem ser divididos em : Gerenciamento de Arquivos Ex: Ccleaner Informações de Status Modificação de Arquivos Suporte a linguagens de programação Carga e execução de programas Comunicações Threads no Windows XP O Windows XP utiliza usa o modelo um-pra-um, onde mapeia uma thread de usuário para uma thread de kernel. Mas também dá suporte a uma biblioteca que funciona no modelo muitos-para-muitos, onde várias threads de usuário são associadas a várias threads de kernel. Threads do Windows XP Uma tabela de threads, Task Control Block, é mantida para armazenar informações individuais de cada fluxo de execução. Cada thread tem a si associada: Thread Id, estado dos registradores, endereços da pilha, máscara de sinais, prioridade, variáveis locais e compartilhadas, endereços de threads e estado de execução Threads no Windows XP Os threads são criados na API Win32 com o uso da função CreateThread(). Os atributos passados para a função incluem informações de segurança, o tamanho da pilha, etc. Escalonamento no Windows XP Algoritmo com preempção baseado em prioridades. Um thread selecionado por um escalonador será executado até ser interceptado no caso de aparecer um thread de prioridade mais alta, invocar uma chamada de I/O ou seu quantum expirar. O escalonador utiliza um esquema de prioridades de 32 níveis, que são divididos em duas classes: Prioridades de classe variável de 1 até 15 Prioridades de classe de tempo real de 16 até 31. Escalonamento do Windows XP • • • • • • • • • 31 – reservados para o sistema operacional . . 16 15 – reservados para o usuário . . 1 0 – utilizado para zerar as páginas de memória para o gerenciador de memória. GERENCIADOR DE MEMÓRIA VIRTUAL O gerenciador de memória virtual (VM-Virtual Memory) gerencia o espaço de endereços virtuais, a alocação de memória física e a paginação. No projeto do gerenciador, leva-se em consideração que o hardware oferece o suporte necessário. GERENCIADOR DE MEMÓRIA VIRTUAL • Para processadores compatíveis com IA32, o espaço de endereço é de 4GB, podendo funcionar com páginas de 4KB. Esse espaço é dividido em duas partes: • 2GB do modo kernel. Neste, são acessados códigos e estruturas de dados do SO. • 2GB próprio de cada processo referente à espaço de usuário Ref. : dqsoft.blogspot.com.br/2006/11/gerenciamento-de-memria-windows-32-bits.html GERENCIADOR DE MEMÓRIA VIRTUAL • Para processadores IA64, o espaço de endereços virtual é de 6TB. As página possuem 8KB de tamanho. • O gerenciador VM reserva o espaço de endereço de um processo, e depois compromete a memória física ou espaço de arquivo de paginação. • O espaço de memória virtual cedido à um processo é limitada. Quando o processo deixa de utilizar, deve descomprometer o espaço, permitindo que outros processos possam usa-lo. GERENCIADOR DE MEMÓRIA VIRTUAL • Processadores IA32 podem fazer extensão de endereço físico, fazendo com que o sistema tenha até 64GB de memória física. •Para permitir que este espaço de memória se utilizado, a associação de regiões de endereços virtuais é feito pela API de extensão de janela de endereço. GERENCIADOR DE MEMÓRIA VIRTUAL • No windows XP pode ocorrer memória compartilhada. A memória compartilhada é realizada definindo-se um objeto de seção, sendo que esse objeto de seção é um bloco de memória que dois ou mais processos podem compartilhar. • Os processos usam descritores de objeto de seção para associar o espaço de memória que precisam ao seu espaço de endereços. GERENCIADOR DE MEMÓRIA VIRTUAL • O Windows XP traduz 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 Mapeamento na memória virtual Ref.:/fab_souza.vilabol.uol.com.br/Memoria.htm GERENCIADOR DE MEMÓRIA VIRTUAL • Representação da referência de um endereço virtual em um endereço físico. Ref.:/fab_souza.vilabol.uol.com.br/Memoria.htm Dúvidas???? Perguntas Qual é a API do Windows XP? Que tipo de arquitetura o Windows Xp utiliza? Qual é o tipo de sistema de arquivos do Windows XP? Qual é o tipo de escalonamento do Windows XP? Respostas Win32. Ele é um SMP que utiliza Kernel Híbrido. NTFC. Preemptivo e com prioridades.