Sei sulla pagina 1di 41

Captulo 1: Introduo

Silberschatz, Galvin e Gagne PUCGO Prof. Msc. Anibal Santos Jukemura

Captulo 1: Introduo
O que os sistemas operacionais fazem Organizao do sistema de computao Arquitetura do sistema de computao Estrutura do sistema operacional Operaes do sistema operacional Gerenciamento de processos Gerenciamento de memria Gerenciamento de armazenamento Proteo e segurana Sistemas distribudos Sistemas de uso especial Ambientes de computao

Conceitos de Sistema Operacional com Java 8 Ed.

1.2

Silberschatz, Galvin e Gagne 2007

Objetivos
Oferecer um passeio pelos principais componentes dos sistemas operacionais Oferecer cobertura sobre a organizao bsica do sistema de computao

Conceitos de Sistema Operacional com Java 8 Ed.

1.3

Silberschatz, Galvin e Gagne 2007

O que um sistema operacional?


Um programa que atua como um intermedirio entre um usurio de um computador e o hardware do computador. Objetivos do sistema operacional: Executar programas do usurio e facilitar a soluo dos problemas do usurio. Tornar conveniente o uso do sistema de computao. Use o hardware do computador de maneira eficiente.

Conceitos de Sistema Operacional com Java 8 Ed.

1.4

Silberschatz, Galvin e Gagne 2007

Estrutura do sistema de computao


O sistema de computao pode ser dividido em 4 componentes Hardware oferece recursos de computao bsicos CPU, memria, dispositivos de E/S Sistema operacional Controla e coordena o uso do hardware entre diversas aplicaes e usurios Programas de aplicao definem as formas como os recursos do sistema so usados para solucionar os problemas de computao dos usurios Processadores de textos, compiladores, navegadores Web, sistemas de banco de dados, jogos Usurios Pessoas, mquinas, outros computadores

Conceitos de Sistema Operacional com Java 8 Ed.

1.5

Silberschatz, Galvin e Gagne 2007

Quatro componentes de um sistema de computao

Conceitos de Sistema Operacional com Java 8 Ed.

1.6

Silberschatz, Galvin e Gagne 2007

Definio do sistema operacional


SO um alocador de recursos Gerencia todos os recursos Decide entre solicitaes em conflito para uso eficaz e justo do recurso SO um programa de controle Controla a execuo dos programas para impedir erros e uso indevido do computador

Conceitos de Sistema Operacional com Java 8 Ed.

1.7

Silberschatz, Galvin e Gagne 2007

Definio do sistema operacional (cont.)


Nenhuma definio aceita universalmente Tudo o que um fornecedor entrega quando voc pede um sistemas operacionais uma boa aproximao 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 aplicao

Conceitos de Sistema Operacional com Java 8 Ed.

1.8

Silberschatz, Galvin e Gagne 2007

Inicializao do computador
O programa de bootstrap carregado na inicializao 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 execuo

Conceitos de Sistema Operacional com Java 8 Ed.

1.9

Silberschatz, Galvin e Gagne 2007

Organizao do sistema de computao


Operao do sistema de computao Uma ou mais CPUs, controladores de dispositivo conectados pelo barramento comum, oferecendo acesso memria compartilhada Execuo simultnea de CPUs e dispositivos, competindo pelos ciclos de memria

Conceitos de Sistema Operacional com Java 8 Ed.

1.10

Silberschatz, Galvin e Gagne 2007

Organizao do sistema de computao


Dispositivos de E/S e a CPU podem executar simultaneamente. Caca 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 memria 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 operao causando uma interrupo.

Conceitos de Sistema Operacional com Java 8 Ed.

1.11

Silberschatz, Galvin e Gagne 2007

Funes comuns das interrupes


A interrupo transfere o controle para a rotina de atendimento de interrupo, por meio do vetor de interrupo, que contm os endereos de todas as rotinas de servio. A arquitetura da interrupo precisa salvar o endereo da instruo interrompida. As interrupes que chegam so desativadas enquanto outra interrupo est sendo processada, para evitar uma interrupo perdida. Um trap uma interrupo gerada pelo software, causada ou por um erro ou por uma solicitao do usurio. Um sistema operacional baseado em interrupo.

Conceitos de Sistema Operacional com Java 8 Ed.

1.12

Silberschatz, Galvin e Gagne 2007

Tratamento de interrupo
O sistema operacional preserva o estado da CPU, armazenando os registrados e o contador de programa. Determina qual tipo de interrupo ocorreu: polling sistema de interrupo vetorizado Segmentos de cdigo separados determinam que ao dever ser tomada por cada tipo de interrupo.

Conceitos de Sistema Operacional com Java 8 Ed.

1.13

Silberschatz, Galvin e Gagne 2007

Linha de tempo da interrupo

Conceitos de Sistema Operacional com Java 8 Ed.

1.14

Silberschatz, Galvin e Gagne 2007

Estrutura de E/S
Aps o incio da E/S, o controle s retorna ao usurio no trmino da E/S. A instruo wait deixa a CPU ociosa at a prxima interrupo Loop de espera (disputa por acesso memria). No mximo uma solicitao de E/S est pendente de cada vez, sem processamento simultneo de E/S. Aps as partidas de E/S, o controle retorna ao programa do usurio sem esperar pelo trmino da E/S. Chamada do sistema solicitao ao sistema operacional para permitir que o usurio espere pelo trmino da E/S. Tabela de status de dispositivo contm entrada para cada dispositivo de E/S, indicando seu tipo, endereo 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 interrupo.

Conceitos de Sistema Operacional com Java 8 Ed.

1.15

Silberschatz, Galvin e Gagne 2007

Dois mtodos de E/S

Sncrona

Assncrona

Conceitos de Sistema Operacional com Java 8 Ed.

1.16

Silberschatz, Galvin e Gagne 2007

Tabela de status de dispositivo

Conceitos de Sistema Operacional com Java 8 Ed.

1.17

Silberschatz, Galvin e Gagne 2007

Estrutura de acesso direto memria


Usado para dispositivos de E/S de alta velocidade, capazes de transmitir informaes em velocidades prximas da memria Controlador de dispositivo transfere blocos de dados do armazenamento em buffer diretamente para a memria principal, sem interveno da CPU Somente uma interrupo gerada por bloco, ao invs de uma interrupo por byte.

Conceitos de Sistema Operacional com Java 8 Ed.

1.18

Silberschatz, Galvin e Gagne 2007

Estrutura de armazenamento
Memria principal somente grandes meios de armazenamento, que a CPU pode acessar diretamente. Armazenamento secundrio extenso da memria principal que oferece grande capacidade de armazenamento no voltil. Discos magnticos placas rgidas de metal ou vidro, cobertas com material de gravao magntica. A superfcie do disco dividida logicamente em trilhas, que so subdivididas em setores. O controlador de disco determina a interao lgica entre o dispositivo e o computador.

Conceitos de Sistema Operacional com Java 8 Ed.

1.19

Silberschatz, Galvin e Gagne 2007

Hierarquia de armazenamento
Sistemas de armazenamento organizados em hierarquia. Velocidade Custo Volatilidade Caching cpia de informaes em um sistema de armazenamento mais rpido; a memria principal pode ser vista como um ltimo cache para o armazenamento secundrio.

Conceitos de Sistema Operacional com Java 8 Ed.

1.20

Silberschatz, Galvin e Gagne 2007

Hierarquia de dispositivo de armazenamento

Conceitos de Sistema Operacional com Java 8 Ed.

1.21

Silberschatz, Galvin e Gagne 2007

Caching
Princpio importante, realizado em muitos nveis Princpio importante, realizado em muitos nveis em um computador (hardware, sistema operacional, software) Informao em uso copiada do armazenamento mais lento para o mais rpido temporariamente Armazenamento mais rpido (cache) verificado primeiro para determinar se a informao est l Se estiver, a informao usada diretamente do cache (rpido) Se no, 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 poltica de substituio

Conceitos de Sistema Operacional com Java 8 Ed.

1.22

Silberschatz, Galvin e Gagne 2007

Desempenho de vrios nveis de armazenamento O movimento entre nveis de hierarquia de armazenamento pode ser explcito ou implcito

Conceitos de Sistema Operacional com Java 8 Ed.

1.23

Silberschatz, Galvin e Gagne 2007

Migrao do inteiro A do disco ao registrador


Ambientes multitarefa devem ter o cuidado de usar o valor mais recente, no importa onde esteja armazenado na hierarquia de armazenamento.

O ambiente multiprocessador deve oferecer coerncia de cache no hardware, de modo que todas as CPUs tenham o valor mais recente em seu cache Situao em ambiente distribudo ainda mais complexa Pode haver vrias cpias de um dado Vrias solues abordadas no Captulo 17

Conceitos de Sistema Operacional com Java 8 Ed.

1.24

Silberschatz, Galvin e Gagne 2007

Estrutura do sistema operacional


Multiprogramao necessria por eficincia nico usurio no pode manter CPU e dispositivos de E/S ocupados o tempo inteiro Multiprogramao organiza jobs (cdigo e dados), de modo que a CPU sempre tem um a executar Um subconjunto do total de jobs no sistema mantido na memria Um job selecionado e executado via escalonamento de job Quando tiver que esperar (pela E/S, por exemplo), o SO passa para outro job

Conceitos de Sistema Operacional com Java 8 Ed.

1.25

Silberschatz, Galvin e Gagne 2007

Estrutura do sistema operacional (cont.)


Tempo compartilhado (multitarefa) a extenso lgica em que a CPU alterna os jobs com tanta freqncia que os usurios podem interagir com cada job enquanto ele est executando, criando a computao interativa Tempo de resposta deve ser < 1 segundo Cada usurio tem pelo menos um programa executando na memria processo Se vrios jobs prontos para executar ao mesmo tempo escalonamento de CPU Se os processos no couberem na memria, o swapping os move para dentro e para fora, para execuo Memria virtual permite a execuo de processos no completamente na memria

Conceitos de Sistema Operacional com Java 8 Ed.

1.26

Silberschatz, Galvin e Gagne 2007

Layout da memria para sistema multiprogramado

Conceitos de Sistema Operacional com Java 8 Ed.

1.27

Silberschatz, Galvin e Gagne 2007

Operaes do sistema operacional


Interrupo controlada pelo hardware Erro ou solicitao do software cria exceo ou trap Diviso por zero, solicitao de servio do sistema operacional Outros problemas de processo incluem loop infinito, processos modificando uns aos outros ou o sistema operacional Operao em modo dual permite que o SO proteja a si mesmo e a outros componentes do sistema Modo usurio e modo kernel Bit de modo fornecido pelo hardware Oferece capacidade de distinguir quando o sistema est executando cdigo do usurio ou cdigo do kernel Algumas instrues designadas como privilegiadas, executveis somente no modo kernel Chamada do sistema muda o modo para kernel, retorno da chamada volta para o modo usurio Silberschatz, Galvin e Gagne 2007 Conceitos de Sistema Operacional com Java 8 Ed. 1.28

Transio do modo usurio para kernel


Timer para impedir loop infinito / processo apropriando-se de recursos Defina interrupo aps perodo especfico Sistema operacional decrementa contador Quando contador zera, gera uma interrupo Configure antes de escalonar o processo para reobter o controle ou terminar o programa que excede o tempo alocado

Conceitos de Sistema Operacional com Java 8 Ed.

1.29

Silberschatz, Galvin e Gagne 2007

Gerenciamento de processo
Um processo um programa em execuo. 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, memria, E/S, arquivos Dados de inicializao O trmino do processo exige o resgate de quaisquer recursos reutilizveis O processo de nico thread tem um contador de programa especificando o local da prxima instruo a ser executada O processo executa instrues seqencialmente, uma de cada vez, at o trmino O processo multithreaded tem um contador de programa por thread Normalmente, o sistema tem muitos processos, algum usurio, algum sistema operacional executando simultaneamente em uma ou mais CPUs Concorrncia multiplexando as CPUs enter os processos / threads

Conceitos de Sistema Operacional com Java 8 Ed.

1.30

Silberschatz, Galvin e Gagne 2007

Atividades de gerenciamento de processo


O sistema operacional responsvel pelas seguintes atividades em conexo com o gerenciamento de processos: Criar e excluir processos do usurio e do sistema Suspender e retomar processos Fornecer mecanismos para sincronismo de processo Fornecer mecanismos para comunicao de processo Fornecer mecanismos para tratamento de impasse

Conceitos de Sistema Operacional com Java 8 Ed.

1.31

Silberschatz, Galvin e Gagne 2007

Gerenciamento de memria
Todos os dados na memria antes e depois do processamento Todas as instrues na memria para poder executar O gerenciamento de memria determina o que est na memria quando Otimizao do uso de CPU e resposta do computador aos usurios Atividades de gerenciamento de memria Acompanhar quais partes da memria esto sendo usadas atualmente e por quem Decidir quais processos (ou partes deles) e dados mover para dentro e fora da memria Alocar e desalocar espao de memria conforme a necessidade

Conceitos de Sistema Operacional com Java 8 Ed.

1.32

Silberschatz, Galvin e Gagne 2007

Gerenciamento de armazenamento
O SO oferece viso uniforme, lgica, do armazenamento de informaes Extrai propriedades fsicas para unidade lgica de armazenamento arquivo Cada meio controlado pelo dispositivo (ou seja, unidade de disco, unidade de fita) Propriedades variveis incluem velocidade de acesso, capacidade, taxa de transferncia de dados, mtodo de acesso (seqencial ou aleatrio) Gerenciamento do sistema de arquivos Arquivos normalmente organizados em diretrios Controle de acesso na maioria dos sistemas para determinar quem pode acessar o que Atividades do SO incluem Criar e excluir arquivos e diretrios Primitivos para manipular arquivos e diretrios Mapear arquivos no armazenamento secundrio Arquivos de backup no meio de armazenamento estvel (no voltil)

Conceitos de Sistema Operacional com Java 8 Ed.

1.33

Silberschatz, Galvin e Gagne 2007

Gerenciamento de armazenamento em massa


Normalmente, discos usados para armazenar dados que no cabem na memria principal ou dados que precisam ser mantidos por um longo perodo de tempo. Gerenciamento apropriado de importncia central Velocidade de operao do computador inteiro depende do subsistema de disco e seus algoritmos Atividades do SO Gerenciamento do espao livre Alocao de armazenamento Escalonamento de disco Algum armazenamento no precisa ser rpido Armazenamento tercirio inclui armazenamento ptico, fita magntica Ainda precisa ser gerenciado Varia entre WORM (write-once, read-many-times) e RW (readwrite)

Conceitos de Sistema Operacional com Java 8 Ed.

1.34

Silberschatz, Galvin e Gagne 2007

Subsistema de E/S
Uma finalidade do SO ocultar do usurio as peculiaridades dos dispositivos de hardware Subsistema de E/S responsvel por Gerenciamento de memria da E/S, incluindo buffering (armazenamento de dados temporariamente enquanto esto sendo transferidos), caching (armazenamento de partes dos dados em armazenamento mais rpido, para aumentar o desempenho), spooling (a sobreposio da sada de um job com a entrada de outros jobs) Interface geral do driver de dispositivo Drivers para dispositivos de hardware especficos Silberschatz, Galvin e Gagne 2007 Conceitos de Sistema Operacional com Java 8 Ed. 1.35

Proteo e segurana
Proteo qualquer mecanismos para controlar o acesso de processos ou usurios aos recursos definidos pelo SO Segurana defesa do sistema contra ataques internos e externos Grande variedade, incluindo negao de servio, vermes, vrus, roubo de identidade, roubo de servio Os sistemas geralmente distinguem primeiro entre usurios, para determinar quem pode fazer o que Identidades do usurio (IDs de usurio, IDs de segurana) incluem nome e nmero associado, um por usurio ID de usurio ento associado a todos os arquivos, processos desse usurio para determinar controle de acesso Identificador de grupo (ID de grupo) permite que conjunto de usurios seja definido e controla gerenciados, depois tambm associados a cada processo, arquivo Escalada de privilgios permite que o usurio mude para ID efetivo com mais direitos

Conceitos de Sistema Operacional com Java 8 Ed.

1.36

Silberschatz, Galvin e Gagne 2007

Ambientes de computao
Computador tradicional Indistinto com o tempo Ambiente de escritrio 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 domsticas Eram um sistema nico, depois modems Agora com firewall, em rede

Conceitos de Sistema Operacional com Java 8 Ed.

1.37

Silberschatz, Galvin e Gagne 2007

Ambientes de computao (cont.)


Computao cliente-servidor Terminais burros suplantados por PCs inteligentes Muitos sistemas agora servidores, respondendo a solicitaes geradas por clientes Computador-servidor oferece uma interface do cliente para solicitar servios (isto , banco de dados) Servidor de arquivos fornece interface para clientes para armazenar e recuperar arquivos

Conceitos de Sistema Operacional com Java 8 Ed.

1.38

Silberschatz, Galvin e Gagne 2007

Computao ponto a ponto


Outro modelo de sistema distribudo P2P no distingue clientes e servidores Ao invs disso,todos os ns so considerados iguais Cada um pode atuar como servidor, cliente ou ambos N precisa se juntar rede P2P Registra seu servio com servio de pesquisa central na rede, ou Envia solicitao por broadcast para atender e responder a pedidos de servio via protocolo de descoberta Exemplos incluem Napster e Gnutella
Conceitos de Sistema Operacional com Java 8 Ed. 1.39 Silberschatz, Galvin e Gagne 2007

Computao baseada na Web


Web tornou-se onipresente PCs so dispositivos mais prevalentes Mais dispositivos em rede, para permitir acesso Web Nova categoria de dispositivos para gerenciar trfego Web entre servidores semelhantes: balanceadores de carga Uso de sistemas operacionais como Windows 95, lado cliente, evoluram para Linux e Windows XP, que podem ser clientes e servidores

Conceitos de Sistema Operacional com Java 8 Ed.

1.40

Silberschatz, Galvin e Gagne 2007

Final do Captulo 1

Silberschatz, Galvin e Gagne PUCGO Prof. Msc. Anibal Santos Jukemura

Potrebbero piacerti anche