bem-vindos a sistemas de tempo real - stremoreno/undergraduate/cc/sisop/... · 2018. 8. 23. ·...

44
Sistemas Operacionais Evolução Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno

Upload: others

Post on 15-Nov-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

Sistemas Operacionais

Evolução

Edson [email protected]

http://www.inf.pucrs.br/~emoreno

Page 2: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 3: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 4: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 5: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 6: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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.

Page 7: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 8: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

Componentes

Page 9: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 10: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 11: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

Definição

O que é um sistema operacional?

Quais suas funções?

Page 12: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 13: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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.

Page 14: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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”.

Page 15: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 16: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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.

Page 17: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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.

Page 18: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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.

Page 19: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 20: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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.

Page 21: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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.

Page 22: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

„‟‟

Page 23: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 24: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 25: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 26: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 27: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 28: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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 „‟‟

Page 29: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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 !

Page 30: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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.

Page 31: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 32: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 33: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

Histórico

Década de 60

Sistemas em lote multiprogramados

Page 34: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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?

Page 35: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 36: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 37: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 38: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 39: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

Workstation pessoal

SUN-Stanford University Network, Xerox Alto

IBM, Personal Computer

Apple II Macintosh

Histórico

Década de 80

Page 40: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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...

Page 41: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

Histórico

Década de 90

Desempenho melhorou

Fabricação dos processadores

Advento do Windows

Orientação a objetos

Software Livre

Page 42: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

Histórico

2000 em diante

Serviços Web

Paralelismo maciço

Máquinas virtuais e emuladores

Computação pervasiva

Page 43: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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

Page 44: Bem-vindos a Sistemas de Tempo Real - STRemoreno/undergraduate/CC/sisop/... · 2018. 8. 23. · Tanenbaum, A. “Sistemas Operacionais Modernos”. Capítulo 1. Sistemas Batch: Inexiste

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