Buscar

2 - Multiprogramação (1)

Prévia do material em texto

Sistemas Operacionais
Multiprogramação 
2
1.1 O que é um sistema operacional
1.2 História dos sistemas operacionais
1.3 O zoológico de sistemas operacionais
1.4 Revisão sobre hardware de computadores
1.5 Conceitos sobre sistemas operacionais
1.6 Chamadas ao sistema
1.7 Estrutura de sistemas operacionais 
Introdução
Introdução
• Hardware
– Provê recursos para execução de instruções, 
manipulação de dados
• Programa de 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
Definição de Sistema Operacional:
1. Conjunto de partes – Não pressupõe 
uma seqüência;
2. Funcionalmente independentes –
Cada parte do sistema executa uma 
função bem definida, diferente de 
qualquer outra parte;
3. Trabalham de maneira harmônica –
Executam sua função da melhor 
maneira possível em cooperação 
com as outras partes;
4. Fim comum - O objetivo do 
programa.
Conjunto de partes, funcionalmente independentes, que 
trabalham de maneira harmônica objetivando um fim comum.
Hardware
Sistema Operacional
Maquina de Níveis
Nível 0
Nível 1
6
O que é um Sistema Operacional
• É uma máquina estendida
– Oculta os detalhes complicados que têm quer 
ser executados
– Apresenta ao usuário uma máquina virtual, 
mais fácil de usar
• É um gerenciador de recurso
– Cada programa tem um tempo com o recurso
– Cada programa tem um espaço no recurso
Hardware
Sistema Operacional
Aplicação AplicaçãoAplicação
usuários
O Sistema Operacional como a “camada” de software
entre o hardware e as aplicações dos usuários
Maquina de Níveis
Sistema Operacional
Aplicação Aplicação Aplicação
source app source app source app
sdgf jhgsdfj dsjhf
khj khj
HKjhkjghj hg
jhgj jgh jhg jhg jhg jhg kjhg
jhgj hg jhg
kjhkjhgjhg jhg jhg jhg jh
kjhjkhgjhgjh
kgjhgjhgjhgj
Hardware
Maquina de Níveis
Browser
s
Jogos
Compiladores
Interpretadores
de
Comando
Bibliotecas
SISTEMA OPERACIONAL
Dispositivos Físicos
Micro Arquitetura
Linguagem de Máquina
Hardware
Aplicativos
Programas
do Sistema
Processador
de Texto
Maquina de Níveis
10
História dos Sistemas Operacionais (1)
Antigo sistema em lote
– traz os cartões para o 1401
– lê os cartões para a fita
– coloca a fita no 7094 que executa o processamento
– coloca a fita no 1401 que imprime a saída
11
História dos Sistemas Operacionais (2)
• Primeira geração 1945 - 1955
– Válvulas, painéis de programação
• Segunda geração 1955 - 1965
– transistores, sistemas em lote
• Terceira geração 1965 – 1980
– CIs e multiprogramação
• Quarta geração 1980 – presente
– Computadores pessoais
12
Estrutura de um job FMS típico – 2a. geração
História dos Sistemas Operacionais (3)
13
• Sistema de multiprogramação
– Três jobs na memória – 3a. geração
História dos Sistemas Operacionais (4)
Multiprogramação
Sistema Operacional
A partir da máquina real (Hardware), visa-se criar 
uma máquina abstrata, cujo Software (entenda-se 
Sistema Operacional) é responsável por duas 
tarefas básicas:
1.Gerenciamento 
dos recursos do 
sistema;
2.Interface com o 
usuário.
Sistema Operacional
Aplicação
“Clicar” em um arquivo
Assign (file, 
“D:\README.TXT”);
open (file);
read (file, ch);
…
close (file);
Move head to sector 123 in 
FAT
Read 256 bytes to mem 
36234H
Move head to sector 
4684753
Read 1024 bytes to mem 
578567
...
O Sistema Operacional como 
Máquina Abstrata
O Sistema Operacional como 
Máquina Abstrata
Ocultar a complexidade do hardware.
Oferecer interfaces padronizadas de acesso ao 
hardware.
O Sistema Operacional como 
Máquina Abstrata
Permitir uma visão homogênea de dispositivos 
distintos.
O Sistema Operacional como 
Máquina Abstrata
GUI - Graphical User Interface
Laboratório de GUI.
Projeto
Interface Gráfica
É a forma do usuário interagir com o sistema.
GUI - Graphical User Interface
• Versão gráfica dos diálogos em texto;
• Baseados no modelo “objeto/ação”;
• Seqüências de trabalho muito bem definidas;
• Aplicação bem separada do ambiente;
• Ícones representando aplicações;
• Exemplos: Windows 9X/ME/2000/XP/2003... ,
OSF/Motif (AIX, Solaris, HP-UX etc...)
Funções do Sistema Operacional
Gerenciamento dos 
Softwares
Gerenciamento do 
Hardware
Gerenciamento da 
Memória
Gerenciamento de 
Dados
Sistema Operacional
Microsoft®
Windows
®
O SO Como Gerente de Recursos
• Recursos da máquina
• Processador(es);
• Espaço em memória;
• Arquivos;
• Conexões de rede;
• Dispositivos externos.
• Controle de acesso
• Equilibrar uso;
• Evitar conflitos.
25
O Zoológico de Sistemas Operacionais
• Sistemas operacionais de computadores de 
grande porte
• Sistemas operacionais de servidores
• Sistemas operacionais de 
multiprocessadores
• Sistemas operacionais de computadores 
pessoais
• Sistemas operacionais de tempo-real
• Sistemas operacionais embarcados
• Sistemas operacionais 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
– As operações caracterizam-se por execução 
simultânea de muitas tarefas requerendo muita 
E/S
– Tarefas
• Lote
• 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
Componentes de um Sistema 
Operacional
Segurança
Processos
Usuários
Contabilidade
Rede
Interface Gráfica
Entradas & Saídas
Erros
Memória
Arquivos
Kernel
Núcleo (Kernel)
• Concentra o acesso ao hardware
• Drivers de dispositivo;
• Gerência de acesso.
• Provê funções básicas
• Operações de acesso ao hardware;
• Noção básica de processos;
• Comunicação entre processos (IPC).
• É executado em Modo Privilegiado
Classificação dos Sistemas 
Operacionais
• Executar tarefas simultâneas:
• Monotarefa;
• Multitarefa.
• Suporte a várias CPU’s:
• Monoprocessado;
• Multiprocessado (SMP)
• Usuários simultâneos:
• Monousuário;
• Multiusuário.
• Tempo de resposta:
• Batch;
• Interativo;
• Tempo real.
Tipos de Sistemas Operacionais
(*) De acordo com a configuração do hardware.
Sistemas Operacionais
Quanto ao Número
de Processadores
Quanto ao Número de
Tarefas Simultâneas
Monoprogramáveis 
( Monotarefa )
Batch Tempo Real
Tempo
Compartilhado
SOR Distribuído Simétrico Assimétrico
Fortemente
Acoplados
Fracamente
Acoplados
Multiprogramáveis 
( Multitarefa )
(*)
SO Mutiprogramável/Multitarefa
Tarefa (1)
CPU
Dispositivos 
I/O
Memória
Tarefa (n)
Tarefa (3)
Tarefa (2)
Software
SO Multiprogramável (Multitarefa)
Possui as seguintes características:
• É executado por um ou vários processadores;
No caso de vários processadores, é classificado como "SO 
Multiprocessado“.
No caso de apenas um processador, permite que vários programas 
disputem os recursos do sistema (paralelismo lógico ou virtual), e:
Podem ser monousuário ou multiusuário:
– Monousuário: um único usuário executando vários programas 
(monoterminal);
– Multiusuário: vários usuários executando vários programas 
(multiterminais);
– Divide o tempo da CPU entre os vários programas e entre os vários 
usuários;
– Diminui a ociosidade, permitindo que durante o tempo de E/S outros 
processos sejam executados;
• Cada processador pode operar monoprogramado ou 
multiprogramado;
• Ocorre paralelismo físico ou real, quando mais de um processador 
está sendo utilizado;
• Ocorre também paralelismo lógico, quando o número de tarefas é 
maior que o número de processadores disponíveis;
SO Multiprogramável (Multitarefa)
Monoprogramação/
Monotarefa
Monousuário N/A
Multiprogramação/
Multitarefa
Monousuário Multiusuário
Sistemas vs. Usuários...
Classificação dos Sistemas 
Operacionais Multiprogramáveis
Podem ser classificados como:
• Fracamente acoplados;
• Fortemente acoplados.
Fracamente Acoplados 
(Loosely Coupled)
Cada processador possui sua própria memória e 
executa seu próprio Sistema Operacional (Sistema 
Operacional de Rede) ou parte de um Sistema 
Operacional Global (Sistema Operacional Distribuído).
DISPOS
E/S
DISPOS
E/S
Linha de
comunicação
SOR ou parte de um Sistema Operacional 
Global (Sistema Operacional Distribuído).
Nó (1)
Nó (3)
Nó (4)
Nó (2)
Nó (n)
Rede
Cada nó possui o seu próprio SO.
Hardware e Softwares 
compartilhados
Windows 2000
Sistema Operacional de Rede (SOR)
Unix OS/2
Servidor
Fortemente Acoplados 
(Tightly Coupled)
Todos os processadores compartilham uma única 
MEMÓRIA. Estes processadores geralmente são 
coordenados por um único Sistema Operacional que 
pode estar localizado em um outro computador 
hospedeiro, que se encarrega de distribuir as tarefas 
entre os processadores e gerenciar a execução.
DISPOS
E/S
DISPOS
E/S
Sistema Operacional Assimétrico
• Na organização assimétrica ou mestre/escravo 
(master/slave), somente um PROCESSADOR 
(mestre) EXECUTA as rotinas do SISTEMA 
OPERACIONAL.
Dispositivos 
I/O
Dispositivos 
I/O
SO
CPU Master CPU Slave
Sistema Operacional Simétrico (SMP)
• Nesta configuração TODOS OS 
PROCESSADORES EXECUTAM as rotinas do 
SISTEMA OPERACIONAL.
SO
(*) Boot fica apenas a cargo de um único processador.
Dispositivos 
I/O
(*)
Evolução dos Sistemas 
Operacionais Multiprogramados:
• Sistemas batch;
• Depois como sistemas time-sharing e;
• Finalmente como sistemas real-time.
Sistemas Batch
Sistemas em Batch
• Característicos de computadores de grande porte 
(mainframes);
• Os dados a serem processados eram lidos numa 
máquina e gravados normalmente em fita 
magnética, a qual era transportada até o 
computador que fazia o processamento;
• Após o processamento os resultados eram escritos 
numa fita magnética e levados até uma outra 
impressora que procedia a impressão;
• O primeiro tipo de multitarefa fazia com que vários 
programas compartilhassem o recurso fita 
magnética, assim vários programas (chamados de 
jobs), originaram o termo batch;
• Vários programas e seus dados eram lidos e 
passados para uma fita e processados pelo 
computador, que os processava todos, um a um e 
armazenava os resultados em fita;
• Posteriormente, a fita era levada até o canal de saída 
(impressão em papel, perfuração em fita de papel );
• Numa segunda fase, já com os dispositivos de E/S 
ligados diretamente ao computador, o processamento 
batch era feito com vários programas sendo lidos 
diretamente pelo computador, mas ainda executados 
um a um.
• Atualmente chamamos de batch as tarefas que são 
deixadas para execução de baixa prioridade, sem a 
interferência do usuário.
Sistemas em Batch
Sistemas Time-Sharing
• O usuário pode interferir ou atuar na fase de 
execução;
• O tempo de processamento é compartilhado com as 
aplicações ou usuários;
• Idem para a utilização da memória.
Sistemas de tempo 
compartilhado
Sistemas Real-Time
• Voltado para aplicações críticas;
• Tempo de resposta é a principal característica;
• Cada tarefa é executada até a sua finalização, 
independentemente do tempo gasto.
http://www.genlogic.com/process2_big.jpg
Pergunte...!
Referências Técnicas
• Sistemas Operacionais Modernos
– Andrew S. Tanenbaum
• Arquitetura de Sistemas Operacionais
– Francis B. Machado
– Luiz Paulo Maia
• http://www.artandtech.com
• http://www.microsoft.com
• http://www.cs.vu.nl/~ast/

Continue navegando