SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
Estudo de caso do Windows




Profª Jocelma Rios
23/05/2011
O que pretendemos esta semana:
●   Apresentar a história da evolução do Windows como
    sistema operacional
●   Conhecer os principais aspectos de projeto do Windows,
    como base no Windows XP
●   Discutir sobre as diferenças apresentadas pelas diversas
    versões do Windows ao longo do tempo e o impacto sobre o
    mercado de software e os usuários
História
●   MS-DOS
       –   Win 1.0 / Win 2.0 / Win 3.0 / Win 3.1 / Win 3.11
●   Windows 95
       –   Ainda precisava do DOS
●   Windows 98
●   Windows Millenium
●   Windows 2000
●   Windows 2003
●   Windows XP → Windows Vista → Windows 7
MS-DOS
●   Monousuário
●   Memória limitada a 1 Mb → 640 Kb para
    programas de usuário
●   16 bits
●   FAT 16
Windows 1.0
●   Inspirado no Apple Lisa (Macintosh)
Windows 2.0
●   1987
●   PC-AT
Windows 3.1
●   1990
●   Sucesso comercial
●   Interface gráfica do
    MS-DOS
●   Espaço de
    endereçamento
    compartilhado
    (bugs!)
Windows 95
●   Não elimina o MS-DOS, mas
    já faz algumas operações
    típicas de SO
●   FAT-16
        –   a versão Win 95 OEM
              Release 2 implementava
              a FAT-32
●   Já vinha com o Internet
    Explorer 1.0
Windows 95
●   Memória virtual
●   32 bits, mas não em sua
    totalidade – alguma coisa
    ainda com16 bits
●   Multiprogramação
●   Nomes de arquivos mais
    longos – até 256 caracteres
Windows 98

●   Mais funcionalidades são transferidas do MS-DOS
●   Ainda há partes do SO em 16 bits
Windows 98

●   4 Gb de memória virtual
        – 2 Gb privados para processo
        – 1 Gb compartilhado (bugs!)
        – 1 Mb para compatibilidade para o MS-DOS
●   Kernel não re-entrante
        – Não permite executar vários processos em
            modo kernel simultaneamente
●   Integração entre desktop e internet
        –   Acusação de monopólio
Windows Me – Windows Millenium Edition

 ●   Muito semelhante ao Windows 98, só que com
     muito mais problemas
 ●   Embora, com algumas facilidades:
      ●   Melhor
          compartilhamento de
          imagens e músicas
      ●   Aplicações voltadas
          para a Internet
      ●   Jogos multiusuários
      ●   Restore System
Windows NT
                             ●   1a versão em
                                 1999
●   Windows New Technology
                             ●   Esperava-se
                                 grande
                                 sucesso,
                                 mas...
                             ●   … exigia
                                 máquinas
                                 com muitos
                                 recursos, que
                                 na época não
                                 era muito
                                 comum
Windows NT 4.0

                 ●   Mesma
                     interface do
                     Win98
                 ●   Portabilidade
                 ✔   16 milhões de
                     linhas de código
                     em C, C++ e
                     Assembly
                 ✔   Pentium, Alpha,
                     MIPS e Power
                     PC
Windows NT
Win95/Win98 X Windows NT
Windows 2000

●   Mesma interface do Windows 98
●   Era, na verdade, o Windows NT 5.0
        Por que será?
        –
●   Modo usuário e modo supervisor
●   Possibilidade de cluster: duas ou mais máquinas
    como se fosse uma única
●   Finalmente, livre do MS-DOS
Windows 2000




Quadro comparativo entre as versões
Estrutura do Windows 2000
Windows XP
●   Eliminou alguns cenários     Sucessor do Windows
    de reboot                   2000, nos computadores
                                       pessoais
●   Estruturas críticas do
    Kernel passaram a ser
    read-only
●   1o SO para usuários com
    o núcleo do NT
●   32 e 64 bits
●   Problemas com acusação
    de monopólio, por causa
    do Windows Media
    Player
Princípios de projeto – Windows XP

●   Segurança
●   Confiabilidade
●   Compatibilidade com aplicações
●   Desempenho
●   Extensibilidade
●   Portabilidade
●   Suporte internacional
Windows XP - Segurança
O Windows NT recebeu o certificado C2 de segurança do
governo dos Estados Unidos, ou seja, nível de proteção
moderado contra software defeituoso e ataques
Windows XP - Confiabilidade
●   O Windows 2000 é tido como um dos SO mais
    confiáveis da Microsoft
●   O Windows XP acrescenta algumas
    funcionalidades para verificação da saúde da
    máquina
●   Faz verificação de falhas mais sutis em drivers
●   Interface gráfica mais fácil de usar que os
    anteriores
Windows XP - Compatibilidade

●   Melhor compatibilidade com aplicações de usuário que o
    Win95 e Win98
        –   Não é tão simples quanto parece...
        –   Muitos problemas por conta das inúmeras versões
             do Windows ainda em funcionamento
        –   Muitos problemas com o uso das API,
             especialmente pelo fato de que alguns de seus
             componentes ainda são em 16 bits, para que se
             possa manter-se compatíveis com aplicações de
             usuário mais antigas
Windows XP - Desempenho
●   Foi muito além do Win98, e até mesmo do Win
    2000, porém com custos na confiabilidade e
    segurança
●   Seus subsistemas se comunicam entre si através das
    LPC (Local Procedure Call)
●   Projetado para multiprocessamento simétrico
        –   Vários threads podem ser executados
             simultaneamente em computadores
             multiprocessados
Windows XP - Extensibilidade
●   Arquitetura em camadas
        – Para facilitar os upgrades
●   O executivo do SO roda no kernel e fornece serviços
    básicos do sistema
         –   Os subsistemas de servidor operam em modo usuário
●   Permite que aplicações MS-DOS e do POSIX executem
    em locais apropriados, semelhante a uma máquina virtual
●   Admite processamento distribuído
                                            Refere-se à capacidade
                                            do sistema operacional
                                            acompanhar os avanços
                                               na tecnologia de
                                                  computação
Windows XP - Suporte internacional

●   As API NLS (National-Language-Support) fornece
    rotinas especializadas para formatar datas, horas e
    moedas de acordo com cada país
●   Código de caracteres nativo – UNICODE
         – Aceita caracteres ANSI
Windows XP - Componentes do sistema
●   Arquitetura em camadas
        –   Em modo protegido
                ● HAL (hardrware abstraction layer)

                ● Kernel

                ● Executivo (núcleo)


        –   Em modo usuário
                ● Sub-sistemas de ambiente

                ● Sub-sistemas de proteção

                ● Etc.


●   Esse tipo de arquitetura possibilita maior
    performance, pela facilidade de comunicação
    entre os diversos componentes do SO
Windows Server 2003

●   Lançado em 2003, substituindo o W2K
●   Conhecido como Windows NT 5.2
●   Acrescentou melhorias com o serviço de rede e
    no Active Directory
●   4 versões
        –   Web edition, Standard edition, Enterprise
             edition e Datacenter edition
        –
Windows Vista
●   Lançado em janeiro de 2007
●   Mudanças na interface em relação aos antecessores
●   Exige muitos recursos da máquina
         –   1 Gb de RAM mínimo → ideal 2 Gb
●   32 e 64 bits
●   Melhorou o compartilhamento peer-to-peer
●   Introduz a versão 3.0 do Microsoft NET Framework
●   Instalação de drivers em modo kernel
●   Segurança: proteção contra vírus e worms via rede
●   Mais redução do reboot
●   IE7 / Windows Media Player 11
Windows Vista




                    Versões do Windows Vista
Ver detalhes em http://windows.microsoft.com/pt-BR/windows7/products/compare
Windows Server 2008
●   Lançado em fevereiro de 2008
●   4 versões: Standard, Web, Enterprise e Datacenter
●   Substituto do Windows Server 2003
●   Suporte a multiprocessamento simétrico em duas e
    quatros vias
●   Standard → Memória
        –   Até 4 Gb para sistemas de 32 bits
        –   Até 64 Gb para sistemas de 64 bits
●   Datacenter
        –   Suporte até 64 CPU
Windows Server 2008
●   Núcleo do servidor
        –   Pode-se optar por instalar somente os serviços
              essenciais, liberando os recursos da máquina
        –   Requer menos manutenção e atualização
●   Windows Power Shell
        –   Mais ferramentas
        –   Linguagem de script integrada
        –   Mais de 130 ferramentas
●   Gerenciador do servidor
        –   Guia para os administradores
Windows Server 2008
●   Virtualização nativa
●   NAP (Network Access Protection)
        –   Validação da política de integridade
        –   Limitação de acesso à rede
        –   Conformidade contínua
●   RODC (Read-Only Domain Controller)
        –   Permite manter um servidor somente leitura, para
              casos de reduzida segurança da máquina física
●   Clustering Failover
        –   Avalia se os recursos do servidor estão disponíveis
             e suficientes para ativar o cluster
Windows 7
●   Lançado em Julho de 2009
        –   7o Windows User estável: W95 → W98 → ME → 2000
              → XP → Vista → 7
●   Poucas atualizações se comparado ao Vista
●   Leitura nativa de Blu-Ray e HD-DVD
●   Instalação do sistema em HD virtual (imagens)
●   IE 8 e 9 / Win Media Player 12
●   Conceito de bibliotecas
●   Modo Windows XP
●   Arquitetura modular, semelhante ao Windows Server 2008
    (?)
Windows 7




Mais detalhes em:
http://windows.microsoft.com/pt-BR/windows7/products/compare?T1=tab20
Funcionamento do Windows XP
●   Componentes do sistema
        –   HAL / Kernel / Executivo
●   Subsistema de ambiente
        –   MS-DOS / Win 16 bits / Win 32 bits / POSIX
●   Interface de programação
        –   Gerência de processos / Gerência de memória
●   Sistemas de arquivos
        –   NTFS / Recuperação / Segurança
●   Rede
        –   Interface / Protocolos / Processamento distribuído /
              Servidores / Domínios / Active Directory / DNS
HAL
●   É a camada de software que esconde as diferenças
    de hardware dos níveis superiores do sistema
    operacional
        –   Cria uma espécie de máquina virtual para os
             subsistemas
        –   Auxilia na portabilidade
        –   No Win XP, bastava uma versão de driver para
             qualquer que seja a plataforma da máquina
HAL
●   Por questões de eficiência, às vezes opta-se por
    fazer o acesso direto ao hardware, porém...
Kernel
●   Constrói abstrações de nível mais alto a partir das
    fornecidas pela HAL
●   Permanece sempre na memória e sua execução
    nunca é preemptada, ou seja, tem prioridade
    máxima
●   Maior parte escrita em C
●   Possui 5 'responsabilidades' principais:
        – Despachante (semáforos, locks, timers)
        – Threads e escalonamento
        – Implementação de primitivas de sincronismo
        – Interrupções de software
        – Exceções e interrupções
Kernel
●   Despachante (semáforos, locks, timers)
        –   Fornece o alicerce para o executivo e os
              subsistemas
        –   Prioridade em 32 níveis

●   Threads e escalonamento
        –   Para cada processo → uma ou mais threads
        –   6 estados: ready, standy (1a da fila), running,
              waiting, transition (blocked) e terminated
        –   Funciona em tempo real, mas não rigidamente, pois
              não garante que uma thread de tempo real
              começará a executar dentro de um limite de
              tempo em particular
Kernel
●   Implementação de primitivas de sincronismo
    As estruturas de dados fundamentais do SO são gerenciadas como
    objetos usando facilidades comuns de alocação, contagem de
    referência e segurança
    Objetos despachantes: controlam despacho e sincronismo
        – Eventos: registro de ocorrência de evento
        – Mutantes: fornece exclusão mútua
        – Mutex: fornece exclusão mútua livre de deadlock
        – Semáforos: atua como contador de threads que acessam o
             recurso
        – Processos: encapsula um espaço de endereço virtual,
             threads e temporizadores
        – Thread: entidade escalonada, associada ao processo
        – Temporizador: sinaliza tempos-limite
Kernel
●   Interrupções de software
         – Chamada de procedimento assíncrona
                ● Interrompem uma thread em execução e chamam
                    um procedimento
                ● Usadas para iniciar uma nova thread, terminar

                    processos e fornecer notificação de que uma E/S
                    assíncrona foi concluída
        –   Chamadas de procedimento adiadas
               ● Usadas para postergar o processamento da

                    interrupção
Kernel
●   Exceções e interrupções
       – O Win XP define várias exceções independentes
           de arquitetura, incluindo:
             ● Violência 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, etc.
Kernel
●   Exceções e interrupções
        –   Os tratadores de interceptação tratam de exceções
             simples.
        –   O tratamento de exceções elaborado é feito pelo
             despachante do Kernel. O despachante cria um registro
             de exceção Kernel contendo o motivo para exceção e
             encontra um tratador de exceção para lidar com ela.
        –   Quando ocorre uma exceção em modo kernel, o
             despachante da exceção chama uma rotina para
             localizar o tratador de exceção. Se nenhum tratador for
             encontrado, um erro fatal ocorrerá ('tela azul')
        –   O tratamento de exceções em modo usuário é mais
             complexo, porque um subsistema de ambiente (ex:
             POSIX) configura uma porta de depurador e uma orta
             de exceção para cada processo criado.
Executivo
●   Gerenciador de objetos
●   Gerenciador de processos
●   Gerenciador de chamadas
●   Gerenciador de E/S
●   Gerenciador de cache
●   Monitor de referência de segurança
●   Gerenciador de Plug-and-play
●   Registry
●   Booting                                 Fornece um
                                            conjunto de
                                         serviços utilizados
                                            por todos os
                                           subsistemas de
                                              ambiente
Executivo

●   Tipos de objetos
Subsistemas de ambiente
●   São processos do modo usuário dispostos sobre os
    serviços executivos originais do Win XP, para
    permitir a execução de programas desenvolvidos para
    outros SO
●   Cada subsistema fornece um ambiente de aplicação
    isolado; assim uma falha não interfere nos demais
    processos
●   Win 32 → ambiente operacional principal
        –   avalia se o novo processo pode ser executado por ele
              próprio ou se é necessário chamar um dos
              subsistemas
Sub-sistemas de ambiente

●   Ambiente MS-DOS
●   Ambiente Windows de 16 bits
●   Ambiente Windows de 32 bits no IA64
●   Ambiente Win32
●   Subsistema POSIX
●   Subsistema de logon e segurança
Sistemas de arquivos
●   FAT 16
       –   Fragmentação interna
       –   Limitação de tamanho → 2 Gb
       –   Falha de proteção de acesso a arquivos
●   FAT 32
       –   Melhorou nas questões de tamanho e de fragmentação interna
●   NTFS → atual
       –   Recuperação de dados
       –   Tolerância a falhas
       –   Arquivos e sistema de arquivos grandes
       –   Múltiplos fluxos de dados
       –   Nomes UNICODE
       –   Criptografia / compactação de arquivos
       –   Cópia de sombra de volume
Sistemas de arquivos
●
    Esquema interno do NTFS
       –   A entidade fundamental é o volume
       –   Um volume pode ocupar um disco inteiro, parte dele ou
            estar espalhado em vários discos
       –   Não lida com setores individuais e sim com clusters
               ●
                   Cluster é conjunto de setores como unidade de alocação de
                    disco
       –   Quanto menor o cluster, menor a fragmentação interna
               ●
                   Volumes de até 512 Mb cluster=setor; para até 1 Gb, 1 Kb;
                    para até 2 Gb, 2 Kb; para maiores , 4 Kb
       –   O endereçamento de disco é baseado em clusters lógicos
Sistemas de arquivos
●
    Árvore B+ do NTFS
       –   Organização em árvore de diretórios
       –   Cada diretório utiliza uma estrutura de dados →
             árvore B, que armazena o índice dos nomes de
             arquivo
       –   Elimina o custo de reorganização, e tem a
             propriedade de cada caminho da raiz até a folha ser
             igual
       –   A raiz de índice de um diretório contém o nível
             superior da árvore B+
Sistemas de arquivos
●   Metadados do NTFS
       –   São armazenados em arquivos
       –   Arquivo de log: registra todas as atualizações de metadados
       –   Arquivo de volume: contém o nome do volume, a versão do NTFS que
             formatou o volume e um bit que informa se o volume foi adulterado
       –   Tabela de definição de atributo: indica quais tipos de atributos são
             utilizados e quais operações podem ser realizadas em cada um deles
       –   Diretório-raiz
       –   Arquivo de mapa de bits: indica quais clusters em um volume estão
             alocados aos arquivos e quais estão livres
       –   Arquivo de boot: contém o código de boot
       –   Arquivo de cluster defeitusos: registra áreas defeituosas
Sistemas de arquivos
●
    Recuperação no NTFS
       –   Todas as atualizações à estrutura de dados do sistema de
             arquivos são realizadas dentro de transações.
       –   Antes de uma transação ser alterada, a transação escreve
             um registro de log que contém informações de
             restauração e desrestauração
       –   Depois de a estrutura de dados ter sido alterada, a
             transação escreve um registro commit no log para
             informar o sucesso da operação
Sistemas de arquivos
●
    Segurança no NTFS
       –   Cada arquivo NTFS referencia um descritor de
            segurança que contém o token de acesso do
            proprietário do arquivo e uma lista de controle de
            acesso que indica os privilégios a cada usuário que
            possui acesso ao arquivo
Programação – Win 32 API

●   API – Application Programming Interface
        –Conjunto de funções que fazem chamadas
           ao sistema ou operam em espaço do
           usuário
●   Novas funções são acrescentadas constantemente
●   Existe pequenas variações de uma versão do
    Windows para outra, o que causa algumas
    incompatibilidades
●   Não é orientado a objetos, pois faltam os
    conceitos de herança e polimorfismo
Informações de controle

●   Arquivos .ini
●   A partir do Win 95:
    registry
●   Editor: regedit.exe
DLL – Dynamic Link Libraries

●   .dll – arquivo contendo um conjunto de
    procedimentos interrelacionados
●   Chamadas a procedimentos em DLL são feitas
    de maneira indireta por meio de um vetor
●   Apenas uma cópia da DLL existe na memoria
    em dado momento, o que otimiza o uso desse
    recurso
Interface do programador
●
    Gerenciamento de processos
        – No XP, um processo é a execução de uma aplicação,
           e uma thread é uma unidade de código que pode
           ser agendada pelo SO
        – Cada processo contém uma ou mais threads
        – O processo é iniciado quando um processo cria
           através da rotina CreateProcess(), carregando as
           DLL do processo a ser criado e cria também uma
           thread primária → CreateThread()
        – Cada thread é criada com sua própria pilha, de 1 Mb
           (default)
Interface do programador
●   Escalonamento de processos
       – Descritores de instância
              ●   É o endereço virtual onde o arquivo é carregado
       –   Prioridades:
              ● IDLE_PRIORITY_CLASS (nível 4)
              ● NORMAL_PRIORITY_CLASS (nível 8)

              ● HIGH_PRIORITY_CLASS (nível 13)

              ● REALTIME_PRIORITY_CLASS (nível 24)


       –   Somente quem tem privilégio pode alterar a prioridade
            de um processo → SetPriorityClass()
Interface do programador
●
    Escalonamento de processos
        – Regra de escalonamento
             ●
               Quando o usuário estiver executando em um
                programa interativo, o sistema precisa fornecer
                um desempenho especialmente bom para o
                processo
             ●
               Por default, todos são
                NORMAL_PRIORITY_CLASS
             ●
               Faz distinção entre processos de primeiro e de
                segundo plano (ex: serviços)
             ●
               Quando o processo passa para o primeiro plano, o
                SO aumenta o quantum de escalonamento
                (geralmente 3x mais)
Interface do programador
●   Escalonamento de processos
        – Prioridade de thread
              ● Uma thread começa com prioridade igual a de sua

                 classe
                     – LOWEST, BELOW_NORMAL, NORMAL, ABOVE,
                        HIGHEST
                     – IDLE → sempre a mais baixa, 16 para threads de tempo
                        real e 1 para threads de prioridade variável
                     – TIME_CRITICAL → NÍVEL 31
                     – O kernel ajusta a prioridade da thread dinamicamente,
                        dependendo se for I/O bound ou CPU bound
              ●   A prioridade pode ser alterada pela função
                   SetPriorityThread()
Interface do programador
●
    Escalonamento de processos
        – Sincronismo de thread
              ●
                Trata região crítica
              ●
                Semáforos e mutex
              ●
                EnterCriticalSection () → coloca threads à
                 espera de permissão para RC
        – Fibers
              ●
                Similar a uma thread, mas como
                 processamento não-preemptivo
              ●
                Usado para manter compatibilidade com
                 aplicações Unix escritas para este modelo
Interface do programador
●
    Escalonamento de processos
        – Banco de threads
             ●
               Evita o dispêndio do processador com a
                criação de inúmeras threads a cada
                processo
             ●
               Busca reduzir o número de threads
                pendentes adiando ligeiramente as
                requisições
Interface do programador
●
    Comunicação entre processos
       – Trata através do compartilhamento de objetos
          do kernel
       – Troca de mensagens
             ●
               PostMessage() → assíncrona
             ●
               PostThreadMessage() → assíncrona
             ●
               Send-Message() → síncrona
       – Cada thread possui sua própria fila de
          mensagens
Interface do programador
●   Gerência de memória
       –   Memória virtual
              ● VirtualAlloc()


              ● VirtualFree()


              ● Múltiplos tamanho de página de memória


       –   Arquivos mapeados em memória
              ● Útil para compartilhamento de um arquivo por

                 mais de um processo
              ● Os processos podem alocar o espaço de memória

                 para compartilhamento, sem necessariamente
                 usar um arquivo
Interface do programador
●   Gerência de memória
       –   Pilhas heap
               ● Região reservado do espaço de endereços de memória
               ● Geralmente tem um 1 Mb, sendo uma para cada processo criado


               ● Pode ser compartilhada, mas de forma sincronizada, para

                  garantir consistência
       –   Armazenamento local e thread
              ● Útil para funções que contam com dados globais ou

                 estáticos, e que por isso não funcionam bem em
                 ambiente multithread
Redes
●   Interface → NDIS (Network Device Interface Specification)
        –   Permite que as configurações de um protocolo não interfiram nos
              demais
●   Protocolos
        –   Netware - IPX/SPX
        –   TCP/IP
        –   PPTP (Point-to-point tunneling protocol)
        –   WebDAV (Web Distributed Authoring and Versioning)
                ●
                    Baseado em HTTP, para autoria colaborativa na web
        –   AppleTalk
                ●   Conexão com Mac
Ferramentas administrativas
●   Agendador de tarefas
●   Configuração do sistema
●   Diagnóstico de Memória do Windows
●   Firewall
●   Fontes de dados (ODBC)
●   Gerenciador do computador
●   Iniciador iSCSI
●   Monitor de deseempenho
●   Serviços de componentes
●   Serviços
●   Visualizador de eventos
●   Windows PowerShell Modules
Para refletir...

  Analisando tecnicamente o
 Windows sempre perde para o
 Unix. Por que então algumas
empresas ainda mantém parte de
 seus servidores na plataforma
           Windows?
Referências

●   SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Sistemas
    operacionais com Java. Tradução de Daniel Vieira.
    Revisão técnica de Sérgio Guedes de Souza. 7. ed. Revista
    e ampliada. Rio de Janeiro: Elsevier, 2008. Cap. 22

Mais conteúdo relacionado

Mais procurados

Sistema Operativo Servidor
Sistema Operativo ServidorSistema Operativo Servidor
Sistema Operativo ServidorDaniel Barros
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOMauro Duarte
 
A evolução histórica dos sistemas operativos
A evolução histórica dos sistemas operativosA evolução histórica dos sistemas operativos
A evolução histórica dos sistemas operativosAndré Dias
 
Sistemas operacionais de redes particionamento de discos ii
Sistemas operacionais de redes   particionamento de discos iiSistemas operacionais de redes   particionamento de discos ii
Sistemas operacionais de redes particionamento de discos iiCarlos Melo
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10ºteacherpereira
 
Sistemas operativos ficha formativa nº3 - resolução
Sistemas operativos   ficha formativa nº3 - resoluçãoSistemas operativos   ficha formativa nº3 - resolução
Sistemas operativos ficha formativa nº3 - resoluçãoteacherpereira
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas OperativosKaska Lucas
 
System Administration: Introduction to system administration
System Administration: Introduction to system administrationSystem Administration: Introduction to system administration
System Administration: Introduction to system administrationKhang-Ling Loh
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: ThreadsAlexandre Duarte
 
História dos Sistemas Operativos
História dos Sistemas OperativosHistória dos Sistemas Operativos
História dos Sistemas OperativosTROLITO LALALAL
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no WindowsFee Kosta
 
Capítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosCapítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosWellington Oliveira
 
Backup & restore in windows
Backup & restore in windowsBackup & restore in windows
Backup & restore in windowsJab Vtl
 
Evolução do windows
Evolução do windowsEvolução do windows
Evolução do windowsIvam KN
 
Linux vs Windows | Edureka
Linux vs Windows | EdurekaLinux vs Windows | Edureka
Linux vs Windows | EdurekaEdureka!
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidorSandu Postolachi
 
Sistemas operativos servidores
Sistemas operativos  servidoresSistemas operativos  servidores
Sistemas operativos servidoresJoel Saramago
 

Mais procurados (20)

Sistema Operativo Servidor
Sistema Operativo ServidorSistema Operativo Servidor
Sistema Operativo Servidor
 
Aula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoriaAula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoria
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
 
A evolução histórica dos sistemas operativos
A evolução histórica dos sistemas operativosA evolução histórica dos sistemas operativos
A evolução histórica dos sistemas operativos
 
Sistemas operacionais de redes particionamento de discos ii
Sistemas operacionais de redes   particionamento de discos iiSistemas operacionais de redes   particionamento de discos ii
Sistemas operacionais de redes particionamento de discos ii
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10º
 
Sistemas operativos ficha formativa nº3 - resolução
Sistemas operativos   ficha formativa nº3 - resoluçãoSistemas operativos   ficha formativa nº3 - resolução
Sistemas operativos ficha formativa nº3 - resolução
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas Operativos
 
System Administration: Introduction to system administration
System Administration: Introduction to system administrationSystem Administration: Introduction to system administration
System Administration: Introduction to system administration
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
História dos Sistemas Operativos
História dos Sistemas OperativosHistória dos Sistemas Operativos
História dos Sistemas Operativos
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
Capítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosCapítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais Modernos
 
Backup & restore in windows
Backup & restore in windowsBackup & restore in windows
Backup & restore in windows
 
Evolução do windows
Evolução do windowsEvolução do windows
Evolução do windows
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Linux vs Windows | Edureka
Linux vs Windows | EdurekaLinux vs Windows | Edureka
Linux vs Windows | Edureka
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidor
 
Sistemas operativos servidores
Sistemas operativos  servidoresSistemas operativos  servidores
Sistemas operativos servidores
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 

Destaque

A história dos s.o. da microsoft
A história dos s.o. da microsoftA história dos s.o. da microsoft
A história dos s.o. da microsoftRafael Neves
 
windows todas as versões - william vargas
windows todas as versões - william vargaswindows todas as versões - william vargas
windows todas as versões - william vargasmrwilliamsvargas
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesMauro Duarte
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosRobson Ferreira
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesMauro Duarte
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesMauro Duarte
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosLuiz Arthur
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesMauro Duarte
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadoresMauro Duarte
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos BásicosMauro Duarte
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata Mauro Duarte
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06R D
 

Destaque (20)

Estudo de Caso Windows
Estudo de Caso WindowsEstudo de Caso Windows
Estudo de Caso Windows
 
Windows 3
Windows 3Windows 3
Windows 3
 
A história dos s.o. da microsoft
A história dos s.o. da microsoftA história dos s.o. da microsoft
A história dos s.o. da microsoft
 
Windows 3
Windows 3Windows 3
Windows 3
 
Sistemas Mac OS
Sistemas Mac OSSistemas Mac OS
Sistemas Mac OS
 
windows todas as versões - william vargas
windows todas as versões - william vargaswindows todas as versões - william vargas
windows todas as versões - william vargas
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril Borges
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril Borges
 
Os pássaros
Os pássarosOs pássaros
Os pássaros
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril Borges
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril Borges
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadores
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
 
WINDOWS HISTORIA
WINDOWS HISTORIAWINDOWS HISTORIA
WINDOWS HISTORIA
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata
 
Apresentacao Aula04 So
Apresentacao Aula04 SoApresentacao Aula04 So
Apresentacao Aula04 So
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06
 
Básico PHP: Introdução HTML
Básico PHP: Introdução HTMLBásico PHP: Introdução HTML
Básico PHP: Introdução HTML
 

Semelhante a Estudo de caso do windows

Aula 5b - História do Windows
Aula 5b - História do WindowsAula 5b - História do Windows
Aula 5b - História do WindowsJocelma Rios
 
Apresentação Final
Apresentação FinalApresentação Final
Apresentação FinalElisa
 
Evolução do windows
Evolução do windowsEvolução do windows
Evolução do windowschico marmelo
 
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticApresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticJordan Claussen
 
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticApresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticJordan Claussen
 
Introdução ao windows
Introdução ao windowsIntrodução ao windows
Introdução ao windowsElizeu Ferro
 
Sistemas operativos servidores
Sistemas operativos  servidoresSistemas operativos  servidores
Sistemas operativos servidoresJoel Saramago
 
Evolução dos s.o.
Evolução dos s.o.Evolução dos s.o.
Evolução dos s.o.Dulce Dias
 
Grupo 10: Windows 2000
Grupo 10: Windows 2000Grupo 10: Windows 2000
Grupo 10: Windows 2000aguiarense
 
Sistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBHSistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBHCesarBomgiovani
 
Trabalho So Fernanda
Trabalho So FernandaTrabalho So Fernanda
Trabalho So Fernandaf2008
 
Mdulo 1 Parte 5
Mdulo 1 Parte 5Mdulo 1 Parte 5
Mdulo 1 Parte 5M1984
 

Semelhante a Estudo de caso do windows (20)

Aula 5b - História do Windows
Aula 5b - História do WindowsAula 5b - História do Windows
Aula 5b - História do Windows
 
Windows
WindowsWindows
Windows
 
Aula1.1-SOeRedes
Aula1.1-SOeRedesAula1.1-SOeRedes
Aula1.1-SOeRedes
 
1309 apostila windows_xp
1309 apostila windows_xp1309 apostila windows_xp
1309 apostila windows_xp
 
S.o bruno
S.o brunoS.o bruno
S.o bruno
 
So-mod-2
So-mod-2So-mod-2
So-mod-2
 
Unidade2
Unidade2Unidade2
Unidade2
 
Unidade O2
Unidade O2Unidade O2
Unidade O2
 
Apresentação Final
Apresentação FinalApresentação Final
Apresentação Final
 
Evolução do windows
Evolução do windowsEvolução do windows
Evolução do windows
 
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticApresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
 
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticApresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
 
Introdução ao windows
Introdução ao windowsIntrodução ao windows
Introdução ao windows
 
Sistemas operativos servidores
Sistemas operativos  servidoresSistemas operativos  servidores
Sistemas operativos servidores
 
Aula1
Aula1Aula1
Aula1
 
Evolução dos s.o.
Evolução dos s.o.Evolução dos s.o.
Evolução dos s.o.
 
Grupo 10: Windows 2000
Grupo 10: Windows 2000Grupo 10: Windows 2000
Grupo 10: Windows 2000
 
Sistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBHSistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBH
 
Trabalho So Fernanda
Trabalho So FernandaTrabalho So Fernanda
Trabalho So Fernanda
 
Mdulo 1 Parte 5
Mdulo 1 Parte 5Mdulo 1 Parte 5
Mdulo 1 Parte 5
 

Mais de Jocelma Rios

Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...Jocelma Rios
 
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...Jocelma Rios
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma Rios
 
Aulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de BooleAulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de BooleJocelma Rios
 
Aulas 8 e 9 - Sistemas de Numeração
Aulas 8 e 9 - Sistemas de NumeraçãoAulas 8 e 9 - Sistemas de Numeração
Aulas 8 e 9 - Sistemas de NumeraçãoJocelma Rios
 
Aulas 6 e 7 - Redes e Telecomunicações
Aulas 6 e 7 - Redes e TelecomunicaçõesAulas 6 e 7 - Redes e Telecomunicações
Aulas 6 e 7 - Redes e TelecomunicaçõesJocelma Rios
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisJocelma Rios
 
Aula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoAula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoJocelma Rios
 
Aulas 1 e 2 - Hardware
Aulas 1 e 2 - HardwareAulas 1 e 2 - Hardware
Aulas 1 e 2 - HardwareJocelma Rios
 
Noções básicas de computação hardware
Noções básicas de computação   hardwareNoções básicas de computação   hardware
Noções básicas de computação hardwareJocelma Rios
 
Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmosJocelma Rios
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeraçãoJocelma Rios
 

Mais de Jocelma Rios (15)

Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
 
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Aula 12 - Lógica
Aula 12 - LógicaAula 12 - Lógica
Aula 12 - Lógica
 
Aulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de BooleAulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de Boole
 
Aulas 8 e 9 - Sistemas de Numeração
Aulas 8 e 9 - Sistemas de NumeraçãoAulas 8 e 9 - Sistemas de Numeração
Aulas 8 e 9 - Sistemas de Numeração
 
Aulas 6 e 7 - Redes e Telecomunicações
Aulas 6 e 7 - Redes e TelecomunicaçõesAulas 6 e 7 - Redes e Telecomunicações
Aulas 6 e 7 - Redes e Telecomunicações
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
Aula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoAula 4 - Sistemas de Informação
Aula 4 - Sistemas de Informação
 
Aula 3 - Software
Aula 3 - SoftwareAula 3 - Software
Aula 3 - Software
 
Aulas 1 e 2 - Hardware
Aulas 1 e 2 - HardwareAulas 1 e 2 - Hardware
Aulas 1 e 2 - Hardware
 
Noções básicas de computação hardware
Noções básicas de computação   hardwareNoções básicas de computação   hardware
Noções básicas de computação hardware
 
Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmos
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeração
 

Estudo de caso do windows

  • 1. Estudo de caso do Windows Profª Jocelma Rios 23/05/2011
  • 2. O que pretendemos esta semana: ● Apresentar a história da evolução do Windows como sistema operacional ● Conhecer os principais aspectos de projeto do Windows, como base no Windows XP ● Discutir sobre as diferenças apresentadas pelas diversas versões do Windows ao longo do tempo e o impacto sobre o mercado de software e os usuários
  • 3. História ● MS-DOS – Win 1.0 / Win 2.0 / Win 3.0 / Win 3.1 / Win 3.11 ● Windows 95 – Ainda precisava do DOS ● Windows 98 ● Windows Millenium ● Windows 2000 ● Windows 2003 ● Windows XP → Windows Vista → Windows 7
  • 4. MS-DOS ● Monousuário ● Memória limitada a 1 Mb → 640 Kb para programas de usuário ● 16 bits ● FAT 16
  • 5. Windows 1.0 ● Inspirado no Apple Lisa (Macintosh)
  • 6. Windows 2.0 ● 1987 ● PC-AT
  • 7. Windows 3.1 ● 1990 ● Sucesso comercial ● Interface gráfica do MS-DOS ● Espaço de endereçamento compartilhado (bugs!)
  • 8. Windows 95 ● Não elimina o MS-DOS, mas já faz algumas operações típicas de SO ● FAT-16 – a versão Win 95 OEM Release 2 implementava a FAT-32 ● Já vinha com o Internet Explorer 1.0
  • 9. Windows 95 ● Memória virtual ● 32 bits, mas não em sua totalidade – alguma coisa ainda com16 bits ● Multiprogramação ● Nomes de arquivos mais longos – até 256 caracteres
  • 10. Windows 98 ● Mais funcionalidades são transferidas do MS-DOS ● Ainda há partes do SO em 16 bits
  • 11. Windows 98 ● 4 Gb de memória virtual – 2 Gb privados para processo – 1 Gb compartilhado (bugs!) – 1 Mb para compatibilidade para o MS-DOS ● Kernel não re-entrante – Não permite executar vários processos em modo kernel simultaneamente ● Integração entre desktop e internet – Acusação de monopólio
  • 12. Windows Me – Windows Millenium Edition ● Muito semelhante ao Windows 98, só que com muito mais problemas ● Embora, com algumas facilidades: ● Melhor compartilhamento de imagens e músicas ● Aplicações voltadas para a Internet ● Jogos multiusuários ● Restore System
  • 13. Windows NT ● 1a versão em 1999 ● Windows New Technology ● Esperava-se grande sucesso, mas... ● … exigia máquinas com muitos recursos, que na época não era muito comum
  • 14. Windows NT 4.0 ● Mesma interface do Win98 ● Portabilidade ✔ 16 milhões de linhas de código em C, C++ e Assembly ✔ Pentium, Alpha, MIPS e Power PC
  • 17. Windows 2000 ● Mesma interface do Windows 98 ● Era, na verdade, o Windows NT 5.0 Por que será? – ● Modo usuário e modo supervisor ● Possibilidade de cluster: duas ou mais máquinas como se fosse uma única ● Finalmente, livre do MS-DOS
  • 18. Windows 2000 Quadro comparativo entre as versões
  • 20. Windows XP ● Eliminou alguns cenários Sucessor do Windows de reboot 2000, nos computadores pessoais ● Estruturas críticas do Kernel passaram a ser read-only ● 1o SO para usuários com o núcleo do NT ● 32 e 64 bits ● Problemas com acusação de monopólio, por causa do Windows Media Player
  • 21. Princípios de projeto – Windows XP ● Segurança ● Confiabilidade ● Compatibilidade com aplicações ● Desempenho ● Extensibilidade ● Portabilidade ● Suporte internacional
  • 22. Windows XP - Segurança O Windows NT recebeu o certificado C2 de segurança do governo dos Estados Unidos, ou seja, nível de proteção moderado contra software defeituoso e ataques
  • 23. Windows XP - Confiabilidade ● O Windows 2000 é tido como um dos SO mais confiáveis da Microsoft ● O Windows XP acrescenta algumas funcionalidades para verificação da saúde da máquina ● Faz verificação de falhas mais sutis em drivers ● Interface gráfica mais fácil de usar que os anteriores
  • 24. Windows XP - Compatibilidade ● Melhor compatibilidade com aplicações de usuário que o Win95 e Win98 – Não é tão simples quanto parece... – Muitos problemas por conta das inúmeras versões do Windows ainda em funcionamento – Muitos problemas com o uso das API, especialmente pelo fato de que alguns de seus componentes ainda são em 16 bits, para que se possa manter-se compatíveis com aplicações de usuário mais antigas
  • 25. Windows XP - Desempenho ● Foi muito além do Win98, e até mesmo do Win 2000, porém com custos na confiabilidade e segurança ● Seus subsistemas se comunicam entre si através das LPC (Local Procedure Call) ● Projetado para multiprocessamento simétrico – Vários threads podem ser executados simultaneamente em computadores multiprocessados
  • 26. Windows XP - Extensibilidade ● Arquitetura em camadas – Para facilitar os upgrades ● O executivo do SO roda no kernel e fornece serviços básicos do sistema – Os subsistemas de servidor operam em modo usuário ● Permite que aplicações MS-DOS e do POSIX executem em locais apropriados, semelhante a uma máquina virtual ● Admite processamento distribuído Refere-se à capacidade do sistema operacional acompanhar os avanços na tecnologia de computação
  • 27. Windows XP - Suporte internacional ● As API NLS (National-Language-Support) fornece rotinas especializadas para formatar datas, horas e moedas de acordo com cada país ● Código de caracteres nativo – UNICODE – Aceita caracteres ANSI
  • 28. Windows XP - Componentes do sistema ● Arquitetura em camadas – Em modo protegido ● HAL (hardrware abstraction layer) ● Kernel ● Executivo (núcleo) – Em modo usuário ● Sub-sistemas de ambiente ● Sub-sistemas de proteção ● Etc. ● Esse tipo de arquitetura possibilita maior performance, pela facilidade de comunicação entre os diversos componentes do SO
  • 29. Windows Server 2003 ● Lançado em 2003, substituindo o W2K ● Conhecido como Windows NT 5.2 ● Acrescentou melhorias com o serviço de rede e no Active Directory ● 4 versões – Web edition, Standard edition, Enterprise edition e Datacenter edition –
  • 30. Windows Vista ● Lançado em janeiro de 2007 ● Mudanças na interface em relação aos antecessores ● Exige muitos recursos da máquina – 1 Gb de RAM mínimo → ideal 2 Gb ● 32 e 64 bits ● Melhorou o compartilhamento peer-to-peer ● Introduz a versão 3.0 do Microsoft NET Framework ● Instalação de drivers em modo kernel ● Segurança: proteção contra vírus e worms via rede ● Mais redução do reboot ● IE7 / Windows Media Player 11
  • 31. Windows Vista Versões do Windows Vista Ver detalhes em http://windows.microsoft.com/pt-BR/windows7/products/compare
  • 32. Windows Server 2008 ● Lançado em fevereiro de 2008 ● 4 versões: Standard, Web, Enterprise e Datacenter ● Substituto do Windows Server 2003 ● Suporte a multiprocessamento simétrico em duas e quatros vias ● Standard → Memória – Até 4 Gb para sistemas de 32 bits – Até 64 Gb para sistemas de 64 bits ● Datacenter – Suporte até 64 CPU
  • 33. Windows Server 2008 ● Núcleo do servidor – Pode-se optar por instalar somente os serviços essenciais, liberando os recursos da máquina – Requer menos manutenção e atualização ● Windows Power Shell – Mais ferramentas – Linguagem de script integrada – Mais de 130 ferramentas ● Gerenciador do servidor – Guia para os administradores
  • 34. Windows Server 2008 ● Virtualização nativa ● NAP (Network Access Protection) – Validação da política de integridade – Limitação de acesso à rede – Conformidade contínua ● RODC (Read-Only Domain Controller) – Permite manter um servidor somente leitura, para casos de reduzida segurança da máquina física ● Clustering Failover – Avalia se os recursos do servidor estão disponíveis e suficientes para ativar o cluster
  • 35. Windows 7 ● Lançado em Julho de 2009 – 7o Windows User estável: W95 → W98 → ME → 2000 → XP → Vista → 7 ● Poucas atualizações se comparado ao Vista ● Leitura nativa de Blu-Ray e HD-DVD ● Instalação do sistema em HD virtual (imagens) ● IE 8 e 9 / Win Media Player 12 ● Conceito de bibliotecas ● Modo Windows XP ● Arquitetura modular, semelhante ao Windows Server 2008 (?)
  • 36. Windows 7 Mais detalhes em: http://windows.microsoft.com/pt-BR/windows7/products/compare?T1=tab20
  • 37. Funcionamento do Windows XP ● Componentes do sistema – HAL / Kernel / Executivo ● Subsistema de ambiente – MS-DOS / Win 16 bits / Win 32 bits / POSIX ● Interface de programação – Gerência de processos / Gerência de memória ● Sistemas de arquivos – NTFS / Recuperação / Segurança ● Rede – Interface / Protocolos / Processamento distribuído / Servidores / Domínios / Active Directory / DNS
  • 38. HAL ● É a camada de software que esconde as diferenças de hardware dos níveis superiores do sistema operacional – Cria uma espécie de máquina virtual para os subsistemas – Auxilia na portabilidade – No Win XP, bastava uma versão de driver para qualquer que seja a plataforma da máquina
  • 39. HAL ● Por questões de eficiência, às vezes opta-se por fazer o acesso direto ao hardware, porém...
  • 40. Kernel ● Constrói abstrações de nível mais alto a partir das fornecidas pela HAL ● Permanece sempre na memória e sua execução nunca é preemptada, ou seja, tem prioridade máxima ● Maior parte escrita em C ● Possui 5 'responsabilidades' principais: – Despachante (semáforos, locks, timers) – Threads e escalonamento – Implementação de primitivas de sincronismo – Interrupções de software – Exceções e interrupções
  • 41. Kernel ● Despachante (semáforos, locks, timers) – Fornece o alicerce para o executivo e os subsistemas – Prioridade em 32 níveis ● Threads e escalonamento – Para cada processo → uma ou mais threads – 6 estados: ready, standy (1a da fila), running, waiting, transition (blocked) e terminated – Funciona em tempo real, mas não rigidamente, pois não garante que uma thread de tempo real começará a executar dentro de um limite de tempo em particular
  • 42. Kernel ● Implementação de primitivas de sincronismo As estruturas de dados fundamentais do SO são gerenciadas como objetos usando facilidades comuns de alocação, contagem de referência e segurança Objetos despachantes: controlam despacho e sincronismo – Eventos: registro de ocorrência de evento – Mutantes: fornece exclusão mútua – Mutex: fornece exclusão mútua livre de deadlock – Semáforos: atua como contador de threads que acessam o recurso – Processos: encapsula um espaço de endereço virtual, threads e temporizadores – Thread: entidade escalonada, associada ao processo – Temporizador: sinaliza tempos-limite
  • 43. Kernel ● Interrupções de software – Chamada de procedimento assíncrona ● Interrompem uma thread em execução e chamam um procedimento ● Usadas para iniciar uma nova thread, terminar processos e fornecer notificação de que uma E/S assíncrona foi concluída – Chamadas de procedimento adiadas ● Usadas para postergar o processamento da interrupção
  • 44. Kernel ● Exceções e interrupções – O Win XP define várias exceções independentes de arquitetura, incluindo: ● Violência 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, etc.
  • 45. Kernel ● Exceções e interrupções – Os tratadores de interceptação tratam de exceções simples. – O tratamento de exceções elaborado é feito pelo despachante do Kernel. O despachante cria um registro de exceção Kernel contendo o motivo para exceção e encontra um tratador de exceção para lidar com ela. – Quando ocorre uma exceção em modo kernel, o despachante da exceção chama uma rotina para localizar o tratador de exceção. Se nenhum tratador for encontrado, um erro fatal ocorrerá ('tela azul') – O tratamento de exceções em modo usuário é mais complexo, porque um subsistema de ambiente (ex: POSIX) configura uma porta de depurador e uma orta de exceção para cada processo criado.
  • 46. Executivo ● Gerenciador de objetos ● Gerenciador de processos ● Gerenciador de chamadas ● Gerenciador de E/S ● Gerenciador de cache ● Monitor de referência de segurança ● Gerenciador de Plug-and-play ● Registry ● Booting Fornece um conjunto de serviços utilizados por todos os subsistemas de ambiente
  • 47. Executivo ● Tipos de objetos
  • 48. Subsistemas de ambiente ● São processos do modo usuário dispostos sobre os serviços executivos originais do Win XP, para permitir a execução de programas desenvolvidos para outros SO ● Cada subsistema fornece um ambiente de aplicação isolado; assim uma falha não interfere nos demais processos ● Win 32 → ambiente operacional principal – avalia se o novo processo pode ser executado por ele próprio ou se é necessário chamar um dos subsistemas
  • 49. Sub-sistemas de ambiente ● Ambiente MS-DOS ● Ambiente Windows de 16 bits ● Ambiente Windows de 32 bits no IA64 ● Ambiente Win32 ● Subsistema POSIX ● Subsistema de logon e segurança
  • 50. Sistemas de arquivos ● FAT 16 – Fragmentação interna – Limitação de tamanho → 2 Gb – Falha de proteção de acesso a arquivos ● FAT 32 – Melhorou nas questões de tamanho e de fragmentação interna ● NTFS → atual – Recuperação de dados – Tolerância a falhas – Arquivos e sistema de arquivos grandes – Múltiplos fluxos de dados – Nomes UNICODE – Criptografia / compactação de arquivos – Cópia de sombra de volume
  • 51. Sistemas de arquivos ● Esquema interno do NTFS – A entidade fundamental é o volume – Um volume pode ocupar um disco inteiro, parte dele ou estar espalhado em vários discos – Não lida com setores individuais e sim com clusters ● Cluster é conjunto de setores como unidade de alocação de disco – Quanto menor o cluster, menor a fragmentação interna ● Volumes de até 512 Mb cluster=setor; para até 1 Gb, 1 Kb; para até 2 Gb, 2 Kb; para maiores , 4 Kb – O endereçamento de disco é baseado em clusters lógicos
  • 52. Sistemas de arquivos ● Árvore B+ do NTFS – Organização em árvore de diretórios – Cada diretório utiliza uma estrutura de dados → árvore B, que armazena o índice dos nomes de arquivo – Elimina o custo de reorganização, e tem a propriedade de cada caminho da raiz até a folha ser igual – A raiz de índice de um diretório contém o nível superior da árvore B+
  • 53. Sistemas de arquivos ● Metadados do NTFS – São armazenados em arquivos – Arquivo de log: registra todas as atualizações de metadados – Arquivo de volume: contém o nome do volume, a versão do NTFS que formatou o volume e um bit que informa se o volume foi adulterado – Tabela de definição de atributo: indica quais tipos de atributos são utilizados e quais operações podem ser realizadas em cada um deles – Diretório-raiz – Arquivo de mapa de bits: indica quais clusters em um volume estão alocados aos arquivos e quais estão livres – Arquivo de boot: contém o código de boot – Arquivo de cluster defeitusos: registra áreas defeituosas
  • 54. Sistemas de arquivos ● Recuperação no NTFS – Todas as atualizações à estrutura de dados do sistema de arquivos são realizadas dentro de transações. – Antes de uma transação ser alterada, a transação escreve um registro de log que contém informações de restauração e desrestauração – Depois de a estrutura de dados ter sido alterada, a transação escreve um registro commit no log para informar o sucesso da operação
  • 55. Sistemas de arquivos ● Segurança no NTFS – Cada arquivo NTFS referencia um descritor de segurança que contém o token de acesso do proprietário do arquivo e uma lista de controle de acesso que indica os privilégios a cada usuário que possui acesso ao arquivo
  • 56. Programação – Win 32 API ● API – Application Programming Interface –Conjunto de funções que fazem chamadas ao sistema ou operam em espaço do usuário ● Novas funções são acrescentadas constantemente ● Existe pequenas variações de uma versão do Windows para outra, o que causa algumas incompatibilidades ● Não é orientado a objetos, pois faltam os conceitos de herança e polimorfismo
  • 57. Informações de controle ● Arquivos .ini ● A partir do Win 95: registry ● Editor: regedit.exe
  • 58. DLL – Dynamic Link Libraries ● .dll – arquivo contendo um conjunto de procedimentos interrelacionados ● Chamadas a procedimentos em DLL são feitas de maneira indireta por meio de um vetor ● Apenas uma cópia da DLL existe na memoria em dado momento, o que otimiza o uso desse recurso
  • 59. Interface do programador ● Gerenciamento de processos – No XP, um processo é a execução de uma aplicação, e uma thread é uma unidade de código que pode ser agendada pelo SO – Cada processo contém uma ou mais threads – O processo é iniciado quando um processo cria através da rotina CreateProcess(), carregando as DLL do processo a ser criado e cria também uma thread primária → CreateThread() – Cada thread é criada com sua própria pilha, de 1 Mb (default)
  • 60. Interface do programador ● Escalonamento de processos – Descritores de instância ● É o endereço virtual onde o arquivo é carregado – Prioridades: ● IDLE_PRIORITY_CLASS (nível 4) ● NORMAL_PRIORITY_CLASS (nível 8) ● HIGH_PRIORITY_CLASS (nível 13) ● REALTIME_PRIORITY_CLASS (nível 24) – Somente quem tem privilégio pode alterar a prioridade de um processo → SetPriorityClass()
  • 61. Interface do programador ● Escalonamento de processos – Regra de escalonamento ● Quando o usuário estiver executando em um programa interativo, o sistema precisa fornecer um desempenho especialmente bom para o processo ● Por default, todos são NORMAL_PRIORITY_CLASS ● Faz distinção entre processos de primeiro e de segundo plano (ex: serviços) ● Quando o processo passa para o primeiro plano, o SO aumenta o quantum de escalonamento (geralmente 3x mais)
  • 62. Interface do programador ● Escalonamento de processos – Prioridade de thread ● Uma thread começa com prioridade igual a de sua classe – LOWEST, BELOW_NORMAL, NORMAL, ABOVE, HIGHEST – IDLE → sempre a mais baixa, 16 para threads de tempo real e 1 para threads de prioridade variável – TIME_CRITICAL → NÍVEL 31 – O kernel ajusta a prioridade da thread dinamicamente, dependendo se for I/O bound ou CPU bound ● A prioridade pode ser alterada pela função SetPriorityThread()
  • 63. Interface do programador ● Escalonamento de processos – Sincronismo de thread ● Trata região crítica ● Semáforos e mutex ● EnterCriticalSection () → coloca threads à espera de permissão para RC – Fibers ● Similar a uma thread, mas como processamento não-preemptivo ● Usado para manter compatibilidade com aplicações Unix escritas para este modelo
  • 64. Interface do programador ● Escalonamento de processos – Banco de threads ● Evita o dispêndio do processador com a criação de inúmeras threads a cada processo ● Busca reduzir o número de threads pendentes adiando ligeiramente as requisições
  • 65. Interface do programador ● Comunicação entre processos – Trata através do compartilhamento de objetos do kernel – Troca de mensagens ● PostMessage() → assíncrona ● PostThreadMessage() → assíncrona ● Send-Message() → síncrona – Cada thread possui sua própria fila de mensagens
  • 66. Interface do programador ● Gerência de memória – Memória virtual ● VirtualAlloc() ● VirtualFree() ● Múltiplos tamanho de página de memória – Arquivos mapeados em memória ● Útil para compartilhamento de um arquivo por mais de um processo ● Os processos podem alocar o espaço de memória para compartilhamento, sem necessariamente usar um arquivo
  • 67. Interface do programador ● Gerência de memória – Pilhas heap ● Região reservado do espaço de endereços de memória ● Geralmente tem um 1 Mb, sendo uma para cada processo criado ● Pode ser compartilhada, mas de forma sincronizada, para garantir consistência – Armazenamento local e thread ● Útil para funções que contam com dados globais ou estáticos, e que por isso não funcionam bem em ambiente multithread
  • 68. Redes ● Interface → NDIS (Network Device Interface Specification) – Permite que as configurações de um protocolo não interfiram nos demais ● Protocolos – Netware - IPX/SPX – TCP/IP – PPTP (Point-to-point tunneling protocol) – WebDAV (Web Distributed Authoring and Versioning) ● Baseado em HTTP, para autoria colaborativa na web – AppleTalk ● Conexão com Mac
  • 69. Ferramentas administrativas ● Agendador de tarefas ● Configuração do sistema ● Diagnóstico de Memória do Windows ● Firewall ● Fontes de dados (ODBC) ● Gerenciador do computador ● Iniciador iSCSI ● Monitor de deseempenho ● Serviços de componentes ● Serviços ● Visualizador de eventos ● Windows PowerShell Modules
  • 70. Para refletir... Analisando tecnicamente o Windows sempre perde para o Unix. Por que então algumas empresas ainda mantém parte de seus servidores na plataforma Windows?
  • 71. Referências ● SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Sistemas operacionais com Java. Tradução de Daniel Vieira. Revisão técnica de Sérgio Guedes de Souza. 7. ed. Revista e ampliada. Rio de Janeiro: Elsevier, 2008. Cap. 22