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.