SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Silberschatz, Galvin e Gagne – PUCGO – Prof. Msc. Anibal Santos Jukemura
Capítulo 1: Introdução
1.2 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Introdução
O que os sistemas operacionais fazem
Organização do sistema de computação
Arquitetura do sistema de computação
Estrutura do sistema operacional
Operações do sistema operacional
Gerenciamento de processos
Gerenciamento de memória
Gerenciamento de armazenamento
Proteção e segurança
Sistemas distribuídos
Sistemas de uso especial
Ambientes de computação
1.3 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Objetivos
Oferecer um passeio pelos principais
componentes dos sistemas operacionais
Oferecer cobertura sobre a organização básica
do sistema de computação
1.4 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
O que é um sistema operacional?
Um programa que atua como um intermediário entre
um usuário de um computador e o hardware do
computador.
Objetivos do sistema operacional:
Executar programas do usuário e facilitar a
solução dos problemas do usuário.
Tornar conveniente o uso do sistema de
computação.
Use o hardware do computador de maneira eficiente.
1.5 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Estrutura do sistema de computação
O sistema de computação pode ser dividido em 4 componentes
Hardware – oferece recursos de computação básicos
CPU, memória, dispositivos de E/S
Sistema operacional
Controla e coordena o uso do hardware entre diversas
aplicações e usuários
Programas de aplicação – definem as formas como os
recursos do sistema são usados para solucionar os
problemas de computação dos usuários
Processadores de textos, compiladores, navegadores
Web, sistemas de banco de dados, jogos
Usuários
Pessoas, máquinas, outros computadores
1.6 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Quatro componentes de um sistema de computação
1.7 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Definição do sistema operacional
SO é um alocador de recursos
Gerencia todos os recursos
Decide entre solicitações em conflito para uso
eficaz e justo do recurso
SO é um programa de controle
Controla a execução dos programas para impedir
erros e uso indevido do computador
1.8 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Definição do sistema operacional (cont.)
Nenhuma definição aceita universalmente
“Tudo o que um fornecedor entrega quando você
pede um sistemas operacionais” é uma boa
aproximação
Mas isso varia bastante
“O único programa rodando o tempo todo no
computador” é o kernel. Tudo o mais é um
programa do sistema (vem com o sistema
operacional) ou um programa de aplicação
1.9 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Inicialização do computador
O programa de bootstrap é carregado na
inicialização ou na partida
Normalmente armazenado em ROM ou EPROM,
geralmente conhecidos como firmware
Inicializa todos os aspectos do sistema
Carrega o kernel do sistema operacional e inicia a
execução
1.10 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Organização do sistema de computação
Operação do sistema de computação
Uma ou mais CPUs, controladores de dispositivo
conectados pelo barramento comum, oferecendo acesso à
memória compartilhada
Execução simultânea de CPUs e dispositivos, competindo
pelos ciclos de memória
1.11 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Organização do sistema de computação
Dispositivos de E/S e a CPU podem executar
simultaneamente.
Cada controlador de dispositivo está encarregado de
um tipo de dispositivo em particular.
Cada controlador de dispositivo tem um buffer local.
A CPU move de/para a memória principal de/para
buffers locais
A E/S é do dispositivo para o buffer local do
controlador.
O controlador de dispositivo informa à CPU que
terminou sua operação causando uma interrupção.
1.12 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Funções comuns das interrupções
A interrupção transfere o controle para a rotina de
atendimento de interrupção, por meio do vetor de
interrupção, que contém os endereços de todas as
rotinas de serviço.
A arquitetura da interrupção precisa salvar o
endereço da instrução interrompida.
As interrupções que chegam são desativadas
enquanto outra interrupção está sendo processada,
para evitar uma interrupção perdida.
Um trap é uma interrupção gerada pelo software,
causada ou por um erro ou por uma solicitação do
usuário.
Um sistema operacional é baseado em interrupção.
1.13 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Tratamento de interrupção
O sistema operacional preserva o estado da CPU,
armazenando os registrados e o contador de
programa.
Determina qual tipo de interrupção ocorreu:
polling
sistema de interrupção vetorizado
Segmentos de código separados determinam que
ação deverá ser tomada por cada tipo de
interrupção.
1.14 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
E/S Programada - polling
1.15 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Tratamento de interrupção
1.16 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Linha de tempo da interrupção
1.17 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Estrutura de E/S
Após o início da E/S, o controle só retorna ao usuário no término da
E/S.
A instrução wait deixa a CPU ociosa até a próxima interrupção
Loop de espera (disputa por acesso à memória).
No máximo uma solicitação de E/S está pendente de cada vez,
sem processamento simultâneo de E/S.
Após as partidas de E/S, o controle retorna ao programa do usuário
sem esperar pelo término da E/S.
Chamada do sistema – solicitação ao sistema operacional para
permitir que o usuário espere pelo término da E/S.
Tabela de status de dispositivo contém entrada para cada
dispositivo de E/S, indicando seu tipo, endereço e estado.
Índices do sistema operacional para tabela de dispositivo de
E/S,para determinar status do dispositivo e modificar entrada de
tabela para incluir interrupção.
1.18 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Dois métodos de E/S
Síncrona Assíncrona
1.19 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Tabela de status de dispositivo
1.20 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Estrutura de acesso direto à memória
Usado para dispositivos de E/S de alta velocidade,
capazes de transmitir informações em velocidades
próximas à da memória
Controlador de dispositivo transfere blocos de
dados do armazenamento em buffer 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.
1.21 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Estrutura de armazenamento
Memória principal – somente grandes meios de
armazenamento, que a CPU pode acessar diretamente.
Armazenamento secundário – extensão da memória
principal que oferece grande capacidade de
armazenamento não volátil.
Discos magnéticos – placas rígidas de metal ou vidro,
cobertas com material de gravação magnética.
A 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.
1.22 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Hierarquia de armazenamento
Sistemas de armazenamento organizados em
hierarquia.
Velocidade
Custo
Volatilidade
Caching – cópia de informações em um sistema de
armazenamento mais rápido; a memória principal
pode ser vista como um último cache para o
armazenamento secundário.
1.23 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Hierarquia de dispositivo de armazenamento
1.24 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Caching
Princípio importante, realizado em muitos níveis
Princípio importante, realizado em muitos níveis em um
computador (hardware, sistema operacional, software)
Informação em uso copiada do armazenamento mais lento
para o mais rápido temporariamente
Armazenamento mais rápido (cache) verificado primeiro
para determinar se a informação está lá
Se estiver, a informação é usada diretamente do cache
(rápido)
Se não, dados copiados ao cache e usados lá
Cache menor do que o armazenamento sendo mantido em
cache
Gerenciamento de cache, importante problema de
projeto
Tamanho do cache e política de substituição
1.25 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Desempenho de vários níveis de armazenamento
O movimento entre níveis de hierarquia de
armazenamento pode ser explícito ou implícito
1.26 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Migração do inteiro A do disco ao registrador
Ambientes multitarefa devem ter o cuidado de usar o valor
mais recente, não importa onde esteja armazenado na
hierarquia de armazenamento.
O ambiente multiprocessador deve oferecer coerência de
cache no hardware, de modo que todas as CPUs tenham o
valor mais recente em seu cache
Situação em ambiente distribuído ainda mais complexa
Pode haver várias cópias de um dado
Várias soluções abordadas no Capítulo 17
1.27 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Estrutura do sistema operacional
Multiprogramação necessária por eficiência
Único usuário não pode manter CPU e dispositivos
de E/S ocupados o tempo inteiro
Multiprogramação organiza jobs (código e dados), de
modo que a CPU sempre tem um a executar
Um subconjunto do total de jobs no sistema é
mantido na memória
Um job selecionado e executado via escalonamento
de job
Quando tiver que esperar (pela E/S, por exemplo),
o SO passa para outro job
1.28 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Estrutura do sistema operacional (cont.)
Tempo compartilhado (multitarefa) é a extensão lógica em que
a CPU alterna os jobs com tanta freqüência que os usuários
podem interagir com cada job enquanto ele está executando,
criando a computação interativa
Tempo de resposta deve ser < 1 segundo
Cada usuário tem pelo menos um programa executando na
memória processo
Se vários jobs prontos para executar ao mesmo tempo
escalonamento de CPU
Se os processos não couberem na memória, o swapping os
move para dentro e para fora, para execução
Memória virtual permite a execução de processos não
completamente na memória
1.29 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Layout da memória para sistema
multiprogramado
1.30 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Operações do sistema operacional
Interrupção controlada pelo hardware
Erro ou solicitação do software cria exceção ou trap
Divisão por zero, solicitação de serviço do sistema
operacional
Outros problemas de processo incluem loop infinito,
processos modificando uns aos outros ou o sistema
operacional
Operação em modo dual permite que o SO proteja a si
mesmo e a outros componentes do sistema
Modo usuário e modo kernel
Bit de modo fornecido pelo hardware
Oferece capacidade de distinguir quando o sistema
está executando código do usuário ou código do
kernel
Algumas instruções designadas como privilegiadas,
executáveis somente no modo kernel
Chamada do sistema muda o modo para kernel,
retorno da chamada volta para o modo usuário
1.31 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Transição do modo usuário para kernel
Timer para impedir loop infinito / processo apropriando-se de
recursos
Defina interrupção após período específico
Sistema operacional decrementa contador
Quando contador zera, gera uma interrupção
Configure antes de escalonar o processo para reobter o
controle ou terminar o programa que excede o tempo
alocado
1.32 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Gerenciamento de processo
Um processo é um programa em execução. Ele é uma unidade de trabalho
dentro do sistema. O programa é uma entidade passiva, o processo é uma
entidade ativa.
O processo precisa de recursos para realizar sua tarefa
CPU, memória, E/S, arquivos
Dados de inicialização
O término do processo exige o resgate de quaisquer recursos reutilizáveis
O processo de único thread tem um contador de programa especificando
o local da próxima instrução a ser executada
O processo executa instruções seqüencialmente, uma de cada vez,
até o término
O processo multithreaded tem um contador de programa por thread
Normalmente, o sistema tem muitos processos, algum usuário, algum
sistema operacional executando simultaneamente em uma ou mais CPUs
Concorrência multiplexando as CPUs enter os processos / threads
1.33 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Atividades de gerenciamento de processo
O sistema operacional é responsável pelas seguintes
atividades em conexão com o gerenciamento de
processos:
Criar e excluir processos do usuário e do sistema
Suspender e retomar processos
Fornecer mecanismos para sincronismo de processo
Fornecer mecanismos para comunicação de
processo
Fornecer mecanismos para tratamento de impasse
1.34 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Gerenciamento de memória
Todos os dados na memória antes e depois do
processamento
Todas as instruções na memória para poder executar
O gerenciamento de memória determina o que está na
memória quando
Otimização do uso de CPU e resposta do computador
aos usuários
Atividades de gerenciamento de memória
Acompanhar quais partes da memória estão sendo
usadas atualmente e por quem
Decidir quais processos (ou partes deles) e dados mover
para dentro e fora da memória
Alocar e desalocar espaço de memória conforme a
necessidade
1.35 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Gerenciamento de armazenamento
O SO oferece visão uniforme, lógica, do armazenamento de informações
Extrai propriedades físicas para unidade lógica de armazenamento –
arquivo
Cada meio é controlado pelo dispositivo (ou seja, unidade de disco,
unidade de fita)
Propriedades variáveis incluem velocidade de acesso, capacidade,
taxa de transferência de dados, método de acesso (seqüencial ou
aleatório)
Gerenciamento do sistema de arquivos
Arquivos normalmente organizados em diretórios
Controle de acesso na maioria dos sistemas para determinar quem
pode acessar o que
Atividades do SO incluem
Criar e excluir arquivos e diretórios
Primitivos para manipular arquivos e diretórios
Mapear arquivos no armazenamento secundário
Arquivos de backup no meio de armazenamento estável (não
volátil)
1.36 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Gerenciamento de armazenamento em massa
Normalmente, discos usados para armazenar dados que não cabem
na memória principal ou dados que precisam ser mantidos por um
“longo” período de tempo.
Gerenciamento apropriado é de importância central
Velocidade de operação do computador inteiro depende do
subsistema de disco e seus algoritmos
Atividades do SO
Gerenciamento do espaço livre
Alocação de armazenamento
Escalonamento de disco
Algum armazenamento não precisa ser rápido
Armazenamento terciário inclui armazenamento óptico, fita
magnética
Ainda precisa ser gerenciado
Varia entre WORM (write-once, read-many-times) e RW (read-
write)
1.37 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Subsistema de E/S
Uma finalidade do SO é ocultar do usuário as
peculiaridades dos dispositivos de hardware
Subsistema de E/S responsável por
Gerenciamento de memória da E/S, incluindo buffering
(armazenamento de dados temporariamente enquanto
estão sendo transferidos), caching (armazenamento de
partes dos dados em armazenamento mais rápido, para
aumentar o desempenho), spooling (a sobreposição da
saída de um job com a entrada de outros jobs)
Interface geral do driver de dispositivo
Drivers para dispositivos de hardware específicos
1.38 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Proteção e segurança
Proteção – qualquer mecanismos para controlar o acesso de
processos ou usuários aos recursos definidos pelo SO
Segurança – defesa do sistema contra ataques internos e
externos
Grande variedade, incluindo negação de serviço, vermes,
vírus, roubo de identidade, roubo de serviço
Os sistemas geralmente distinguem primeiro entre usuários, para
determinar quem pode fazer o que
Identidades do usuário (IDs de usuário, IDs de segurança)
incluem nome e número associado, um por usuário
ID de usuário então associado a todos os arquivos, processos
desse usuário para determinar controle de acesso
Identificador de grupo (ID de grupo) permite que conjunto de
usuários seja definido e controla gerenciados, depois também
associados a cada processo, arquivo
Escalada de privilégios permite que o usuário mude para ID
efetivo com mais direitos
1.39 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Ambientes de computação
Computador tradicional
Indistinto com o tempo
Ambiente de escritório
PCs conectados a uma rede, terminais conectados ao
mainframe ou microcomputadores oferecendo batch e
tempo compartilhado
Agora, portais permitindo acessos de sistemas em
rede e remotos aos mesmos recursos
Redes domésticas
Eram um sistema único, depois modems
Agora com firewall, em rede
1.40 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Ambientes de computação (cont.)
Computação cliente-servidor
Terminais burros suplantados por PCs inteligentes
Muitos sistemas agora servidores, respondendo a
solicitações geradas por clientes
Computador-servidor oferece uma interface do
cliente para solicitar serviços (isto é, banco de
dados)
Servidor de arquivos fornece interface para clientes
para armazenar e recuperar arquivos
1.41 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Computação ponto a ponto
Outro modelo de sistema distribuído
P2P não distingue clientes e servidores
Ao invés disso,todos os nós são considerados
iguais
Cada um pode atuar como servidor, cliente ou
ambos
Nó precisa se juntar à rede P2P
Registra seu serviço com serviço de pesquisa
central na rede, ou
Envia solicitação por broadcast para atender e
responder a pedidos de serviço via protocolo
de descoberta
Exemplos incluem Napster e Gnutella
1.42 Silberschatz, Galvin e Gagne ©2007
Conceitos de Sistema Operacional com Java 8ª Ed.
Computação baseada na Web
Web tornou-se onipresente
PCs são dispositivos mais prevalentes
Mais dispositivos em rede, para permitir acesso à
Web
Nova categoria de dispositivos para gerenciar
tráfego Web entre servidores semelhantes:
balanceadores de carga
Uso de sistemas operacionais como Windows 95,
lado cliente, evoluíram para Linux e Windows XP,
que podem ser clientes e servidores
Silberschatz, Galvin e Gagne – PUCGO – Prof. Msc. Anibal Santos Jukemura
Capítulo 1

Mais conteúdo relacionado

Semelhante a Compreensão sobre gerência de armazenamento em massa.

hardware de um sistema de computação
hardware de um sistema de computaçãohardware de um sistema de computação
hardware de um sistema de computaçãoelliando dias
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosJoseVieira75
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Hardware (nível 0)
Hardware (nível 0)Hardware (nível 0)
Hardware (nível 0)Tiago
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma JavaEteg
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacionalMichael Soto
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisAbnel Junior
 
Manual BASE Insight Lite Edition (Pt)
Manual BASE Insight Lite Edition (Pt)Manual BASE Insight Lite Edition (Pt)
Manual BASE Insight Lite Edition (Pt)BeAnywhere
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionaisSuperTec1
 
Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoLuiz Arthur
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalAlexandre Duarte
 
Princípios básicos da análise de malware
Princípios básicos da análise de malwarePrincípios básicos da análise de malware
Princípios básicos da análise de malwareMarcelo Souza
 

Semelhante a Compreensão sobre gerência de armazenamento em massa. (20)

hardware de um sistema de computação
hardware de um sistema de computaçãohardware de um sistema de computação
hardware de um sistema de computação
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
SO - Aula 02 - Conceitos
SO - Aula 02 - ConceitosSO - Aula 02 - Conceitos
SO - Aula 02 - Conceitos
 
Hardware (nível 0)
Hardware (nível 0)Hardware (nível 0)
Hardware (nível 0)
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma Java
 
Inovando na Plataforma Java
Inovando na Plataforma JavaInovando na Plataforma Java
Inovando na Plataforma Java
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Manual BASE Insight Lite Edition (Pt)
Manual BASE Insight Lite Edition (Pt)Manual BASE Insight Lite Edition (Pt)
Manual BASE Insight Lite Edition (Pt)
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
 
Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - Introducao
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema Operacional
 
Princípios básicos da análise de malware
Princípios básicos da análise de malwarePrincípios básicos da análise de malware
Princípios básicos da análise de malware
 

Compreensão sobre gerência de armazenamento em massa.

  • 1. Silberschatz, Galvin e Gagne – PUCGO – Prof. Msc. Anibal Santos Jukemura Capítulo 1: Introdução
  • 2. 1.2 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Introdução O que os sistemas operacionais fazem Organização do sistema de computação Arquitetura do sistema de computação Estrutura do sistema operacional Operações do sistema operacional Gerenciamento de processos Gerenciamento de memória Gerenciamento de armazenamento Proteção e segurança Sistemas distribuídos Sistemas de uso especial Ambientes de computação
  • 3. 1.3 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Objetivos Oferecer um passeio pelos principais componentes dos sistemas operacionais Oferecer cobertura sobre a organização básica do sistema de computação
  • 4. 1.4 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. O que é um sistema operacional? Um programa que atua como um intermediário entre um usuário de um computador e o hardware do computador. Objetivos do sistema operacional: Executar programas do usuário e facilitar a solução dos problemas do usuário. Tornar conveniente o uso do sistema de computação. Use o hardware do computador de maneira eficiente.
  • 5. 1.5 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Estrutura do sistema de computação O sistema de computação pode ser dividido em 4 componentes Hardware – oferece recursos de computação básicos CPU, memória, dispositivos de E/S Sistema operacional Controla e coordena o uso do hardware entre diversas aplicações e usuários Programas de aplicação – definem as formas como os recursos do sistema são usados para solucionar os problemas de computação dos usuários Processadores de textos, compiladores, navegadores Web, sistemas de banco de dados, jogos Usuários Pessoas, máquinas, outros computadores
  • 6. 1.6 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Quatro componentes de um sistema de computação
  • 7. 1.7 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Definição do sistema operacional SO é um alocador de recursos Gerencia todos os recursos Decide entre solicitações em conflito para uso eficaz e justo do recurso SO é um programa de controle Controla a execução dos programas para impedir erros e uso indevido do computador
  • 8. 1.8 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Definição do sistema operacional (cont.) Nenhuma definição aceita universalmente “Tudo o que um fornecedor entrega quando você pede um sistemas operacionais” é uma boa aproximação Mas isso varia bastante “O único programa rodando o tempo todo no computador” é o kernel. Tudo o mais é um programa do sistema (vem com o sistema operacional) ou um programa de aplicação
  • 9. 1.9 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Inicialização do computador O programa de bootstrap é carregado na inicialização ou na partida Normalmente armazenado em ROM ou EPROM, geralmente conhecidos como firmware Inicializa todos os aspectos do sistema Carrega o kernel do sistema operacional e inicia a execução
  • 10. 1.10 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Organização do sistema de computação Operação do sistema de computação Uma ou mais CPUs, controladores de dispositivo conectados pelo barramento comum, oferecendo acesso à memória compartilhada Execução simultânea de CPUs e dispositivos, competindo pelos ciclos de memória
  • 11. 1.11 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Organização do sistema de computação Dispositivos de E/S e a CPU podem executar simultaneamente. Cada controlador de dispositivo está encarregado de um tipo de dispositivo em particular. Cada controlador de dispositivo tem um buffer local. A CPU move de/para a memória principal de/para buffers locais A E/S é do dispositivo para o buffer local do controlador. O controlador de dispositivo informa à CPU que terminou sua operação causando uma interrupção.
  • 12. 1.12 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Funções comuns das interrupções A interrupção transfere o controle para a rotina de atendimento de interrupção, por meio do vetor de interrupção, que contém os endereços de todas as rotinas de serviço. A arquitetura da interrupção precisa salvar o endereço da instrução interrompida. As interrupções que chegam são desativadas enquanto outra interrupção está sendo processada, para evitar uma interrupção perdida. Um trap é uma interrupção gerada pelo software, causada ou por um erro ou por uma solicitação do usuário. Um sistema operacional é baseado em interrupção.
  • 13. 1.13 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Tratamento de interrupção O sistema operacional preserva o estado da CPU, armazenando os registrados e o contador de programa. Determina qual tipo de interrupção ocorreu: polling sistema de interrupção vetorizado Segmentos de código separados determinam que ação deverá ser tomada por cada tipo de interrupção.
  • 14. 1.14 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. E/S Programada - polling
  • 15. 1.15 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Tratamento de interrupção
  • 16. 1.16 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Linha de tempo da interrupção
  • 17. 1.17 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Estrutura de E/S Após o início da E/S, o controle só retorna ao usuário no término da E/S. A instrução wait deixa a CPU ociosa até a próxima interrupção Loop de espera (disputa por acesso à memória). No máximo uma solicitação de E/S está pendente de cada vez, sem processamento simultâneo de E/S. Após as partidas de E/S, o controle retorna ao programa do usuário sem esperar pelo término da E/S. Chamada do sistema – solicitação ao sistema operacional para permitir que o usuário espere pelo término da E/S. Tabela de status de dispositivo contém entrada para cada dispositivo de E/S, indicando seu tipo, endereço e estado. Índices do sistema operacional para tabela de dispositivo de E/S,para determinar status do dispositivo e modificar entrada de tabela para incluir interrupção.
  • 18. 1.18 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Dois métodos de E/S Síncrona Assíncrona
  • 19. 1.19 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Tabela de status de dispositivo
  • 20. 1.20 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Estrutura de acesso direto à memória Usado para dispositivos de E/S de alta velocidade, capazes de transmitir informações em velocidades próximas à da memória Controlador de dispositivo transfere blocos de dados do armazenamento em buffer 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.
  • 21. 1.21 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Estrutura de armazenamento Memória principal – somente grandes meios de armazenamento, que a CPU pode acessar diretamente. Armazenamento secundário – extensão da memória principal que oferece grande capacidade de armazenamento não volátil. Discos magnéticos – placas rígidas de metal ou vidro, cobertas com material de gravação magnética. A 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.
  • 22. 1.22 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Hierarquia de armazenamento Sistemas de armazenamento organizados em hierarquia. Velocidade Custo Volatilidade Caching – cópia de informações em um sistema de armazenamento mais rápido; a memória principal pode ser vista como um último cache para o armazenamento secundário.
  • 23. 1.23 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Hierarquia de dispositivo de armazenamento
  • 24. 1.24 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Caching Princípio importante, realizado em muitos níveis Princípio importante, realizado em muitos níveis em um computador (hardware, sistema operacional, software) Informação em uso copiada do armazenamento mais lento para o mais rápido temporariamente Armazenamento mais rápido (cache) verificado primeiro para determinar se a informação está lá Se estiver, a informação é usada diretamente do cache (rápido) Se não, dados copiados ao cache e usados lá Cache menor do que o armazenamento sendo mantido em cache Gerenciamento de cache, importante problema de projeto Tamanho do cache e política de substituição
  • 25. 1.25 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Desempenho de vários níveis de armazenamento O movimento entre níveis de hierarquia de armazenamento pode ser explícito ou implícito
  • 26. 1.26 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Migração do inteiro A do disco ao registrador Ambientes multitarefa devem ter o cuidado de usar o valor mais recente, não importa onde esteja armazenado na hierarquia de armazenamento. O ambiente multiprocessador deve oferecer coerência de cache no hardware, de modo que todas as CPUs tenham o valor mais recente em seu cache Situação em ambiente distribuído ainda mais complexa Pode haver várias cópias de um dado Várias soluções abordadas no Capítulo 17
  • 27. 1.27 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Estrutura do sistema operacional Multiprogramação necessária por eficiência Único usuário não pode manter CPU e dispositivos de E/S ocupados o tempo inteiro Multiprogramação organiza jobs (código e dados), de modo que a CPU sempre tem um a executar Um subconjunto do total de jobs no sistema é mantido na memória Um job selecionado e executado via escalonamento de job Quando tiver que esperar (pela E/S, por exemplo), o SO passa para outro job
  • 28. 1.28 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Estrutura do sistema operacional (cont.) Tempo compartilhado (multitarefa) é a extensão lógica em que a CPU alterna os jobs com tanta freqüência que os usuários podem interagir com cada job enquanto ele está executando, criando a computação interativa Tempo de resposta deve ser < 1 segundo Cada usuário tem pelo menos um programa executando na memória processo Se vários jobs prontos para executar ao mesmo tempo escalonamento de CPU Se os processos não couberem na memória, o swapping os move para dentro e para fora, para execução Memória virtual permite a execução de processos não completamente na memória
  • 29. 1.29 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Layout da memória para sistema multiprogramado
  • 30. 1.30 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Operações do sistema operacional Interrupção controlada pelo hardware Erro ou solicitação do software cria exceção ou trap Divisão por zero, solicitação de serviço do sistema operacional Outros problemas de processo incluem loop infinito, processos modificando uns aos outros ou o sistema operacional Operação em modo dual permite que o SO proteja a si mesmo e a outros componentes do sistema Modo usuário e modo kernel Bit de modo fornecido pelo hardware Oferece capacidade de distinguir quando o sistema está executando código do usuário ou código do kernel Algumas instruções designadas como privilegiadas, executáveis somente no modo kernel Chamada do sistema muda o modo para kernel, retorno da chamada volta para o modo usuário
  • 31. 1.31 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Transição do modo usuário para kernel Timer para impedir loop infinito / processo apropriando-se de recursos Defina interrupção após período específico Sistema operacional decrementa contador Quando contador zera, gera uma interrupção Configure antes de escalonar o processo para reobter o controle ou terminar o programa que excede o tempo alocado
  • 32. 1.32 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Gerenciamento de processo Um processo é um programa em execução. Ele é uma unidade de trabalho dentro do sistema. O programa é uma entidade passiva, o processo é uma entidade ativa. O processo precisa de recursos para realizar sua tarefa CPU, memória, E/S, arquivos Dados de inicialização O término do processo exige o resgate de quaisquer recursos reutilizáveis O processo de único thread tem um contador de programa especificando o local da próxima instrução a ser executada O processo executa instruções seqüencialmente, uma de cada vez, até o término O processo multithreaded tem um contador de programa por thread Normalmente, o sistema tem muitos processos, algum usuário, algum sistema operacional executando simultaneamente em uma ou mais CPUs Concorrência multiplexando as CPUs enter os processos / threads
  • 33. 1.33 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Atividades de gerenciamento de processo O sistema operacional é responsável pelas seguintes atividades em conexão com o gerenciamento de processos: Criar e excluir processos do usuário e do sistema Suspender e retomar processos Fornecer mecanismos para sincronismo de processo Fornecer mecanismos para comunicação de processo Fornecer mecanismos para tratamento de impasse
  • 34. 1.34 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Gerenciamento de memória Todos os dados na memória antes e depois do processamento Todas as instruções na memória para poder executar O gerenciamento de memória determina o que está na memória quando Otimização do uso de CPU e resposta do computador aos usuários Atividades de gerenciamento de memória Acompanhar quais partes da memória estão sendo usadas atualmente e por quem Decidir quais processos (ou partes deles) e dados mover para dentro e fora da memória Alocar e desalocar espaço de memória conforme a necessidade
  • 35. 1.35 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Gerenciamento de armazenamento O SO oferece visão uniforme, lógica, do armazenamento de informações Extrai propriedades físicas para unidade lógica de armazenamento – arquivo Cada meio é controlado pelo dispositivo (ou seja, unidade de disco, unidade de fita) Propriedades variáveis incluem velocidade de acesso, capacidade, taxa de transferência de dados, método de acesso (seqüencial ou aleatório) Gerenciamento do sistema de arquivos Arquivos normalmente organizados em diretórios Controle de acesso na maioria dos sistemas para determinar quem pode acessar o que Atividades do SO incluem Criar e excluir arquivos e diretórios Primitivos para manipular arquivos e diretórios Mapear arquivos no armazenamento secundário Arquivos de backup no meio de armazenamento estável (não volátil)
  • 36. 1.36 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Gerenciamento de armazenamento em massa Normalmente, discos usados para armazenar dados que não cabem na memória principal ou dados que precisam ser mantidos por um “longo” período de tempo. Gerenciamento apropriado é de importância central Velocidade de operação do computador inteiro depende do subsistema de disco e seus algoritmos Atividades do SO Gerenciamento do espaço livre Alocação de armazenamento Escalonamento de disco Algum armazenamento não precisa ser rápido Armazenamento terciário inclui armazenamento óptico, fita magnética Ainda precisa ser gerenciado Varia entre WORM (write-once, read-many-times) e RW (read- write)
  • 37. 1.37 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Subsistema de E/S Uma finalidade do SO é ocultar do usuário as peculiaridades dos dispositivos de hardware Subsistema de E/S responsável por Gerenciamento de memória da E/S, incluindo buffering (armazenamento de dados temporariamente enquanto estão sendo transferidos), caching (armazenamento de partes dos dados em armazenamento mais rápido, para aumentar o desempenho), spooling (a sobreposição da saída de um job com a entrada de outros jobs) Interface geral do driver de dispositivo Drivers para dispositivos de hardware específicos
  • 38. 1.38 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Proteção e segurança Proteção – qualquer mecanismos para controlar o acesso de processos ou usuários aos recursos definidos pelo SO Segurança – defesa do sistema contra ataques internos e externos Grande variedade, incluindo negação de serviço, vermes, vírus, roubo de identidade, roubo de serviço Os sistemas geralmente distinguem primeiro entre usuários, para determinar quem pode fazer o que Identidades do usuário (IDs de usuário, IDs de segurança) incluem nome e número associado, um por usuário ID de usuário então associado a todos os arquivos, processos desse usuário para determinar controle de acesso Identificador de grupo (ID de grupo) permite que conjunto de usuários seja definido e controla gerenciados, depois também associados a cada processo, arquivo Escalada de privilégios permite que o usuário mude para ID efetivo com mais direitos
  • 39. 1.39 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Ambientes de computação Computador tradicional Indistinto com o tempo Ambiente de escritório PCs conectados a uma rede, terminais conectados ao mainframe ou microcomputadores oferecendo batch e tempo compartilhado Agora, portais permitindo acessos de sistemas em rede e remotos aos mesmos recursos Redes domésticas Eram um sistema único, depois modems Agora com firewall, em rede
  • 40. 1.40 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Ambientes de computação (cont.) Computação cliente-servidor Terminais burros suplantados por PCs inteligentes Muitos sistemas agora servidores, respondendo a solicitações geradas por clientes Computador-servidor oferece uma interface do cliente para solicitar serviços (isto é, banco de dados) Servidor de arquivos fornece interface para clientes para armazenar e recuperar arquivos
  • 41. 1.41 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Computação ponto a ponto Outro modelo de sistema distribuído P2P não distingue clientes e servidores Ao invés disso,todos os nós são considerados iguais Cada um pode atuar como servidor, cliente ou ambos Nó precisa se juntar à rede P2P Registra seu serviço com serviço de pesquisa central na rede, ou Envia solicitação por broadcast para atender e responder a pedidos de serviço via protocolo de descoberta Exemplos incluem Napster e Gnutella
  • 42. 1.42 Silberschatz, Galvin e Gagne ©2007 Conceitos de Sistema Operacional com Java 8ª Ed. Computação baseada na Web Web tornou-se onipresente PCs são dispositivos mais prevalentes Mais dispositivos em rede, para permitir acesso à Web Nova categoria de dispositivos para gerenciar tráfego Web entre servidores semelhantes: balanceadores de carga Uso de sistemas operacionais como Windows 95, lado cliente, evoluíram para Linux e Windows XP, que podem ser clientes e servidores
  • 43. Silberschatz, Galvin e Gagne – PUCGO – Prof. Msc. Anibal Santos Jukemura Capítulo 1