estruturas dos sistemas operacionais. 3.2 assuntos n componentes n serviços n chamadas n estrutura...

36
Estruturas dos Sistemas Operacionais

Upload: internet

Post on 21-Apr-2015

128 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

Estruturas dos Sistemas Operacionais

Page 2: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.2

Assuntos

Componentes Serviços Chamadas Estrutura Máquinas virtuais Projeto e implementação Geração

Page 3: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.3

Componentes Comuns

GerênciaProcessosMemória principalArquivosSistema de E/SMemória secondária

Rede Sistema de proteção Interpretador de comandos

Page 4: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.4

Gerência de Processos

Um processo é um programa em execução

Necessita de CPU, memória, arquivos, dispositivos de E/S

Papel do SOCriar e terminar processosSuspender e recomeçar processosProver mecanismos para

SincronizaçãoComunicação entre processos

Page 5: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.5

Gerência de Memória Principal

MemóriaLista endereçável Perde conteúdo se desligada

Papel do SOManter dados sobre uso da memória

Que partes, quem é o donoDecidir que processo carregar quando

há espaçoAlocar e desalocar memória

Page 6: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.6

Gerência de Entrada e Saída

O sistema de E/S consiste deUm sistema de buffer-cachingUma interface geral para

gerenciadores (drivers) de dispositivosGerenciadores (drivers) para

dispositivos de hardware

Page 7: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.7

Gerência de Arquivos

Um arquivo é um conjunto de informaçõesProgramas, dados

Papel do SO:Criar e apagar arquivosCriar e apagar diretóriosInstruções para manipulação de

arquivos e diretóriosMapear arquivos em armazenamento

secundárioFazer backup

Page 8: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.8

Gerência de Armazenamento

Secundário

Para manter dados entre acionamentos do computador

Normalmente discos Papel do SO:

Gerência de espaço livreAlocação de espaçoEscalonamento do acesso à disco

Page 9: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.9

Rede (Sistemas Distribuídos)

Um sistema distribuído é um conjunto de CPUs não compartilham memória

ou relógio Eles se comunicam via rede

usando protocolos Vantagens

Mais rápidoMaior disponibilidadeMaior confiabilidade

Page 10: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.10

Sistema de Proteção

Mecanismo para controlar acesso de processos ou usuários à recursos do sistema ou de usuários

O sistema de proteção precisa:Distinguir uso autorizado do não autorizadoEspecificar os controles a serem impostosProver uma maneira de manter obediência

Page 11: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.11

Interpretador de Comandos

Interface entre usuário e SO Chamado também de “shell” Busca um comando do console

e o executa Pode também ser gráfico

Page 12: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.12

Serviços do Sistema Operacional

Execução de programas Operações de E/S Manipulações do sistema

de arquivos Comunicação entre processos Detecção de erros

Page 13: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.13

Funções Adicionais

Para permitir a operação eficienteAlocação de recursosContabilidadeProteção

Page 14: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.14

Chamadas ao Sistema

Interface entre um processo e o SODisponíveis como instruções

em assemblyTambém em bibliotecas de linguagens

de alto nível Passagem de parâmetro

RegistradoresEndereço de tabela em memóriaPilha (stack)

Page 15: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.15

Execução em MS-DOS

No início Rodando um Programa

Page 16: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.16

Rodando Múltiplos Programas em UNIX

Sistema Operacional

Page 17: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.17

Modelos de Comunicação

Via Troca de Mensagens Via Memória Compartilhada

Page 18: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.18

Programas do SO

Provêm ambiente para a execução de programasManipulação de arquivosStatusSuporte a linguagens de programaçãoCarga e execução de programasComunicação

A interface com o usuário é definida pelos programas do SO, e não pelas chamadas

Page 19: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.19

Estrutura do MS-DOS

DOS foi escrito para prover máxima funcionalidade em pouco espaço

Não é dividido em módulos Monolítico

Interfaces e níveis de funcionalidade não são bem divididos

Page 20: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.20

Estrutura em Camadas do DOS

Page 21: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.21

Estrutura do Unix

Original: duas partesKernel

Tudo entre a interface de chamadas ao sistema e o hardware

Prove sistema de arquivos, escalonamento da CPU, gerência de memória, etc

Programas do sistemaShellOutros: ls, more, chmod, vi

Page 22: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.22

Estrutura do Unix

Page 23: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.23

Trabalhando em Camadas

O SO pode ser dividido em camadas (níveis) construidas sobre outras camadas, da interface com o hardware até o hardware

Programando de forma modular, cada nível só usa serviços do nível inferior, e oferece serviços para o nível superior

Page 24: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.24

A Estrutura em Camadas do OS/2

Page 25: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.25

O Microkernel

O kernel é minimizado Funções são feitas no espaço

do usuário Comunicação usa passagem de

mensagems Vantagens

Facilmente extensívelFacilmente portávelMaid confiávelMais seguro

Page 26: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.26

Estrutura Cliente-Servidor do Windows NT

Page 27: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.27

Máquinas Virtuais

Hardware+OS considerado como hardware

Interface idêntica à máquina original (não necessariamente)

OS cria a ilusão de múltiplas máquinas independentes sobre uma única máquina real

Page 28: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.28

Máquinas Virtuais (VM)

Recursos compartilhadosCPU é escalonadaSpooling gera impressoras

virtuaisUm terminal normal passa a ser o console do operador

Page 29: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.29

Modelo do Sistema

Non-virtual Machine Virtual Machine

Page 30: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.30

Vantagens/Desvantages das VM

Isolamento entre máquinas virtuaisProteção completaImpossível compartilhamento de

recursos Perfeita para desenvolvimento de SO

Não é necessário dedicar uma máquinaMaior controle

Difícil de implementarCópia exata

Page 31: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.31

Máquina Virtual Java (JVM)

Programas java compilados são bytecodes que podem rodar em qualquer arquitetura onde uma JVM exista

A JVM consiste deClass loader (carga)Class verifier (verificação) Runtime interpreter (interpretação)

Compiladores de tempo real (just-in-time JIT) aumentam a performance

Page 32: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.32

Máquina Virtual Java (JVM)

Page 33: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.33

Objetivos no Projeto de um SO

Para o usuárioConveniente, fácil, confiável,

seguro e rápido Para o projetista

Fácil de projetar, implementar, manter, flexível, confiável, livre de erros e eficiente

Page 34: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.34

Mecanismos e Políticas

Mecanismos determinam como fazer

Políticas determina o que fazer Separação é importante

Permite a implementação de diferentes políticas usando o mesmo mecanismo

Page 35: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.35

Implementação de SO

Tradicionalmente em assembly Hoje em linguagens de alto

nível (C, C++) Código em linguagens de alto nível

Mais rápido de escreverMais compactoMais fácil de entender e depurar

É mais simples portar um SO (mudar a arquitetura de hardware) se ele é escrito em ling. de alto nível

Page 36: Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura n Máquinas virtuais n Projeto e implementação n Geração

3.36

Gerando um sistema

Nova máquina cross-compiler gera código

para outra arquitetura Sistemas podem ser

configurados para uma determinada máquina SYSGEN e config

BOOTING carregar o kernel

Programa de Bootstrap código em ROM que encontra o kernel, carrega-

o em memória e inicial a sua execução