Sie sind auf Seite 1von 12

Introduo

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


comuns?
A principal diferena existente entre sistemas operacionais de
tempo real (crtico e no crtico) para S.O. comuns que os primeiros
precisam ter uma poltica de escalonamento baseada em prioridades. Alm
disso todos os processos a serem executados pelo sistema operacional
precisam ter tempos de execuo bem definidos de modo que as requisi!es
consi"am serem atendidas mesmo no pior caso de execuo. #or exemplo
ra$o%&el que num sistema de um carro o processo de um 'reio A(S ten)a
prioridade maior que a de um &idro eltrico e que mesmo no pior caso o
'reio A(S possam executar na ordem de pelo menos milisse"undos.
*) O que so processos e o que so t)reads?
#odemos di$er que processos so pro"ramas em execuo. +ada
processo constitudo basicamente de c,di"o execut%&el dados
referentes ao c,di"o pil)a de execuo &alor do contador do pro"ramas
(#+) do &alor do apontador de pil)a (S#) dos &alores dos re"istradores
de )ard-ares en&ol&idos alm de outras informa!es necess%rias .
execuo do pro"rama.
/)read por sua &e$ so partes de um dado pro"rama os quais rodam
em um pseudoparalelismo. #seusoparalelismo pois similar a o que ocorre
com processos existe escalonamento de t)reads0 no entanto esse
reali$ado de forma mais r%pida do que ocorre com processos pois estes
podem comunicar1se sem in&ocar o n2cleo &isto que compartil)am mem,ria e
arqui&os em comum. (ver desenho abaixo)
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
3) 4uais as &anta"ens do S.O. ser monoltico ou em camadas?
O sistema operacional monoltico (no di&idido em camadas) possui a
&anta"em de ser menor "eralmente mais r%pido. 5 uma soluo "eralmente
usada quando )% restri!es de tempo e espao como em sistema embarcados.
Os sistemas ditos como di&ido em camadas "eralmente oferecem uma
maior modularidade o que permite por exemplo acoplar dispositi&os no
pre&istos durante o desen&ol&imento ao sistema posteriormente. #ara
oferecer tal benefcio so di&ididos em camadas )ierarquicamente
diferentes. Ou se6a so sistemas que facilitam a e&oluo e adaptao a
no&os ambientes.
7sse se"undo tipo de sistema operacional "eralmente possui um
c,di"o mais le"&el.
8) 4uais informa!es cont9m e pra que ser&e o bloco de controle de um
processo ou tabela de processo (process control bloc:)?
#odemos di$er que o bloco de controle de cada processo possui as
informa!es essenciais . execuo daquele processo. ;nforma!es como<
&alor dos re"istradores em uso por aquele processo contador de pro"rama
estado do pro"rama ponteiro de pil)a prioridade par=metros de
escalonamento identificador (;>) do processo ponteiro para o se"mento
de c,di"o ponteiro para o se"mento de dados como tambm ponteiro para o
se"mento de pil)a.
A funo de arma$enar todos esses dados "arantir o funcionamento
correto do processo e e&itar a perda de dados durante o escalonamento de
processos ou tente in&adir %reas de mem,ria de outros processos.
?) @m usu%rio dese6a fa$er um sistema de sort e percebe que usar 1A
tarefas que se comunicam para atin"ir o ob6eti&o a mel)or soluo.
7le resol&eu testar duas implementa!es< a) usando 1A processos0 b)
usando 1A t)reads de um mesmo processo. Ao executar as duas solu!es
num ambiente com escalonamento round1robin ele percebeu que uma
soluo era mel)or se o sistema esti&esse sobrecarre"ado (por 1AA
outros processos por exemplo) e a outra era mel)or se o sistema
esti&esse sem car"a. 4ual era a mel)or soluo para cada caso e
porqu9? (>ica< a mudana de contexto entre t)reads le&a menos tempo do
que entre processos).
/emos portanto duas situa!es<
a.) Sistema sobrecarre"ado<
Besse caso mel)or utili$ar 1A processos e no 1A t)reads para
executar o sort. Supondo que o sistema capa$ de escalonar 1AA processos
e na fila de escalonamento 6% existem CA processos. Se &oc9 colocar 1A
processos seu sort estar% ocupando 1AD do processamento da +#@0 se
colocar 1A t)reads seu sort estar% ocupando somente 1D do processamento
da +#@.
b.) Sistema sem car"a<
Se o sistema est% sem car"a (poucos processos na fila de
escalonamento) mais interessante utili$ar a aborda"em usando 1A
t)reads0 pois o seu 2nico processo ir% ocupar quase todo o uso da +#@
(em funo da baixa car"a) e nesse tempo ir% escalonar 1A t)reads que
seria como se ti&esse 1A partes do seu pro"rama rodando em paralelo.
@tili$ar 1A processos no uma boa idia pois o escalonamento de
processos mais lento do que o de t)reads.
Escalonamento
1) #ara que ser&e a multi1pro"ramao?
A multi1pro"ramao uma tcnica a qual consiste no r%pido
c)a&eamento do processador entre &%rios pro"ramas em execuo (processos)
conferindo a idia de que os processos esto rodando em paralelo
(pseudoparalelismo).
7ssa tcnica utili$ada para otimi$ar o uso do processador0 pois
caso um processo este6a sem dados essenciais para prosse"uir o seu
funcionamento (esperando o usu%rio di"itar uma letra) ele bloqueado at
que este6a pronto para rodar cedendo seu lu"ar no uso da +#@ para outro
processo pronto.
Os processos podem estar em 3 estados< pronto com todos os dados
necess%rios ao seu funcionamento mas a +#@ est% ocupada no momento0
rodando sendo executado pelo processador0 bloqueado esperando al"um
dado faltando a sua execuo.
*) O que so processos ;EO1bound e +#@1bound?
#rocessos ;EO1bound so aqueles os quais durante sua execuo
requisitam muitos ser&ios de entradaEsada (inputEoutput).
+#@1bound por sua &e$ so aqueles processos os quais durante sua
execuo no requisitam ser&ios de entradaEsada0 consomem somente muito
processamento de dados pela +#@.
7m muitos sistemas como @B;F a prioridade no escalonador estabelecida
colocando processos ;EO1bound como priorit%rios. #or que? 7stes solicitam
muita 7ntradaESada e pro&a&elmente ficaria ociosos rodando no
processador. #or isso sua entrada em processamento liberada para que
ele possa &oltar ao estado de (loqueado (7 depois #ronto) deixando o
processador li&re para os processo +#@1bound.
3) O que so processos batch e interati&os?
#rocessos batc) so aqueles os quais apresentam pouca
interati&idade com o usu%rio. Bormalmente so +#@1bound mas podem ser
;EO1bound por exemplo< o desfra"mentador de disco (no intera"e com o
usu%rio durante sua execuo mas est% requisitando constantemente
ser&ios de entradaEsada0 no caso acesso ao disco).
#rocessos interati&os como o pr,prio nome su"ere so aqueles os
quais "eralmente passam pouco tempo no estado pronto e boa parte do tempo
no estado bloqueado (esperando dados a serem fornecidos pelo usu%rio).
8) >efina< fairness star&ation turnaround t)rou")put.
'airness< pala&ra do in"l9s cu6o traduo 6ustia. Bo nosso contexto
si"nifica "arantir que todos os processos do sistema tero c)ances i"uais
(poltica 6usta) de usar o processador.
Star&ation< pala&ra a qual pode ser tradu$ida (no nosso contexto) como
esta"nao. #or exemplo escalonamentos com polticas dotadas de
prioridade (os processos possuem prioridades) pode "erar uma situao na
qual um certo processo nunca ser% executado. 7sse fenGmeno denominado
star&ation. @m caso onde isso pode acontecer facilmente no
escalonamento Hbrido baseado em filas m2ltiplas onde um processo pode
ir parar numa fila de prioridade baixssima e no ser executado.
/urnaround< a poltica cu6o ob6eti&o minim$ar o tempo com que os
processos batc) precisam para serem executados completamente. Ou se6a o
tempo que pro"ramas batc) de&em esperar para "erar a sada.
/)rou")put< a poltica cu6o intuito maximi$ar o n2mero de I6obsJ
(trabal)os) processados por unidade de tempo.
?) 7xplique como funciona o escalonamento round1robin e quando de&e ser
usado?
O escalonamento round1robin baseado em uma lista sem prioridade
baseado em um sistema preempti&o.
+ada processo colocado em uma fila de processos e para cada um
destinado um tempo m%ximo (quantum) durante o qual aquele processo poder%
usar o processador. Se ap,s esse perodo de tempo o processo ainda
esti&er usando o procesador ele ir% para o estado pronto e outro
processo ser% executado pela +#@. 7sse troca de contexto pelo sistema
operacional (baseado em interrup!es) o que caracteri$a um sistema
preempti&o. Se um processo for bloqueado ou terminado antes do fim de
seu quantum a comutao dar1se1% no exato momento do trmino ou
bloqueio fa$endo com que o processador no fique ocioso.
5 uma poltica simples e 6usta. >e&e ser usada em sistemas
interati&os (com muita interao com o usu%rio).
K) 4ual a &anta"em de ter um quantum pequeno ou um quantum "rande?
Se for definido um quantum pequeno o tempo de resposta para
processos interati&os diminudo. 5 uma tcnica que permite uma sensao
de multipro"ramao maior. Las apresenta problemas como< se o quantum for
i"ual ao tempo necess%rio para a mudana de contexto perde1se metade do
tempo do processador somente com mudanas de contexto.
Se for definido um quantum "rande as mudanas de contexto entre
processos diminudo e conseqMentemente diminui1se tambm o o&er)ead
do sistema operacional. /ambm apresenta problemas< se for definido um
quantum muito "rande os processos interati&os tero seu tempo de
resposta aumentado considera&elmente.
N) 7xplique como funciona o escalonamento ';'O e quando de&e ser usado?
O escalonamento ';'O usa uma lista de processos sem prioridade
(semel)ante ao round1robin) mas no preempti&o0 ou se6a no existe a
noo de quantum e conseqMentemente no permite a suspenso tempor%ria
dos processos pelo S.O. fa$endo com que cada processo se6a executado at
seu final. 5 um al"oritmo simples. (om para sistemas batc). ;n&iabili$a
os sistemas interati&os.
O) 7xiste al"um escalonamento que a"re"a as caractersticas do round1
robin e do ';'O ao mesmo tempo? +omo funciona?
7scalonamento com prioridade funciona da se"uinte maneira< a cada
processo associado uma prioridade e o processo pronto com maior
prioridade ser% aquele que &ai rodar primeiro. #ara e&itar que
processos com alta prioridade monopoli$em o processador o escalonador
decrementa a prioridade do processo que est% rodando a cada
interrupo de tempo at que a prioridade do processo corrente torne1
se mais baixa que a do de mais alta prioridade da fila de IprontoJ
trocando1se assim o contexto.
P< A resposta mais precisa SIM. +omo funciona se"ue no quesito abaixo
o 9.
C) 7xplique o escalonamento de filas m2ltiplas (Lultiple 'eedbac: 4ueue).
O al"oritmo L'4 (Lultiple 'eedbac: 4ueue) um tipo de
escalonamento )brido ou se6a possui caractersticas do round1robin
como tambm do ';'O.
5 um escalonamento de processos com prioridade. Sua estrutura
composta por &%rias filas de processos sendo a primeira com maior
prioridade (menor quantum) e a 2ltima com menor (maior quantum). 7m cada
fila tem1se o uso do round1robin para escalonar os processos.
O L'4 funciona da se"uinte forma< ao ser criado um no&o processo
ele alocado na primeira fila (prioridade mais alta e quantum menor)0 em
se"uida ao ser executado (respeitando a prioridade das filas) cada
processo poder% descer ou subir uma fila. ;r% subir se ele fi$er uma
requisio de ;EO antes de acabar seu quantum ir% descer se ainda
esti&er sendo executado ao acabar seu quantum.
7sse al"oritmo fa$ com que se acumulem na primeira fila os
processos ;EO1bound (a maioria deles no estado bloqueado) e na 2ltima
fila os +#@1bound fila a qual contm os processos que passam maior tempo
sendo executados pela +#@.
1A) O que um sistema time-sharing?
+omo a pr,pria traduo su"ere sistemas time1s)arin" so aqueles
nos quais existem compartil)amento de tempo de +#@ entre os processos.
7ssa poltica tenta e&itar que um dado processo monopoli$e o sistema.
11) #odemos ter um sistema time-sharing sem usar interrup!es?
Bo. A interrupo do rel,"io (por exemplo) o dispositi&o
respons%&el por indicar ao sistema operacional que um dado processo em
execuo ultrapassou seu quantum e que necess%rio le&%1lo para o estado
pronto e colocar outro processo para executar. Qo"o um sistema sem
interrup!es no teria como detectar se o processo ultrapassou ou no seu
quantum.
Gerenciamento de Memria
1) 4uais as &anta"ens de ter mem,ria &irtual?
A principal &anta"em de se ter mem,ria &irtual basicamente
simular para o pro"ramador (pro"rama) a exist9ncia de uma mem,ria to
"rande se6a sua necessidade.
Os pro"ramas os quais so maiores que a quantidade de mem,ria
dispon&el so di&ididos em m,dulos (o&erlaRs) os quais cabem na mem,ria
principal ficando o resto no disco. 5 funo do sistema operacional
manter na mem,ria principal as partes do pro"rama efeti&amente em uso
deixando o restante no disco.
A mem,ria &irtual portanto facilita a &ida do pro"ramador que no
fica restrito . quantidade real de mem,ria existente no computador. Bem
precisar exercer a ati&idade estafante de mapear endereos &irtuais em
endereos reais.
*) O que o princpio da localidade tem a &er com a )ierarquia de mem,ria?
O princpio da localidade possui dois tipos< temporal afirma que
uma dada instruo referenciada no momento pro&a&elmente ser%
referenciada de no&o em bre&e0 espacial afirma que as instru!es
pr,ximas a instruo referenciada no momento sero pro&a&elmente
referenciadas em bre&e.
(aseado nesse princpio pode1se ter uma idia de que partes do
pro"rama (processos) sero mais referenciados lo"o em se"uida. Qo"o
utili$ando essa pre&iso com a )ierarquia de mem,ria. +ostuma1se colocar
os processos com maiores c)ances de serem referenciados em bre&e em uma
mem,ria mais r%pida (cac)e por exemplo)0 os que sero pro&a&elmente
referenciados no to bre&e em uma mem,ria no to r%pida (mem,ria
principal) e os que no sero referenciados lo"o em uma mem,ria mais
lenta (mem,ria secund%ria).
3) #ara que a relocao de c,di"o em mem,ria usada?
A relocao de c,di"o em mem,ria usado para permitir que os
pro"ramas executem corretamente em qualquer lu"ar da mem,ria. Ou se6a
quando o endereo de mem,ria no qual o pro"rama ser% carre"ado no
con)ecido em tempo de compilao.
Seu funcionamento se d% da se"uinte forma< o pro"rama alocado em
uma dada posio da mem,ria e ao ser executado o S.O. recalcula os
endereos relati&os presentes no c,di"o em funo de onde o pro"rama foi
carre"ado na mem,ria obtendo o endereo fsico real. 7ssa operao
feita utili$ando a tabela de relocao a qual contm para cada entrada um
endereo base a ser somado ao endereo relati&o do pro"rama obtendo o
endereo correto do pro"rama na mem,ria.
8) 4uais as tcnicas que &oc9 con)ece para fa$er relocao de c,di"o em
mem,ria? 7xplique cada uma delas.
7xistem basicamente tr9s tcnicas. Bos prim,rdios da computao
era funo do pro"ramador informar no incio do pro"rama qual era o
endereo base no qual o pro"rama seria carre"ado na mem,ria.
#osteriormente &irou funo do S.O. descobrir qual era o endereo
real da mem,ria na qual o pro"rama esta&a em funo de uma tabela de
smbolos "erada pelo compilador.
Atualmente para a relocao de c,di"o em mem,ria ser mais
eficiente (r%pida) utili$a1se um )ard-are especfico< re"istradores que
arma$enam o endereo base no qual o pro"rama foi carre"ado como tambm o
endereo limite daquele pro"rama.
?) +omo funciona um sistema de multiprocessamento com partio fixa? +omo
ocorre a fra"mentao neste sistema?
7m um sistema de multiprocessamento com partio fixa a mem,ria
di&idida em um n2mero de parti!es com taman)os pr1estabelecidos (fixo).
4uando um processo iniciado ele colocado numa fila de entrada para
ocupar a menor partio suficiente para acomod%1lo. +omo as parti!es
possuem taman)o fixo comum )a&er espaos em uma dada partio no
utili$ados pelo processo.
7sse espao de mem,ria desperdiado caracteri$ando uma
fra"mentao interna. (Ver Figura Abaixo)
K) +omo funciona um sistema de multiprocessamento com partio &ari%&el?
+omo ocorre a fra"mentao neste sistema?
7m um sistema de multiprocessamento com partio &ari%&el . medida
que os processos so criados a mem,ria aloca exatamente o taman)o
necess%rio para a execuo daquele processo como se eles ti&essem
taman)os fixos. >e&e1se lembrar que neste esquema cada processo tem um
espao alocado da se"uinte maneira< %rea de c,di"o do processo %rea de
dados do processo espao reser&ado ao crescimento da %rea de c,di"o ou
de pil)a do processo e %rea de pil)a.
4uando um processo sai da mem,ria aquele espao antes ocupado fica
li&re. Se o pr,ximo processo a ser alocado for menor que aquele espao
ele alocado ali.
+om o tempo comeam a aparecer espaos no alocados entre as
parti!es de taman)os &ariados caracteri$ando uma fra"mentao externa a
qual pode ser contornada usando compactao com realocao. (Ver Figura
Abaixo)
N) #ara que ser&e a pa"inao? +omo funciona? +omo ocorre a fra"mentao
neste sistema?
A pa"inao a tcnica usada para tradu$ir utili$ando uma tabela
de p%"inas um endereo &irtual (mem,ria &irtual) em um endereo real.
Os endereos de mem,ria "erados pelo pro"rama so c)amados de
endereos &irtuais e formam o espao de endereamento &irtual o qual
di&idido em p%"inas. 7sse endereo &irtual en&iado para a LL@ (unidade
de "erenciamento de mem,ria) a qual utili$ando a tabela de p%"inas
transforma o endereo &irtual em um endereo real indicando em qual
moldura da mem,ria real essa p%"ina est% referenciada.
A fra"mentao nesse sistema ocorre na 2ltima p%"ina. #ois o
processo pode &ir a no ocupar a 2ltima p%"ina completamente.
'ra"mentao interna no caso.
O) #ara que ser&e a se"mentao? +omo funciona?
A se"mentao utili$ada para permitir que partes de um processo
(c,di"o dados pil)a etc.) possam ser quebrados em espaos de
endereamento lo"icamente independentes o que auxilia nas quest!es
en&ol&endo compartil)amento e proteo de dados.
So criados se"mentos independentes. @m se"mento para dados um
se"mento para c,di"o e assim por diante. +ada se"mento comea do endereo
l,"ico $ero e pode crescer din=micamente (at um certo limite
suficientemente "rande) sem se preocupar em in&adir o espao de c,di"o
(por exemplo).
#ara identificar o incio de cada se"mento utili$a1se um
re"istrador especfico (por exemplo data se"ment para o se"mento de
dados) cu6o &alor precisa conter o endereo real do incio daquele
se"mento na mem,ria. 7ssa funo de indicar esse endereo funo do
pro"ramador.
O pro"rama ao acessar um endereo realti&o naquele se"mento esse
&alor somado com o re"istrador base do se"mento indicando a posio
real na mem,ria.
C) +ompare pa"inao com se"mentao.
Ba pa"inao o pro"ramador no intera"e com a tcnica s, um
espao de endereos lineares usado o espao de endereamento pode ser
maior do que a mem,ria fsica as tabelas no mudam de taman)o os
procedimentos e dados esto 6untos e no f%cil compartil)ar
procedimentos.
S% na se"mentao o pro"ramador intera"e com a tcnica &%rios
espaos de endereamentos lineares so usados o espao de endereamento
tambm pode ser maior do que a mem,ria fsica as tabelas podem mudar de
taman)o os procedimentos e dados so alocados separadamente e prote"idos
indi&idualmente (tal poltica facilita tambm o compartil)amento deles
entre processos diferentes).
1A) 4ue tcnicas podem ser usadas para redu$ir o tempo de acesso e o
taman)o das tabelas de p%"ina num sistema de pa"inao de mem,ria?
>escre&a cada tcnica mencionada.
A principal tcnica utili$ada para redu$ir o tempo de acesso da
tabela de p%"ina em um sistema de pa"ino de mem,ria o /Q( (soluo em
)ard-are).
As tcnicas que podem ser utili$adas para diminuir o taman)o das
tabelas de p%"ina em um sistema de pa"inao de mem,ria so o uso de
tabelas de p%"ina in&ertida e tambm da tabela de p%"inas multi1n&el.
A explicao de cada uma est% contida na resposta das pr,ximas
quest!es.
11) +omo funciona a tabela de p%"inas comum num sistema de pa"inao de
mem,ria?
A tabela de p%"inas contm uma p%"ina para cada endereo &irtual
possi&elmente referenciado. +ada p%"ina contm informa!es como< se
aquela p%"ina foi modificada referenciada se &%lida e o endereo real
na mem,ria.
#ara obter o endereo real de uma p%"ina &irtual confere1se se
aquela p%"ina &irtual &%lida. Se for pe"a1se o endereo real e soma1se
ao deslocamento da p%"ina &irtual0 se no for detectou1se uma falta de
p%"ina.
A des&anta"em dessa implementao que "eralmente as tabelas so
"randes e precisam de um "rande espao de mem,ria para serem arma$enadas.
1*) +omo funciona a tabela de p%"inas multi1n&el num sistema de
pa"inao de mem,ria?
A tabela de p%"inas multi1n&el bastante similar a tabela de
p%"inas comum. A "rande diferena consiste em se ter uma tabela onde cada
clula aponta para uma outra tabela onde a tabela do 2ltimo n&el a que
contm o endereo real daquela p%"ina &irtual.
7ssa aborda"em redu$ o taman)o da tabela uma &e$ que nem todas as
tabelas de cada n&el precisa estar na mem,ria principal. Al"umas podem
estar arma$enadas em disco. 7ssa poltica diminui o espao de mem,ria
necess%rio para arma$enar a tabela de p%"inas.
13) +omo funciona a tabela de p%"inas in&ertida num sistema de
pa"inao de mem,ria?
7ssa outra implementao &isando diminuir o taman)o da tabela de
p%"inas. +ada p%"ina &irtual mapeada em uma posio de uma tabela menor
por uma funo )as) a qual "era um certo )as) code. Se naquela posio a
p%"ina &irtual for equi&alente a p%"ina &irtual em mo ento o endereo
real daquela posio o qual nos interessa. Se nao for porque ocorreu
uma coliso. #ara saber em qual posio tentou1se inserir a p%"ina
colidida existe um lin: apontando para essa outra posio.
7ssa implementao pode se tornar custosa se )ou&er um n2mero
ele&ado de colis!es em funo de uma funo )as) ruim (distribui de forma
no uniforme as entradas).
18) +omo funciona o /ranslation Qoo:aside (uffer e pra que ser&e num
sistema de pa"inao de mem,ria?
O /Q( uma tabela (implementada em )ard-are) locali$ada na LL@ a
qual contm as p%"inas &irtuais com seus respecti&os endereos reais
mais referenciadas recentemente.
'unciona como uma tabela de p%"inas comum mas por ser implementada
em )ard-are utili$ando uma mem,ria associati&a (todas as entradas so
comparadas em paralelo com a p%"ina &irtual a qual se est% in&esti"ando o
endereo real) considera&elmente mais r%pida.
1?) 4ual o mel)or al"oritmo realista de substituio de p%"inas num
sistema de pa"inao de mem,ria?
>entre os &%rios al"oritmos de substituio de p%"inas em um
sistema de pa"inao de mem,ria o mais realista o c)amado al"oritmo do
rel,"io. O TS+loc: tambm constitui um al"oritmo de substituio
eficiente.
1K) #ara que ser&e o Lodelo de +on6unto de /rabal)o (ou pr1pa"inao)
num sistema de pa"inao de mem,ria?
+on6unto de trabal)o o con6unto de p%"inas que um processo est%
atualmente usando. #ortanto o modelo do +/ (con6unto de trabal)o) a
forma de tentar manter controle sobre o +/ de processos de forma a
"arantir que um deles este6a na mem,ria durante a execuo do processo
que l)e correspondente.
O ob6eti&o dessa poltica redu$ir de forma si"nificati&a a
ocorr9ncia de falta de p%"inas(t)ras)in") carre"ando a p%"ina antes
mesmo do processo iniciar sua execuo.
1N) 4ue implica!es podemos esperar se ti&ermos p%"inas muito pequenas
ou muito "randes num sistema de pa"inao de mem,ria?
+omo dito anteriormente em mdia metade da 2ltima p%"ina de um
processo estar% &a$ia ou se6a ter1se1% mem,ria desperdiada por
fra"mentao interna. Qo"o quanto maior for o taman)o das p%"inas maior
ser% a quantidade de bRtes perdidos.
#or outro lado p%"inas pequenas em demasia si"nificam que os
pro"ramas iro precisar de muitas p%"inas resultando em uma tabela de
p%"inas muito "rande.
Ou se6a o taman)o da tabela de p%"inas "rande quando o taman)o
da p%"ina pequeno0 a fra"mentao "rande quando o taman)o da p%"ina
for "rande.
>ese6a1se portanto atin"ir1se um equilbrio no qual as p%"inas
nem se6am nem muito "randes nem muito pequenas. #ro&a1se matematicamente
que isso ocorre quando p U rai$(*VsVe).
Obs.< s U taman)o mdio de um processo0
# U taman)o da p%"ina0
7 U taman)o da entrada na tabela.
1O) 4ue implica!es podemos esperar se ti&ermos uma poltica local ou
uma poltica "lobal de alocao de p%"inas para processos num sistema
de pa"inao de mem,ria?
Ba poltica local so atribudas a cada processo um n2mero fixo de
molduras de p%"inas 6% os processos "lobais alocam dinamicamente as
molduras de p%"inas aos processos. Se o taman)o do con6unto de trabal)o
for &ari%&el a poltica "lobal funciona mel)or pois na local se o
con6unto do trabal)o do processo &ier a crescer o resultado ser% a
ocorr9ncia de tras)in" mesmo que )a6a muitas molduras li&res na mem,ria
principal. S% se o taman)o na +/# &ier a diminuir o resultado ser% um
"rande desperdcio de mem,ria.
O descrito no par%"rafo anterior ocorre pois na poltica local
quando ocorre falta de p%"inas quando um processo esti&er executando a
p%"ina que ir% ser escol)ida para remoo pertence a esse processo. Se
esse processo ti&er poucas p%"inas a retirada de uma dessas poucas
p%"inas poder% causar no&amente uma falta de p%"ina.
Ba polta "lobal a p%"ina a ser retirada escol)ida no escopo de
todas as p%"inas que esti&erem na mem,ria mesmo as de outros processos.
Gerenciamento de I/O
1) >efina porta barramento controlador e de&ice dri&er?
#orta< dispositi&o de comunicao ponto1a1ponto. 7xemplo< porta
serial e paralela.
(arramento< con6unto de condutores eltricos e com um protocolo
(con6unto de re"ras que definem como as comunica!es no barramento so
efetuadas) rdi"o o qual define como as mensa"ens trafe"am sobre esses
fios.
+ontroladores< )ard-are encarre"ado de controlar uma porta
barramento ou dispositi&o(s).
>e&ice dri&er< parte do S.O. que fornece uma interface de acesso
uniforme para cada dispositi&o. /radu$ as c)amadas de alto1n&el
(usu%rio) para o dispositi&o especfico e con&erte os dados.
*) O que um interrupt handler?
5 um dispositi&o respons%&el por controlar as interrup!es "eradas.
O dispositi&o de ;EO a&isa que o dado requisitado est% pronto o
controlador de interrupo do dispositi&o en&ia um sinal interrompendo a
+#@. A +#@ en&ia um sinal pedindo identificao do dispositi&o que "erou
aquela interrup. O controlador en&ia dado identificando o dispositi&o.
7nto a +#@ executa a rotina apropriada para aquele dispositi&o.
3) O que ocorre quando um processo requisita ;EO num escalonamento round1
robin?
@m processo requisita ;EO. O sistema operacional &erifica se o que
ele ti&er requisitado 6% est% l%. Se esti&er ele continua executando e
no &ai para o estado bloqueado. Se no esti&er pronto o que ele
requisitou o S.O. en&ia requisio para o de&ice dri&er e bloqueia o
processo.
O de&ice dri&er processa pedido en&ia comandos para o controlador
do dispositi&o. O controlador ento ir% interromper o de&ice quando o ;EO
completar. A rotina de interrupo recebe a interrupo "ra&a os dados
buffer do de&ice (se ti&er). O de&ice determina qual o ;EO completado e
indica a mudana de estado para o subsistema de ;EO. O S.O. transfere os
dados para o processo apropriado retornando o trmino do ;EO para que o
processo que foi bloqueado possa executar ou um erro.
8) Bo caso de um processo requisitar ;EO num escalonamento round1robin
existe al"uma possibilidade dele no ser colocado no estado
IesperandoJ? Sustifique sua resposta.
Sim. +omo dito anteriormente isso pode ocorrer desde que o ;EO
requisitado 6% este6a dispon&el de al"uma forma0 arma$enado em um
buffer por exemplo.
?) O que ;EO isolado? 7 ;EO mapeado em mem,ria?
;EO isolado< a +#@ acessa a informao atra&s de instru!es
especiais de ;EO especificando a leituraEescrita de dados numa porta de
;EO.
;EO mapeado em mem,ria< a +#@ acessa a informao atra&s de
instru!es de leituraEescrita na mem,ria.
K) O que ;EO pro"ramado ;EO por interrupo e ;EO por >LA?
;EO pro"ramado< a +#@ l9 constatemente os status do controlador e
&erifica se 6% acabou (poolin" ou busR1-aitin") esperando at o fim da
operao.
;EO por interrupo< a +#@ requisita um comando do dispositi&o de
;EO e continua a executar outras opera!es sendo interrompida pelo
m,dulo de ;EO quando ocorre a transfer9ncia de dados.
;EO por >LA (acesso direto . mem,ria)< quando necess%rio o
controlador de ;EO solicita ao controlador de >LA a transfer9ncia de
dados deEpara a mem,ria nessa fase de transfer9ncia no )% en&ol&imento
da +#@. Ao fim da transfer9ncia a +#@ interrompida e informada da
transao.
N) 4ue tipos de opera!es do sub1sistema de ;EO so independentes do
dispositi&o?
;nterface uniforme para de&ice dri&ers bufferi$ao de dados
informa!es sobre erros alocao e liberao de dispositi&os taman)o do
bloco de dados entre outros.
O) O que um spooler?
Spooler um dispositi&o que arma$ena em um buffer as sadas a
serem en&iadas a um dispositi&o (impressora por exemplo) que no pode
aceitar dados misturados de &%rios processos. Weralmente controlado por
um daemon ou pelo :ernel.

Das könnte Ihnen auch gefallen