You are on page 1of 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)

Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Multiprogramao

Os primeiros sistemas s permitiam executar uma


nica tarefa (programa ou processo) de cada vez
Designam-se esses por sistemas monotarefa
Na altura dos sistemas batch percebeu-se que o
CPU ficava muito tempo espera das operaes de
E/S (leitura e gravao de dados especialmente)
Por isso os sistemas foram alterados para permitir
realizar outro trabalho enquanto o anterior
esperava pelo fim das operaes de E/S

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

1 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Multiprogramao
Lote sem multi:

A
Exec.

A
Espera

Programa A Programa B Programa C

A
Exec.

A
Espera

A
B
Termina Exec.

B
Espera

B
B
Exec. Espera

Tempo

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

2 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Multiprogramao
Lote com multi:
Programa A

A
Exec.

A
Espera

Programa B

B
B
Espera Exec.

Programa C

C
Espera

Combinados

A
Exec.
B
Espera

C
Exec.

A
Espera
B
B
Exec. Espera

C
Espera

C
Exec.

A
B
C
A
B
C
Esp.
Exec. Exec. Exec.
Exec. Exec. Exec.

Tempo

Individualmente cada um leva o mesmo tempo, mas os trs em conjunto


acabam mais depressa

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

3 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Multitarefa (Multitasking)

O desenvolvimento seguinte foi com os sistemas de


timeshare
Eram sistemas interativos, com vrios utilizadores
em terminais
Suportavam a partilha do computador com vrias
tarefas
Nos primeiros sistemas utilizava-se um modelo que
ficou conhecido como multitarefa cooperativa
(cooperative multitasking)

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

4 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Multitarefa Cooperativa
Neste tipo de multitarefa os processos tinham de
voluntariamente prescindir do controlo
periodicamente
O processo executava durante algum tempo e
depois entregava o controlo ao S.O.
O S.O. passava o controlo a outro processo
E dessa forma ia rodando pelos processos todos,
simulando a execuo simultnea das tarefas
As primeiras verses do windows (pr 95)
funcionavam assim
::Aulas 7 e 8 de 27::

::Total: 8 de 179::

5 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Multitarefa Cooperativa
Este modo tem a vantagem de ser simples de
implementar
Mas existe uma desvantagem grande
Se os processos no devolverem o controlo ao
sistema, este fica pendurado (hanged)
Isso pode acontecer por acidente, em caso de falha
do processo, mas tambm pode ser propositado

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

6 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Multitarefa Preemptiva
Para melhor o desempenho do sistema foi criada a
multitarefa preemptiva
Com este modo o sistema no espera pela
devoluo do controlo
O S.O. pode, a qualquer momento, interromper o
funcionamento de um processo e executar outro
Os processos interrompidos diz-se que ficam em
espera (hold)

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

7 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Multitarefa Preemptiva

Este mecanismo depende da existncia de um


sistema de interrupes (interrupts)
O motivo da interrupo pelo S.O. pode-se dever a
vrios fatores por ex. o processo est espera de
dados ou tem menor prioridade que outro processo.

As interrupes podem ser geradas por software ou


hardware e notificam o S.O. que ocorreu um
evento
Este modo de funcionamento permite melhor
desempenho, mesmo em sistemas s com um
utilizador
::Aulas 7 e 8 de 27::

::Total: 8 de 179::

8 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Multitarefa

Os modos multitarefa tm algo em comum: A


mudana de contexto
Sempre que um processo suspenso e fica em
espera necessrio efetuar uma mudana de
contexto
Ao mudar o processo executado necessrio
guardar a informao que est em memria que o
processo necessita para funcionar
As mudanas de contexto podem ser um processo
caro (que exige muito trabalho)

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

9 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Escalonamento

Os sistemas multitarefa dependem dum componente


conhecido como scheduler
Este realiza a tarefa de escalonamento de
processos necessria para determinar quais os
processos que utilizam o sistema
Os objetivos podem ser:

maximizar o desempenho
minimizar o tempo de resposta
minimizar a latncia

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

10 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Escalonamento

O scheduler tem de equilibrar os objetivos, pois no


possvel obter todos ao mesmo tempo
Responde s interrupes e determina quais os
processos que devem ter acesso ao CPU
No caso do modo preemptivo, pode suspender a
execuo do processo
Tambm responsvel pelas mudanas de
contexto
Devido sua importncia parte integrante do
kernel

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

11 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Processos concorrentes
Uma das situaes que ocorre em sistemas
multitarefa est relacionada com o acesso aos
recursos
Os processos concorrem uns com os outros para
esse acesso (processos concorrentes)
Por este motivo o S.O. obrigado a oferecer formas
de proteger o sistema e processos e garantir a
fiabilidade

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

12 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Proteo de memria
Os processos tm um espao de memria especfico
atribudo
Se tentarem aceder a algo fora desse espao o S.O.
tem de intervir
Para isto so teis as tcnicas de:
Segmentao de memria
Memria virtual

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

13 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Proteo de ficheiros
O S.O. fornece tambm meios para controlar o
acesso aos ficheiros
possvel trancar (lock) certos ficheiros impedindo
a escrita, leitura, ou ambas
Isto importante para evitar um tipo de problema
chamado race condition (condio de corrida)
um problema comum em sistemas multitarefa no
s com ficheiros mas com outros recursos
::Aulas 7 e 8 de 27::

::Total: 8 de 179::

14 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Race Condition
O S.O. fornece tambm meios para controlar o
acesso aos ficheiros
possvel trancar (lock) certos ficheiros impedindo
a escrita, leitura, ou ambas
Isto importante para evitar um tipo de problema
chamado race condition (condio de corrida)
um problema comum em sistemas multitarefa no
s com ficheiros mas com outros recursos
::Aulas 7 e 8 de 27::

::Total: 8 de 179::

15 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Race Condition
Uma race condition um problema provocado por
falhas de sincronizao
Um exemplo simples quando dois processos
utilizam o mesmo ficheiro
Processo A
Processo B
Ambos utilizam o mesmo ficheiro com dados
::Aulas 7 e 8 de 27::

::Total: 8 de 179::

16 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Race Condition
Processo A

Tempo

Processo B

Ficheiro

L valor

valor = 10

10 + 1

valor = 10

Guarda Valor

valor = 11
L valor

Valor = 11

11 + 1

Valor = 11

Guarda Valor

Valor = 12
Tudo Corre Bem

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

17 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Race Condition
Processo A

Processo B

L valor

valor = 10
L valor

Tempo

Ficheiro

valor = 10

10 + 1

valor = 10

Guarda Valor

Valor = 11
10 + 1

Valor = 11

Guarda Valor

Valor = 11
Perderam-se dados

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

18 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Race Condition
Para evitar este tipo de problema o S.O. fornece
mecanismos de tranca (lock)
No incio o processo A pede ao sistema para trancar
o ficheiro
O processo B no vai conseguir aceder e evita-se o
problema

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

19 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Deadlock (Interbloqueio)
Devido ao mecanismo de tranca pode ocorrer outro
problema, o deadlock
Se dois processos necessitam ambos dos mesmos
dois ficheiros, conforme a ordem em que acedem e
trancam podem ficar bloqueados
Exemplo:

Processo A
Processo B
Ficheiro X
Ficheiro Y

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

20 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Deadlock (Interbloqueio)
Processo A

Processo B

Tranca X
Tranca Y

Tempo

Tranca Y

Ficheiro X

Ficheiro Y

livre

livre

Trancado por
A

livre

Trancado por
B

Tranca X

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

21 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Deadlock (Interbloqueio)
A maioria dos S.O. no consegue evitar deadlocks a
100%
Mas tentam detetar e prevenir
O sistema consegue detetar verificando o estado
dos processos e os recursos que requisitaram
Caso detete um deadlock pode:
Encerrar o processo bloqueado
Alterar os recursos atribudos aos processos at
desbloquear o processo bloqueado
::Aulas 7 e 8 de 27::

::Total: 8 de 179::

22 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Deadlock (Interbloqueio)
Para prevenir existem vrias estratgias:
Criar filas de acesso aos recursos para evitar
trancas exclusivas (usado em impresso spool;
spooling)
Obrigar os processos a pedir os recursos todos no
incio (no prtico)
Ordenar os recursos e impor uma regra que
obrigue a que sejam requisitados por ordem
::Aulas 7 e 8 de 27::

::Total: 8 de 179::

23 de 24

Gesto e Programao de Sistemas Informticos :: Sistemas Operativos (SOP)


Mdulo 1 Introduo aos sistemas operativos

Sumrio: Tipos de multitarefa. Proteo de recursos

Resumo
Um Sistema Operativo est dividido em vrias partes
especialmente o modo Kernel e o modo Utilizador

O hardware tem um software especfico o firmware

O kernel gere os processos tendo em conta muitos


fatores
Os sistemas multitarefa necessitam de mais controlo
a nvel dos processos e proteo dos recursos

::Aulas 7 e 8 de 27::

::Total: 8 de 179::

24 de 24

You might also like