Você está na página 1de 6

Estudo Sistemas Operacionais Perguntas e respostas

Qual a metodologia do utilizada em semforo? O semforo possui uma varivel responsvel por identificar o nmero de wakeup salvos para uma possvel utilizao futura. Esta varivel semforo pode ter o valor de 0 indicando que nenhum wakeup foi salvo ou um ou mais indicando que wakeups j foram salvos. Duas operaes so utilizadas para a execuo de um semforo (DOWN e UP). A operao Down em um semforo verifica se a varivel maior que zero. Caso seja maior que 0 a operao continua normalmente decrementando o valor da varivel e utilizando um wakeup armazenado. Caso o valor seja igual a 1, o processo corrente colocado para dormir e este no termina de realizar a operao DOWN. A operao UP utilizada para incrementar o valor da varivel e acordar algum dos processos que estavam dormindo pela operao DOWN e possibilitar e complete a operao. Permite fazer com que menos processos esteja no estado de dormindo. Como ocultar a interrupo em um processo que utiliza semforos? Deve-se configurar um semforo com um valor de 0 para um dispositivo de E/S. Aps inicializado este processo, o gerenciador de interrupes faz um DOWN no semforo associado, bloqueando logo em seguida. Quando a interrupo chega, o gerenciador faz um UP no semfaro e torna o processo relevante pronto para executar novamente. Como utilizar um semforo para a resoluo do problema do jantar dos filsofos? Para resolver o problema do jantar dos filsofos, so utilizados trs semforos denominados full , para indicar a quantidade de entradas que esto ocupadas, empty para indicar a quantidade de entradas que esto livres e mutex utilizado para permitir que produtores e consumidores no acessem o buffer ao mesmo tempo. Inicialmente, Full possui o valor de 0, empty possui o valor da quantidade permitida no buffer e mutex possui o valor de 1 (semforo binrio). Deve-se dizer que a responsabilidade pela excluso mtua cabe ao semforo mutex. Exemplifique a m utilizao de semforos? O que pode ocorrer?

While (true){ Produce_item(&item); Down (&empty); // diminui o nmero de entradas livres

Down (&mutex); // entra na regio crtica Enter_item; //insere item no buffer Up (&mutex); //sai da regio crtica Up (&full); // aumenta a quantidade de casas ocupadas } Um exemplo de m utilizao de semforos por exemplo invertermos um dos dois Downs no procedimento do produtor. Considerando que o buffer estivesse cheio, teramos que o buffer entraria na regio crtica, e logo em seguida seria bloquado, com o mutex sendo 0, logo em seguida o consumidor tentaria acessar o buffer o com o mutex igual a 0 ele tambm se bloquearia. Logo ocorreria um deadlock, ou seja, dois processos bloqueados, um esperando a execuo do outro. Qual a caracterstica que faz com que os monitores garantam a excluso mtua? Uma caracterstica particular dos monitores que em um monitor apenas um processo estar ativo. Quando um processo acessa o procedimento dentro do monitor, o monitor logo se encarrega de verificar se no existe outro processo ativo. Caso tenha um processo ativo, o processo que fez acesso ao procedimento ser suspenso, caso contrrio, ele poder entrar na regio. importante saber que est excluso mtua de responsabilidade do compilador. Qual a desvantagem da utilizao de semforos e monitores? Semforos e monitores foram projetados para garantir a excluso mtua em um ou mais processadores que tm acesso a memria comum. Quando vamos para um sistema com dois ou mais processadores operando de forma distribuda, compartilhando vrias memrias privadas e em uma rede local, esta questo de excluso mtua pode tornar-se inaplicvel. Qual a utilidade de um agendador no sistema operacional? Muitas vezes ocorre de um ou mais processos poderem ser executados em um determinado instante. Cabe ao agendador do sistema operacional, escolher por algoritmos de agendamento um processo que melhor satisfaa as seguintes questes: deve ser dado aos processos uma PARTE justa da CPU, deve diminuir o tempo de resposta dos usurios, deve fazer com que a CPU esteja ocupada 100% do tempo e deve maximizar o nmero de Jobs processados por hora. Faa uma relao entre a evoluo dos CPUS e os algoritmos de agendamento? Antigamente os recursos tecnolgicos eram escassos de maneira que era exigido dos algoritmos de escalonamento uma perfomace boa a ponto de garantir um balanceamento perto do timo. Com o avano da evoluo tecnolgica os algoritmos de agendamento no precisam ser to rigorosos asssim visto que, a percepo dos usurios inibida pelo clock das novas mquinas. Quais so as obrigaes de um escalonador ? Primeiramente um escalonador deve selecionar o processo a ser executado. Para esta escolha o deve-se tambm fazer um uso eficiente da CPU. Deve-se saber que alternar entre um processo e outro e muito caro computacionalmente. Deve-

se armazenar os registradores do processo na tabela de processos. O cach tambm deve ser armazenado. O processo deve ser selecionado. O processo deve ser inicializado. Deve ocorrer a troca de contexto. Quando escalonar um processo? Existem situaes triviais em que o escalonamento de processos deve ocorrer tais como: quando o processo termina, quando o processo se bloqueia. As polticas de escalonamento podem ser geradas a cada interrupo de clock ou a partir da K-zima interrupo de clock. Cite e explique as categorias de escalonamento. Os escalonamentos podem ser no-preemptivos ou preemptivos. Para os escalonamentos pr-emptivos temos que: O processo e executado at ele terminar; ou O processo executado at ele se bloquear Ou seja, para escalonamentos pr-emptivos temos que nenhuma deciso de escalonamento tomada em funo da interrupo do relgio. Para escalonamentos pr-emptivos temos que: O escalonador escolhe um processo e o executa at que o escalonador queira; ou O processo deixa a CPU quando o processo termina; ou O processo deixa a CPU quando o processo se bloqueia; Cite e explique as categorias dos algoritmos de escalonamento. Os algoritmos de escalonamento podem estar divididos em duas categorias: Em lote: nestes, no h usurios impacientes por resultados. As polticas no preemptivas so utilizadas para melhorar o desempenho do sistema. Iterativos: As polticas preeptivas so utilizadas. Quais as caractersticas do algoritmo de escalonamento para cada tipo de sistemas? Para todos os sistemas temos que a poltica de escalonamento deve ser : Justia conceder cada processo uma parte justa da CPU; Rigor da Poltica: verificar se a poltica esta realmente sendo cumprida; Equilbrio: manter ocupadas todas as partes do sistema;

Para sistemas em lotes temos que a poltica de escalonamento deve garantir: Vazo aumentar o numero de Jobs por hora; Tempo de retorno diminuir o tempo entre a submisso e trmino; Utilizao da UCP manter a CPU ocupada o tempo todo;

Para sistemas interativos temos que as polticas de escalonamento devem privilegiar: Tempo de resposta responder rapidamente as requisies Proporcionalidade satisfazer as expectativas do usurio

Para o escalonamento de sistemas em Lote, explique sobre FIRST COME, FIRST SERVED? Temos que esta forma de escalonamento no preemptiva, ou seja, o processo executado at seu trmino ou at que ele se bloqueie. Temos que ele um escalonamento onde o primeiro processo a entrar na fila de prontos ser o processo a ser executado. Sendo assim esta forma de fcil entendimento, de fcil implementao. Possui algumas desvantagens como: processos de maior prioridade podem estar no final da fila e ser executados por ltimo, processos independentes que seriam executados rapidamente podem estar no final da fila e esperar por processos demorados. Para o escalonamento de sistema em lote, O MENOR JOB PRIMEIRO comente sobre como este mtodo pode ser vantajoso. Existe uma poltica de escalonamento para sistemas em Lote, que utiliza o menor job primeiro com o objetivo de reduzir o mdia por espera. Considere 4 processos A,B,C e D possuindo os seguintes tempos de execuo 8,4,4,4. Executando-se nesta ordem teramos o tempo de retorno para A de 8min, 12min de B, 16 min de C e 20 de D com uma mdia de 14min. A gora considerando a execuo do job mais curto primeiro temos que os tempos de retorno seriam 4min,8min,12min e 20 min com uma mdia de 11min. Desta forma acaba sendo poltica de agendamento tima, pois diminui o tempo mdio de resposta. A desvantagem que precisa utilizar tcnicas caras computacionalmente para obter o tempo prvio de cada job. Explique sobre a poltica de escalonamento Prximo do menor tempo restante . A diferena entre as polticas de sistemas em Lote que este um mtodo premptivo. Quando um novo job passa para o estado de pronto, o escalonador pode interromper a execuo do atual, e fornecer a CPU ao novo job,bloqueando o job em execuo. Uma desvantagem que Jobs com uma prioridade maior podem ter sua execuo bloqueada. Explique sobre a poltica de escalonamento ROUND ROBIN (Alternncia Circular) para sistemas iterativos . Nesta poltica de escalonamento concedido a cada processo um intervalo de tempo (quantun). Este intervalo de tempo o tempo necessrio para que cada processo fique na CPU se sofrer interrupes.Existem trs formas de um processo DEIXAR a CPU tais como: quando o tempo acaba (ocasionado pelo quantun), quando o processo se bloqueia, quando o processo termina. Uma questo interessante nesta poltica a quantidade de tempo utilizada para a troca de processo. A troca de processo para outro requer uma certo tempo para fazer esta administrao. De maneira que como desvantagem podemos citar o fato de que, para quantuns muito pequenos teremos uma quantidade maior de tempo gasto com administrao de troca de processos e a eficincia da CPU

REDUZIDA. Porm para quantum muito longos, a resposta pode ser inificiente para curtas requisies iterativas. Explique sobre o algoritmo de escalonamento por prioridades. Os outros algoritmos de escalonamento consideram cada um dos processos como sendo iguais uns aos outros quanto a sua execuo. A questo que em sistemas iterativos, ocorre que um determinado processo sempre possui uma prioridade maior que outro processo.Por exemplo, processos que possuem uma comunicao direta com o usurio tendem a ter uma prioridade de execuo maior. O escalonamento por prioridades faz justamente isto, insere cada um dos processos em uma categoria de prioridades, de maneira que os processos que esto em uma categoria de prioridade maior tendem a ser executados primeiro. Dentro de uma categoria de prioridades pode haver vrios processos. Dentro de cada categoria, a execuo de cada um dos processos pode ser tratado com o algoritmo de alternncia circular. Um problema encontrado neste algoritmo que pode ocorrer de processos que esto em uma categoria de prioridade menor pode nunca vir a ser executado(starvation quando um processo espera pela alocao de recursos). Para que isto no ocorra o sistema operacional deve sempre fazer uma manuteno efetiva nas prioridades de cada processo.Por exemplo, verificando que um processo esta a 3 segundos sem ser executado ele ter sua prioridade incrementada em uma unidade (quando voltar para a fila de prontos voltar com sua prioridade normal). Explique sobre o escalonamento garantido . No escalonamento garantido o computador deve garantir que se N usurios esto conectados, cada um deve receber uma parte de 1/n da CPU. O mtodo anlogo pode ocorrer com o nmero de quantidade de processos ativos. A questo que esta poltica de difcil implementao, ou seja, o sistema deve monitorar quanto da CPU cada processo teve desde a sua execuo, quanto foi atribudo a cada um, para assim calcular o tempo real da CPU e o tempo atribudo. Explique sobre o escalonamento por sorteio. O sistema operacional disponibiliza bilhetes para cada um dos processos. Aps isto o sistema operacional sorteia um bilhete. O processo que possui o bilhete em questo premiado, tem acesso a CPU. Para processos com uma importncia maior so oferecidos bilhetes extras, ou seja, uma forma de aumentar a prioridade. A probalidade de um processo ocupar a CPU de numero de bilhetes que o processo possui/ numero total de bilhetes. Uma desvantagem desta forma de escalonamento que o sistema operacional acaba perdendo o controle sobre os processos que esto morrendo de fome esperando por recursos. Uma outra desvantagem o fato de a probabilidade depender de nmeros aleatrios. O que so deadlocks ?

Os deadlocks ocorrem quando um processo disputa por um ou mais recursos. Quando no h controle de acesso sobre um recurso comum, danos irreparveis podem ocorrer. Uma definio para deadlock Um processo esta em deadlock se todos os processos/threads deste conjunto estiver esperando um evento acontecer, que somente estas threads/processos deste conjunto poder realizar . Explique recursos preemptveis e no preemptiveis. Os recursos pr-emptivos so recursos que no podem ser retirados dos processos particulares sem que ocorra erro. Como por exemplo, CPU e o memria.Recursos no pr-emptiveis so recursos em que no podem ser retirados dos processos particulares, caso isso acontea pode ocorrer erro. Por exemplo, se um processo comeou a gravar um cd, ele no pode passar, a gravadora para um outro processo. OS DEADLOCKS ESTO RELACIONADOS COM RECURSOS NO PREEMPTIVEIS

Quais so as 4 condies para que haja deadlocks? Condio de excluso mtua: Um recurso s pode estar alocado a apenas um processo em um determinado instante. Condio de posse e espera: Processos que possuem recursos alocados podem solicitar outros. Condio de no pr-empo: Recursos alocados por um processo no podem ser retirados do processo que o alocou. Somente o processo que alocou o recurso pode liber-lo. Condio de espera circular: Deve ser uma cadeia circular de dois ou mais processos. Cada um a espera de um recurso retido pelo membro seguinte.

Você também pode gostar