SE SOBRAR TEMPO:
-OLHAR PDF SOtestP1 COM PROVAS DA PROF. LCIA (GABARITOS FEITOS POR MIM - PODEM
CONTER ERROS)
-OLHAR PDF ExSO20152 (EXERCCIOS MARCADOS E TRADUZIDOS DO STALLINGS QUE COSTUMAM
CAIR EM PROVA -
FAZEM PARTE DO BANCO DE QUESTES DE PROVAS DE SO, PRINCIPALMENTE OS QUE POSSUEM * e
-)
- LER RESUMAO DA TEORIA NO PDF 1TeoriaSO20152 (NO VALE MUITO A PENA)
1) QUESTO: ???
Resposta:
Pronto-Suspenso: O processo est pronto para ser
executado, porm est em disco por falta de espao na
memria principal. ode estar suspenso para dar chance
a outros processos ou por prioridade e ser executada a
liberao da sua imagem da memria principal (o processo
gravado em memria secundria).
Resposta:
O chaveamento entre threads no requer privilgios.
Muitas das chamadas ao sistema so bloqueantes. Ento,
o SO pode bloquear processos e, consequentemente, todas
as threads de um processo (para o SO s um processo).
Da no aproveita os benefcios do multiprocessamento. O
kernel vai atribuir o processo a apenas uma CPU. Portanto
duas threads dentro do mesmo processo no podem
executar simultaneamente numa arquitetura com mltiplos
processadores. O kernel pode simultaneamente escalonar
vrias threads do mesmo processo em vrios processadores
(reais ou virtuais).
Resposta:
-Race Condition (condio de corrida) - SLIDE 5so SLIDE 7:
Situao em que mltiplas threads ou processos leem e escrevem
dados compartilhados e o resultado final depende da ordem e
do tempo da execuo.
COMPLEMENTO:
SLIDE 14: Quando ocorre?
Uma condio de corrida ocorre quando:
I) Vrios processos ou threads leem e escrevem itens de dados
5) QUESTO: ???
OBS.: ONDE TEM UMA QUESTO PARECIDA? PDF SOtestsP1, pgina 10, questo 3.
PORM, ESTA QUESTO ABORDA O ALGORITMO DO BANQUEIRO (POSSVEL DIFERENA NA
EXECUO).
ALGORITMO DO BANQUEIRO
Como saber em qual ordem os processos iro executar?
? Pegase
a matriz Disponvel (Available) e subtraise
dela os valores da matriz Ainda necessrio (Need).
? O processo a ser executado ser o que tiver, nesse resultado, valores maiores ou
iguais a zero. Isso mostra que
h recurso suficiente para o processo rodar at o fim, ou seja, terminar sua
execuo. Aps terminar execuo, o
processo libera os recursos que usou.
? Valores menores que zero implicam em processo com recurso pendente, ou seja, no
h como rodar o processo.
Isso implica um sistema inseguro, ou seja, pode dar deadlock. Caso o sistema seja
inseguro, no vlido fazer
afirmaes. Os processos podem executar em qualquer ordem e no podemos prever sua
ordem de execuo (o
SO burro e no sabe qual vai ser a ordem de execuo dos processos, ele executa
tudo meio que ao mesmo
tempo). Afirmar que vai ocorrer deadlock prever o futuro, pode ocorrer ou no. O
correto dizer que o sistema
inseguro. a palavra chave da questo.
? Ao finalizar um processo, somase
o que estava disponvel com os valores da matriz Alocao atual referente
ao processo em questo. Caso todos os processos terminem a execuo, dizemos que o
sistema seguro pois
existem recursos disponveis para executar todos os processos.
? O processo 1 ir executar primeiro. (Subtrair Available Need
>= zero)
? O processo 4 ir executar aps o processo 1 pois o nico processo que possui a
matriz Ainda necessrio
(Need) (2, 0, 0, 2) inferior matriz Disponvel (Available) (2, 1, 1, 2). Ou
seja:
(2, 1, 1, 2) (
2, 0, 0, 2) = (0, 1, 1, 0) >= 0. Da, soma a Demanda mxima: (0, 1, 1, 0) + (4,
3, 5, 6) = (4, 4, 6, 6).
Este valor ser a nova matriz Disponvel para continuar a execuo dos processos.
E assim por diante.
? Em caso de empate, ou seja, dois processos em condies de serem executados,
podemos escolher a ordem.
Porm, No caso do processo que libera menos recurso executar primeiro, pode dar
problema (deadlock) no futuro.