Sistema Operacional

Propaganda
Sistemas Operacionais
Aula 1
Introdução
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
2
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:
Conjunto de partes, funcionalmente independentes, que
trabalham de maneira harmônica objetivando um fim comum.
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.
Maquina de Níveis
Nível 1
Sistema Operacional
Nível 0
Hardware
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
6
Maquina de Níveis
O Sistema Operacional como a “camada” de software
entre o hardware e as aplicações dos usuários
usuários
Aplicação
Aplicação
Aplicação
Sistema Operacional
Hardware
Maquina de Níveis
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
Aplicação
Aplicação
Aplicação
Sistema Operacional
Hardware
Maquina de Níveis
Processador
de Texto
Compiladores
Browser
s
Bibliotecas
Jogos
Interpretadores
de
Comando
SISTEMA OPERACIONAL
Aplicativos
Programas
do Sistema
Linguagem de Máquina
Hardware
Micro Arquitetura
Dispositivos Físicos
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
10
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
11
História dos Sistemas Operacionais (3)
Estrutura de um job FMS típico – 2a. geração
12
História dos Sistemas Operacionais (4)
• Sistema de multiprogramação
– Três jobs na memória – 3a. geração
13
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.
O Sistema Operacional como
Máquina Abstrata
“Clicar” em um arquivo
Aplicação
Sistema Operacional
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
Ocultar a complexidade do hardware.
O Sistema Operacional como
Máquina Abstrata
Oferecer interfaces padronizadas de acesso ao
hardware.
O Sistema Operacional como
Máquina Abstrata
Permitir uma visão homogênea de dispositivos
distintos.
GUI - Graphical User Interface
Projeto
Laboratório de GUI.
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 do
Hardware
Gerenciamento dos
Softwares
Sistema Operacional
®
Gerenciamento da
Memória
Microsoft®
Windows
Gerenciamento de
Dados
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.
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
24
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
Arquivos
Usuários
Contabilidade
Memória
Processos
Kernel
Segurança
Rede
Entradas & Saídas
Erros
Interface Gráfica
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
Sistemas Operacionais
(*)
Quanto ao Número de
Tarefas Simultâneas
Monoprogramáveis Multiprogramáveis
( Multitarefa )
( Monotarefa )
Batch
Tempo
Compartilhado
Tempo Real
Quanto ao Número
de Processadores
Fracamente
Acoplados
SOR
Distribuído
Fortemente
Acoplados
Simétrico
Assimétrico
(*) De acordo com a configuração do hardware.
SO Mutiprogramável/Multitarefa
Software
Tarefa (3)
Tarefa (1)
Memória
CPU
Tarefa (2)
Dispositivos
I/O
Tarefa (n)
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;
SO Multiprogramável (Multitarefa)
•
•
•
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;
Sistemas vs. Usuários
...
Monoprogramação/
Monotarefa
Monousuário
Multiprogramação/
Multitarefa
Monousuário Multiusuário
N/A
Classificação dos Sistemas
Operacionais Multiprogramáveis
Podem ser classificados como:
• Fracamente acoplados;
• Fortemente acoplados.
Fracamente Acoplados
(Loosely Coupled)
Linha de
comunicação
DISPOS
E/S
DISPOS
E/S
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).
SOR ou parte de um Sistema Operacional
Global (Sistema Operacional Distribuído).
Nó (3)
Nó (4)
Nó (1)
Rede
Nó (2)
Nó (n)
Sistema Operacional de Rede (SOR)
Cada nó possui o seu próprio SO.
Unix
OS/2
Windows 2000
Hardware e Softwares
compartilhados
Servidor
Fortemente Acoplados
(Tightly Coupled)
DISPOS
E/S
DISPOS
E/S
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.
Sistema Operacional Assimétrico
CPU Master
Dispositivos
I/O
CPU Slave
SO
Dispositivos
I/O
• Na organização assimétrica ou mestre/escravo
(master/slave), somente um PROCESSADOR
(mestre) EXECUTA as rotinas do SISTEMA
OPERACIONAL.
Sistema Operacional Simétrico (SMP)
(*)
Dispositivos
I/O
SO
• Nesta configuração TODOS OS
PROCESSADORES EXECUTAM as rotinas do
SISTEMA OPERACIONAL.
(*) Boot fica apenas a cargo de um único processador.
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;
Sistemas em 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 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 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.
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/
Download