Estudo Sistemas Operacionais                                Perguntas e respostasQual a metodologia do utilizada em semáfo...
Um exemplo de má utilização de semáforos é por exemplo invertermos um dos dois Downs noprocedimento do produtor. Considera...
Os escalonamentos podem ser não-preemptivos ou preemptivos.Para os escalonamentos pré-emptivos temos que:O processo e exec...
Existe uma política de escalonamento para sistemas em Lote, que utiliza o menor job primeiro com oobjetivo de reduzir o mé...
Explique sobre o escalonamento garantido .No escalonamento garantido o computador deve garantir que se N usuários estão co...
Condição de espera circular:
Próximos SlideShares
Carregando em…5
×

Estudo sistemas operacionais p2

505 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
505
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Estudo sistemas operacionais p2

  1. 1. Estudo Sistemas Operacionais Perguntas e respostasQual a metodologia do utilizada em semáforo?O semáforo possui uma variável responsável por identificar o número de wakeup salvos para umapossível utilização futura. Esta variável semáforo pode ter o valor de 0 indicando que nenhumwakeup foi salvo ou um ou mais indicando que wakeups já foram salvos. Duas operações sãoutilizadas para a execução de um semáforo (DOWN e UP). A operação Down em um semáforoverifica se a variável é maior que zero. Caso seja maior que 0 a operação continua normalmentedecrementando o valor da variável e utilizando um wakeup armazenado. Caso o valor seja igual a 1,o processo corrente é colocado para dormir e este não termina de realizar a operação DOWN. Aoperação UP é utilizada para incrementar o valor da variável e acordar algum dos processos queestavam dormindo pela operação DOWN e possibilitar e complete a operação. Permite fazer comque menos processos esteja no estado de dormindo.Como ocultar a interrupção em um processo que utiliza semáforos?Deve-se configurar um semáforo com um valor de 0 para um dispositivo de E/S. Após inicializadoeste processo, o gerenciador de interrupções faz um DOWN no semáforo associado, bloqueandologo em seguida. Quando a interrupção chega, o gerenciador faz um UP no semáfaro e torna oprocesso relevante pronto para executar novamente.Como utilizar um semáforo para a resolução do problema do jantar dos filósofos?Para resolver o problema do jantar dos filósofos, são utilizados três semáforos denominados full ,para indicar a quantidade de entradas que estão ocupadas, empty para indicar a quantidade deentradas que estão livres e mutex utilizado para permitir que produtores e consumidores nãoacessem o buffer ao mesmo tempo. Inicialmente, Full possui o valor de 0, empty possui o valor daquantidade permitida no buffer e mutex possui o valor de 1 (semáforo binário). Deve-se dizer que aresponsabilidade pela exclusão mútua cabe ao semáforo mutex.Exemplifique a má utilização de semáforos? O que pode ocorrer?While (true){Produce_item(&item);Down (&empty); // diminui o número de entradas livresDown (&mutex); // entra na região críticaEnter_item; //insere item no bufferUp (&mutex); //sai da região críticaUp (&full); // aumenta a quantidade de casas ocupadas}
  2. 2. Um exemplo de má utilização de semáforos é por exemplo invertermos um dos dois Downs noprocedimento do produtor. Considerando que o buffer estivesse cheio, teríamos que o bufferentraria na região crítica, e logo em seguida seria bloquado, com o mutex sendo 0, logo em seguidao consumidor tentaria acessar o buffer o com o mutex igual a 0 ele também se bloquearia. Logoocorreria um deadlock, ou seja, dois processos bloqueados, um esperando a execução do outro.Qual a característica que faz com que os monitores garantam a exclusão mútua?Uma característica 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 deverificar se não existe outro processo ativo. Caso tenha um processo ativo, o processo que fezacesso ao procedimento será suspenso, caso contrário, ele poderá entrar na região. É importantesaber que está exclusão mútua é de responsabilidade do compilador.Qual a desvantagem da utilização de semáforos e monitores?Semáforos e monitores foram projetados para garantir a exclusão mútua em um ou maisprocessadores que têm acesso a memória comum. Quando vamos para um sistema com dois oumais processadores operando de forma distribuída, compartilhando várias memórias privadas e emuma rede local, esta questão de exclusão mútua pode tornar-se inaplicável.Qual a utilidade de um agendador no sistema operacional?Muitas vezes ocorre de um ou mais processos poderem ser executados em um determinadoinstante. Cabe ao agendador do sistema operacional, escolher por algoritmos de agendamento umprocesso que melhor satisfaça as seguintes questões: deve ser dado aos processos uma PARTE justada CPU, deve diminuir o tempo de resposta dos usuários, deve fazer com que a CPU esteja ocupada100% do tempo e deve maximizar o número de Jobs processados por hora.Faça uma relação entre a evolução dos CPUS e os algoritmos de agendamento?Antigamente os recursos tecnológicos eram escassos de maneira que era exigido dos algoritmos deescalonamento uma perfomace boa a ponto de garantir um balanceamento perto do ótimo. Com oavanço da evolução tecnológica os algoritmos de agendamento não precisam ser tão rigorososasssim visto que, a percepção dos usuários é inibida pelo clock das novas máquinas.Quais são as obrigações de um escalonador ?Primeiramente um escalonador deve selecionar o processo a ser executado. Para esta escolha odeve-se também fazer um uso eficiente da CPU. Deve-se saber que alternar entre um processo eoutro e muito caro computacionalmente. Deve-se armazenar os registradores do processo na tabelade processos. O cachê também deve ser armazenado. O processo deve ser selecionado. O processodeve ser inicializado. Deve ocorrer a troca de contexto.Quando escalonar um processo?Existem situações triviais em que o escalonamento de processos deve ocorrer tais como: quando oprocesso termina, quando o processo se bloqueia. As políticas de escalonamento podem ser geradasa cada interrupção de clock ou a partir da K-ézima interrupção de clock.Cite e explique as categorias de escalonamento.
  3. 3. Os escalonamentos podem ser não-preemptivos ou preemptivos.Para os escalonamentos pré-emptivos temos que:O processo e executado até ele terminar; ouO processo é executado até ele se bloquearOu seja, para escalonamentos pré-emptivos temos que nenhuma decisão de escalonamento étomada em função da interrupção do relógio.Para escalonamentos pré-emptivos temos que: O escalonador escolhe um processo e o executa atéque o escalonador queira; ouO processo deixa a CPU quando o processo termina; ouO 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, não há usuários impacientes por resultados. As políticas não preemptivas sãoutilizadas para melhorar o desempenho do sistema.Iterativos: As políticas preeptivas são utilizadas.Quais as características do algoritmo de escalonamento para cada tipo de sistemas?Para todos os sistemas temos que a política de escalonamento deve ser : • Justiça – conceder cada processo uma parte justa da CPU; • Rigor da Política: verificar se a política esta realmente sendo cumprida; • Equilíbrio: manter ocupadas todas as partes do sistema;Para sistemas em lotes temos que a política de escalonamento deve garantir: • Vazão – aumentar o numero de Jobs por hora; • Tempo de retorno – diminuir o tempo entre a submissão e término; • Utilização da UCP – manter a CPU ocupada o tempo todo;Para sistemas interativos temos que as políticas de escalonamento devem privilegiar: • Tempo de resposta – responder rapidamente as requisições • Proporcionalidade – satisfazer as expectativas do usuárioPara o escalonamento de sistemas em Lote, explique sobre FIRST COME, FIRST SERVED?Temos que esta forma de escalonamento é não preemptiva, ou seja, o processo é executado até seutérmino ou até que ele se bloqueie. Temos que ele é um escalonamento onde o primeiro processo aentrar na fila de prontos será o processo a ser executado. Sendo assim esta forma é de fácilentendimento, de fácil implementação. Possui algumas desvantagens como: processos de maiorprioridade podem estar no final da fila e ser executados por último, processos independentes queseriam 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 estemétodo pode ser vantajoso.
  4. 4. Existe uma política de escalonamento para sistemas em Lote, que utiliza o menor job primeiro com oobjetivo de reduzir o média por espera. Considere 4 processos A,B,C e D possuindo os seguintestempos de execução 8,4,4,4. Executando-se nesta ordem teríamos o tempo de retorno para A de8min, 12min de B, 16 min de C e 20 de D com uma média de 14min. A gora considerando a execuçãodo job mais curto primeiro temos que os tempos de retorno seriam 4min,8min,12min e 20 min comuma média de 11min. Desta forma acaba sendo política de agendamento ótima, pois diminui otempo médio de resposta. A desvantagem é que precisa utilizar técnicas caras computacionalmentepara obter o tempo prévio de cada job.Explique sobre a política de escalonamento “Próximo do menor tempo restante” .A diferença entre as políticas de sistemas em Lote é que este é um método pré-emptivo. Quando umnovo job passa para o estado de pronto, o escalonador pode interromper a execução do atual, efornecer a CPU ao novo job,bloqueando o job em execução. Uma desvantagem é que Jobs com umaprioridade maior podem ter sua execução bloqueada.Explique sobre a política de escalonamento “ROUND ROBIN (Alternância Circular)” para sistemasiterativos .Nesta política de escalonamento é concedido a cada processo um intervalo de tempo (quantun).Este intervalo de tempo é o tempo necessário para que cada processo fique na CPU se sofrerinterrupções.Existem três 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. Umaquestão interessante nesta política é a quantidade de tempo utilizada para a troca de processo. Atroca de processo para outro requer uma certo tempo para fazer esta administração. De maneiraque como desvantagem podemos citar o fato de que, para quantuns muito pequenos teremos umaquantidade maior de tempo gasto com administração de troca de processos e a eficiência da CPU ÉREDUZIDA. Porém para quantum muito longos, a resposta pode ser inificiente para curtasrequisições iterativas.Explique sobre o algoritmo de escalonamento por prioridades.Os outros algoritmos de escalonamento consideram cada um dos processos como sendo iguais unsaos outros quanto a sua execução. A questão é que em sistemas iterativos, ocorre que umdeterminado processo sempre possui uma prioridade maior que outro processo.Por exemplo,processos que possuem uma comunicação direta com o usuário tendem a ter uma prioridade deexecução maior. O escalonamento por prioridades faz justamente isto, insere cada um dos processosem uma categoria de prioridades, de maneira que os processos que estão em uma categoria deprioridade maior tendem a ser executados primeiro. Dentro de uma categoria de prioridades podehaver vários processos. Dentro de cada categoria, a execução de cada um dos processos pode sertratado com o algoritmo de alternância circular. Um problema encontrado neste algoritmo é quepode ocorrer de processos que estão em uma categoria de prioridade menor pode nunca vir a serexecutado(starvation – quando um processo espera pela alocação de recursos). Para que isto nãoocorra o sistema operacional deve sempre fazer uma manutenção efetiva nas prioridades de cadaprocesso.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 suaprioridade normal).
  5. 5. Explique sobre o escalonamento garantido .No escalonamento garantido o computador deve garantir que se N usuários estão conectados, cadaum deve receber uma parte de 1/n da CPU. O método análogo pode ocorrer com o número dequantidade de processos ativos. A questão é que esta política é de difícil implementação, ou seja, osistema deve monitorar quanto da CPU cada processo teve desde a sua execução, quanto foiatribuído a cada um, para assim calcular o tempo real da CPU e o tempo atribuído.Explique sobre o escalonamento por sorteio.O sistema operacional disponibiliza bilhetes para cada um dos processos. Após isto o sistemaoperacional sorteia um bilhete. O processo que possui o bilhete em questão é premiado, tem acessoa CPU. Para processos com uma importância maior são oferecidos bilhetes extras, ou seja, umaforma de aumentar a prioridade. A probalidade de um processo ocupar a CPU é de numero debilhetes que o processo possui/ numero total de bilhetes. Uma desvantagem desta forma deescalonamento é que o sistema operacional acaba perdendo o controle sobre os processos queestão “morrendo de fome” esperando por recursos. Uma outra desvantagem é o fato de aprobabilidade depender de números aleatórios.O que são deadlocks ?Os deadlocks ocorrem quando um processo disputa por um ou mais recursos. Quando não hácontrole de acesso sobre um recurso comum, danos irreparáveis podem ocorrer. Uma definição paradeadlock é “Um processo esta em deadlock se todos os processos/threads deste conjunto estiveresperando um evento acontecer, que somente estas threads/processos deste conjunto poderárealizar .Explique recursos preemptíveis e não preemptiveis.Os recursos pré-emptivos são recursos que não podem ser retirados dos processos particulares semque ocorra erro. Como por exemplo, CPU e o memória.Recursos não pré-emptiveis são recursos em que não podem ser retirados dos processosparticulares, caso isso aconteça pode ocorrer erro. Por exemplo, se um processo começou a gravarum cd, ele não pode passar, a gravadora para um outro processo. OS DEADLOCKS ESTÃO RELACIONADOS COM RECURSOS NÃO PREEMPTIVEISQuais são as 4 condições para que haja deadlocks?Condição de exclusão mútua: Um recurso só pode estar alocado a apenas um processo em umdeterminado instante.Condição de posse e espera: Processos que possuem recursos alocados podem solicitar outros.Condição de não pré-empção: Recursos alocados por um processo não podem ser retirados doprocesso que o alocou. Somente o processo que alocou o recurso pode liberá-lo.
  6. 6. Condição de espera circular:

×