SO 03 Classificação
SO 03 Classificação
SO 03 Classificação
OPERACIONAIS I
Análise e Desenvolvimento de Sistemas
Prof. Ms. José Geraldo de Moraes - http://lattes.cnpq.br/3313135299163906
Roteiro
Conceitos de Sistemas Operacionais
Classificação dos Sistemas Operacionais
Sistemas Monoprogramáveis
Sistemas Multiprogramáveis
Sistemas com Múltiplos processadores
Interrupção e Exceção
Buffering
Spooling
Reentrância
Tendências
Conceitos de Sistemas Operacionais
Conceitos de Sistemas Operacionais
É uma máquina estendida (visão top-down)
Software que abstrai as complexidades do hardware de um
usuário/programador;
Apresenta ao usuário uma máquina virtual, mais fácil de usar;
Software que controla a execução dos programas de aplicação e
mascara os detalhes do hardware;
É um gerenciador de recurso (visão botton-up)
Provê acesso ordenado aos elementos do hw;
Monitora os acessos aos recursos do hardware.
Tipos de Sistemas Operacionais
Mainframes
Jobs em batch, transações, multiprogramação
Servidores
Usuários conectados remotamente por redes
Distribuídos
Extensão de SO em servidores (programação paralela)
Desktop
Interface amigável com o usuário. Ex. Windows
Tempo real
Confiabilidade de resposta previsível é priorizada Ex. RT-Linux, Vx Works
Sistemas embarcados
Limitados em memória, potência. Ex.: Tablets, TVs, Microondas, etc.
Sistemas Móveis
Gestão eficiente de energia, conectividade com diversos tipos de redes. Ex. Smartphones, tablets.
Classificação - Sistemas Operacionais
Os principais aspectos que diferem os tipos de SOs se
referem ao propósito para o qual o mesmo foi
desenvolvido.
Assim, o tipo de um SO é classificado de acordo com os
seguintes aspectos:
Interatividade
Tempo de Resposta
Produtividade (throughput)
Classificação – Sistemas Operacionais
Sistemas
Operacionais
Sistemas
Multiprogramávei
s / Multitarefa
Sistemas de
Sistemas de
Sistemas em Batch Tempo
Tempo Real
Compartilhado
Sistemas Multiprogramáveis
Sistema Monoprogramável x Sistema
Multiprogramável
Sistemas Multiprogramáveis
Sistemas Batch (Lotes)
Primeiros sistemas multiprogramáveis e caracterizam-se por
ter seus programas, quando submetidos, armazenados em
disco ou fita, onde esperam para se executados
sequencialmente.
Não exigiam interação com o usuário.
Utilizam melhor o processador, porém o tempo de resposta
pode ser longo devido ao processamento sequencial.
Sistemas Multiprogramáveis
Sistemas de Tempo Compartilhado
Permitem a integração do usuário com o sistema através de
terminais.
Também conhecidos como sistemas on-line.
Para cada usuário (aplicação o sistema aloca uma fatia de
tempo (time-slice) de processador, e caso o programa não
seja concluído neste intervalo de tempo, é substituído por
outro usuário e aguarda outra fatia de tempo.
Sistemas Multiprogramáveis
Sistemas de Tempo Real
P0 = Aquece a caldeira
(Pri = 0)
P1 = Mantem a caldeira
aquecida (Pri=1)
1.000
P1
P0 0
Sistemas Multiprogramáveis
Sistemas Móveis
S.O.s adaptados para dispositivos móveis, como PDAs, smartphones.
Memória limitada, processador mais lento e display de pequenas
dimensões.
S.O. e aplicações projetados para minimizar o uso do processador
(redução do consumo da bateria).
Uso possível de tecnologias wireless, como Bluetooth, para acesso
remoto a e-mail e navegação Web.
Câmeras e players são exemplos de acessórios que expandem a sua
funcionalidade
Sistemas com múltiplos
processadores
Sistemas com múltiplos
processadores
Sistemas fortemente acoplados
São sistemas com mais de uma UCP atuando de modo colaborativo (“
multiprocessor systems”).
Os processadores compartilham o barramento, memória e relógio, além
de dispositivos periféricos;
Principais vantagens:
Escalabilidade, Disponibilidade, Balanceamento de carga.
Classificam-se em Simétricos e Assimétricos.
Sistemas com múltiplos
processadores
Sistemas Simétricos
Todos os processadores tem as mesmas funções e podem executar o Sistema
Operacional de forma independente.
Todos os processadores são pares, não existindo relação de mestre-escravo.
Sistemas Assimétricos(master/slave)
Nos sistemas assimétricos(mestre/escravo) somente um processador primário
é responsável pelo controle dos demais processadores e pela execução do
Sistema Operacional.
Sistemas com múltiplos
processadores
Sistemas com múltiplos
processadores
Sistemas Fracamente Acoplados (Sistemas Distribuidos / Clusters)
Conjunto de computadores interconectados de forma a possibilitar a
execução de um serviço.
Requer uma infra-estrutura física de redes (LAN, WAN) e suporte de
protocolos de comunicação (TCP/IP).
A realização de uma tarefa é distribuída entre vários nós da rede.
A existência de várias máquinas é transparente, isto é, o software fornece
uma visão única do sistema.
Vantagens:
Compartilhamento de recursos Balanceamento de carga, Aumento da
velocidade de computação, Maior confiabilidade
Interrupção e Exceção (SO Multiprogramáveis)
Na execução de um programa, alguns eventos podem ocorrer
durante o processamento, obrigando a intervenção do sistema
operacional.
Este tipo de intervenção é chamada interrupção e obriga que o
fluxo de execução seja alterado.
Eventos responsáveis pelas interrupções:
resultado da execução do programa;
gerado pelo Sistema Operacional;
gerado por dispositivo de hardware.
Tipos de Interrupções
Interna (Exceção)
É resultado direto da execução do próprio programa, ou seja,
uma instrução responsável pela ocorrência da interrupção.
Também é chamado de traps ou exceções.
Exemplo: Divisão por zero ou exceder a representação
numérica (overflow).
Exemplo de Exceção
Tipos de Interrupções
Externa ou do Sistema
É gerada pelo S. O . ou por algum dispositivo e, neste caso,
independe do programa que está sendo executado .
Exemplo: Ocorre quando um dispositivo de E/S avisa à CPU
que está pronto para transmitir algum dado.
Mecanismo de Interrupção e
Exceção
Buffering
Técnica que consiste no uso de uma área na MP para a transferência de dados
entre os periféricos e a memória principal (Buffer de E/S).
Objetivo: minimizar o problema da disparidade da velocidade de processamento
existente entre a UCP e os dispositivos de E/S, mantendo-os ocupados na maior
parte do tempo.
Registro: é a unidade de transferência. O tamanho do registro é especificado em
função da natureza do dispositivo.
O buffer deve ter capacidade de armazenar diversos registros, de modo a sempre
existirem dados lidos, mas não processados (leitura), ou dados processados, mas
não gravados (gravação).
Buffering (Operações de E/S)
Spooling
A técnica de Spooling tem a finalidade de liberar a UCP das
tarefas de impressão. No momento em que um comando de
impressão é executado, as informações a serem impressas são
gravadas em um arquivo em disco (arquivo de spool), para ser
impresso posteriormente pelo sistema conforme mostra a figura.
Dessa forma, situações como a de um programa reservar a
impressora, imprimir uma linha e ficará guardando para
continuar a impressão não acontecerão.
Características da técnica de Spooling
Spool = carretel; “spooling” uso do disco para enfileirar imagens
de cartões e relatórios para serem gravados/lidos posteriormente.
SO controla a localização de cada job e cada relatório no disco
através de uma estrutura de dados chamada “tabela de spooling”
Há concorrência entre submissão, execução e impressão de
diferentes serviços.
Job-spool - grupo de serviços aguardando execução segundo
algum critério de escalonamento (“Scheduling”)
Técnica de Spooling
Técnica de Reentrância
Tendências
Blade Servers (Consolidação)
Thin clients
Múltiplos cores
Cloud Computing
Tendências de rede
Computação em nuvem