Você está na página 1de 26

Sistemas Operacionais

Introduo

2a edio
Reviso: Fev/2003

Captulo 1

Introduo
O que se espera de um sistema de computao?

Sistema operacional um programa colocado entre o hardware do


computador e os programas dos usurios de forma a atingir esses
dois objetivos

Programas

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Execuo de programas de usurios


Permitir a soluo de problemas

Sistema Operacional
Hardware
Sistemas Operacionais

Componentes genricos de um sistema


computacional (1)
Hardware
Recursos bsicos (memria, dispositivos de E/S, CPU).

Sistema operacional
Controla e coordena o uso do hardware entre vrios programas aplicativos e
usurios.

Programas aplicativos e de sistema


Define como os recursos de hardware so empregados na soluo de um
problema (compiladores, jogos, banco de dados,...)
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Usurios

Pessoas, mquinas, outros computadores,...

Sistemas Operacionais

Usurio
1

Usurio
2

Compilador

Editor de
texto

Usurio
3

...

Browser

Usurio
n

Quake

Sistema operacional
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Componentes genricos de um sistema


computacional (2)

Hardware

Sistemas Operacionais

Sistema operacional: conceito


Sistema operacional
Um programa que controla a execuo de programas aplicativos
Interface entre aplicativos e o hardware
Alocador de recursos
Programa de controle

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Duas formas de ver um sistema operacional:

Sistemas Operacionais

Objetivos do sistema operacional


Tornar mais conveniente a utilizao de um computador
Esconder detalhes internos de funcionamento

Tornar mais eficiente a utilizao de um computador


Facilitar a evoluo do sistema (desenvolvimento, teste e
atualizao de novas facilidades)

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Gerenciamento justo dos recursos do sistema

Sistemas Operacionais

Sistema operacional: interface entre usurio/computador

Usurio
final

Projetista
sistema
operacional

Aplicativos
Utilitrios
Sistema Operacional

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Programador

hardware

Sistemas Operacionais

Servios oferecidos pelo sistema operacional (1)


Criao de programas
Editores, depuradores, compiladores

Execuo dos programas


Acesso a dispositivos de E/S
Controle de acesso a arquivos
Acesso a recursos de sistema
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Carga de programas em memria

Proteo entre usurios

Sistemas Operacionais

Servios oferecidos pelo sistema operacional (2)


Contabilidade
Estatsticas
Monitorao de desempenho
Sinalizar upgrades necessrios hardware (memria, disco, etc)
Tarifao de usurios

Deteco de erros

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Erros de hardware
! e.g.: erros de memria, falha em dispositivos de E/S, etc...
Erros de programao
! e.g.: overflow, acesso no-autorizado a posies de memria , etc...
Aplicao solicita recursos que o sistema operacional no pode alocar
(segurana, falta do recurso, etc)
Sistemas Operacionais

As diferentes imagens de um sistema operacional


Sistema operacional na viso do usurio:

Sistema operacional na viso de projeto


Organizao interna do sistema operacional
Mecanismos empregados para gerenciar recursos do sistema
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Imagem que um usurio tem do sistema


Interface oferecida ao usurio para ter acesso a recursos do sistema
! Chamadas de sistema
! Programas de sistema

Sistemas Operacionais

10

Chamadas de sistema
Forma que programas solicitam servios ao sistema operacional

o ncleo (kernel) do sistema operacional que implementa as


chamadas de sistema
Existem chamadas de sistema associadas a gerncia do processador, de
memria, arquivos e de entrada/sada
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Anlogo a sub-rotinas
! Transferem controle para o sistema operacional invs de transferir para
outro ponto do programa

Variao: micro-kernel
Servios bsicos so implementados pelo micro-kernel
kernel implementa demais servios empregando esses servios bsicos

Sistemas Operacionais

11

Programas de sistema

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Programas executados fora do kernel (utilitrios)


Implementam tarefas bsicas:
Muitas vezes confundidos com o prprio sistema operacional
! e.g. compiladores, assemblers, ligadores, etc
Interpretador de comandos
! Ativado sempre que o sistema operacional inicia uma sesso de trabalho
! e.g.: bash, tsch, sh, etc...
! Interface grfico de usurio (GUI)
! e.g.: Famlia windows, MacOs, etc...

Sistemas Operacionais

12

Histrico de sistemas operacionais


Primrdios:
Sistema operacional inexistente
Usurio o programador e o operador da mquina
Alocao do recurso computador feito por planilha
Melhor utilizao de recursos
Avanos tecnolgicos (novos tipos de hardware)
Adio de novos servios
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Evoluo foi motivada por:

Sistemas Operacionais

13

Sistemas em lote (batch)


Introduo de operadores profissionais
Usurio no era mais o operador da mquina
Programa a ser compilado e executado, acompanhado dos dados de
execuo (cartes perfurados)
Jobs so organizados em lote (batch)
! Necessidades semelhantes (e.g. mesmo compilador)

Passagem entre diferentes jobs continua sendo manual


Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Job

Sistemas Operacionais

14

Monitor residente
Evoluo:
Sequenciamento automtico de jobs, transferindo o controle de um job a
outro
Primeiro sistema operacional (rudimentar)

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Monitor residente:
Programa que fica permanentemente em memria
Execuo inicial
Controle transferido para o job
! Cartes de controle
Quando o job termina, o controle retorna ao monitor
Centraliza as rotinas de acesso a perifricos disponibilizando aos programas
de usurio
Sistemas Operacionais

15

Sistema batch multiprogramados (multitarefa)

Manter diversos programas na memria ao mesmo tempo


Enquanto um programa realiza E/S, outro pode ser executado
Multiprogramao

Desperdcio CPU
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Monitor residente permite a execuo de apenas um programa a


cada vez
Desperdcio de tempo de CPU com operaes de E/S
Evoluo:

CPU
E/S

Requisio
E/S

Requisio
E/S

Trmino
E/S
tempo

Sistemas Operacionais

Trmino
E/S
tempo
16

Multiprogramao

Interrupes
! Sinalizao de eventos
Discos magnticos
! Acesso randmico a diferentes jobs (programas) no disco
! Melhor desempenho em acessos de leitura e escrita
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Manter mais de um programa em execuo simultaneamente


Duas inovaes de hardware possibilitaram o surgimento da
multiprogramao

Sistemas Operacionais

17

Sistemas timesharing
Tipo de multiprogramao
Usurios possuem um terminal
Interao com o programa em execuo
Diviso do tempo de processamento entre usurios
Tempo de resposta importante

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Iluso de possuir a mquina dedicada a execuo de seu programa

Sistemas Operacionais

18

Sistemas monousurio e multiusurio


Sistemas monousurio
Projetados para serem usados por um nico usurio
!

e.g.; MS-DOS, Windows 3.x, Windows 9x, Millenium

Sistemas multiusurio
!

e.g.; Windows NT (2000), UNIX

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Projetados para suportar vrias sesses de usurios em um computador

Sistemas Operacionais

19

Sistemas multitarefa e monotarefa


Sistemas monotarefa
Capazes de executar apenas uma tarefa de cada vez
!

e.g.; MS-DOS

Capazes de executar vrias tarefas simultaneamente


Existem dois tipos de sistemas multitarefa:
! No preemptivo (cooperativo)
!

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Sistemas multitarefas:

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

Preemptivo
!

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

Sistemas Operacionais

20

Sistemas distribudos (1)

Conjunto de computadores autnomos interconectados de forma a possibilitar


a execuo de um servio
Existncia de vrias mquinas transparente
Software fornece uma viso nica do sistema
Palavra-chave: transparncia
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Distribuir a realizao de uma tarefa entre vrios computadores


Sistema distribudo:

A distributed system is one in which the failure of a computer you didnt even
know existed can render your own computer unusable Leslie Lamport.

Sistemas Operacionais

21

Sistemas distribudos (2)


Sistemas fracamente acoplados (loosely coupled system)
Mquinas independentes
! Cada mquina possui seu prprio sistema operacional
Comunicao feita atravs de troca de mensagens entre processos
Compartilhamento de recursos
Balanceamento de carga
Aumento confiabilidade
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Vantagens

Sistemas Operacionais

22

Sistemas paralelos (1)


Mquinas multiprocessadoras possuem mais de um processador
Sistemas fortemente acoplados (tightly coupled system)
Processadores compartilham mmoria e relgio comuns
Comunicao realizada atravs da memria

Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Vantagens:
Aumento de throughput (nmero de processos executados)
Aspectos econmicos
Aumento de confiabilidade
! Graceful degradation
! Sistemas fail-soft

Sistemas Operacionais

23

Sistemas paralelos (2)

Cada processador executa uma cpia idntica do sistema operacional


Vrios processos podem ser executados em paralelo sem perda de
desempenho para o sistema
A maioria dos sistemas operacionais atuais suportam SMP atravs do
conceito de multithreading

Asymmetric multiprocessing
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Symmetric multiprocessing (SMP)

Cada processador executa uma tarefa especfica:


! e.g,; processador mestre para alocao de tarefas a escravos

Sistemas Operacionais

24

Sistemas de tempo real


Empregado para o controle de procedimentos que devem
responder dentro de um certo intervalo de tempo
e.g. experimentos cientficos, tratamento de imagens mdicas, controle de
processos, etc
Milisegundos, minuto, horas, etc

Dois tipos:
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

Noo de tempo real dependente da aplicao

Hard real time


! Tarefas crticas so completadas dentro de um intervalo de tempo
Soft real time
! Tarefa crtica tem maior prioridade que as demais

Sistemas Operacionais

25

Leituras complementares
R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora
Sagra-Luzzato, 2001.

Captulo 1

Captulo 1

W. Stallings; Operating Systems. (4th edition). Prentice Hall, 2001.


Captulo 2
Oliveira, Carissimi, Toscani

Instituto de Informtica - UFRGS

A. Silberchatz, P. Galvin, P. Gagne; Applied Operating System


Concepts. Addison-Wesley, 2000, (1a edio).

Sistemas Operacionais

26