Visão Geral de Sistemas
Operacionais
Sumário
Um sistema operacional é um intermediário entre
usuários e o hardware do computador. Desta forma, o
usuário pode executar programas de forma
conveniente e eficiente.
O hardware precisa precisa ofertar mecanismos para
assegurar sua operação correta.
Conhecer os principais componentes e a organização
básica dos computadores é primordial para a
compreensão de como os sistemas operacionais
relacionam-se com o hardware dos sistemas
computacionais.
Agenda
Definições
Organização do computador
UCP
Inicialização
Eventos e Interrupções
Estrutura de Armazenamento
Estrutura de E/S
Modo dual
Temporizador
Sistema Operacional - Introdução
Sistema Operacional é um conjunto de arquivos e
programas que gerenciam o hardware do
computador, servindo de interface entre usuários,
hardware e outros programas
Sistema Operacional - Introdução
Distintos sistemas operacionais variam muito em sua
forma de operação
Em mainframes os sistemas operacionais
precisam otimizar a utilização do hardware
(Eficiência)
Em desktops é mais importante fornecer facilidade
de operação (Conveniência)
Sistemas Operacionais são semelhantes ao governo.
Não realizam funções úteis para si mesmo, mas
fornecem um ambiente propício para que outros
executem suas funções.
Visão abstrata dos componentes
Visão do usuário
Desktop
Foco em Facilidade de Uso
Relativa atenção ao Desempenho
Pouca preocupação com Utilização de Recursos
Terminal de mainframe
Foco em Utilização de Recursos
Estação de Trabalho
Equilíbrio entre características
Dispositivos Móveis
Sistemas Embutidos sem interface significativa
Visão do sistema
Alocador de Recursos (tempo de UCP, espaço de
memória, dispositivos)
Gerenciamento de Recursos
Eliminação de conflitos (concorrência)
Programa de Controle
Administração da execução de programas
Impedimento de erros e uso impróprio
Sistema Operacional: Definição
Não há definição universalmente aceita
O Sistema Operacional surgiu para fornecer um modo
aceitável de operar um sistema computacional.
Conjunto de programas e arquivos que atuam como
intermediários entre programas de usuário, usuários e
hardware
Tudo o que o fornecedor entrega como sendo um
Sistema Operacional
Conjunto de programas que executam o tempo todo
no computador
Definição importante em EUA x Microsoft, 1998
Organização do computador
Computadores de uso geral têm uma UCP e
controladores de dispositivos e adaptadores,
conectados por um barramento comum que fornece
acesso à memória compartilhada.
UCP e controladores podem ser executados
simultaneamente, competindo pela memória
Para tal um controlador de memória é utilizado para
sincronizar estes acessos.
Organização do Computador
Unidade Central de Processamento
UCP (ou CPU) é considerado o “cérebro” do
computador.
Cada UCP tem um conjunto específico de instruções.
Um Pentium não executa programas SPARC, por
exemplo.
Como o tempo de acesso a memória é muito maior
do que o tempo de executá-la, as UCP usam
registradores locais para manter dados importantes e
resultados temporários
O contador de programa (ou PC) é um registrador
especial que contém o endereço da próxima instrução
a ser executada
Outro registrador especial é o ponteiro de pilha (SP),
que aponta para o topo da pilha atual
Unidade Central de Processamento
(cont)
UCP modernas são superescalares, ou seja, podem
executar instruções diferentes em cada uma de suas
unidades de execução.
São unidades de execução comum as de Aritmética
de Inteiros, Aritmética de Ponto Flutuante ou a
Lógica.
Inicialização
Bootstrap ou Programa de Inicialização
Armazenado em firmware (ROM, EEPROM)
Inicializa e testa hardware (registradores da UCP,
controladores, conteúdo da memória)
Carrega o núcleo do sistema operacional (kernel)
Primeiros processos são carregados
Espera-se a ocorrência de algum evento
Ocorrência de Eventos
Eventos são sinalizados por interrupções de
hardware ou de software
Interrupção de Hardware
Sinal enviado à UCP por meio do barramento
Interrupção de Software (também chamada trap)
Chamada de Sistema (System Call) ou Chamada
ao Monitor (Monitor Call)
Tratamento de Interrupções
Ao receber uma interrupção a UCP
Interrompe a tarefa atual, armazenando seu
endereço em uma pilha
Transfere execução para endereço fixo na
memória
Este endereço contém o endereço inicial da
rotina de atendimento da interrupção, que é
então executada
Retoma à tarefa interrompida
Quantidade de interrupções limitada e pré-definida
Vetor de Interrupções
Estrutura de Armazenamento
RAM (Random Access Memory)
Única grande área de armazenamento com acesso
direto pela UCP
Necessidade de programas estarem na RAM para
serem executados
Geralmente implementada em DRAM (Dynamic RAM)
que forma um conjunto de words individualmente
endereçados
Ciclo típico de execução de instruções com
arquitetura von Neumann
Estrutura de Armazenamento (cont)
Interação consiste em mover word entre a RAM e os
registradores da UCP
Ciclo típico de execução de instruções com
arquitetura von Neumann
Instruções são copiadas da memória para o
registrador de instruções
Instrução é decodificada e processada, com
eventual manipulação de words entre RAM e
registradores de UCP
Estrutura de Armazenamento (cont)
Limitações da RAM
Relativamente pequena
Volátil
Armazenamento secundário
Relativamente grande
Permanente
Armazenamento secundário comum: Disco Rígido
Magnético
Origem e destino de dados para processamento
Hierarquia de Dispositivos de
Armazenamento
Estrutura de Armazenamento (cont)
Quatro níveis superiores da hierarquia são feitos com
semicondutores
Os níveis acima do disco eletrônico são voláteis. O
próprio disco eletrônico pode ou não ser volátil.
Estrutura de E/S
Grande parte do código do Sistema Operacional é
voltada para o Gerenciamento de Entrada/Saída
UCP e controladores de dispositivos ligados por
barramento comum
Quantidade de dispositivos por controlador
IDE
SCSI
Controladores de dispositivos movem dados de/para
dispositivos, armazenando alguns em
Buffer local
Registradores específicos
Estrutura de E/S (cont)
Controladores movem dados entre periféricos e buffer
local
Sistemas Operacionais têm um driver de dispositivo
para cada controlador de dispositivo
Operação de E/S
Drivers de dispositivo carrega registradores para o
controlador de dispositivo
Controlador usa dados nos registradores para
determinar ação
Controlador transfere dados do dispositivo para buffer
local
Ao concluir, controlador avisa ao driver via
interrupção
Driver avisa sistema operacional
DMA resolve problemas de overhead na transferência
de grandes quantidades de dados de/para
dispositivos
Modo Dual
Distinguir execução de código do Sistema
Operacional e código do usuário
Modo Usuário e Modo do Sistema (Monitor,
Supervisor, Privilegiado ou Kernel)
Usa-se um bit (bit de modo) para indicar o estado:
monitor (0) ou usuário (1)
Transição de modos
Modo Dual (cont)
No boot, hardware opera em Modo Monitor.
Ao carregar, o sistema operacional, cria processos
em modo usuário
Modo dual protege o sistema operacional contra
usuários mal intencionados e um usuário do outro.
Instruções que podem causar danos são instruções
privilegiadas, executadas apenas em Modo Monitor
Intel 8088 não possuia suporte para o modo dual.
MS-DOS escrito para ele não o implementava,
portanto
Temporizador
É preciso garantir que o Sistema Operacional tenha
controle sobre a UCP
Sem um temporizador (ou timer), um programa de
usuário em loop infinito pode impedir que o sistema
operacional retome o controle do computador
Temporizadores enviam interrupções após períodos
de tempo especificados
Fixos ou variáveis
Resumo
Sistema Operacional gerencia o hardware e fornece
ambiente para execução de programas
Para executar, um programa deve estar na memória
principal
Armazenamento Secundário apoia a Memória
Principal
Modo Dual garante a operação correta
Referências Bibliográficas
SILBERSCHATZ, Abraham; GALVIN, Peter Baer; GAGNE, Greg.
Sistemas Operacionais com Java. 7. ed. Rio de Janeiro: Elsevier, 2008.
673 p.
TANENBAUM, Andrew S.. Sistemas Operacionais Modernos. 2. ed.
São Paulo: Prentice Hall, 2003. 695 p.
Visão Geral de Sistemas
Operacionais
Obrigado pela atenção!
Download

Visão Geral de Sistemas Operacionais