estruturas dos sistemas operacionais. 3.2 assuntos n componentes n serviços n chamadas n estrutura...
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