bem-vindos a sistemas de tempo real - stremoreno/undergraduate/cc/sisop/... · 2018. 8. 23. ·...
TRANSCRIPT
Sumário
Introdução
Componentes de um sistema computacional
Conceituação
Características desejáveis
Organização típica
Tipos de sistemas operacionais
Histórico
Introdução Hardware
Provê recursos para execução de instruções, manipulação de dados
Aplicação
Solução computacional de um problema
Define a utilização dos recursos do sistema
Problema
O hardware sozinho não oferece um ambiente de utilização simples para resolução computacional de problemas
Introdução
Primeiros computadores
Programação complexa
Exigia grande conhecimento do hardware e de linguagem de máquina
Solução
Sistemas Operacionais
Encapsulamento
Interação se tornou mais fácil, confiável e eficiente
Prove uma interface entra aplicação e hardware
Sumário
Introdução
Componentes de um sistema computacional
Conceituação
Características desejáveis
Organização típica
Tipos de sistemas operacionais
Histórico
Componentes
Usuários
Utilizadores do sistema computacional
Pessoas, máquinas, outros computadores.
Aplicações
Define o modo que o recursos do sistema serão utilizados para
resolver os problemas computacionais dos usuários
Compiladores, B.D., jogos, programas comerciais.
Componentes
Hardware
Recursos básicos de computação
Três subsistemas básicos:
Unidade Central de Processamento;
Memória principal;
Dispositivos de entrada e saída.
Sistema Operacional
Possibilita o uso eficiente e controlado dos recursos de
hardware entre diferentes aplicações de diferentes usuários
Implementa políticas e estruturas de software de modo a
assegurar um melhor desempenho do sistema de computação
Memóriaprincipal
E/S
Sistema decomunicação
UCP
Computador
Componentes
Componentes
Sistema Operacional
Programa de interface
com o usuário
Modo usuário
Modo núcleo
Software
Hardware
Navegador
web
Leitor de
e-mail Reprodutor
de música
Sumário
Introdução
Componentes de um sistema computacional
Conceituação
Características desejáveis
Organização típica
Tipos de sistemas operacionais
Histórico
Definição
O que é um sistema operacional?
Quais suas funções?
Definição O que é um sistema operacional? Programa especial que atua de forma intermediaria entre um usuário e os
componentes de um computador.
Alocador de recursos
Gerencia e aloca recursos
Controlador de programas
Controla a execução de programas do usuário
Controla operações de I/O em dispositivos.
Kernel/Núcleo
O programa principal que roda a todo momento
Definição
Quais suas funções?
Possibilitar o uso eficiente e controlado dos diversos
componentes de hardware do computador
Implementar políticas e estruturas de software de modo a
assegurar um melhor desempenho do sistema de computação
como um todo.
Definição Definições gerais de Sistemas Operacionais
Conjunto de programas que trabalham de modo cooperativo com o objetivo de prover uma máquina mais flexível e adequada ao programador do que aquela apresentada pelo hardware
A program that controls the execution of application programs
An interface between applications and hardware
Programa que age como um intermediário entre o usuário de um computador e o hardware deste computador”.
Sumário
Introdução
Componentes de um sistema computacional
Conceituação
Características desejáveis
Organização típica
Tipos de sistemas operacionais
Histórico
Características desejadas
Concorrência
Existência de várias atividades ocorrendo paralelamente.
Ex: execução simultânea de “jobs”, E/S paralela ao processamento.
Compartilhamento
Uso coordenado e compartilhado de recursos de HW e SW.
Motivação: custo de equipamentos, reutilização de programas,redução de
redundâncias, etc.
Armazenamento de dados
Capacidade de armazenamento a longo prazo.
Características desejadas
Não determinismo
Atendimento de eventos que podem ocorrer de forma não
prevista.
Eficiência
Baixo tempo de resposta, pouca ociosidade da UCP e alta taxa
de processamento.
Confiabilidade
Pouca incidência de falhas e exatidão dos dados computados.
Características desejadas
Mantenabilidade
Facilidade de correção ou incorporação de novas características
Pequena dimensão
Simplicidade e baixa ocupação da memória.
Sumário
Introdução
Componentes de um sistema computacional
Conceituação
Características desejáveis
Organização típica
Tipos de sistemas operacionais
Histórico
Organização típica Núcleo
Responsável pela gerência do processador, tratamento de interrupções, comunicação e sincronização entre processos.
Gerenciador de Memória
Responsável pelo controle e alocação de memória aos processos ativos.
Gerenciador de E/S
Responsável pelo controle e execução de operações de E/S e otimização do uso dos periféricos.
Responsável pela interface conversacional com o usuário.
Organização típica
Sistema de Arquivos
Responsável pelo acesso e integridade dos dados residentes na
memória secundária.
Processador de Comandos / Interface com o Usuário
Responsável pela interface conversacional com o usuário.
Sumário
Introdução
Componentes de um sistema computacional
Conceituação
Características desejáveis
Organização típica
Tipos de sistemas operacionais
Histórico
„‟‟
Tipos de sistemas operacionais Vários tipos de SOs que surgiram
Gerações de Sistemas operacionais
Tipos mais comuns
SO de Computadores de Grande Porte
SO de Servidores
SO de multiprocessadores
SO de Computadores Pessoais
SO de Tempo Real
SO de Embarcados
SO de Cartões Inteligentes
Tipos de sistemas operacionais
SO de Computadores de Grande Porte
O hardware caracteriza-se por grande capacidade de E/S
Servidores WEB / business 2 business
As operações caracterizam-se por execução simultânea de
muitas tarefas requerendo muita E/S
Tarefas
Transações
Tempo Compartilhado
Tipos de sistemas operacionais
SO de Servidores
São “computadores pessoais de grande porte”
Permitem o compartilhamento de hardware e software
Prestam serviço a muitos usuários
Impressão
Arquivo
Mensagens
Web
Tipos de sistemas operacionais
SO de multiprocessadores
Gerenciam múltiplas CPUs
Podem ser multiprocessadores ou multicomputadores
A preocupação principal está em:
Sincronização e comunicação de processos
Tipos de sistemas operacionais
SO de Tempo Real
O atendimento ao tempo de resposta é a principal preocupação
O tempo de resposta pode ser crítico ou não crítico
SO de Embarcados
Apresentam restrições quanto ao espaço de memória ocupado e
consumo de potência
Geralmente também possuem restrição de tempo
Sumário
Introdução
Componentes de um sistema computacional
Conceituação
Características desejáveis
Organização típica
Tipos de sistemas operacionais
Histórico „‟‟
Histórico Fase 0
Computadores são uma ciência experimental e exótica:
Não precisa de sistema operacional
Programação através de "plugs“
Usuário presente todo o tempo toda atividade é sequencial
Conjuntos de cartões manualmente carregados para executar os programas
Primeiras bibliotecas, utilizadas por todos
O usuário é programador e operador da máquina ao mesmo tempo
Problema: muita espera!
Usuário tem que esperar pela máquina ...
Máquina tem que esperar pelo usuário ...
Todos têm que esperar pela leitora de cartões !
Histórico
Fase 1
Altos preços
Computadores são caros; pessoas não
S.O. surge com o objetivo básico de automatizar a preparação, carga e
execução de programas.
S.O.Torna utilização do computador mais eficiente, desacoplando as
atividades das pessoas das atividades do computador
Mais tarde: otimização do uso dos recursos de hardware pelos programas
S.O. funciona como um monitor batch, continuamente carregando um job,
executando e continuando com o próximo job. Se o programa falhasse, o
SO salvava uma cópia do conteúdo de memória para o programador
depurar.
Histórico
Fase 1
Altos preços
Computadores são caros; pessoas não
Problemas:
Só um usuário de cada vez na máquina
Usuário tem que esperar pela máquina
Bem difícil para depurar
Histórico
Fase 1
Altos preços
Computadores são caros; pessoas não
Técnicas de hardware: adiciona proteção à memória e relocação
multiprogramação: muitos usuários podem compartilhar o sistema
Jobs pequenos podem completar rapidamente
SO passa a ter que gerenciar interação entre jobs concorrentes
SO passa a ser um assunto de estudo em ciência da computação !!!
... SOs passaram a ser estudados porque eles não funcionavam!
Novos problemas:
SOs extremamente complicados
Usuários ainda esperando pela máquina; isso motivou a fase 2
Histórico
Década de 60
Sistemas em lote multiprogramados
Histórico
Fase 2
Produtividade - Custo/Beneficio
Computadores são rápidos; pessoas são lentas; ambos são caros.
"Timesharing" interativo: permitir que vários usuários utilizem a
mesma máquina simultaneamente
Um terminal para cada usuário
Manter os dados "on-line": utilização de sistemas de arquivos
estruturados
Problema:
Como alcançartempo de resposta razoável?
Histórico
Década de 60
Periféricos
Leitoras e perfuradoras de cartão
Impressoras
Unidades de fita e disco
Multiprogramação –Time Sharing
Produtividade
Custos (1960):
Programador: US$4/hora
Aluguel de tempo do computador: US$500/hora
Tempo das pessoas
Histórico
Década de 60
IBM
Família de Computadores
IBM/360
OS/360
Multics (Multiplexed Information and Computing Service)
Primeiro sistema operacional de tempo compartilhado
Histórico
Fase 3
Produtividade - Custo/Beneficio
Computadores são baratos; pessoas são caras.
Dar um computador para cada pessoa.
SOs de redes de computadores – LANs e WANs
Modelo cliente/servidor
Conceito de processamento distribuído
Computadores pessoais
Interfaces user friendly
Conceito de máquina virtual
Retira do usuário preocupação com detalhes físicos da máquina
Histórico
Década de 70 Sistemas experimentais da década de 60 viraram comerciais
Interface gráfica (GUI) Xerox PARC (Palo Alto Research Center)
TCP/IP DoD (Departamento de Defesa) Americana
Ethernet PARC, da Xerox Militares e universitários
Problemas de segurança Criptografia
Workstation pessoal
SUN-Stanford University Network, Xerox Alto
IBM, Personal Computer
Apple II Macintosh
Histórico
Década de 80
Histórico Fase 4 SOs distribuídos Computação dividida em subcomputações
Subcomputações distribuídas para diferentes sistemas através da rede
Controla compartilhamento de recursos e gerencia comunicação e distribuição de tarefas
Popularização Computadores Pessoais (PCs) difundido
Introdução de laptops
Desenvolvimento de protocolos de comunicação para transferência de dados
o Segurança
o Confiabilidade
Configuração dinâmica de redes
Redes possibilitam aparecimento de novas aplicações importantes
Problemas: As pessoas ainda continuam esperando por computadores
Viruses, worms, hackers...
Histórico
Década de 90
Desempenho melhorou
Fabricação dos processadores
Advento do Windows
Orientação a objetos
Software Livre
Histórico
2000 em diante
Serviços Web
Paralelismo maciço
Máquinas virtuais e emuladores
Computação pervasiva
Referências
Silberschatz, G. “Operating System Concepts”. Capítulo 1
Tanenbaum, A. “Sistemas Operacionais: projeto e implementação”.
Capítulo 1
Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1
Sistemas Batch: Inexiste interação entre usuário e serviço (job).
Necessita operador e cartões de controle.
Saída capturada minutos, horas ou dias após a submissão do serviço ao sistema.
1950 1960
Serviços executados
seqüencialmente, CPU ociosa em vários
momentos.
Simples
Serviços mantidos em um “pool de serviços“ são
escalados para execução sempre que a CPU está livre.
Multiprogramados
Sistemas de computadores pessoais:
Custo do hardware suficientemente baixo para permitir uso reservado a um único usuário.
Incorporam tecnologia usada em sistemas de computadores de grande porte.
Procuram maximizar a conveniência e rapidez de atendimento aos usuários.
1970
Sistemas multitarefa:
Extensão lógica de multiprogramação.
Usuários podem interagir com cada programa, enquanto ele está sendo executado.
Compartilhamento do computador por diversos usuários.
1960