Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura...
Transcript of Estruturas dos Sistemas Operacionais. 3.2 Assuntos n Componentes n Serviços n Chamadas n Estrutura...
![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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/1.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/2.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/3.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/4.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/5.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/6.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/7.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/8.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/9.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/10.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/11.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/12.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/13.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/14.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/15.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/16.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/17.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/18.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/19.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/20.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/21.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/22.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/23.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/24.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/25.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/26.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/27.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/28.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/29.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/30.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/31.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/32.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/33.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/34.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/35.jpg)
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.](https://reader031.fdocument.pub/reader031/viewer/2022013102/552fc15f497959413d8e63da/html5/thumbnails/36.jpg)
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