Sistemas Operacionais - Amazon Simple Storage Service · 2. Funções Básicas do SO Software...

32
Sistemas Operacionais Visão Geral

Transcript of Sistemas Operacionais - Amazon Simple Storage Service · 2. Funções Básicas do SO Software...

Sistemas

Operacionais Visão Geral

1. Máquina de Camadas

2. Funções Básicas do SO

3. Conceitos Introdutórios

1. Hardware

2. Software

3. Operações de E/S

4. Histórico

1. Década de 40

2. Década de 50

3. Década de 60

4. Década de 70

5. Década de 80

6. Década de 90

7. Década de 2000 - 2016

5. Tipos de Sistemas Operacionais

1. Sistemas Monotarefa

2. Sistemas Multitarefa

1. Batch

2. Tempo Compartilhado

3. Tempo Real

3. Sistemas com Múltiplos Processadores

1. Fortemente Acoplados

2. Fracamente Acoplados

Sumário

O computador pode ser dividido em níveis (máquina de camadas).

1. Máquina de Camadas

H a r d w a r e

Siste m a O p e r a ci o n a l

u su á r i o s Utilitários

Circuitos Eletrônicos

Microprogramação

Linguagem de Máquina

Sistema Operacional

Aplicativos

Qual a diferença entre aplicativos e utilitários?

2. Funções Básicas do SO

Software responsável por gerenciar o uso dos recursos do sistema de forma transparente.

As funções básicas do sistema operacional são possibilitar:

1. Facilidade de acesso aos recursos do sistema.

2. Compartilhamento de recursos do sistema.

3. Concorrência de tarefas do sistema.

2. Funções Básicas do SO

O sistema operacional serve como uma interface entre os usuários e os recursos do sistema. A comunicação é transparente.

O sistema operacional organiza o uso dos recursos compartilhados de forma organizada e protegida.

Possibilita que diversas tarefas sejam executadas pelo sistema computacional de maneira apropriada.

3.1. Conceitos Introdutórios Hardware

O hardware de um sistema computacional é um conjunto de circuitos eletrônicos interligados.

MemóriaPrincipal

Dispositivosde E/ S

Processador / UCP

Unidade Lógicae Aritmética

Registradores

Unidade deControle

3.2. Conceitos Introdutórios Software

Tradutor: é o utilitário responsável pela conversão de um linguagem simbólica (linguagem de montagem ou de alto nível) em código de máquina.

Ex: Assembly

Ex: Pascal, FORTRAN

3.3. Conceitos Introdutórios Operações de E/S

O processador não se comunica diretamente com os dispositivos de E/S, mas sim por meio do controlador ou interface de E/S.

Os computadores eram de grande porte (mainframes).

Não havia sistemas operacionais nem linguagens de programação.

Os computadores eram operados em linguagem de máquina.

Transistor (1948) – fabricação e comercialização.

4.1. Histórico Década de 40

Os Primeiros SOs surgiram neste período.

Evolução dos SOs para facilitar a codificação de programas.

Introdução da ideia de memória hierarquizada.

Os SOs incorporaram rotinas para operações de entrada e saída.

Processamento em lote (batch) - melhoria do job.

4.2. Histórico Década de 50

4.2. Histórico Década de 50

O cartão $JOB especificava o tempo máximo de processamento (em minutos) , número da conta e o programador.

$FORTRAN - carregar o compilador FORTRAN.

$LOAD - ordenava o S.O. a carregar o programa-objeto recém compilado.

cartões do programa a ser compilado

$RUN - dizia para o S.O executar o programa com o conjunto de dados constante dos cartões seguintes.

$END marcava a conclusão do job.

Circuitos integrados (1958) - difusão dos computadores nas empresas.

Inovações na área de sistemas operacionais, como:

Multitarefa e Multiprocessamento;

Tempo compartilhado e

Memória virtual

Surgimento do MULTICS – multitarefa e multiprocessador.

Surgimento do Unix (1969) - versão do MULTICS.

4.3. Histórico Década de 60

Os computadores diminuíram e ficaram mais baratos.

Intel lança primeiro microprocessador.

O SO dominante foi o CP/M da Digital Research.

Surgimento do BSD (Berkeley Software Distribution) - versão do Unix.

Desenvolvimento da linguagem C.

4.4. Histórico Década de 70

PDP-11 da empresa DEC Intel 4004

Surgimento do microcomputador IBM PC - parceria entre Microsoft e IBM.

O IBM PC utilizava o processador Intel 8088 de 16 bits e o SO DOS (Disk Operating System) da empresa Microsoft.

Surgimento dos primeiros SOs comerciais com interface gráfica.

Microsoft Windows da Microsoft

OS/2 da IBM

Mac OS da Apple.

4.5. Histórico Década de 80

Consolidação dos SOs baseados em interfaces gráficas.

Surgimento do Linux (1991).

Versão inicial desenvolvida por Linus Torvalds.

Evoluiu com a colaboração de vários programadores.

Código aberto e livre.

Lançamento do SO Windows NT para servidores corporativos .

Consolidação do Windows NT e o Unix (HP-UX, IBM-AIX e Sun Solaris) em ambientes corporativos.

4.6. Histórico Década de 90

SO para Video Games

Orbis OS - será adotado no PlaySation 4, baseado em FreeBSD.

Xbox OS - será adotado no Xbox One, baseado no Windows.

Firefox OS

Sistema enxuto focado em HTML5.

Execução em smartphones mais baratos.

Ubuntu Touch

Visual inovador e funcionalidades para garantir experiências similares entre diferentes dispositivos.

4.7. Histórico Década de 2000 - 2016

SistemasMultiprogramáveis/

tarefaMulti

SistemasBatch

Sistemas deTempo Real

Sistemas deTempo Compartilhado

5. Tipos de Sistemas Operacionais

SistemasMultiprogramáveis/

tarefaMulti

SistemasBatch

Sistemas deTempo Real

Sistemas deTempo Compartilhado

5.1. Tipos de Sistemas Operacionais Sistemas Monotarefa

5.1. Tipos de Sistemas Operacionais Sistemas Monotarefa

Os recursos permaneçam exclusivamente dedicados à execução de um único programa.

Os recursos podem ser subutilizados.

Não há preocupação com problemas decorrentes de compartilhamento de recursos computacionais.

MemóriaPrincipal

Dispositivosde E/ S

UCPprograma/

tarefa

5. Tipos de Sistemas Operacionais

Tipos deSistemas Operacionais

SistemasMonoprogramáveis/

Monotarefa

Sistemascom MúltiplosProcessadores

SistemasMultiprogramáveis/

Multitarefa

• Recursos computacionais podem ser compartilhados entre vários programas.

• Há a preocupação em gerenciar o acesso concorrente dos diversos programas aos recursos computacionais.

• Redução de custos e tempo total de execução.

• Mais complexo que os sistemas monoprogramáveis.

5.2. Tipos de Sistemas Operacionais Sistemas Multitarefa

MemóriaPrincipal

Dispositivosde E/ S

UCPprograma/

tarefaprograma/

tarefa

programa/tarefa

programa/tarefa

programa/tarefa

SistemasMultiprogramáveis/

tarefaMulti

SistemasBatch

Sistemas deTempo Real

Sistemas deTempo Compartilhado

Podem ser classificados em função de como suas tarefas são gerenciadas.

5.2. Tipos de Sistemas Operacionais Sistemas Multitarefa

Não exige a interação do usuário com a aplicação.

Todas as entradas e saídas de dados da aplicação são armazenadas em memória secundária.

Podem ser eficientes, mas também podem oferecer tempos de respostas longos.

Atualmente não existem atualmente sistemas exclusivamente dedicados a este tipo de processamento.

5.2.1 Tipos de Sistemas Operacionais Sistemas Batch

5.2.2. Tipos de Sistemas Operacionais Sistemas de Tempo Compartilhado

SistemasMultiprogramáveis/

tarefaMulti

SistemasBatch

Sistemas deTempo Real

Sistemas deTempo Compartilhado

O tempo do processador é dividido em pequenos intervalos, denominados fatia de tempo (time-slice).

Possibilita a execução de diversos programas concorrentemente.

A maioria das aplicações comerciais utilizam este tipo de sistema devido aos custos mais baixos e aos tempos de respostas razoáveis.

O que acontece se a fatia de tempo não for suficiente para concluir a execução de um programa?

5.2.2. Tipos de Sistemas Operacionais Sistemas de Tempo Compartilhado

O programa retorna a execução em uma outra fatia de tempo.

5.2.3. Tipos de Sistemas Operacionais Sistemas de Tempo Real

SistemasMultiprogramáveis/

tarefaMulti

SistemasBatch

Sistemas deTempo Real

Sistemas deTempo Compartilhado

Os tempos de processamento devem estar dentro de limites rígidos.

Caso esses limites não sejam obedecidos poderão ocorrer problemas irreparáveis.

Por exemplo: monitoramento de refinarias de petróleo, controle de tráfego aéreo, de usinas termoelétricas e nucleares.

Nos sistemas de tempo compartilhado no sentido de que não existe a ideia de fatia de tempo.

Um programa utiliza o processador o tempo que for necessário ou até que apareça um de maior prioridade.

5.2.3. Tipos de Sistemas Operacionais Sistemas de Tempo Real

5.3. Tipos de Sistemas Operacionais Sistemas com Múltiplos Processadores

Tipos deSistemas Operacionais

SistemasMonoprogramáveis/

Monotarefa

Sistemascom MúltiplosProcessadores

SistemasMultiprogramáveis/

Multitarefa

5.3.1. Sistemas com Múltiplos Processadores Fortemente Acoplados

UCP UCPMemóriaPrincipal

Dispositivosde E/ S

Dispositivosde E/ S

Sistemas Fortemente Acoplados

5.3.2. Sistemas com Múltiplos Processadores Fracamente Acoplados

UCP UCP

MemóriaPrincipal

MemóriaPrincipal

Dispositivosde E/ S

link de comunicação

Dispositivosde E/ S

Sistema Independente (HOST da rede)

Sistemas Fracamente Acoplados

1. Sistemas Operacionais de Rede (SOR)

Permitem que um host compartilhe seus recursos com os demais hosts.

Os usuários têm o conhecimento dos hosts e seus serviços.

2. Sistemas Distribuídos

O sistema operacional esconde os detalhes dos hosts individuais e passa a tratá-los como um conjunto único.

Como se fosse um sistema fortemente acoplado.

Os Clusters são exemplos de sistemas distribuídos.

5.3.2. Sistemas com Múltiplos Processadores Fracamente Acoplados

[Fim] Visão Geral

“É melhor conquistar a si mesmo do que vencer mil batalhas.”

Buda

Próximo Módulo: Conceitos de Hardware