Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fechar Avaliação: CCT0245_AV_201511459646 » SISTEMAS OPERACIONAIS Tipo de Avaliação: AV Aluno: 201511459646 - FRANSUELLEN DE OLIVEIRA FELIX Professor: MAURO CESAR CANTARINO GIL Turma: 9006/AD Nota da Prova: 8,0 Nota de Partic.: 1 Av. Parcial 2 Data: 23/11/2017 13:58:38 1a Questão (Ref.: 201511517388) Pontos: 0,5 / 1,0 Suponha que um programador precisou desenvolver um programa para solucionar a seguinte equação: X = (100 x 3) + (2 x (A + 30)) + (20 - 2) + (3 x B) Para otimizar o processamento, este programador optou por dividir a equação em partes menores e distribuí-las em diferentes threads. O resultado foi: PROGRAM EQUACAO; VAR X, A, B, C, D: integer; BEGIN A := (100*3); B := 2 * (A + 30); C := (20-2); D := (3 * B); X := A + B + C + D; END. O algoritmo acima contém um erro, que ilustra a complexidade do uso de threads. Descreva o erro do algoritmo acima e apresente uma solução para este problema. Resposta: A thread B está utilizando o valor de A, assim como a thread D está utilizando o valor de B. Ou seja ambas necessitam do valor de A para a sua operação, causando uma região crítica, ou seja ambas estão compartilhando o valor de A em diferentes processos. Solução: Na thread D deveria utilizar o valor da Thread C, pois esta não está sendo utilizada em nenhum outro processo. Gabarito: Haverá um problema de sincronização entre os threads. Uma das soluções para este problema seria executar criar threads apenas para as instruções que atribuem valores as variáveis "A" e "C". A atribuição de valores às variáveis "B", "C" e "X" devem ficar fora dos trheads. 2a Questão (Ref.: 201511567805) Pontos: 0,5 / 1,0 Na execução de processos existem duas importantíssimas rotinas que são o escalonador e o dispatcher. Uma destas rotinas depende da outra para sua execução. Descreva a função de cada uma delas e responda qual a rotina que depende da outra para ser executada? Resposta: O função do escalonador é de determinar em uma fila de prontos qual processo será executado primeiro. O dispatcher coloca o processo em estado de pronto. O escalonador depende do dispatcher. Gabarito: Escalonador é o responsável por implementar os critérios da política de escalonamento dos processos e o dispatcher é o repsonsável pela troca de contexto dos processos. Após o escalonado determinar qual processo deve fazer uso do processor, o dispatcher irá realizar a troca. Sendo assim é o dispatcher que depende do escalonador. 3a Questão (Ref.: 201511522516) Pontos: 1,0 / 1,0 Um sistema operacional multitarefa tem como característica fundamental: Ser também multiusuário A execução concorrente de processos Uso de interface gráfica A execução simultânea de processos Uso simultâneo de mais de uma unidade de disco. 4a Questão (Ref.: 201511521408) Pontos: 1,0 / 1,0 Os sistemas operacionais criam estruturas de controle, chamadas processo, para controlar a execução dos programas, sejam do usuário ou do próprio sistema. Essa estrutura registra informações sobre a situação do processo durante todo seu processamento, sendo uma dessas informações o estado do processo. Avalie as sentenças a seguir e assinale a correta. O escalonador também pode selecionar processo em ESPERA para execução. O escalonador organiza a fila de processos em estado de PRONTO. Para escalonadores preemptivos existe a possibilidade de determinar uma fatia de tempo (time slice) para que o processo se mantenha em estado de EXECUÇÃO, após esse tempo o processo retorna para a fila de PRONTO A transição entre os três estados (PRONTO, ESPERA E EXECUÇÃO) é possível em ambos os sentidos. O estado de ESPERA representa o processo aguardando o fim da fatia de tempo de umprocesso em EXECUÇÂO O estado de EXECUÇÃO representa o processo aguardando ser escalonado, ou seja, o processo depende da escolha por parte do sistema operacional para que possa executar seu código (instruções) 5a Questão (Ref.: 201511744039) Pontos: 1,0 / 1,0 Um thread é Fluxo de execução e parte integrante de um processo e o multithreading é a associação de vários fluxos de execução a um único processo. Julgue as sentenças em verdadeiras (V) ou falsas (F). 1. Thread é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente. 2. Cada thread tem o mesmo contexto de hardware e compartilha o mesmo o espaço de memória (endereçado a um mesmo processo-pai), porém o contexto de software é diferente. 3.Um dos benefícios do uso das threads é que quando um thread espera por um recurso um outro do mesmo grupo pode estar sendo executado. Marque a opção correta. 1.V - 2.F - 3.V 1.V -2.F - 3.F 1.V -2.V - 3.V 1.F - 2.F - 3.V 1.F - 2.V - 3.F 6a Questão (Ref.: 201512078470) Pontos: 1,0 / 1,0 Em programação concorrente, quando um processo nunca é executado ("morre de fome"), pois processos de prioridade maior sempre o impedem de ser executado, diante desta situação podemos concluir que ocorreu: Espera ocupada Bloqueio Starvation Deadlock Exclusão mútua 7a Questão (Ref.: 201512116450) Pontos: 1,0 / 1,0 Diversos conceitos são fundamentais para que se implemente concorrência entre processos. Região Crítica é um desses conceitos, que pode ser melhor definido como sendo: Um trecho de programa onde existe o compartilhamento de algum recurso que não permite o acesso concomitante por mais de um processo Um trecho de programa onde existe algum recurso cujo acesso é dado por uma prioridade Um trecho de programa cujas instruções podem ser executadas em paralelo e em qualquer ordem Um trecho de programa que deve ser executado em paralelo com a Região Crítica de outro programa Um trecho de programa onde existe algum recurso a que somente o sistema operacional pode ter acesso 8a Questão (Ref.: 201511521406) Pontos: 1,0 / 1,0 Os sistemas operacionais criam estruturas de controle, chamadas processo, para controlar a execução dos programas de usuário. Essa estrutura registra informações sobre a situação do processo durante todo seu processamento, sendo uma dessas informações o estado do processo. Quanto aos estados básicos de um processo podemos afirmar que: Ao solicitar uma operação de E/S (por exemplo, entrada de dados pelo usuário via teclado) um processo que esteja em execução fica aguardando a conclusão da operação no estado de pronto O estado de execução está diretamente associado aos dispositivos de E/S, ou seja, um processo que aguarda a conclusão de um operação de E/S encontra-se nesse estado O escalonador seleciona processos que estejam no estado de pronto e os coloca em execução, obedecendo os critérios estabelecidos (tempo, prioridade) Não há nenhuma relação entre os estados de pronto e de execução Sempre que um processo é criado, ele entra no estado de execução sem necessidade de escalonamento. 9a Questão (Ref.: 201512127103) Pontos: 0,5 / 0,5 A maioria dos sistemas operacionais da atualidade utiliza o recurso chamado Memória Virtual. Uma das funções da Memória Virtual é a paginação ou troca (swapping). Assinale a alternativa que contém a afirmação correta a respeito do swapping. O swapping é um mecanismo necessário em computadores de 64 bits que permite o endereçamento de memórias superiores a 4 Gbytes. Swapping é a capacidade de troca de componentes de hardware de um computador, mesmo que o mesmo esteja ligado. A principal função do swapping é impedir que um processo utilizeendereço de memória que não lhe pertença. Swapping possibilita ao sistema operacional e às aplicações o uso de mais memória do que a fisicamente existente em um computador. O swapping é uma técnica de endereçamento que faz com que cada processo enxergue sua área de memória como um segmento contíguo. 10a Questão (Ref.: 201512127142) Pontos: 0,5 / 0,5 Os dispositivos de E/S podem ser classificados de diferentes maneiras, com relação ao tipo de transferência de dados são classificados em: Orientados a blocos e a caracteres Orientados a páginas e segmentos Orientados à páginas e blocos Orientados a hardware e software Orientados a usuários e ao equipamentos Período de não visualização da prova: desde 16/11/2017 até 28/11/2017.
Compartilhar