Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistemas Operacionais A - Cap.4 - Estrutura do sistema operacional Cezar…
Sistemas Operacionais A - Cap.4 - Estrutura do sistema operacional
Cezar Augusto Crummenauer
Núcleo do sistema ou kernel
Oferece serviços aos usuários e aplicações
Chamadas de rotinas de sistema
Não há sequenciamento (início, meio e fim)
Funciona com base em eventos assíncronos
Funções do núcleo
Tratamento de interrupções e exceções
Criação, eliminação, sincronização, escalonamento e controle dos processos e threads
Gerência de memória, sistema de arquivos e E/S
Suporte a redes locais e distribuidas
Contabilização do uso do sistema
Auditoria e segurança do sistema
Estrutura do sistema operacional
Aplicações, utilitários e Linguagens de comando
(Núcleo ou kernel) Rotinas do sistema operacional
Hardware
Modo de acesso
Modo usuário
Executar instruções não privilegiadas
Modo kernel
Um registrador determina o estado atual (usuário ou kerner)
Rotinas do SO e System Calls
Executar operações através de system calls verificando o privilégio do pedido
Proteção por hardware
Passos para execução de uma operação em modo kernel
Salva contexto dos registradores
Altera o modo do processador para kernel
Executa a operação em modo kernel
Altera o modo do processado para usuário
Restaura o contexto dos registradores
Chamadas a rotinas do Sistema Operacional
Aplicação
Rotina do Sistema Operacional
Núcleo do Sistema Operacional
Hardware
System Calls
System Calls - Unix
System services - OpenVMS
API (Application Program Interface) - MS Windows
Padrão POSIX (ISO - IEEE)
Linguagem de comandos ou controle
Operações que podem ser executadas em um terminal no caso do windows
Os comandos são interpretados pelo shell ou interpretador de comados
Em geral, o interpretador de comandos não faz parte do sistema operacional
Possibilita maior flexibilidade para a criação de diferentes linguagens de controle para um mesmo sistema
Interação do usuário
Linguagem de comando ou interface gráfica
Sistema operacional
Hardware
Permite a criação de scripts para a automatização de tarefas
Ativação/Desativação do Sistema
Boot ou ativação do sistema
Carrega os componentes do sistema operacional para a memória principal
Execução de um programa - boot loader - em um endereço fixo em uma ROM da máquina
Este programa chama a execução de um programa chamado POST (Power-On Self Test), que identifica possíveis problemas de hardware
Após o POST, procura um sistema operacional. Caso encontrado carrega o setor de boot para a memória e a partir disso, o sistema começa a ser carregado para a memória
Processo de desativação
Usado para garantir a integridade do sistema
Arquiteturas do núcleo
Arquitetura Monolítica
Bom desempenho
Difícil desenvolvimento e manutenção
Usado no MS-DOS e nos primeiros sistemas Unix
Arquitetura de Camadas
Presença de programação estruturada e modular
Dividido em 3 níveis sobrepostos - exemplo OpenVMS - Atualmente a maioria dos sistemas comerciais usam duas camadas (modo usuário e kernel)
Kernel
Executivo
Supervisor
Usuário
Sistema de camadas ajuda com a segurança e o desenvolvimento, mas reduz o desempenho
Máquina Virtual
Cria um nível intermediário (Gerenciador de máquinas virtuais) entre o hardware e o sistema operacional, criando uma cópia virtual do hardware
Possibilidade de manter diversos sistemas operacionais em uma máquina e manter isso transparente ao usuário
Mantem os sistemas isolados
Arquitetura Microkernel
Tendencia de reduzir o tamanho do kernel
Uso de cliente e servidor - intuito de aumentar a disponibilidade...
Possibilita uma maior escabilidade
O sistema operacional passa a ser de mais fácil manutenção, flexível e de maior portabilidade
A implementação, na prática é muito difícil
Problema de desempenho por causa das mudanças de modo para executar as operações
Acessibilidade aos sistemas de E/S mais complexos
Projetos baseados na ideia são usados em instituições de ensino
Iniciativas de desenvolvimento na área estão relacionadas ao desenvolvimento de sistemas distribuidos