Você está na página 1de 59

Capítulo 1: Introdução

Operating System Concepts – 9th Edition Silberschatz, Galvin and Gagne ©2013
Sobre a apresentação (About the slides)

Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin


e Gagne em 2009. Esta apresentação foi modificada por Cristiano Costa
(cac@unisinos.br). Basicamente, os slides originais foram traduzidos para o
Português do Brasil. Esta apresentação foi atualizada para a Nona Edição do
livro lançada em 2013 por Ronaldo Ferreira (raf@facom.ufms.br).
É possível acessar os slides originais em http://www.os-book.com
A versão de 2009 pode ser obtida em http://www.inf.unisinos.br/~cac

The slides and figures in this presentation are copyright Silberschatz, Galvin
and Gagne, 2009. This presentation has been modified by Cristiano Costa
(cac@unisinos.br). Basically it was translated to Brazilian Portuguese. This
presentation has been updated to the 9th edition of the book released in 2013.
You can access the original slides at http://www.os-book.com
The 2009 version can be downloaded at http://www.inf.unisinos.br/~cac

Operating System Concepts – 9th Edition 1.2 Silberschatz, Galvin and Gagne ©2013
Capítulo 1: Introdução
! O que faz um Sistema Operacional
! Organização de um Sistema Computacional
! Arquitetura de um Sistema Computacional
! Estrutura de um Sistema Operacional
! Operações de Sistemas Operacionais
! Gerência de Processos
! Gerência de Memória
! Gerência de Armazenamento
! Proteção e Segurança
! Sistemas Distribuídos
! Sistemas de Propósitos Específicos
! Ambientes Computacionais
! Sistemas Operacionais Open-source

Operating System Concepts – 9th Edition 1.3 Silberschatz, Galvin and Gagne ©2013
Objetivos
! Proporcionar uma visão geral dos principais componentes de sistemas
operacionais
! Cobrir os conceitos básicos de organização de sistemas computacionais e
o papel das interrupções
! Ilustrar a transição de modo usuário para modo kernel
! Discutir como sistemas operacionais são usados em vários ambientes
computacionais

Operating System Concepts – 9th Edition 1.4 Silberschatz, Galvin and Gagne ©2013
O que é um Sistema Operacional?

! Um programa que age como um intermediário entre o usuário e


o hardware de um computador.

! Objetivos de um Sistema Operacional:


" Executar programas do usuário e tornar a solução de
problemas mais fácil.
" Tornar os sistemas computacionais convenientes ao uso.
" Usar o hardware do computador de maneira eficiente.

Operating System Concepts – 9th Edition 1.5 Silberschatz, Galvin and Gagne ©2013
Estrutura de um Sistema Computacional

! Sistemas Computacionais podem ser divididos em quatro


componentes
" Hardware – provê os recursos básicos de computação
4 CPU, memória, dispositivos de E/S
" Sistema Operacional
4 Controla e coordena o uso do hardware entre vários
aplicativos e usuários
" Programas Aplicativos – definem as formas em que os
recursos computacionais são usados para resolver problemas
computacionais dos usuários
4 Processadores de Textos, compiladores, navegadores web,
bancos de dados, jogos
" Usuários
4 Pessoas, máquinas, outros computadores

Operating System Concepts – 9th Edition 1.6 Silberschatz, Galvin and Gagne ©2013
Quatro Componentes de um Sistema
Computacional

Operating System Concepts – 9th Edition 1.7 Silberschatz, Galvin and Gagne ©2013
O Que Faz um Sistema Operacional?

! Depende do ponto de vista


! Usuários querem conveniência, facilidade de uso e bom
desempenho
" Não se preocupam com utilização de recursos
! Mas, computadores compartilhados, tais como mainframe ou
minicomputadores, devem manter todos os usuários felizes
! Usuários de sistemas dedicados, tais como workstations, têm
recursos dedicados mas frequentemente usam recursos
compartilhados de servidores
! Computadores portáteis são pobres em recursos e otimizados
para usabilidade e tempo de vida da bateria
! Alguns computadores não possuem interfaces de usuário, tais
como sistemas embarcados em dispositivos e automóveis

Operating System Concepts – 9th Edition 1.8 Silberschatz, Galvin and Gagne ©2013
Definição de Sistema Operacional

! SO é um alocador de recursos
" Gerencia todos os recursos
" Decide entre requisições conflitantes para uso eficiente e justo
dos recursos
! SO é um programa de controle
" Controla execução de programas para prevenir erros e usos
indevidos do computador

Operating System Concepts – 9th Edition 1.9 Silberschatz, Galvin and Gagne ©2013
Definição de Sistema Operacional(Cont.)

! Não existe definição aceita universalmente, mas uma bem razoável é a


seguinte:
" Um sistema operacional é a camada de software que gerencia os
recursos de um computador para seus usuários e suas aplicações.
! “Tudo aquilo que um vendedor entrega quando você pede um sistema
operacional” é uma boa aproximação
" Muita variação
! “O programa executando todo o tempo em um computador” é o kernel
(núcleo). Todo o resto é um programa de sistemas (vendido com o
sistema operacional) ou um programa aplicativo
! O restante é
" Um programa de sistema (entregue com o sistema operacional), ou
" Um aplicativo

Operating System Concepts – 9th Edition 1.10 Silberschatz, Galvin and Gagne ©2013
Inicialização do Computador
! programa de bootstrap é carregado ao ligar ou reiniciar o computador
" Tipicamente armazenado em ROM ou EEPROM, geralmente conhecido
como firmware
" Inicializa todos os componentes do sistema
" Carrega o kernel do sistema operacional e inicia execução

Operating System Concepts – 9th Edition 1.11 Silberschatz, Galvin and Gagne ©2013
Organização de um Sistema Computacional

! Operação de um Sistema Computacional


" Uma ou mais CPUs, controladores de dispositivos conectados por um
barramento comum provendo acesso à memória compartilhada
" Execução concorrente das CPUs e dos dispositivos competindo por
ciclos de memória

Operating System Concepts – 9th Edition 1.12 Silberschatz, Galvin and Gagne ©2013
Operação de um Sistema Computacional
! Dispositivos de E/S e CPU podem executar concorrentemente.
! Cada controlador de dispositivo é encarregado de um tipo particular de
dispositivo.
! Cada controlador de dispositivo tem um buffer local.
! Cada tipo de controlador de dispositivo tem um device driver para
gerenciá-lo.
! CPU move dados de/para memória principal para/de buffers locais.
! E/S é de um dispositivo para o buffer local da controladora.
! Controladores de dispositivos informam a CPU que terminaram uma
operação gerando uma interrupção.

Operating System Concepts – 9th Edition 1.13 Silberschatz, Galvin and Gagne ©2013
Funções Comuns de Interrupções
! Transferir o controle para a rotina de serviço da interrupção, geralmente
através do vetor de interrupção, o qual contém os endereços de todas as
rotinas de serviço.
! Arquitetura da interrupção deve salvar o endereço da instrução
interrompida.
! A geração de novas interrupções é desabilitada enquanto uma outra
interrupção está sendo processada para evitar a perda de uma interrupção.
! Uma trap (ou exceção) é uma interrupção gerada por software causada
por uma requisição do usuário ou por um erro.
! Um sistema operacional é dirigido por interrupções.

Operating System Concepts – 9th Edition 1.14 Silberschatz, Galvin and Gagne ©2013
Linha do Tempo de uma Interrupção

Operating System Concepts – 9th Edition 1.15 Silberschatz, Galvin and Gagne ©2013
Tratamento de Interrupção
! O sistema operacional preserva o
estado da CPU armazenando
registradores e o PC (contador de
programas).
! Determina que tipo de interrupção
ocorreu:
" baseadas em polling
(sondagem)
" por meio do vetor de
interrupções
! Segmentos de código separados
determinam qual ação deve ser
realizada para cada tipo de
interrupção

Operating System Concepts – 9th Edition 1.16 Silberschatz, Galvin and Gagne ©2013
Ciclo de E/S por Interrupção
CPU I/O controller
1

device driver initiates I/O 2


initiates I/O

CPU executing checks for


interrupts between instructions
3

CPU receiving interrupt, 4 input ready, output


transfers control to complete, or error
interrupt handler generates interrupt signal
7
5

interrupt handler
processes data,
returns from interrupt

CPU resumes
processing of
interrupted task

Operating System Concepts – 9th Edition 1.17 Silberschatz, Galvin and Gagne ©2013
Estrutura de E/S
! Após o início de uma operação de E/S, o controle retorna ao
programa do usuário somente quando a requisição de E/S terminar.
" Instruções de espera liberam a CPU até a próxima interrupção
Laço de espera (contenção para acesso a memória).
"
" No máximo uma requisição de E/S está pendente de cada vez,
não ocorre processamento de E/S simultâneo.
! Após o início de uma operação de E/S, o controle retorna ao
programa do usuário sem aguardar o tratamento da requisição de E/S.
" Chamada de Sistemas (System call) – requisição ao sistema
operacional para permitir ao usuário aguardar o término da E/S.
" Tabela de Estados de Dispositivos contém uma entrada para cada
dispositivo de E/S indicando seu tipo, endereço e estado.
" Sistema operacional acessa a tabela de dispositivos de E/S para
determinar a situação do dispositivo e modificar a entrada na
tabela para incluir a interrupção.

Operating System Concepts – 9th Edition 1.18 Silberschatz, Galvin and Gagne ©2013
Tabela de Estados de Dispositivos

Operating System Concepts – 9th Edition 1.20 Silberschatz, Galvin and Gagne ©2013
Estruturas de Armazenamento
! Memória Principal – única grande área de armazenamento que a CPU pode
acessar diretamente.
" Acesso aleatório (RAM)
" Volátil
! Armazenamento Secundário – extensão da memória principal que fornece
grande capacidade de armazenamento persistente (não volátil).
! Discos Magnéticos – prato de metal rígido ou vidro coberto com material
magnético para armazenamento de dados
" Superfície do disco é dividida logicamente em trilhas, que são subdivididas
em setores.
" O controlador de disco determina a interação lógica entre o dispositivo e o
computador.
! Solid-state disks (SSD) – mais rápidos do que os discos rígidos, não voláteis
" Várias tecnologias
" Estão ficando mais populares conforme a capacidade de armazenamento
e desempenho aumentam e os preços caem

Operating System Concepts – 9th Edition 1.21 Silberschatz, Galvin and Gagne ©2013
Mecanismo de Movimento do Disco

Operating System Concepts – 9th Edition 1.22 Silberschatz, Galvin and Gagne ©2013
Hierarquia de Armazenamento
! Sistemas de Armazenamento são organizados em hierarquia.
" Velocidade
" Custo
" Volatilidade
! Caching – copiar informação em um sistema mais rápido de
armazenamento; memória principal pode ser vista como um cache para o
armazenamento secundário
! Device Driver específico para cada controlador gerenciar E/S
" Provê interface uniforme entre controlador e kernel

Operating System Concepts – 9th Edition 1.23 Silberschatz, Galvin and Gagne ©2013
Hierarquia de Dispositivos de Armazenamento

Operating System Concepts – 9th Edition 1.24 Silberschatz, Galvin and Gagne ©2013
Caching
! Princípio importante, realizado em muitos níveis no computador (no
hardware, sistema operacional, software)

! Informação em uso é copiada de um armazenamento mais lento para um


mais rápido temporariamente

! Armazenamento mais rápido (cache) é verificado primeiro para determinar


se a informação necessária está lá
" Se sim, informação é usada diretamente do cache (rápido)
" Se não, dados são copiados para o cache e usados lá

! Cache é menor que o armazenamento que está sendo usado


" Gerência de cache é um problema de projeto importante
" Tamanho do cache e política de substituição

Operating System Concepts – 9th Edition 1.25 Silberschatz, Galvin and Gagne ©2013
Como computadores modernos funcionam

Operating System Concepts – 9th Edition 1.26 Silberschatz, Galvin and Gagne ©2013
Estrutura de Acesso Direto à Memória
! Usado para dispositivos de E/S de alta velocidade capazes de transmitir
informação a uma taxa próxima da memória.
! Controladores de dispositivo transferem blocos de dados de um buffer de
armazenamento diretamente para a memória principal, sem intervenção da
CPU.
! Somente uma interrupção é gerada por bloco, ao invés de uma interrupção
por byte.

Operating System Concepts – 9th Edition 1.27 Silberschatz, Galvin and Gagne ©2013
Arquitetura de Sistemas Computacionais
! A maioria dos sitemas usa um único processador de propósito geral (de PDAs a
mainframes).
" Maioria dos sistemas têm também processadores de propósito específico.

! Sistemas com Multiprocessadores crescem em uso e importância


" Também chamados de sistemas paralelos, sistemas fortemente acoplados
" Vantagens incluem:
1. Vazão (throughput) aumentada
2. Economia de escala
3. Confiabilidade aumentada – degradação limpa ou tolerância a falhas
" Dois tipos:
1. Multiprocessamento assimétrico – cada processador recebe uma
tarefa específica
2. Multiprocessamento simétrico – cada processador pode executar
todas as tarefas

Operating System Concepts – 9th Edition 1.28 Silberschatz, Galvin and Gagne ©2013
Arquitetura de Multiprocessamento Simétrico

Operating System Concepts – 9th Edition 1.29 Silberschatz, Galvin and Gagne ©2013
Um Projeto Dual-core

Operating System Concepts – 9th Edition 1.30 Silberschatz, Galvin and Gagne ©2013
NUMA: Non-Uniform Memory Access

Operating System Concepts – 9th Edition 1.31 Silberschatz, Galvin and Gagne ©2013
Placa Mãe de um PC

Operating System Concepts – 9th Edition 1.34 Silberschatz, Galvin and Gagne ©2013
Multiprogramação e Multitarefa

! Multiprogramação (batch system) é necessária para eficiência


" Um único usuário não pode manter CPU e dispositivos de E/S ocupados todo o
tempo
" Multiprogramação organiza jobs (código e dados) de forma que a CPU sempre
tenha um para ser executado
" Um subconjunto do total de jobs no sistema é mantido na memória
" Um job é selecionado e executa via escalonamento de job
" Quando ele deve esperar (E/S por exemplo), SO executa outro job
! Tempo Compartilhado ou Timesharing (multitarefa) é uma extensão lógica
na qual a CPU altera jobs tão frequentemente que os usuários podem interagir com
cada job durante sua execução, criando computação interativa
" Tempo de Resposta deve ser < 1 segundo
" Cada usuário tem no mínimo um programa executando na memória [processo
" Se vários jobs estão prontos para executar ao mesmo tempo [ escalonamento
de CPU
" Se o processo não cabe na memória, swapping move alguns processos para o
armazenamento secundário para carregá-lo e executá-lo
" Memória Virtual permite execução de processos que não estejam
completamente na memória
Operating System Concepts – 9th Edition 1.35 Silberschatz, Galvin and Gagne ©2013
Memória em Sistemas Multiprogramados

Operating System Concepts – 9th Edition 1.36 Silberschatz, Galvin and Gagne ©2013
Operações do Sistema Operacional
! Programa de bootstrap – código simples para inicializar o sistema, carregar o
kernel
! Kernel é carregado
! Inicia system daemons (serviços oferecidos fora do kernel)
! Kernel dirigido por interrupções (hardware e software)
" Interrupção de hardware por um dos dispositivos
" Interrupção de software (exceção ou trap):
4 Errode software (e.g., divisão por zero)
4 Requisição de um serviço do sistema operacional – chamada de sistema
4 Outros problemas de processo incluem loop infinito, processos
modificando uns aos outros ou o sistema operacional

Operating System Concepts – 9th Edition 1.37 Silberschatz, Galvin and Gagne ©2013
Operações do Sistema Operacional
! Acionado por Interrupções (hardware e software)
" Interrupções de hardware por um dos dispositivos
" Interrupções de Software (exceções ou trap):
4 Errosde software (e.g., divisão por zero)
4 Requisição por serviços do sistema operacional
4 Outros problemas de processos incluem loops (laços) infinitos,
processos que modificam outros ou o sistema operacional
! Operação em Dois Modos possibilita que o SO se proteja e proteja outros
componentes do sistemas
" Modo Usuário e modo Kernel
" Mode bit fornecido pelo hardware
4 Possibilita determinar quando o sistema está executando código do
usuário ou do kernel
4 Algumas instruções são projetadas como privilegiadas, sendo
somente executáveis em modo kernel
4 System call (Chamada de sistema) troca o modo para kernel, no
retorno da chamada volta para modo usuário

Operating System Concepts – 9th Edition 1.38 Silberschatz, Galvin and Gagne ©2013
Transição do Modo Usuário para Modo Kernel

! Timer (Temporizador) para prevenir laços infinitos / processos


monopolizando recursos
" Gera interrupção após um período específico
" Sistema Operacional decrementa contador
" Quando um contador atinge zero é gerada uma interrupção
" Inicializado antes de escalonar o processo para ganhar novamente o
controle ou terminar o programa que excede o tempo alocado

Operating System Concepts – 9th Edition 1.39 Silberschatz, Galvin and Gagne ©2013
Gerência de Processos
! Um processo é um programa em execução. É uma unidade de trabalho no
sistema. Programa é uma entidade passiva, processo é uma entidade ativa.
! Processo necessita de recursos para realizar sua tarefa
" CPU, memória, E/S, arquivos
" Dados de inicialização
! Terminação de processos necessita reaproveitar quaisquer recursos reusáveis
! Processos com uma única thread (Single-threaded) têm um contador de
programas (PC) especificando a localização da próxima instrução a ser
executada
" Processos executam instruções sequencialmente, uma por vez, até acabar
! Processos com várias threads (Multi-threaded) possuem um contador de
programas por thread
! Tipicamente sistemas possuem vários processos, alguns usuários, algum sistema
operacional executando concorrentemente em uma ou mais CPUs
" A Concorrência é obtida multiplexando as CPUs entre os processos / threads

Operating System Concepts – 9th Edition 1.40 Silberschatz, Galvin and Gagne ©2013
Atividades da Gerência de Processos
O sistema operacional é responsável pelas seguintes atividades relacionadas
com gerência de processos:
! Criar e remover processos do usuário e do sistema
! Suspender e retomar processos
! Fornecer mecanismos para sincronização de processos
! Fornecer mecanismos para comunicação entre processos
! Fornecer mecanismos para tratamento de deadlocks

Operating System Concepts – 9th Edition 1.41 Silberschatz, Galvin and Gagne ©2013
Gerência de Memória

! Para executar um programa, todas (ou parte) das instruções devem


estar em memória
! Todos (ou parte) dos dados que o programa precisa devem estar na
memória
! Gerência de Memória determina “o que está na memória e quando”
" Otimizando a utilização da CPU e a resposta do computador aos
usuários
! Atividades da Gerência de Memória
" Controlar as partes da memória que estão sendo utilizadas e por
quem
" Decidir quais processos (ou partes deles) e dados colocar e
retirar da memória
" Alocação e desalocação de espaços de memória quando
necessário

Operating System Concepts – 9th Edition 1.42 Silberschatz, Galvin and Gagne ©2013
Gerência de Armazenamento
! O SO fornece uma visão lógica e uniforme do armazenamento de informações
" Propriedades físicas são abstraídas para unidade de armazenamento
lógico - arquivo
" Cada mídia é controlada por um dispositivo (ex., drive de disquete, drive
de fita)
4 Propriedades
variam: velocidade de acesso, capacidade, taxa de
transferência de dados, método de acesso (seqüencial ou aleatório)
! Gerência de Sistemas de Arquivos
" Arquivos são normalmente organizados em diretórios
" Existe controle de acesso na maioria dos sistemas para determinar quem
acessa o que
" Atividades do SO incluem
4 Criação e deleção de arquivos e diretórios
4 Primitivas para manipular arquivos e diretórios
4 Mapeamento de arquivos em armazenamento secundário
4 Cópia de Segurança de arquivos em mídias de armazenamento
estáveis (não voláteis)

Operating System Concepts – 9th Edition 1.43 Silberschatz, Galvin and Gagne ©2013
Gerência de Armazenamento em Massa
! Tipicamente discos são usados para armazenar dados que não cabem na memória
principal ou dados que devem ser guardados por um “longo” período de tempo.
! Gerência adequada é de vital importância
! A velocidade das operações do computador dependem fortemente dos subsistemas
de disco e seus algoritmos
! Atividades do SO
" Gerência do espaço livre
" Alocação de armazenamento
" Escalonamento de disco
! Alguns armazenamentos não precisam ser rápidos
" Armazenamento terciário inclui armazenamento óptico, fitas magnéticas
" Ainda devem ser gerenciados – pelo SO ou aplicações
" Varia entre WORM (write-once, read-many-times – escreve uma vez, lê muitas
vezes) e RW (read-write – leitura-escrita)

Operating System Concepts – 9th Edition 1.44 Silberschatz, Galvin and Gagne ©2013
Desempenho de Vários Níveis de Armazenamento

! Movimento entre níveis da hierarquia de armazenamento pode ser


explícito ou implícito.

Level 1 2 3 4 5
Name registers cache main memory solid state disk magnetic disk
Typical size < 1 KB < 16MB < 64GB < 1 TB < 10 TB
Implementation custom memory on-chip or CMOS SRAM flash memory magnetic disk
technology with multiple off-chip
ports CMOS CMOS SRAM
Access time (ns) 0.25 - 0.5 0.5 - 25 80 - 250 25,000 - 50,000 5,000,000
Bandwidth (MB/sec) 20,000 - 100,000 5,000 - 10,000 1,000 - 5,000 500 20 - 150
Managed by compiler hardware operating system operating system operating system
Backed by cache main memory disk disk disk or tape

Operating System Concepts – 9th Edition 1.45 Silberschatz, Galvin and Gagne ©2013
Migração de um Dado ”A” do Disco para Registrador

! Em ambientes multitarefa é preciso tomar cuidado para usar o valor mais


recente, não importa onde ele esteja armazenado na hierarquia

! Ambientes multiprocessados devem fornecer coerência de cache em


hardware possibilitando que todas as CPUS tenham o valor mais recente
em suas caches
! Em ambientes distribuídos a situação é ainda mais complexa
" Várias cópias dos dados podem existir
" Várias soluções são apresentadas no Capítulo 17

Operating System Concepts – 9th Edition 1.46 Silberschatz, Galvin and Gagne ©2013
Subsistema de E/S
! Um dos objetivos do SO é esconder peculiaridades dos dispositivos de
hardware do usuário
! Subsistema de E/S é responsável por
" Gerência de Memória de E/S incluindo:
4 bufferização - armazenando dados temporariamente enquanto
estão sendo transferidos
4 caching - armazenando partes dos dados em armazenamento mais
rápido para aumentar o desempenho
4 spooling - sobreposição da saída de um job com a entrada de outros
jobs
" Interface geral para drivers de dispositivos
" Drivers para dispositivos de hardware específicos

Operating System Concepts – 9th Edition 1.47 Silberschatz, Galvin and Gagne ©2013
Proteção e Segurança
! Proteção – qualquer mecanismo para controlar acesso de processos ou
usuários aos recursos definidos pelo SO
! Segurança – defesa do sistema contra ataques internos e externos
Conceito muito amplo, incluindo negação de serviços (DOS), worms,
"
vírus, roubo de identidade, roubo de serviço
! Sistema geralmente primeiro identifica os usuários, para determinar quem
pode fazer o que
" Identidades de Usuários (user IDs, security IDs) incluem nomes e
associam números, um por usuário
" user ID é associado com todos os arquivos, processos daquele usuário
para determinar o controle de acesso
" Identificador de Grupo (group ID) permite que um conjunto de usuários
seja definido e seu controle gerenciado, também sendo associado com
cada processo e arquivo
" aumento de privilégio (privilege escalation) permite que usuários
alterem para uma identificação com mais direitos

Operating System Concepts – 9th Edition 1.48 Silberschatz, Galvin and Gagne ©2013
Virtualização
! Permite que sistemas operacionais rodem aplicações dentro de outros SOs
" Indústria ampla e crescendo
! Emulação usada quando o tipo de CPU origem é diferente do tipo da CPU de
destino (i.e. PowerPC para Intel x86)
" Geralmente, é o método mais lento
" Quando o programa não é compilado para código nativo – Interpretação
! Virtualização – SO compilado nativamente para CPU, rodando SOs hóspedes
(guest) também compilados nativamente
" Considere VMware executando hóspedes WinXP, cada um rodando
aplicações, todas nativas de um host WinXP
" VMM (Virtual Machine Manager) provê os serviços de virtualização

Operating System Concepts – 9th Edition 1.49 Silberschatz, Galvin and Gagne ©2013
Virtualização
! Casos de uso envolvem laptops e desktops rodando múltiplos SOs para
exploração ou compatibilidade
" Laptop Apple rodando Mac OS X, Windows como hóspede
" Devesenvolver apps para múltiplos SOs sem ter múltiplos sistemas
" Aplicações de teste de QA sem ter múltiplos sistemas
" Execução e gerenciamento de ambiente computacional em centros de
dados
! VMM podem rodar nativamente. Neste caso, ele também é o host.
" Não há um host de propósito geral (VMware ESX e Citrix XenServer)

Operating System Concepts – 9th Edition 1.50 Silberschatz, Galvin and Gagne ©2013
Virtualização

processes

processes

processes processes

programming
kernel kernel kernel
interface
VM1 VM2 VM3
kernel
virtual machine
manager
hardware
hardware

(a) (b)

Operating System Concepts – 9th Edition 1.51 Silberschatz, Galvin and Gagne ©2013
Ambientes Computacionais

! Tradicional
! Móvel
! Cliente/Servidor
! Peer-to-Peer
! Computação em Nuvem (Cloud computing)

Operating System Concepts – 9th Edition 1.52 Silberschatz, Galvin and Gagne ©2013
Ambientes Computacionais
! Computadores Tradicionais
" Ficam obsoletos com o tempo
" Ambiente de Escritório
4 PCs conectados a um rede, terminais ligados ao mainframe ou
minicomputadores fornecendo batch (execução em lote) e
tempo compartilhado
4 Hoje existem portais permitindo acesso a redes e sistemas
remotos e aos mesmos recursos
" Redes Caseiras
4 Costumava ser um sistema isolado, com modem
4 Hoje conectado em rede e com firewall

Operating System Concepts – 9th Edition 1.53 Silberschatz, Galvin and Gagne ©2013
Móvel

! Dispositivos de mão: smartphones, tablets, etc.


! Qual é a diferença funcional entre eles e um laptop “tradicional”?
! Características extras – mais funcionalidades do OS (GPS, gyroscope)
! Permitem novos tipos de apps, como augmented reality
! Usam Wi-Fi IEEE 802.11ou redes de dados de celular para
conectividade
! Líderes são Apple iOS e Google Android

Operating System Concepts – 9th Edition 1.54 Silberschatz, Galvin and Gagne ©2013
Ambientes Computacionais (Cont.)

! Computação Cliente-Servidor
" Terminais burros suplantados por PCs mais poderosos
" Muitos sistemas agora servidores, respondendo a requisições
geradas pelos clientes
4 Servidor fornece uma interface ao cliente permitindo a
requisição de serviços (ex. bancos de dados)
4 Servidor de Arquivos fornece interface para clientes
armazenar e acessar arquivos

Operating System Concepts – 9th Edition 1.55 Silberschatz, Galvin and Gagne ©2013
Computação entre Pares (Peer-to-Peer)
! Outro modelo de sistema distribuído
! P2P não faz distinção entre clientes e servidores
" Ao contrário todos os nodos são considerados igualitários
" Cada um pode agir como cliente, servidor ou ambos
" Nodo deve se juntar a rede P2P
4 Registrar seus serviços com um serviço de procura central na rede,
ou
4 Distribuir requisição por serviço e responder para requisições por
serviço via protocolo de descoberta
" Exemplos incluem Napster e Gnutella

Operating System Concepts – 9th Edition 1.56 Silberschatz, Galvin and Gagne ©2013
Computação Baseada na Web
! Web se tornou ubíqua
! PCs são os dispositivos mais predominantes
! Mais dispositivos estão sendo conectados em redes permitindo acesso pela
web
! Nova categoria de dispositivos para gerenciar tráfego na web entre
servidores similares: balanceamento de carga
! Uso de sistemas operacionais como Windows 95, no lado do cliente,
desenvolveram-se para Linux. Mac OS e Windows Vista, que podem ser
clientes e servidores

Operating System Concepts – 9th Edition 1.57 Silberschatz, Galvin and Gagne ©2013
Cloud Computing
! Entrega computação, armazenamento e até mesmo apps como um
serviço pela rede
! Extensão lógica de virtualização, pois utiliza virtualização como base
para suas funcionalidades.
" Amazon EC2 possui milhares de servidores, milhões de
máquinas virtuais, petabytes de armazenamento disponíveis na
Internet. O pagamento é com base na utilização.

Operating System Concepts – 9th Edition 1.58 Silberschatz, Galvin and Gagne ©2013
Cloud Computing (Cont.)
! Muitos tipos
" Public cloud – disponível via Internet para quem quiser pagar
" Private cloud – gerenciada por uma empresa para seu próprio uso
" Hybrid cloud – inclui componentes públicos e privados
" Software as a Service (SaaS) – uma ou mais aplicações disponíveis
via the Internet (i.e., processador de texto)
" Platform as a Service (PaaS) – pilha de software pronta para uso de
aplicações via the Internet (i.e., um servidor de banco de dados)
" Infrastructure as a Service (IaaS) – servidores ou armazenamento
disponíveis via Internet (i.e., armazenamento disponível para
backup)

Operating System Concepts – 9th Edition 1.59 Silberschatz, Galvin and Gagne ©2013
Cloud Computing (cont.)
! Ambientes de cloud computing são compostos de SOs tradicionais,
mais VMMs e ferramentas de gerenciamento
" Conectividade de Internet requer segurança, como firewalls
" Balanceadores distribuem tráfego entre múltiplas aplicações

Internet
customer
requests

cloud
firewall customer
interface
load balancer cloud
management
commands

virtual virtual cloud


storage
machines machines managment
services

servers servers

Operating System Concepts – 9th Edition 1.60 Silberschatz, Galvin and Gagne ©2013
Sistemas Operacionais Open-Source
! Sistemas operacionais que disponibilizam o código-fonte e não
somente o código binário fechado

! Contra a proteção de cópia e o movimento Digital Rights


Management (DRM)

! Iniciado pela Free Software Foundation (FSF), que mantém


“copyleft” GNU Public License (GPL)

! Exemplos incluem GNU/Linux, Free BSD UNIX e Sun Solaris

Operating System Concepts – 9th Edition 1.62 Silberschatz, Galvin and Gagne ©2013
Fim do Capítulo 1

Operating System Concepts – 9th Edition Silberschatz, Galvin and Gagne ©2013

Você também pode gostar