Sistemas Operacionais

Propaganda
1
Universidade Federal Fluminense
Campus de Rio das Ostras
Curso de Ciência da Computação
Introdução à Ciência da Computação
Professor: Leandro Soares de Sousa
e-mail: [email protected]
site: http://www.ic.uff.br/~lsousa
Aula 8:
Sistemas Operacionais
2
Sistemas Operacionais
• O que é um sistema operacional?
– Um programa que atua como intermediário entre
o usuário de um computador e o hardware
– É o primeiro a ser iniciado!
Usuários
Hardware
Sistema
Operacional
Aplicativos
3
Sistemas Operacionais
• Objetivos de um sistema operacional
• Executar programas do usuário de forma fácil
e eficiente
• Projetado para atender diferentes situações
(facilidade X eficiência)
4
Sistemas Operacionais
• Exemplos de tipos de sistemas operacionais
(objetivos)
• S.O. mainframe: otimizar utilização de
hardware
• S.O. PCs: diversidade de aplicações
(aplicações comerciais, ..., jogos)
• S.O. sistemas portáteis: interface intuitiva,
economia de recursos
5
Sistemas Operacionais
• Os componentes do sistema:
– Hardware: fornece recursos básicos de computação (CPU,
memória, dispositivos de E/S,...)
– Sistema operacional: controla e coordena o uso do hardware
entre vários programas aplicativos para os diversos usuários
– Programas aplicativos: definem as maneiras como os
recursos do sistema são usados para resolver os problemas
de computação dos usuários (processadores de texto,
planilhas, compiladores, navegadores web, programas
comerciais)
– Usuários: pessoas, outros computadores, outros
equipamentos
– Observação: um programa executável é apenas um arquivo
em disco, um processo é um programa em execução no
sistema operacional.
6
Sistemas Operacionais
• Visão Abstrata dos Componentes do Sistema
Usuário 1
Usuário 2
Usuário 3
Usuário N
Compilador
Editor de
Textos
Aplicativo
Qualquer
Banco de
Dados
Sistema Operacional
Hardware
7
Sistemas Operacionais
• Visão Abstrata dos Componentes do Sistema
Usuário 1
Usuário 2
Usuário 3
Compilador
Editor de
Textos
Aplicativo
Qualquer
Multiusuário
Sistema Operacional
Hardware
Usuário N
Banco de
Dados
8
Sistemas Operacionais
• Visão Abstrata dos Componentes do Sistema
Usuário 1
Usuário 2
Usuário 3
Compilador
Editor de
Textos
Aplicativo
Qualquer
Usuário N
Multitarefa
Sistema Operacional
Hardware
Banco de
Dados
9
Sistemas Operacionais
• Visão Abstrata dos Componentes do Sistema
Usuário 1
Usuário 2
Usuário 3
Compilador
Editor de
Textos
Aplicativo
Qualquer
Multiusuário
Multitarefa
Como?
Sistema Operacional
Hardware
Usuário N
Banco de
Dados
10
Sistemas Operacionais
• Visão Abstrata dos Componentes do Sistema
Usuário 1
Usuário 2
Usuário 3
Usuário N
Compilador
Editor de
Textos
Aplicativo
Qualquer
Banco de
Dados
Como?
Sistema Operacional
Hardware
Tempo
compartilhado
11
Sistemas Operacionais
• Visão Abstrata dos Componentes do Sistema
Usuário 1
Usuário 2
Usuário 3
Compilador
Editor de
Textos
Aplicativo
Qualquer
Cada processo
em execução
recebe um
tempo e passa
para o próximo
Usuário N
Banco de
Dados
Como?
Sistema Operacional
Hardware
Tempo
compartilhado
12
Sistemas Operacionais
• Visão Abstrata dos Componentes do Sistema
Usuário 1
Usuário 2
Usuário 3
Compilador
Editor de
Textos
Aplicativo
Qualquer
Cada processo
em execução
recebe um
tempo e passa
para o próximo
Usuário N
Banco de
Dados
Como?
Todos os sistemas
atuais usam essa
técnica
Com um ou mais
processadores
Sistema Operacional
Hardware
Tempo
compartilhado
13
Sistemas Operacionais
O sistema operacional deve ser projetado de
acordo com os objetivos para sua utilização.
14
Sistemas Operacionais
• Ponto de vista do Sistema Computacional
– SO é o programa mais próximo do hardware
– Alocador de recursos: aloca e gerencia tempo
de CPU, espaço de memória, espaço para
arquivos, dispositivos de E/S
– Programa de controle: gerencia execução de
programas (evita erros e uso indevido), facilita o
acesso aos recursos computacionais
15
Sistemas Operacionais
• Alguns exemplos:
–
–
–
–
–
–
Portáteis (em parte notebooks)
Desktop/Notebook
Multiprocessadores
Sistemas em cluster
Sistemas distribuídos
Sistemas de tempo real
16
Sistemas Operacionais
• Alguns exemplos, portáteis
– Tablets, celulares, notes (em parte – modos de
trabalho), ...
– Características importantes:
• Memória limitada
• Processadores lentos
• Telas pequenas
– SO:
• Deve economizar energia: aumentar duração da
bateria
• Deve proporcionar interface fácil (telas/teclados
pequenos)
• Acesso remoto a outros dispositivos (BlueTooth, wifi...)
17
Sistemas Operacionais
• Alguns exemplos,
Sistemas
desktop/notebook
– PCs surgiram na
década de 70:
computador dedicado a
um único usuário
– Inicialmente:
• CPU sem suporte
para proteger SO
dos demais
programas
• Nem multiusuário
nem multitarefa
– Com o passar do
tempo...
18
Sistemas Operacionais
• Alguns exemplos, sistemas desktop/notebook
– Com o passar do tempo...
• Ao invés de maximizar uso de CPU e E/S, maximizar
resposta ao usuário
• Necessidade do usuário: monopolizar recursos (trabalho,
jogo)
• SO: fácil uso, bom desempenho, recursos ociosos, E/S lenta
• Melhoria nas capacidades de armazenamento e
processamento
• Novos dispositivos: placas gráficas com maior capacidade,
monitores de alta resolução...
• Diversos tipos de SO: Windows, MacOS, Linux...
• Conexão com a Internet
– SO não garante segurança completa
19
Sistemas Operacionais
• Alguns exemplos, sistemas multiprocessadores
– Sistemas com mais de uma CPU
– Compartilham:
• Barramentos / Relógio / Memória e dispositivos de E/S
– Vantagens do sistema multiprocessado
• Maior “velocidade”: mais trabalho em menos tempo
• Economia de escala: compartilhamento de periféricos
– Ex.: vários programas operando sobre um mesmo
banco de dados (disco)
• Maior confiabilidade
– Se um processador falhar, sistema fica mais lento
mas não para
• Sistemas tolerantes a falhas de software
20
Sistemas Operacionais
• Alguns exemplos, Sistemas agrupados (em cluster)
– Cluster: múltiplos PCs para agrupados para realizar um
trabalho (ou vários – ex.: Google, Youtube,...)
• Usa rede local de alta velocidade
• O agrupamento fornece alta disponibilidade
• Cada nó (PC) pode monitorar os demais através da
rede local
• Se um nó falhar, é possível recuperar sua execução e
executar o seu trabalho em outros nós
21
Sistemas Operacionais
• Alguns exemplos, sistemas distribuídos
– Redes de computadores: via de comunicação entre um
ou mais sistemas separados
– Sistemas distribuídos: dependem de rede para
funcionar
• Não possuem relógio compartilhado
• Distribuem a computação entre vários computadores
interligados
• Dados são “empacotados” antes de enviá-los e
“desempacotados” ao recebê-los
• Informações de controle também são trocadas via rede
22
Sistemas Operacionais
• Alguns exemplos, sistemas distribuídos (Cliente ↔
Servidor)
–
–
–
–
Servidor: possui dados ou realiza processamento
Cliente: utiliza dados do servidor ou solicita processamento
Comunicação ocorre através da rede
Servidor de processamento: possuem interface para a
qual clientes enviam tarefas. Ao final, retornam o resultado
aos clientes
– Servidor de arquivos: possuem interface onde os clientes
podem manipular (acessar, criar, atualizar, apagar)
arquivos
– Um computador pode ser cliente e servidor ao mesmo
tempo (“torrent”)
23
Sistemas Operacionais
• Alguns exemplos, sistemas de tempo real
– Usado quando requisitos de tempo rígidos são exigidos
• Normalmente usado em aplicação dedicada
– Sensores coletam dados e computador deve analisar a
tempo
• Ex.: experimentos científicos, processamento de
imagens médicas, injeção eletrônica de combustível,
controle de tráfego aéreo, etc.
– Restrições de tempo são bem definidas
• Se o sistema não processa dentro do tempo, o sistema
falha
24
Sistemas Operacionais
• Ambientes de Computação
– Computação tradicional
• Terminais conectados a mainframes
• PCs conectados em rede
• Servidores de arquivo e impressão
• Acesso à Web em baixa velocidade
– Computação baseada na Web
• PCs são os dispositivos mais comuns de acesso
• Conexão de rede rápida e sem fio
– Computação embutida
• Bastante frequente (carros, robôs, eletrodomésticos)
• SO de tempo real
• Tendência de integração com a Web
25
Aula 8
Sistemas Operacionais
FIM
Download