SISTEMAS
OPERACIONAIS
Introdução
Professor Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
2
Introdução
 O que se espera de um sistema de computação?
o Execução de programas de usuários;
o Permitir a solução de problemas.
 Sistema Operacional é um programa colocado entre o hardware do
computador e os programas dos usuários de forma a atingir esses
dois objetivos.
Programas
Sistema Operacional
Hardware
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
3
Componentes Genéricos de um Sistema
Computacional
 Hardware
o Recursos básicos (memória, dispositivos de E/S, CPU)
 Sistema Operacional
o Controla e coordena o uso do hardware entre vários programas
aplicativos e usuários.
 Programas aplicativos e de sistema
o Define como os recursos de hardware são empregados na solução de
um problema (compiladores, jogos, banco de dados,…)
 Usuários
o Pessoas, máquinas, outros computadores, etc.
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
4
Componentes Genéricos de um Sistema
Computacional
Usuário 1
Browser
Usuário 2
IDE
Usuário 3
….
Player
Sistema Operacional
Hardware
Prof. Angelo Gonçalves da Luz
Usuário N
PES
05/11/2015
Introdução à Sistemas Operacionais
Sistema Operacional: Conceito
 Sistema Operacional
o Um programa que controla a execução de programas aplicativos;
o Interface entre aplicativos e hardware.
 Duas formas de ver um Sistema Operacional
o Alocador de Recursos;
 Proteger memória;
 Alocar processador.
o Máquina estendida.
 Abstrair detalhes de hardware.
Prof. Angelo Gonçalves da Luz
5
05/11/2015
Introdução à Sistemas Operacionais
Sistema Operacional: Objetivos
 Tornar mais conveniente a utilização de um computador
o “Esconder” detalhes internos de funcionamento
 Tornar mais eficiente a utilização de um computador
o Gerenciamento “justo” dos recursos do sistema
Prof. Angelo Gonçalves da Luz
6
05/11/2015
Introdução à Sistemas Operacionais
Sistema Operacional: Interface
usuário/computador
Usuário
Usuário
Final
Programador
Aplicativos
Utilitários
Sistema Operacional
Hardware
Prof. Angelo Gonçalves da Luz
Projetista
S.O
7
05/11/2015
Introdução à Sistemas Operacionais
Sistema Operacional: Serviços
 Criação de programas
o Editores, depuradores, compiladores
 Execução dos programas
o Carga de programas na memória
 Acesso a dispositivos de E/S
 Controle de acesso a arquivos
 Acesso a recursos de sistema
o Proteção entre usuários
Prof. Angelo Gonçalves da Luz
8
05/11/2015
Introdução à Sistemas Operacionais
9
Sistema Operacional: Serviços
 Contabilidade
o Estatísticas
o Monitoramento de desempenho
o Sinalizar upgrades necessários de hardware
 Detecção de erros
o Erros de hardware
 Ex.: erros de memória, falha de dispositivo de E/S.
o Erros de programação
 Ex.: overflow, acesso não-autorizado a posição de memória.
o Aplicação solicita recursos que o sistema operacional não pode alocar
(falta de recurso, segurança).
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
10
Diferentes “imagens” do Sistema Operacional
 Sistema Operacional na visão do usuário
o Imagem que um usuário tem do sistema
o Interface oferecida ao usuário para ter acesso a recursos do sistema
 Chamadas de sistema
 Programas de sistema (utilitários)
 Sistema Operacional na visão de projeto
o Organização interna do sistema operacional
o Mecanismos empregados para gerenciar recursos do sistema
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
11
Chamadas de sistema
 Forma que programas solicitam serviços ao sistema operacional
o Análogo a sub-rotina
o Transferem controle para o sistema operacional invés de transferir
para outro ponto do programa
 É o kernel (núcleo) do sistema operacional que implementa as
chamadas de sistema
o Existem chamadas de sistema associadas a gerência do processador,
de memória, arquivos e de entrada/saída
 Variação: micro-kernel
o Serviços básicos são implementados pelo micro-kernel
 Gerência do processador e de memória
o Kernel implementa demais serviços utilizando o micro-kernel
 Sistema de arquivos, memória virtual, protocolos de comunicação, etc.
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
Programas de Sistema (Utilitários)
 Programas executados fora do kernel
 Implementam tarefas básicas
o Muitas vezes confundidos com o próprio sistema operacional
 Ex.: compiladores, assemblers, etc.
o Interpretador de comandos
 Ativado sempre que o sistema operacional inicia uma sessão de trabalho
• Ex.: bash, csh, sh, etc.
 Interface gráfica de usuário (GUI)
• Ex.: Família Windows, MacOS, GNOME, KDE, etc.
Prof. Angelo Gonçalves da Luz
12
05/11/2015
Introdução à Sistemas Operacionais
Sistemas Operacionais: História
 Primórdios:
o Sistema Operacional inexistente
o Usuário é o programador e o operador da máquina
o Alocação do recurso “computador” feito por planilha
 Evolução foi motivada por:
o Melhor utilização de recursos
o Avanços tecnológicos (novos tipos de hardware)
o Adição de novos serviços
Prof. Angelo Gonçalves da Luz
13
05/11/2015
Introdução à Sistemas Operacionais
14
Sistemas em Lote (batch)
 Introdução de operadores profissionais
o Usuário não era mais o operador da máquina
 Job
o Programa a ser compilado e executado, acompanhado dos dados de
execução (cartões perfurados)
o Jobs são organizados em lote (batch)
 Necessidades semelhantes (ex.: mesmo compilador, bibliotecas)
 Passagem entre diferentes jobs continua sendo manual
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
15
Monitor residente
 Evolução:
o Sequenciamento automático de jobs, transferindo o controle de um job
a outro
o Primeiro Sistema Operacional (rudimentar)
 Monitor residente:
o Sempre na memória
o Monitor – job - Monitor
Monitor
Prof. Angelo Gonçalves da Luz
Job
05/11/2015
Introdução à Sistemas Operacionais
16
Sistemas batch multiprogramados
(multitarefa)
 Monitor residente permite a execução de apenas um programa a
cada vez.
 Desperdício de tempo de CPU com operações de E/S
 Evolução:
o Manter diversos programas na memória ao mesmo tempo
o Enquanto um programa realiza E/S, outro pode ser executado
Desperdício de CPU
CPU
J1
E/S
Multiprogramação
J1
J1
J2
J3
J1
J1
tempo
Prof. Angelo Gonçalves da Luz
J1
tempo
05/11/2015
Introdução à Sistemas Operacionais
17
Multiprogramação
Manter mais de um programa em “execução” simultaneamente;
Duas inovações de hardware possibilitaram o surgimento
multiprogramação;
o Interrupções
 Sinalização de eventos
o Discos magnéticos
 Acesso randômico a diferentes jobs (programas) no disco;
 Melhor desempenho em acessos de leitura e escrita.
Prof. Angelo Gonçalves da Luz
da
05/11/2015
Introdução à Sistemas Operacionais
18
Sistemas timesharing
 Tipo de multiprogramação
 Usuários possuem um terminal
o Interação com o programa em execução
 Ilusão de possuir a máquina dedicada a execução de seu
programa
o Divisão do tempo de processamento entre usuários
o Tempo de resposta é importante
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
19
Sistemas monousuário e multiusuário
 Sistemas monousuário
o Projetados para serem usados por um único usuário
 Ex.: MS-DOS, Windows 3.x, Windows 9x, Millenium.
Sistemas multiusuário
o Projetados
para suportar várias sessões de usuários em um
computador
 Ex.: Windows NT, UNIX.
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
Sistemas multitarefa e monotarefa
 Sistemas monotarefa
o Capazes de executar apenas uma tarefa de cada vez
 Ex.: MS-DOS
 Sistemas multitarefas
o Capazes de executar várias tarefas simultaneamente
o Existem dois tipos de sistemas multitarefa:
 Não preemptivo (cooperativo)
• Ex.: Windows 3.x, Windows 9x (16 bits)
 Preempitvo
• Ex.: Windows NT, OS/2, UNIX, Windows 9x (32 bits)
Prof. Angelo Gonçalves da Luz
20
05/11/2015
Introdução à Sistemas Operacionais
21
Sistemas Distribuídos
 Distribuir a realização de uma tarefa entre vários computadores
 Sistema distribuído:
o Conjunto de computadores autônomos interconectados de forma a
possibilitar a execução de um serviço;
o Existência de várias máquinas é transparente;
o Software fornece uma visão única do sistema.
Exemplo
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
Sistemas Distribuídos
 Sistemas fracamente acoplados (loosely coupled system)
o Máquinas independentes;
 Cada máquina possui seu próprio sistema operacional
o Comunicação é feita através de troca de mensagens entre processos.
 Vantagens
o Compartilhamento de recursos;
o Balanceamento de carga;
o Maior confiabilidade.
Prof. Angelo Gonçalves da Luz
22
05/11/2015
Introdução à Sistemas Operacionais
23
Sistemas Paralelos
 Máquinas multiprocessadoras, possuem mais de um processador;
 Sistemas fortemente acoplados (tighly coupled system);
o Processadores compartilham memória;
o Comunicação é realizada através da memória.
 Vantagens:
o Aumento de throughput (número de processos executados);
o Aspectos econômicos.
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
24
Sistemas Paralelos
 Multiprocessamento Simétrico (SMP)
o Cada processador executa uma cópia idêntica do sistema operacional
o Vários processos podem ser executados em paralelo sem perda de
desempenho para o sistema
o A maioria dos sistemas operacionais atuais suportam SMP através do
conceito de multithreading.
 Multiprocessamento Assimétrico
o Cada processador executa uma tarefa específica;
o Possui Processador mestre para alocação de tarefas a escravo.
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
25
Sistemas de Tempo Real
Empregado para o controle de procedimentos que devem responder
dentro de um certo intervalo de tempo;
Noção de tempo real é dependente da aplicação.
o Milisegundos, minutos, horas, etc.
Podem ser Classificados como:
Crítico: Precisa necessariamente, ocorrer no tempo X.
Não Crítico: É desejável que ocorra no tempo X, porém, erros
eventuais não resultarão em grandes problemas.
Algumas vezes, o sistema Operacional acaba sendo apenas uma
biblioteca necessária para o funcionamento do software.
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
Sistemas de Tempo Real
Exemplos:
o Controle de Tráfego Aereo;
o Telefones digitais;
o Aeronaves teleguiadas;
o Reservas de Passagens aereas;
o Produção industrial.
Prof. Angelo Gonçalves da Luz
26
05/11/2015
Introdução à Sistemas Operacionais
27
Sistemas Embarcados
 Sistemas que normalmente controlam dispositivos que não são
considerados computadores;
 São sistemas fechados, ou seja, não aceitam instalação de
software por parte do usuário
Ex.:
o Televisão;
o Micro-ondas;
o DVD-Player.
Prof. Angelo Gonçalves da Luz
05/11/2015
Introdução à Sistemas Operacionais
28
Leitura Complementar
 R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. 3. ed.
Porto Alegre. Sagra-Luzzato, 2008.
o Capítulo 1.
 A. S. TANEMBAUM. Sistemas Operacionais modernos. 2. ed. São
Paulo. Prentice. 2003.
o Capítulo 1.
Prof. Angelo Gonçalves da Luz
Download

IntroducaoSO