Please enable JavaScript.
Coggle requires JavaScript to display documents.
Estruturas do Sistema Operacional - Coggle Diagram
Estruturas do Sistema Operacional
Serviços do SO
Manipulação do sistema de arquivos
Comunicações
Memória compartilhada
Passagem de mensagens
Operações de E/S
Detecção de erros
Cada erro exige uma ação apropriada
Execução do programa
Alocação de recursos
Interface com usuário
Contabilidade
Quais usuários usam e quais recursos usam
Proteção e Segurança
Interface entre usuário e SO
Interpretador de comandos
Captura e executa comandos especificados pelo usuário
Shell
Software que permite usuários acessarem serviços do kernel
Permite entrada direta de comandos
Interface gráfica com usuário
Mouse
Ícones representam arquivos, programas, ações
Teclado
Monitor
Interface de tela sensível ao toque
Smartphones e tablets
Android e iOS são os maiores exemplos
Programas
Manipulação de arquivo
Criar, excluir, copiar, renomear, etc
Suporte à linguagem de programação
Compiladores
Modificação de arquivo
Editores de texto para criar/modificar
Carga e execução do programa
Carregadores absolutos, sistemas de depuração, etc
Informação de status
Informações do sistema
Comunicações
Mecanismos para criar conexões entre processos, sistemas e usuários
Chamadas de Sistema
Tipos
Gerenciamento de dispositivos
Manutenção de informações
Gerenciamento de arquivos
Comunicações
Controle de Processos
Interface de programação para serviços fornecidos pelo SO
Acessadas pelos programas por meio de APIs de alto nível
APIs x Chamadas
APIs apresentam mais portabilidade e simplificação
Aplicações específicas para um SO
Como resolver
Linguagem interpretada
máquina virutal
APIs que possuam compiladores e bibliotecas no sistema que for rodar
Cada SO provê um conjunto único de chamadas de sistema
Projeto e Implementação do SO
Objetivo do usuário
Confiável
SO fácil de aprender
Seguro
Rápido
Conveniente
Objetivo do sistema
Fácil implementar e manter
Confiável
Fácil de projetar
Flexível
Eficiente
Política
O que será feito?
Mecanismo
Como fazer isso?
Estrutura do SO
Monolítica
Forma mais simples
Todas as funcionalidades do kernel num bin
Endereçamento único
Alto desempenho
Difícil implementação
Híbridos
Usam mais de uma abordagem de estruturação
Resolvem problemas de desempenho, segurança e usabilidade
Linux, Windows, iOS e Android são exemplos
Camadas
Camada 0 é o hardware
Camada mais alta é interface com usuário
Simplicidade de construção e depuração
Cada camada é implementada com operações de camadas mais baixas
Dificuldade em definir o que cada camada faz
Baixa eficiência
Bem sucedidos em redes de computadores e apps web
Módulos
Kernel com conjunto de componentes nucleares
Vincula serviços adicionais por meio de módulos enquanto o kernel age
Interfaces bem definidas e protegidas
Mais flexível, qualquer módulo pode chamar outro
Eficiente
Microkernels
Isolados, possuindo estruturas e memórias próprias
Não há duplicação de funcionalidades
Move-se o máximo do kernel para o espaço do usuário
Facilidade em estender um microkernel
Mais fácil de portar o SO para novas arquiteturas
Mais confiável e seguro
Overhead de desempenho da comunic usuário x kernel
Geração do SO
Programa SYSGEN obtém informações da configuração do hardware
Projetados para executar em qualquer classe de máquinas
Inicialização do Sistema
SO precisa estar disponível ao hardware para o mesmo iniciá-lo
A execução começa em lugar fixo da memória
Pequeno trecho de código localiza o kernel, carrega na memória e o inicia