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

Post on 21-Apr-2015

128 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Estruturas dos Sistemas Operacionais

3.2

Assuntos

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

3.3

Componentes Comuns

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

Rede Sistema de proteção Interpretador de comandos

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

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

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

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

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

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

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

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

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

3.13

Funções Adicionais

Para permitir a operação eficienteAlocação de recursosContabilidadeProteçã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)

3.15

Execução em MS-DOS

No início Rodando um Programa

3.16

Rodando Múltiplos Programas em UNIX

Sistema Operacional

3.17

Modelos de Comunicação

Via Troca de Mensagens Via Memória Compartilhada

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

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

3.20

Estrutura em Camadas do DOS

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

3.22

Estrutura do Unix

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

3.24

A Estrutura em Camadas do OS/2

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

3.26

Estrutura Cliente-Servidor do Windows NT

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

3.28

Máquinas Virtuais (VM)

Recursos compartilhadosCPU é escalonadaSpooling gera impressoras

virtuaisUm terminal normal passa a ser o console do operador

3.29

Modelo do Sistema

Non-virtual Machine Virtual Machine

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

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

3.32

Máquina Virtual Java (JVM)

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

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

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

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

top related