Você está na página 1de 12

Introduo

1) O que os sistemas operacionais de tempo real tem de diferente dos S.O.


comuns?
flar a o que ocorre com processos, existe escalonamento de threads;
no entanto, esse realizado de forma mais rpida do que ocorre com
processos, pois estes podem comunicar-se sem inocar o n!cleo, isto que
compartilham mem"ria e arquios em comum. #ver desenho
abaixo)$S%&S$&$S&$S&$
') (uais as anta)ens do S.O. ser monol*tico ou em camadas?
O sistema operacional monol*tico #n+o diidido em camadas) possui a
anta)em de ser menor, )eralmente mais rpido. , uma solu-+o )eralmente
usada quando h restri-.es de tempo e espa-o como em sistema em/arcados.
Os sistemas ditos como diido em camadas )eralmente oferecem uma
maior modularidade o que permite, por exemplo, acoplar dispositios n+o
preistos durante o desenolimento ao sistema posteriormente. 0ara
oferecer tal /enef*cio s+o diididos em camadas hierarquicamente
diferentes. Ou se1a, s+o sistemas que facilitam a eolu-+o e adapta-+o a
noos am/ientes.
2sse se)undo tipo de sistema operacional )eralmente possui um
c"di)o mais le)*el.
3) (uais informa-.es cont4m e pra que sere o /loco de controle de um
processo ou ta/ela de processo #process control /loc5)?
Pilha
do
usurio
Pilha
do
ncleo
Espao de
ender. do
usurio
PCB
Thread
nica
Espao de
ender. do
usurio
TCB
Pilha
do
usurio
Pilha
do
ncleo
PCB
Thread
Multithreaded
TCB
Pilha
do
usurio
Pilha
do
ncleo
Thread
TCB
Pilha
do
usurio
Pilha
do
ncleo
Thread
0odemos dizer que o /loco de controle de cada processo possui as
informa-.es essenciais 6 execu-+o daquele processo. 7nforma-.es como8
alor dos re)istradores em uso por aquele processo, contador de pro)rama,
estado do pro)rama, ponteiro de pilha, prioridade, par9metros de
escalonamento, identificador #7$) do processo, ponteiro para o se)mento
de c"di)o, ponteiro para o se)mento de dados como tam/m ponteiro para o
se)mento de pilha.
% fun-+o de armazenar todos esses dados )arantir o funcionamento
correto do processo e eitar a perda de dados durante o escalonamento de
processos ou tente inadir reas de mem"ria de outros processos.
:) ;m usurio dese1a fazer um sistema de sort e perce/e que usar 1<
tarefas que se comunicam para atin)ir o o/1etio a melhor solu-+o.
2le resoleu testar duas implementa-.es8 a) usando 1< processos; /)
usando 1< threads de um mesmo processo. %o executar as duas solu-.es
num am/iente com escalonamento round-ro/in ele perce/eu que uma
solu-+o era melhor se o sistema estiesse so/recarre)ado #por 1<<
outros processos, por exemplo) e a outra era melhor se o sistema
estiesse sem car)a. (ual era a melhor solu-+o para cada caso e
porqu4? #$ica8 a mudan-a de contexto entre threads lea menos tempo do
que entre processos).
=emos, portanto, duas situa-.es8
a.) Sistema so/recarre)ado8
>esse caso melhor utilizar 1< processos e n+o 1< threads para
executar o sort. Supondo que o sistema capaz de escalonar 1<< processos
e na fila de escalonamento 1 existem ?< processos. Se oc4 colocar 1<
processos, seu sort estar ocupando 1<@ do processamento da A0;; se
colocar 1< threads, seu sort estar ocupando somente 1@ do processamento
da A0;.
/.) Sistema sem car)a8
Se o sistema est sem car)a #poucos processos na fila de
escalonamento) mais interessante utilizar a a/orda)em usando 1<
threads; pois, o seu !nico processo ir ocupar quase todo o uso da A0;
#em fun-+o da /aixa car)a) e nesse tempo ir escalonar 1< threads que
seria como se tiesse 1< partes do seu pro)rama rodando em paralelo.
;tilizar 1< processos n+o uma /oa idia, pois o escalonamento de
processos mais lento do que o de threads.
Escalonamento
1) 0ara que sere a multi-pro)rama-+o?
% multi-pro)rama-+o uma tcnica a qual consiste no rpido
chaeamento do processador entre rios pro)ramas em execu-+o #processos)
conferindo a idia de que os processos est+o rodando em paralelo
#pseudoparalelismo).
2ssa tcnica utilizada para otimizar o uso do processador; pois,
caso um processo este1a sem dados essenciais para prosse)uir o seu
funcionamento #esperando o usurio di)itar uma letra) ele /loqueado at
que este1a pronto para rodar cedendo seu lu)ar no uso da A0; para outro
processo pronto.
Os processos podem estar em 3 estados8 pronto, com todos os dados
necessrios ao seu funcionamento, mas a A0; est ocupada no momento;
rodando, sendo executado pelo processador; /loqueado, esperando al)um
dado faltando a sua execu-+o.
') O que s+o processos 7BO-/ound e A0;-/ound?
0rocessos 7BO-/ound s+o aqueles os quais durante sua execu-+o
requisitam muitos seri-os de entradaBsa*da #inputBoutput).
A0;-/ound, por sua ez, s+o aqueles processos os quais durante sua
execu-+o n+o requisitam seri-os de entradaBsa*da; consomem somente muito
processamento de dados pela A0;.
2m muitos sistemas, como ;>7C, a prioridade no escalonador esta/elecida
colocando processos 7BO-/ound como prioritrios. 0or que? 2stes solicitam
muita 2ntradaBSa*da e proaelmente ficaria ociosos rodando no
processador. 0or isso, sua entrada em processamento li/erada, para que
ele possa oltar ao estado de Dloqueado #2 depois, 0ronto), deixando o
processador lire para os processo A0;-/ound.
3) O que s+o processos batch e interatios?
0rocessos /atch s+o aqueles os quais apresentam pouca
interatiidade com o usurio. >ormalmente s+o A0;-/ound mas podem ser
7BO-/ound, por exemplo8 o desfra)mentador de disco #n+o intera)e com o
usurio durante sua execu-+o, mas est requisitando constantemente
seri-os de entradaBsa*da; no caso, acesso ao disco).
0rocessos interatios, como o pr"prio nome su)ere, s+o aqueles os
quais )eralmente passam pouco tempo no estado pronto e /oa parte do tempo
no estado /loqueado #esperando dados a serem fornecidos pelo usurio).
:) $efina8 fairness, staration, turnaround, throu)hput.
Eairness8 palara do in)l4s cu1o tradu-+o 1usti-a. >o nosso contexto,
si)nifica )arantir que todos os processos do sistema ter+o chances i)uais
#pol*tica 1usta) de usar o processador.
Staration8 palara a qual pode ser traduzida #no nosso contexto) como
esta)na-+o. 0or exemplo, escalonamentos com pol*ticas dotadas de
prioridade #os processos possuem prioridades) pode )erar uma situa-+o na
qual um certo processo nunca ser executado. 2sse fenFmeno denominado
staration. ;m caso onde isso pode acontecer facilmente no
escalonamento G*/rido, /aseado em filas m!ltiplas, onde um processo pode
ir parar numa fila de prioridade /aix*ssima e n+o ser executado.
=urnaround8 a pol*tica cu1o o/1etio minimzar o tempo com que os
processos /atch precisam para serem executados completamente. Ou se1a, o
tempo que pro)ramas /atch deem esperar para )erar a sa*da.
=hrou)hput8 a pol*tica cu1o intuito maximizar o n!mero de H1o/sI
#tra/alhos) processados por unidade de tempo.
J) 2xplique como funciona o escalonamento round-ro/in e quando dee ser
usado?
O escalonamento round-ro/in /aseado em uma lista sem prioridade,
/aseado em um sistema preemptio.
Aada processo colocado em uma fila de processos e para cada um
destinado um tempo mximo #quantum) durante o qual aquele processo poder
usar o processador. Se ap"s esse per*odo de tempo o processo ainda
estier usando o procesador, ele ir para o estado pronto e outro
processo ser executado pela A0;. 2sse troca de contexto pelo sistema
operacional #/aseado em interrup-.es) o que caracteriza um sistema
preemptio. Se um processo for /loqueado ou terminado, antes do fim de
seu quantum, a comuta-+o dar-se- no exato momento do trmino ou
/loqueio, fazendo com que o processador n+o fique ocioso.
, uma pol*tica simples e 1usta. $ee ser usada em sistemas
interatios #com muita intera-+o com o usurio).
K) (ual a anta)em de ter um quantum pequeno ou um quantum )rande?
Se for definido um quantum pequeno, o tempo de resposta para
processos interatios diminu*do. , uma tcnica que permite uma sensa-+o
de multipro)rama-+o maior. Las apresenta pro/lemas como8 se o quantum for
i)ual ao tempo necessrio para a mudan-a de contexto, perde-se metade do
tempo do processador somente com mudan-as de contexto.
Se for definido um quantum )rande, as mudan-as de contexto entre
processos diminu*do e, conseqMentemente, diminui-se tam/m o oerhead
do sistema operacional. =am/m apresenta pro/lemas8 se for definido um
quantum muito )rande, os processos interatios ter+o seu tempo de
resposta aumentado consideraelmente.
N) 2xplique como funciona o escalonamento E7EO e quando dee ser usado?
O escalonamento E7EO usa uma lista de processos sem prioridade
#semelhante ao round-ro/in) mas n+o preemptio; ou se1a, n+o existe a
no-+o de quantum e, conseqMentemente, n+o permite a suspens+o temporria
dos processos pelo S.O. fazendo com que cada processo se1a executado at
seu final. , um al)oritmo simples. Dom para sistemas /atch. 7nia/iliza
os sistemas interatios.
O) 2xiste al)um escalonamento que a)re)a as caracter*sticas do round-
ro/in e do E7EO ao mesmo tempo? Aomo funciona?
2scalonamento com prioridade funciona da se)uinte maneira8 a cada
processo associado uma prioridade, e o processo pronto com maior
prioridade ser aquele que ai rodar primeiro. 0ara eitar que
processos com alta prioridade monopolizem o processador, o escalonador
decrementa a prioridade do processo que est rodando, a cada
interrup-+o de tempo, at que a prioridade do processo corrente torne-
se mais /aixa que a do de mais alta prioridade da fila de HprontoI,
trocando-se assim o contexto.
P8 % resposta mais precisa SIM. Aomo funciona se)ue no quesito a/aixo,
o 9.
?) 2xplique o escalonamento de filas m!ltiplas #Lultiple Eeed/ac5 (ueue).
O al)oritmo LE( #Lultiple Eeed/ac5 (ueue) um tipo de
escalonamento h*/rido, ou se1a, possui caracter*sticas do round-ro/in
como tam/m do E7EO.
, um escalonamento de processos com prioridade. Sua estrutura
composta por rias filas de processos sendo a primeira com maior
prioridade #menor quantum) e a !ltima com menor #maior quantum). 2m cada
fila tem-se o uso do round-ro/in para escalonar os processos.
O LE( funciona da se)uinte forma8 ao ser criado um noo processo,
ele alocado na primeira fila #prioridade mais alta e quantum menor); em
se)uida, ao ser executado #respeitando a prioridade das filas), cada
processo poder descer ou su/ir uma fila. 7r su/ir se ele fizer uma
requisi-+o de 7BO antes de aca/ar seu quantum, ir descer se ainda
estier sendo executado ao aca/ar seu quantum.
2sse al)oritmo faz com que se acumulem na primeira fila os
processos 7BO-/ound #a maioria deles no estado /loqueado) e na !ltima
fila os A0;-/ound, fila a qual contm os processos que passam maior tempo
sendo executados pela A0;.
1<) O que um sistema time-sharing?
Aomo a pr"pria tradu-+o su)ere, sistemas time-sharin) s+o aqueles
nos quais existem compartilhamento de tempo de A0; entre os processos.
2ssa pol*tica tenta eitar que um dado processo monopolize o sistema.
11) 0odemos ter um sistema time-sharing sem usar interrup-.es?
>+o. % interrup-+o do rel")io #por exemplo) o dispositio
responsel por indicar ao sistema operacional que um dado processo em
execu-+o ultrapassou seu quantum e que necessrio le-lo para o estado
pronto e colocar outro processo para executar. Qo)o, um sistema sem
interrup-.es n+o teria como detectar se o processo ultrapassou ou n+o seu
quantum.
Gerenciamento de Memria
1) (uais as anta)ens de ter mem"ria irtual?
% principal anta)em de se ter mem"ria irtual /asicamente
simular para o pro)ramador #pro)rama) a exist4ncia de uma mem"ria t+o
)rande se1a sua necessidade.
Os pro)ramas os quais s+o maiores que a quantidade de mem"ria
dispon*el s+o diididos em m"dulos #oerlaRs) os quais ca/em na mem"ria
principal ficando o resto no disco. , fun-+o do sistema operacional
manter na mem"ria principal as partes do pro)rama efetiamente em uso,
deixando o restante no disco.
% mem"ria irtual, portanto, facilita a ida do pro)ramador que n+o
fica restrito 6 quantidade real de mem"ria existente no computador. >em
precisar exercer a atiidade estafante de mapear endere-os irtuais em
endere-os reais.
') O que o princ*pio da localidade tem a er com a hierarquia de mem"ria?
O princ*pio da localidade possui dois tipos8 temporal, afirma que
uma dada instru-+o referenciada no momento proaelmente ser
referenciada de noo em /ree; espacial, afirma que as instru-.es
pr"ximas a instru-+o referenciada no momento ser+o proaelmente
referenciadas em /ree.
Daseado nesse princ*pio, pode-se ter uma idia de que partes do
pro)rama #processos) ser+o mais referenciados lo)o em se)uida. Qo)o,
utilizando essa preis+o com a hierarquia de mem"ria. Aostuma-se colocar
os processos com maiores chances de serem referenciados em /ree em uma
mem"ria mais rpida #cache, por exemplo); os que ser+o proaelmente
referenciados n+o t+o /ree em uma mem"ria n+o t+o rpida #mem"ria
principal) e os que n+o ser+o referenciados lo)o, em uma mem"ria mais
lenta #mem"ria secundria).
3) 0ara que a reloca-+o de c"di)o em mem"ria usada?
% reloca-+o de c"di)o em mem"ria usado para permitir que os
pro)ramas executem corretamente em qualquer lu)ar da mem"ria. Ou se1a,
quando o endere-o de mem"ria no qual o pro)rama ser carre)ado n+o
conhecido em tempo de compila-+o.
Seu funcionamento se d da se)uinte forma8 o pro)rama alocado em
uma dada posi-+o da mem"ria e ao ser executado o S.O. recalcula os
endere-os relatios presentes no c"di)o em fun-+o de onde o pro)rama foi
carre)ado na mem"ria o/tendo o endere-o f*sico real. 2ssa opera-+o
feita utilizando a ta/ela de reloca-+o a qual contm para cada entrada um
endere-o /ase a ser somado ao endere-o relatio do pro)rama o/tendo o
endere-o correto do pro)rama na mem"ria.
:) (uais as tcnicas que oc4 conhece para fazer reloca-+o de c"di)o em
mem"ria? 2xplique cada uma delas.
2xistem /asicamente tr4s tcnicas. >os prim"rdios da computa-+o,
era fun-+o do pro)ramador informar no in*cio do pro)rama qual era o
endere-o /ase no qual o pro)rama seria carre)ado na mem"ria.
0osteriormente, irou fun-+o do S.O. desco/rir qual era o endere-o
real da mem"ria na qual o pro)rama estaa em fun-+o de uma ta/ela de
s*m/olos )erada pelo compilador.
%tualmente, para a reloca-+o de c"di)o em mem"ria ser mais
eficiente #rpida) utiliza-se um hardSare espec*fico8 re)istradores que
armazenam o endere-o /ase no qual o pro)rama foi carre)ado como tam/m o
endere-o limite daquele pro)rama.
J) Aomo funciona um sistema de multiprocessamento com parti-+o fixa? Aomo
ocorre a fra)menta-+o neste sistema?
2m um sistema de multiprocessamento com parti-+o fixa a mem"ria
diidida em um n!mero de parti-.es com tamanhos pr-esta/elecidos #fixo).
(uando um processo iniciado, ele colocado numa fila de entrada para
ocupar a menor parti-+o suficiente para acomod-lo. Aomo as parti-.es
possuem tamanho fixo, comum haer espa-os em uma dada parti-+o n+o
utilizados pelo processo.
2sse espa-o de mem"ria desperdi-ado, caracterizando uma
fra)menta-+o interna. (Ver Figura Abaixo)
K) Aomo funciona um sistema de multiprocessamento com parti-+o ariel?
Aomo ocorre a fra)menta-+o neste sistema?
2m um sistema de multiprocessamento com parti-+o ariel, 6 medida
que os processos s+o criados, a mem"ria aloca exatamente o tamanho
necessrio para a execu-+o daquele processo, como se eles tiessem
tamanhos fixos. $ee-se lem/rar, que neste esquema, cada processo tem um
espa-o alocado da se)uinte maneira8 rea de c"di)o do processo, rea de
dados do processo, espa-o reserado ao crescimento da rea de c"di)o ou
de pilha do processo, e rea de pilha.
(uando um processo sai da mem"ria, aquele espa-o antes ocupado fica
lire. Se o pr"ximo processo a ser alocado for menor que aquele espa-o,
ele alocado ali.
Aom o tempo, come-am a aparecer espa-os n+o alocados entre as
parti-.es de tamanhos ariados, caracterizando uma fra)menta-+o externa a
qual pode ser contornada usando compacta-+o com realoca-+o. (Ver Figura
Abaixo)
N) 0ara que sere a pa)ina-+o? Aomo funciona? Aomo ocorre a fra)menta-+o
neste sistema?
% pa)ina-+o a tcnica usada para traduzir, utilizando uma ta/ela
de p)inas, um endere-o irtual #mem"ria irtual) em um endere-o real.
Os endere-os de mem"ria )erados pelo pro)rama s+o chamados de
endere-os irtuais e formam o espa-o de endere-amento irtual o qual
diidido em p)inas. 2sse endere-o irtual eniado para a LL; #unidade
de )erenciamento de mem"ria) a qual, utilizando a ta/ela de p)inas,
transforma o endere-o irtual em um endere-o real, indicando em qual
moldura da mem"ria real essa p)ina est referenciada.
% fra)menta-+o nesse sistema ocorre na !ltima p)ina. 0ois o
processo pode ir a n+o ocupar a !ltima p)ina completamente.
Era)menta-+o interna, no caso.
O) 0ara que sere a se)menta-+o? Aomo funciona?
% se)menta-+o utilizada para permitir que partes de um processo
#c"di)o, dados, pilha, etc.) possam ser que/rados em espa-os de
endere-amento lo)icamente independentes o que auxilia nas quest.es
enolendo compartilhamento e prote-+o de dados.
S+o criados se)mentos independentes. ;m se)mento para dados, um
se)mento para c"di)o e assim por diante. Aada se)mento come-a do endere-o
l")ico zero e pode crescer din9micamente #at um certo limite
suficientemente )rande) sem se preocupar em inadir o espa-o de c"di)o
#por exemplo).
0ara identificar o in*cio de cada se)mento utiliza-se um
re)istrador espec*fico #por exemplo, data se)ment para o se)mento de
dados) cu1o alor precisa conter o endere-o real do in*cio daquele
se)mento na mem"ria. 2ssa fun-+o de indicar esse endere-o fun-+o do
pro)ramador.
O pro)rama, ao acessar um endere-o realtio naquele se)mento, esse
alor somado com o re)istrador /ase do se)mento indicando a posi-+o
real na mem"ria.
?) Aompare pa)ina-+o com se)menta-+o.
>a pa)ina-+o, o pro)ramador n+o intera)e com a tcnica, s" um
espa-o de endere-os lineares usado, o espa-o de endere-amento pode ser
maior do que a mem"ria f*sica, as ta/elas n+o mudam de tamanho, os
procedimentos e dados est+o 1untos e n+o fcil compartilhar
procedimentos.
T na se)menta-+o, o pro)ramador intera)e com a tcnica, rios
espa-os de endere-amentos lineares s+o usados, o espa-o de endere-amento
tam/m pode ser maior do que a mem"ria f*sica, as ta/elas podem mudar de
tamanho, os procedimentos e dados s+o alocados separadamente e prote)idos
indiidualmente #tal pol*tica facilita tam/m o compartilhamento deles
entre processos diferentes).
1<) (ue tcnicas podem ser usadas para reduzir o tempo de acesso e o
tamanho das ta/elas de p)ina num sistema de pa)ina-+o de mem"ria?
$escrea cada tcnica mencionada.
% principal tcnica utilizada para reduzir o tempo de acesso da
ta/ela de p)ina em um sistema de pa)in-+o de mem"ria o =QD #solu-+o em
hardSare).
%s tcnicas que podem ser utilizadas para diminuir o tamanho das
ta/elas de p)ina em um sistema de pa)ina-+o de mem"ria s+o o uso de
ta/elas de p)ina inertida e tam/m da ta/ela de p)inas multi-n*el.
% explica-+o de cada uma est contida na resposta das pr"ximas
quest.es.
11) Aomo funciona a ta/ela de p)inas comum num sistema de pa)ina-+o de
mem"ria?
% ta/ela de p)inas contm uma p)ina para cada endere-o irtual
possielmente referenciado. Aada p)ina contm informa-.es como8 se
aquela p)ina foi modificada, referenciada, se lida e o endere-o real
na mem"ria.
0ara o/ter o endere-o real de uma p)ina irtual, confere-se se
aquela p)ina irtual lida. Se for, pe)a-se o endere-o real e soma-se
ao deslocamento da p)ina irtual; se n+o for, detectou-se uma falta de
p)ina.
% desanta)em dessa implementa-+o que )eralmente as ta/elas s+o
)randes e precisam de um )rande espa-o de mem"ria para serem armazenadas.
1') Aomo funciona a ta/ela de p)inas multi-n*el num sistema de
pa)ina-+o de mem"ria?
% ta/ela de p)inas multi-n*el /astante similar a ta/ela de
p)inas comum. % )rande diferen-a consiste em se ter uma ta/ela onde cada
clula aponta para uma outra ta/ela onde a ta/ela do !ltimo n*el a que
contm o endere-o real daquela p)ina irtual.
2ssa a/orda)em reduz o tamanho da ta/ela uma ez que nem todas as
ta/elas de cada n*el precisa estar na mem"ria principal. %l)umas podem
estar armazenadas em disco. 2ssa pol*tica diminui o espa-o de mem"ria
necessrio para armazenar a ta/ela de p)inas.
13) Aomo funciona a ta/ela de p)inas inertida num sistema de
pa)ina-+o de mem"ria?
2ssa outra implementa-+o isando diminuir o tamanho da ta/ela de
p)inas. Aada p)ina irtual mapeada em uma posi-+o de uma ta/ela menor
por uma fun-+o hash a qual )era um certo hash code. Se naquela posi-+o a
p)ina irtual for equialente a p)ina irtual em m+o, ent+o o endere-o
real daquela posi-+o o qual nos interessa. Se nao for, porque ocorreu
uma colis+o. 0ara sa/er em qual posi-+o tentou-se inserir a p)ina
colidida, existe um lin5 apontando para essa outra posi-+o.
2ssa implementa-+o pode se tornar custosa se houer um n!mero
eleado de colis.es em fun-+o de uma fun-+o hash ruim #distri/ui de forma
n+o uniforme as entradas).
1:) Aomo funciona o =ranslation Qoo5aside Duffer e pra que sere num
sistema de pa)ina-+o de mem"ria?
O =QD uma ta/ela #implementada em hardSare) localizada na LL; a
qual contm as p)inas irtuais, com seus respectios endere-os reais,
mais referenciadas recentemente.
Eunciona como uma ta/ela de p)inas comum, mas por ser implementada
em hardSare utilizando uma mem"ria associatia #todas as entradas s+o
comparadas em paralelo com a p)ina irtual a qual se est inesti)ando o
endere-o real) consideraelmente mais rpida.
1J) (ual o melhor al)oritmo realista de su/stitui-+o de p)inas num
sistema de pa)ina-+o de mem"ria?
$entre os rios al)oritmos de su/stitui-+o de p)inas em um
sistema de pa)ina-+o de mem"ria, o mais realista o chamado al)oritmo do
rel")io. O USAloc5 tam/m constitui um al)oritmo de su/stitui-+o
eficiente.
1K) 0ara que sere o Lodelo de Aon1unto de =ra/alho #ou pr-pa)ina-+o)
num sistema de pa)ina-+o de mem"ria?
Aon1unto de tra/alho o con1unto de p)inas que um processo est
atualmente usando. 0ortanto, o modelo do A= #con1unto de tra/alho) a
forma de tentar manter controle so/re o A= de processos, de forma a
)arantir que um deles este1a na mem"ria durante a execu-+o do processo
que lhe correspondente.
O o/1etio dessa pol*tica reduzir de forma si)nificatia a
ocorr4ncia de falta de p)inas#thrashin)), carre)ando a p)ina antes
mesmo do processo iniciar sua execu-+o.
1N) (ue implica-.es podemos esperar se tiermos p)inas muito pequenas
ou muito )randes num sistema de pa)ina-+o de mem"ria?
Aomo dito anteriormente, em mdia, metade da !ltima p)ina de um
processo estar azia, ou se1a, ter-se- mem"ria desperdi-ada por
fra)menta-+o interna. Qo)o, quanto maior for o tamanho das p)inas, maior
ser a quantidade de /Rtes perdidos.
0or outro lado, p)inas pequenas em demasia si)nificam que os
pro)ramas ir+o precisar de muitas p)inas, resultando em uma ta/ela de
p)inas muito )rande.
Ou se1a, o tamanho da ta/ela de p)inas )rande quando o tamanho
da p)ina pequeno; a fra)menta-+o )rande quando o tamanho da p)ina
for )rande.
$ese1a-se, portanto, atin)ir-se um equil*/rio no qual as p)inas
nem se1am nem muito )randes nem muito pequenas. 0roa-se matematicamente
que isso ocorre quando p V raiz#'WsWe).
O/s.8 s V tamanho mdio de um processo;
0 V tamanho da p)ina;
2 V tamanho da entrada na ta/ela.
1O) (ue implica-.es podemos esperar se tiermos uma pol*tica local ou
uma pol*tica )lo/al de aloca-+o de p)inas para processos num sistema
de pa)ina-+o de mem"ria?
>a pol*tica local s+o atri/u*das a cada processo um n!mero fixo de
molduras de p)inas, 1 os processos )lo/ais alocam dinamicamente as
molduras de p)inas aos processos. Se o tamanho do con1unto de tra/alho
for ariel, a pol*tica )lo/al funciona melhor pois na local se o
con1unto do tra/alho do processo ier a crescer, o resultado ser a
ocorr4ncia de trashin), mesmo que ha1a muitas molduras lires na mem"ria
principal. T se o tamanho na A=0 ier a diminuir, o resultado ser um
)rande desperd*cio de mem"ria.
O descrito no par)rafo anterior ocorre pois na pol*tica local
quando ocorre falta de p)inas quando um processo estier executando, a
p)ina que ir ser escolhida para remo-+o pertence a esse processo. Se
esse processo tier poucas p)inas, a retirada de uma dessas poucas
p)inas poder causar noamente uma falta de p)ina.
>a pol*ta )lo/al, a p)ina a ser retirada escolhida no escopo de
todas as p)inas que estierem na mem"ria, mesmo as de outros processos.
Gerenciamento de I/O
1) $efina porta, /arramento, controlador e deice drier?
0orta8 dispositio de comunica-+o ponto-a-ponto. 2xemplo8 porta
serial e paralela.
Darramento8 con1unto de condutores eltricos e com um protocolo
#con1unto de re)ras que definem como as comunica-.es no /arramento s+o
efetuadas) r*di)o o qual define como as mensa)ens trafe)am so/re esses
fios.
Aontroladores8 hardSare encarre)ado de controlar uma porta,
/arramento ou dispositio#s).
$eice drier8 parte do S.O. que fornece uma interface de acesso
uniforme para cada dispositio. =raduz as chamadas de alto-n*el
#usurio) para o dispositio espec*fico e conerte os dados.
') O que um interrupt handler?
, um dispositio responsel por controlar as interrup-.es )eradas.
O dispositio de 7BO aisa que o dado requisitado est pronto, o
controlador de interrup-+o do dispositio enia um sinal interrompendo a
A0;. % A0; enia um sinal pedindo identifica-+o do dispositio que )erou
aquela interrup-+. O controlador enia dado identificando o dispositio.
2nt+o, a A0; executa a rotina apropriada para aquele dispositio.
3) O que ocorre quando um processo requisita 7BO num escalonamento round-
ro/in?
;m processo requisita 7BO. O sistema operacional erifica se o que
ele tier requisitado 1 est l. Se estier ele continua executando e
n+o ai para o estado /loqueado. Se n+o estier pronto o que ele
requisitou, o S.O. enia requisi-+o para o deice drier e /loqueia o
processo.
O deice drier processa pedido, enia comandos para o controlador
do dispositio. O controlador ent+o ir interromper o deice quando o 7BO
completar. % rotina de interrup-+o rece/e a interrup-+o, )raa os dados
/uffer do deice #se tier). O deice determina qual o 7BO completado e
indica a mudan-a de estado para o su/sistema de 7BO. O S.O. transfere os
dados para o processo apropriado, retornando o trmino do 7BO para que o
processo que foi /loqueado possa executar ou um erro.
:) >o caso de um processo requisitar 7BO num escalonamento round-ro/in,
existe al)uma possi/ilidade dele n+o ser colocado no estado
HesperandoI? Tustifique sua resposta.
Sim. Aomo dito anteriormente, isso pode ocorrer desde que o 7BO
requisitado 1 este1a dispon*el de al)uma forma; armazenado em um
/uffer, por exemplo.
J) O que 7BO isolado? 2 7BO mapeado em mem"ria?
7BO isolado8 a A0; acessa a informa-+o atras de instru-.es
especiais de 7BO, especificando a leituraBescrita de dados numa porta de
7BO.
7BO mapeado em mem"ria8 a A0; acessa a informa-+o atras de
instru-.es de leituraBescrita na mem"ria.
K) O que 7BO pro)ramado, 7BO por interrup-+o e 7BO por $L%?
7BO pro)ramado8 a A0; l4 constatemente os status do controlador e
erifica se 1 aca/ou #poolin) ou /usR-Saitin)), esperando at o fim da
opera-+o.
7BO por interrup-+o8 a A0; requisita um comando do dispositio de
7BO e continua a executar outras opera-.es, sendo interrompida pelo
m"dulo de 7BO quando ocorre a transfer4ncia de dados.
7BO por $L% #acesso direto 6 mem"ria)8 quando necessrio, o
controlador de 7BO solicita ao controlador de $L% a transfer4ncia de
dados deBpara a mem"ria, nessa fase de transfer4ncia n+o h enolimento
da A0;. %o fim da transfer4ncia, a A0; interrompida e informada da
transa-+o.
N) (ue tipos de opera-.es do su/-sistema de 7BO s+o independentes do
dispositio?
7nterface uniforme para deice driers, /ufferiza-+o de dados,
informa-.es so/re erros, aloca-+o e li/era-+o de dispositios, tamanho do
/loco de dados, entre outros.
O) O que um spooler?
Spooler um dispositio que armazena em um /uffer as sa*das a
serem eniadas a um dispositio #impressora, por exemplo) que n+o pode
aceitar dados misturados de rios processos. &eralmente controlado por
um daemon ou pelo 5ernel.

Você também pode gostar