ESTUDO DE CASO WINDOWS VISTA



Documentos relacionados
SISTEMAS OPERACIONAIS 2007

Sistemas Operacionais

Sistemas Operacionais. Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias

4 Estrutura do Sistema Operacional Kernel

6 - Gerência de Dispositivos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Operacionais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

Sistemas Operacionais

SISTEMAS OPERACIONAIS

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

SISTEMAS OPERACIONAIS

Estrutura, Processos e Threads

Sistemas Operacionais

SISTEMAS OPERACIONAIS

Figura 01 Kernel de um Sistema Operacional

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Introdução a Computação

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Sistemas Operacionais. Prof. André Y. Kusumoto

Fundamentos de Sistemas Computacionais Introdução

Um Driver NDIS Para Interceptação de Datagramas IP

ESTRUTURA DE UM SISTEMA OPERACIONAL

Sistema Operacional Correção - Exercício de Revisão

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal

Sistemas Distribuídos

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Sistemas Operacionais. Conceitos de um Sistema Operacional

Programação Concorrente Processos e Threads

Sistemas Operacionais

Engenharia de Software III

Sistemas Operacionais. Introdução

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Prof. José Maurício S. Pinheiro UniFOA

Gerência de Configuração. Profº Rômulo César

Introdução aos Sistemas da InformaçãoAula 4 p. 1

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Organização e Arquitetura de Computadores I. de Computadores

Introdução à Informática

A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores

Introdução. Sistemas Operacionais. Introdução. Roteiro (1 / 2) Por que Máquinas Virtuais Existem? Roteiro (2 / 2)

Considerações no Projeto de Sistemas Cliente/Servidor

Laboratório de Redes. Professora Marcela Santos

Everson Scherrer Borges João Paulo de Brito Gonçalves

Sistemas Operacionais

Visão Geral de Sistemas Operacionais

Escola Adalgisa de Barros

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

Planejando o aplicativo

Comunicação em Sistemas Distribuídos

Sistemas Operacionais Gerência de Dispositivos

Introdução. Sistemas Operacionais

Processos e Threads (partes I e II)

Sistemas Operacionais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

7 Processos. 7.1 Introdução

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

UNIVERSIDADE FEDERAL DA PARAÍBA PRÓ REITORIA DE EXTENSÃO E ASSUNTOS COMUNITÁRIOS

UNIVERSIDADE FEDERAL DE PELOTAS

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

TRABALHO COM GRANDES MONTAGENS

Gabriel Oliveira do Nascimento Rogério Libarino Aguilar. UFF - Universidade Federal Fluminense

Sistemas Operacionais 1/66

Sistemas Distribuídos

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Informática, Internet e multimídia

FundamentosemInformática

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Fundamentos de Sistemas Operacionais

Guia do Administrador de Licenças de Usuários Autorizados do IBM SPSS Modeler

Windows NT 4.0. Centro de Computação

NOÇÕES DE INFORMÁTICA Agente de Polícia Federal 2012

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇO DE BACKUP. Professor Carlos Muniz

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

Introdução à Computação: Sistemas de Computação

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Noções básicas de Informática: Software

Transcrição:

ESTUDO DE CASO WINDOWS VISTA

História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado em NT

História

História Sistema Operacional mais extenso já visto

A figura a seguir mostra as camadas do sistema operacional Windows. As camadas são formadas por bibliotecas de codigo (DLLs), com as quais os programas se conectam dinamicamente para acessar os recursos do sistema operacional. As aplicações se comunicam com serviços no modo usuario por meio de chamadas de procedimento remoto (remote-procedure calls RPCs).

O núcleo do sistema operacional NT é o programa de modo núcleo NTOS (ntoskrnl.exe) que provê a interface de chamadas de sistema sobre a qual todo o SO é montado. Somente escrevem nessa camada programadores da Microsoft. Todas as interfaces de modo usuário são implementadas utilizando subsistemas que funcionam no topo das camadas NTOS.

A interface de programação nativa de aplicações do NT Como em todos os outros sistemas operacionais, o Windows Vista pode executar um conjunto de chamadas de sistema, que são implementadas na camada de execução NTOS do modo núcleo. Elas são usadas internamente por programas de baixo nível que acompanham o pacote do sistema operacional, bem como drivers de dispositivos do modo núcleo.

A interface de programação nativa de aplicações do NT Na API nativa do NT há chamadas disponíveis para criar novos objetos no modo núcleo ou acessar os existentes. Cada chamada, criando ou abrindo um objeto, retorna um resultado conhecido como um manipulador. É possível duplicar um manipulador em uma tabela de descritores de outros processos de uma forma protegida, permitindo aos processos compartilhar o acesso a objetos. Todo objeto tem um descritor de segurança associado a ele, detalhando quem pode ou não executar quais tipos de operações no objeto baseado no acesso solicitado.

A interface de programação nativa de aplicações do NT Nem todas as estruturas de dados criadas pelo sistema são objetos e nem todos os objetos são do modo núcleo. Os objetos do modo núcleo não são, logicamente, específicos para o Windows. Os sistemas UNIX também dão suporte a uma variedade de objetos do modo núcleo, como arquivos, soquetes de rede, pipes, dispositivos, processos e facilidades de comunicação entre processos, como memória compartilhada, portas de mensagem, semáforos e dispositivos de E/S.

A interface de programação nativa de aplicações do NT Não são apenas as aplicações que usam objetos gerenciados pelo gerenciador de objetos. O próprio sistema operacional também pode criar e usar objetos, e o faz de forma intensa.

A interface de programação de aplicações do Win32 As chamadas de funções do Win32 são denominadas API do Win32. Essas interfaces são divulgadas, amplamente documentadas e implementadas e, embora as APIs nativas do NT não sejam publicadas, muitas das funcionalidades que elas apresentam são acessíveis pela API do Win32.

A interface de programação de aplicações do Win32 Como as interfaces do Win32 existentes sofrem poucas alterações a cada lançamento do Windows, na teoria os programas binários que funcionam de maneira correta nas versões anteriores continuarão funcionando na nova versão. Na prática, são freqüentes os problemas com as novas versões.

A interface de programação de aplicações do Win32 Paginação por demanda - O próprio sistema de gerenciamento de memória executa as entradas e saídas conforme a necessidade, após os arquivos serem mapeados na memória pelos threads.

A interface de programação de aplicações do Win32 Áreas importantes para programas e interface: 1. E/S de arquivos 2. Gerenciamento de dados nos arquivos 3. Segurança 4. Operações de GUI (todas as chamadas para gerenciamento da interface gráfica do sistema)

O registro do Windows O Windows anexa um tipo especial de sistema de arquivos no espaço de nomes do NT. Esse sistema de arquivos é chamado de registro e é organizado em volumes separados, chamados colméias

O registro do Windows Um problema é que a maior parte dos usuários, aplicações e todos os drivers funcionam com todos os privilégios e de maneira freqüente modificam parâmetros do sistema diretamente no registro, algumas vezes interferindo uns com os outros e desestabilizando o sistema. O registro (regedit) é um cruzamento estranho entre um sistema de arquivos e uma base de dados, e ainda assim PE diferente de ambos. Ele permite aos usuários editá-lo. Mas a perda do registro implica a reinstalação de todos os softwares no sistema.

Estrutura do Sistema Operacional A camada central é o próprio núcleo do Windows NT que é carregado do ntoskrnl.exe quando o Windows inicializa. O núcleo do NT tem duas camadas, o executivo contendo a maioria dos serviços, e uma camada menor, chamada também de núcleo que implementa os fundamentos das abstrações de sincronização e agendamento de threads e também tratadores de armadilha, interrupções e outros aspectos de como a cpu é gerenciada

Camadas do modo núcleo

A Camada de Abstração de Hardware Um dos objetivos do Windows Vista, como nos lançamentos do Windows baseado no NT anteriores a ele, foi tornar o sistema operacional portátil a outras plataformas. De maneira ideal, para trazer o sistema operacional a um novo sistema de computador, teríamos apenas de recompilar o sistema operacional usando um compilador para a nova maquina e colocá-lo em funcionamento uma primeira vez.

A Camada de Abstração do Hardware Infelizmente, não é assim tão simples. Enquanto vários dos componentes em algumas camadas do sistema operacional podem ser bastante portáteis, outras camadas devem lidar com registradores de dispositivos, interrupções, DMA e outras características de hardware que mudam de maneira significativa de maquina para maquina

A Camada de Abstração de Hardware Os detalhes de hardware sobre como a memória e organizada em grandes servidores, ou quais sincronizações primitivas de hardware estão disponíveis, também podem ter grande impacto nos níveis mais altos do sistema, por exemplo o gerenciador de memória virtual do NT e a camada do núcleo sabem de detalhes de hardware relacionados a cache e localidade de memória.

A Camada de Abstração de Hardware Além dessas questões maiores de portabilidade, também há um vasto número de problemas menores até entre placas-mãe diferentes de vários fabricantes. Diferenças nas versões de CPUs também afetarão esta versão do Windows.

HAL - Camada de abstração de Hardware A Microsoft fez uma tentativa séria de esconder esses tipos de dependência de máquina usando um software de código aberto que permite que outros softwares acessem funções e obtenham informações do sistema operacional e de hardwares com muito menos dificuldade se tivessem que escrever um software diretamente utilizando funções do hardware, o HAL serve para abstrair essas informações facilmente utilizando a Camada de abstração de hardware presente em todos os sistemas operacionais.