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.