Você está na página 1de 7

Introdução

Sistemas Operacionais ❚ O que se espera de um sistema de computação?


❙ Execução de programas de usuários
❙ Permitir a solução de problemas
Introdução
❚ Sistema operacional é um programa colocado entre o hardware do
computador e os programas dos usuários de forma a atingir esses
dois objetivos

Instituto de Informática - UFRGS


Programas

Oliveira, Carissimi, Toscani


Sistema Operacional

2a edição Capítulo 1 Hardware


Revisão: Fev/2003
Sistemas Operacionais 2

Componentes genéricos de um sistema Componentes genéricos de um sistema


computacional (1) computacional (2)

❚ Hardware
Usuário Usuário Usuário
❙ Recursos básicos (memória, dispositivos de E/S, CPU). 1 2 3 ... Usuário
n
❚ Sistema operacional
❙ Controla e coordena o uso do hardware entre vários programas aplicativos e
usuários. Compilador Editor de Browser Quake
texto
❚ Programas aplicativos e de sistema
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS

❙ Define como os recursos de hardware são empregados na solução de um


problema (compiladores, jogos, banco de dados,...) Sistema operacional
❚ Usuários
Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani

❙ Pessoas, máquinas, outros computadores,...


Hardware

Sistemas Operacionais 3 Sistemas Operacionais 4


Sistema operacional: conceito Objetivos do sistema operacional

❚ Sistema operacional ❚ Tornar mais conveniente a utilização de um computador


❙ Um programa que controla a execução de programas aplicativos ❙ “Esconder” detalhes internos de funcionamento
❙ Interface entre aplicativos e o hardware ❚ Tornar mais eficiente a utilização de um computador
❚ Duas formas de ver um sistema operacional: ❙ Gerenciamento “justo” dos recursos do sistema
❙ Alocador de recursos ❚ Facilitar a evolução do sistema (desenvolvimento, teste e
❙ Programa de controle atualização de novas facilidades)
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani


Sistemas Operacionais 5 Sistemas Operacionais 6

Sistema operacional: interface entre usuário/computador Serviços oferecidos pelo sistema operacional (1)

❚ Criação de programas
Usuário ❙ Editores, depuradores, compiladores
final
❚ Execução dos programas
Programador
❙ Carga de programas em memória

Aplicativos Projetista ❚ Acesso a dispositivos de E/S


Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


sistema ❚ Controle de acesso a arquivos
Utilitários operacional
❚ Acesso a recursos de sistema
Sistema Operacional ❙ Proteção entre usuários
Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani

hardware

Sistemas Operacionais 7 Sistemas Operacionais 8


Serviços oferecidos pelo sistema operacional (2) As diferentes “imagens” de um sistema operacional

❚ Contabilidade ❚ Sistema operacional na visão do usuário:


❙ Estatísticas ❙ Imagem que um usuário tem do sistema
❙ Monitoração de desempenho ❙ Interface oferecida ao usuário para ter acesso a recursos do sistema
❙ Sinalizar upgrades necessários hardware (memória, disco, etc) ! Chamadas de sistema

❙ Tarifação de usuários ! Programas de sistema

❚ Detecção de erros ❚ Sistema operacional na visão de projeto


Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


❙ Erros de hardware ❙ Organização interna do sistema operacional
! e.g.: erros de memória, falha em dispositivos de E/S, etc... ❙ Mecanismos empregados para gerenciar recursos do sistema
❙ Erros de programação
Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani


! e.g.: overflow, acesso não-autorizado a posições de memória , etc...

❙ Aplicação solicita recursos que o sistema operacional não pode alocar


(segurança, falta do recurso, etc)

Sistemas Operacionais 9 Sistemas Operacionais 10

Chamadas de sistema Programas de sistema

❚ Forma que programas solicitam serviços ao sistema operacional ❚ Programas executados fora do kernel (utilitários)
❙ Análogo a sub-rotinas ❚ Implementam tarefas básicas:
! Transferem controle para o sistema operacional invés de transferir para
❙ Muitas vezes confundidos com o próprio sistema operacional
outro ponto do programa
! e.g. compiladores, assemblers, ligadores, etc

❚ É o núcleo (kernel) do sistema operacional que implementa as ❙ Interpretador de comandos


chamadas de sistema ! Ativado sempre que o sistema operacional inicia uma sessão de trabalho
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS

❙ Existem chamadas de sistema associadas a gerência do processador, de ! e.g.: bash, tsch, sh, etc...

memória, arquivos e de entrada/saída ! Interface gráfico de usuário (GUI)

❚ Variação: micro-kernel ! e.g.: Família windows, MacOs, etc...


Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani

❙ Serviços básicos são implementados pelo micro-kernel


❙ kernel implementa demais serviços empregando esses serviços básicos

Sistemas Operacionais 11 Sistemas Operacionais 12


Histórico de sistemas operacionais Sistemas em lote (batch)

❚ Primórdios: ❚ Introdução de operadores profissionais


❙ Sistema operacional inexistente ❙ Usuário não era mais o operador da máquina
❙ Usuário é o programador e o operador da máquina ❚ Job
❙ Alocação do recurso “computador” feito por planilha ❙ Programa a ser compilado e executado, acompanhado dos dados de
❚ Evolução foi motivada por: execução (cartões perfurados)
❙ Melhor utilização de recursos ❙ Jobs são organizados em lote (batch)
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


❙ Avanços tecnológicos (novos tipos de hardware) ! Necessidades semelhantes (e.g. mesmo compilador)

❙ Adição de novos serviços ❚ Passagem entre diferentes jobs continua sendo manual
Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani


Sistemas Operacionais 13 Sistemas Operacionais 14

Monitor residente Sistema batch multiprogramados (multitarefa)

❚ Evolução: ❚ Monitor residente permite a execução de apenas um programa a


❙ Sequenciamento automático de jobs, transferindo o controle de um job a cada vez
outro ❚ Desperdício de tempo de CPU com operações de E/S
❙ Primeiro sistema operacional (rudimentar)
❚ Evolução:
❚ Monitor residente: ❙ Manter diversos programas na memória ao mesmo tempo
❙ Programa que fica permanentemente em memória
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


❙ Enquanto um programa realiza E/S, outro pode ser executado
❙ Execução inicial
❙ Controle é transferido para o job Desperdício CPU Multiprogramação
! Cartões de controle
Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani

❙ Quando o job termina, o controle retorna ao monitor CPU

❙ Centraliza as rotinas de acesso a periféricos disponibilizando aos programas E/S


Requisição Término Requisição Término
de usuário E/S E/S E/S E/S
tempo tempo

Sistemas Operacionais 15 Sistemas Operacionais 16


Multiprogramação Sistemas timesharing

❚ Manter mais de um programa em “execução” simultaneamente ❚ Tipo de multiprogramação


❚ Duas inovações de hardware possibilitaram o surgimento da ❚ Usuários possuem um terminal
multiprogramação ❙ Interação com o programa em execução
❙ Interrupções ❚ Ilusão de possuir a máquina dedicada a execução de seu programa
! Sinalização de eventos
❙ Divisão do tempo de processamento entre usuários
❙ Discos magnéticos
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


❙ Tempo de resposta é importante
! Acesso randômico a diferentes jobs (programas) no disco

! Melhor desempenho em acessos de leitura e escrita


Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani


Sistemas Operacionais 17 Sistemas Operacionais 18

Sistemas monousuário e multiusuário Sistemas multitarefa e monotarefa

❚ Sistemas monousuário ❚ Sistemas monotarefa


❙ Projetados para serem usados por um único usuário ❙ Capazes de executar apenas uma tarefa de cada vez
! e.g.; MS-DOS, Windows 3.x, Windows 9x, Millenium ! e.g.; MS-DOS
❚ Sistemas multiusuário ❚ Sistemas multitarefas:
❙ Projetados para suportar várias sessões de usuários em um computador ❙ Capazes de executar várias tarefas simultaneamente
e.g.; Windows NT (2000), UNIX ❙ Existem dois tipos de sistemas multitarefa:
Instituto de Informática - UFRGS

! Instituto de Informática - UFRGS

! Não preemptivo (cooperativo)

! e.g.; Windows 3.x, Windows9x (aplicativos 16 bits)


Preemptivo
Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani

! e.g.; Windows NT, OS/2, UNIX, Windows9x (aplicativos 32 bits)

Sistemas Operacionais 19 Sistemas Operacionais 20


Sistemas distribuídos (1) Sistemas distribuídos (2)

❚ Distribuir a realização de uma tarefa entre vários computadores ❚ Sistemas fracamente acoplados (loosely coupled system)
❚ Sistema distribuído: ❙ Máquinas independentes
! Cada máquina possui seu próprio sistema operacional
❙ Conjunto de computadores autônomos interconectados de forma a possibilitar
a execução de um serviço ❙ Comunicação é feita através de troca de mensagens entre processos
❙ Existência de várias máquinas é transparente ❚ Vantagens
❙ Software fornece uma visão única do sistema ❙ Compartilhamento de recursos
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


❙ Palavra-chave: transparência ❙ Balanceamento de carga
❙ Aumento confiabilidade
« A distributed system is one in which the failure of a computer you didn’t even
Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani


know existed can render your own computer unusable » Leslie Lamport.

Sistemas Operacionais 21 Sistemas Operacionais 22

Sistemas paralelos (1) Sistemas paralelos (2)

❚ Máquinas multiprocessadoras possuem mais de um processador ❚ Symmetric multiprocessing (SMP)


❚ Sistemas fortemente acoplados (tightly coupled system) ❙ Cada processador executa uma cópia idêntica do sistema operacional
❙ Processadores compartilham mémoria e relógio comuns ❙ Vários processos podem ser executados em paralelo sem perda de
desempenho para o sistema
❙ Comunicação é realizada através da memória
❙ A maioria dos sistemas operacionais atuais suportam SMP através do
❚ Vantagens: conceito de multithreading
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


❙ Aumento de throughput (número de processos executados)
❚ Asymmetric multiprocessing
❙ Aspectos econômicos
❙ Cada processador executa uma tarefa específica:
❙ Aumento de confiabilidade
! e.g,; processador mestre para alocação de tarefas a escravos
Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani

! Graceful degradation

! Sistemas fail-soft

Sistemas Operacionais 23 Sistemas Operacionais 24


Sistemas de tempo real Leituras complementares

❚ Empregado para o controle de procedimentos que devem ❚ R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora
responder dentro de um certo intervalo de tempo Sagra-Luzzato, 2001.
❙ e.g. experimentos científicos, tratamento de imagens médicas, controle de ❙ Capítulo 1
processos, etc ❚ A. Silberchatz, P. Galvin, P. Gagne; Applied Operating System
❚ Noção de tempo real é dependente da aplicação Concepts. Addison-Wesley, 2000, (1a edição).
❙ Milisegundos, minuto, horas, etc ❙ Capítulo 1
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


❚ Dois tipos: ❚ W. Stallings; Operating Systems. (4th edition). Prentice Hall, 2001.
❙ Hard real time ❙ Capítulo 2
! Tarefas críticas são completadas dentro de um intervalo de tempo
Oliveira, Carissimi, Toscani

Oliveira, Carissimi, Toscani


❙ Soft real time
! Tarefa crítica tem maior prioridade que as demais

Sistemas Operacionais 25 Sistemas Operacionais 26

Você também pode gostar