Prova Objetiva 1 Questão 1/10 A partir do momento em que diversos processos podem estar no estado de pronto, devem ser estabelecidos critérios para determinar qual processo será escolhido para fazer o uso do processador. Quanto à política de escalonamento podemos afirmar: I – A política de escalonamento é a base da gerência do processador e da multiprogramação em um sistema operacional e tem como principais funções manter o processador a maior parte do tempo ocupado, balancear o uso da CPU entre os processos, privilegiar a execução de aplicações críticas, executar o maioir número de processos em uma fatia de tempo e oferecer tempos de respostas razoáveis para usuários interativos. II – Os escalonamentos podem ser classificados em preemptivo e não preemptivo, que é a possibilidade do processador interromper um processo em execução e substituir por outro ou não. III – Algoritimos de escalonamento não levam em consideração critérios como ordem de chegada dos processos, tempo de processamento e prioridade. C Somente os itens I e II estão corretos. Questão 2/10 Existem duas formas de implementação da memória virtual que se diferem pela organização dos blocos, denominadas paginação e segmentação. Analise as sentenças a seguir e depois assinale a alternativa correta. I) Na memória virtual por paginação o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos de tamanho diferentes. II) Na memória virtual por segmentação o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos de mesmo tamanho. III) Quando os blocos são do mesmo tamanho, os denominados de páginas, e a técnica de organização da memória virtual associada é denominada paginação. Quando os blocos podem ser de tamanhos diferentes os denominamos de segmentos e a técnica de organização da memória virtual associada é denominada segmentação. Assinale a alternativa que apresenta o(s) item(ns) correto(s): C Somente o item III está correto. Questão 3/10 O maior problema na gerência de memória virtual por paginação não é decidir quais páginas carregar para a memória principal, mas quais liberar (Denning, 1968). Os algoritmos de substituição de páginas têm o objetivo de selecionar os frames que tenhamas menores chances de serem referenciadas em um futuro próximo. Quanto aos algoritmos de substituição de páginas, analise as sentenças a seguir. I) No algoritmo FIFO, o sistema seleciona a última página utilizada e que está há mais tempo na memória principal. II) No algoritmo LFU (least-freqeuntly-used), o sistema seleciona a página menos referenciada, ou seja, menos utilizada. III) No algoritmo LRU (least-recently-used), o sistema seleciona a página na memória principal que está há mais tempo sem ser referenciada. Assinale a alternativa que apresenta o(s) item(ns) correto(s): D Somente os itens II e III estão corretos. Questão 4/10 Analise as sentenças a seguir e identifique as características dos sistemas do tipo tempo compartilhado. I) Também denominados (time-sharing) permitem que diversos programas sejam executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice). II) Esse tipo de sistema tem como característica principal a execução de tarefas em fila que normalmente são armazenadas em disco ou fita e aguardam seu tempo para ser processadas. III) Esse tipo de sistema está presente em aplicações de controle de processos, como monitoramento de refinarias de petróleo, controle de tráfego aéreo, de usinas termoelétricas e nucleares, ou em qualquer aplicação onde o tempo de processamento é fator fundamental. Assinale a alternativa que apresenta o(s) item(ns) correto(s): B Somente o item I está correto. Questão 5/10 Assinale a alternativa que completa a sentença a seguir. O throughput e o tempo de turnaround utilizados como critérios de escalonamento significam, respectivamente: A) tempo que um processo permanece na fila de pronto durante seu processamento; define o tempo que um processo leva desde a sua criação até seu término. B) tempo decorrido entre uma requisição ao sistema ou à aplicação e o instante em que a resposta é exibida; define o tempo que um processo leva desde a sua criação até seu término. C) tempo decorrido entre uma requisição ao sistema ou à aplicação e o instante em que a resposta é exibida; tempo que um processo permanece na fila de pronto durante seu processamento. D) representa o número de processos executados em um determinado intervalo de tempo; define o tempo que um processo leva desde a sua criação até seu término. D Questão 6/10 Uma memória virtual possui páginas de 1024 endereços, existem oito páginas virtuais e 4096 bytes de memória real. A tabela de páginas de um processo está descrita a seguir. O asterisco indica que a página não está na memória principal: Analise as sentenças a seguir e depois assinale a alternativa correta. I) As páginas virtuais 2, 3, 5 e 7 não estão alocadas na memória principal. II) O acesso a qualquer endereço virtual correspondente à página virtual 2, irá causar erro de page fault III) O acesso a qualquer endereço virtual correspondente à página virtual 6, irá causar erro de page fault. Página Virtual Página Real 03 11 2* 3* 42 5* 60 7* D Somente os itens I e II estão corretos Questão 7/10 Assinale a alternativa correta em relação aos sistemas multiusuários. A Somente podem serimplementados em sistemas multiprogramáveis. B Somente podem ser implementados em sistemas monoprogramáveis. C Podem ser implementados tanto em sistemas multiprogramáveis como monoprogramáveis. D Este conceito aplica-se a sistemas onde diversos usuários possam ser cadastrados, independentemente da possibilidade de realização de logins simultâneos, locais ou remotos. A Questão 8/10 Um programa é uma sequência de instruções, composta por desvios, repetições e chamadas a procedimentos e funções. Em um ambiente monothread, aplicações concorrentes são implementadas apenas com uso de múltiplos processos independentes ou subprocessos. Analise as sentenças a seguir sobre as threads. I – Uma thread, também denominada de processo leve, compartilha muitos atributos de um processo. II – Em um sistema computacional, multi-core, múltiplas threads são capazes de executar simultaneamente. III – Mesmo com as vantagens de uma aplicação com múltiplas rotinas em threads, poucas linguagens oferecem suporte para sua implementação. IV – A grande vantagem da utilização de classes threads em uma função da aplicação é a performance e a otimização de recursos, devido à facilidade de compartilhamento de recursos e comunicação entre threads. Assinale a alternativa correta. C V, V, F, V. Questão 9/10 Assim como no particionamento fixo da memória física ocorria a fragmentação interna e no particionamento dinâmico a fragmentação externa, na memória virtual isso também ocorre. Analise as sentenças a seguir e depois assinale a alternativa correta. I) A fragmentação interna ocorre na técnica de organização da memória virtual por paginação, que é quando o programa não ocupa o frame (página) completo. II) A fragmentação externa ocorre na técnica de organização da memória virtual por segmentação, que ocorre sempre que há diversas áreas livres na memória principal, mas nenhuma é grande o suficiente para alocar um novo segmento. III) Nos diferentes sistemas operacionais modernos não existe solução para os problemas de fragmentação de memória. Assinale a alternativa que apresenta o(s) item(ns) correto(s): D Somente os itens I e II estão corretos. Questão 10/10 Como seria utilizar um computador sem um sistema operacional? Marque a alternativa correta. A Sem o sistema operacional, um usuário para interagir com o computador deveria conhecer profundamente diversos detalhes sobre o hardware do equipamento, o que tornaria seu trabalho lento e com grandes possibilidades de erros B O usuário precisaria fazer um curso de operador em Sistemas de microcomputador para saber lidar com o funcionamento do Sistema Operativo C O usuário teria que ter conhecimento de programação para desenvolver suas próprias aplicações e instalar no sistema computacional D Esse computador não pode ser operado, nem mesmo por meio da programação de hardware para executar tarefas de baixo nível A Prova Objetiva 2 Questão 1/10 A memória sempre foi vista como um recurso escasso e caro, mesmo atualmente, com a redução de custo e consequentemente aumento da capacidade da memória principal, seu gerenciamento é um dos fatores mais importantes no projeto de sistemas operacionais. As funções básicas da gerência de memória são: I) A gerência de memória deve tentar manter na memória principal o maior número de processos residentes, permitindo maximizar o compartilhamento do processador e demais recursos computacionais. II) Permitir a execução de programas que sejam maiores que a memória disponível, implementada por meio de técnicas como o overlay e a memória virtual. III) Evitar que dois ou mais programas sejam carregados na memória para garantir a proteção das aplicações em ambiente multiprogramáveis. Assinale a alternativa que apresenta o(s) item(ns) correto(s): C Somente os itens I e II estão corretos. Questão 2/10 Os sistemas operacionais implementam, basicamente, três estratégias para determinar em qual área livre um programa será carregado para execução. Analise as sentenças a seguir e assinale a alternativa correta. I) Na estratégia BestFit, a melhor partição é escolhida, ou seja, aquela em que o programa deixa o maior espaço sem utilização. II) Na estratégia WorstFit, a pior partição é escolhida, ou seja, aquela em que o programa deixa o menor espaço sem utilização. III) Na estratégia FirstFit, a primeira partição livre de tamanho suficiente para carregar o programa é escolhida. Assinale a alternativa que apresenta o(s) item(ns) correto(s): B Somente o item III está correto. Questão 3/10 Analise as sentenças a seguir e identifique as características dos sistemas do tipo tempo compartilhado. I) Também denominados (timesharing) permitem que diversos programas sejam executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo (timeslice). II) Esse tipo de sistema tem como característica principal a execução de tarefas em fila que normalmente são armazenadas em disco ou fita e aguardam seu tempo para ser processadas. III) Esse tipo de sistema está presente em aplicações de controle de processos, como monitoramento de refinarias de petróleo, controle de tráfego aéreo, de usinas termoelétricas e nucleares, ou em qualquer aplicação onde o tempo de processamento é fator fundamental. Assinale a alternativa que apresenta o(s) item(ns) correto(s): B Somente o item I está correto. Questão 4/10 Na década de 90 ocorreu a consolidação dos computadores da 4ª. Geração e dos sistemas operacionais baseados em interfaces gráficas. Com o surgimento e a evolução da Internet, o protocolo TCP/IP passou a ser um padrão de mercado, obrigando os fabricantes de sistemas operacionais a oferecer suporte a este protocolo. A arquitetura cliente/servidor, aplicada basicamente a redes locais, passa a ser utilizada em redes distribuídas como a Internet, permitindo que qualquer pessoa tenha acesso a todo tipo de informação, independente de onde esteja armazenada (MACHADO, 2007) Os computadores da quarta geração utilizavam tecnologia de transistores, as válvulas em miniatura que permitiam a redução do tamanho e melhoria da capacidade de processamento das máquinas. I. Um dos grandes avanços dos sistemas operacionais da década de 90 está associado a incorporação de recursos de comunicação. II. As novas funcionalidades dos sistemas operacionais baseado no protocolo TCP/IP, e a arquitetura cliente servidor III. permitiram a criação de diversos sistemas dedicados a oferecer serviços, tais como Servidores Web, de correio, de arquivos e servidores de banco de dados. IV. Um dos sistemas operacionais que melhor representa a consolidação dos sistemas baseados em interfaces gráficas é a família Windows da Microsoft. Assinale a alternativa que apresenta o(s) item(ns) correto(s): D Somente os itens II, III e IV estão corretos. Questão 5/10 Considere um sistema que possua as seguintes áreas livres na memória principal, ordenadas crescentemente: 10kb, 4kb, 20 kb, 18kb, 7 kb, 9 kb, 12 kb e 15 kb. Assinale a alternativa que apresenta em qual dessas partições livres seria alocado um programa de 12 kb utilizando BestFit. A Na partição de 12 kb. Questão 6/10 Quanto à técnica de spooling, assinale a alternativa correta. A A técnica de spooling é sempre gerada por algum evento externo ao programa e, nesse caso, independente da instrução que está sendo executada. B A técnica de spooling consiste na utilização de uma área em disco para gravar um arquivo de spool utilizado na gerência de impressão. C A técnica de spooling consiste na capacidade de um código executável ser compartilhado por diversos usuários, exigindo que apenas uma cópia do programa esteja na memória. D A técnica de spooling consiste na utilização de um dispositivo que controla as operações de E/S geralmente em disco. B Questão 7/10 Com base na tabela de processo a seguir, calcule o tempo médio de espera dos processos aplicando algoritmos de escalonamento FIFO. Processo Tempo de Processador (u.t) Prioridade A 10 2 B41 C33 A Tempo médio de espera igual a 8. Questão 8/10 Um programa é uma sequência de instruções, composta por desvios, repetições e chamadas a procedimentos e funções. Em um ambiente monothread, aplicações concorrentes são implementadas apenas com uso de múltiplos processos independentes ou subprocessos. Analise as sentenças a seguir sobre as threads. I – Uma thread, também denominada de processo leve, compartilha muitos atributos de um processo. II – Em um sistema computacional, multicore, múltiplas threads são capazes de executar simultaneamente. III – Mesmo com as vantagens de uma aplicação com múltiplas rotinas em threads, poucas linguagens oferecem suporte para sua implementação. IV – A grande vantagem da utilização de classes threads em uma função da aplicação é a performance e a otimização de recursos, devido à facilidade de compartilhamento de recursos e comunicação entre threads. Assinale a alternativa correta. C V, V, F, V. Questão 9/10 Um sistema com gerência de memória virtual por paginação possui tamanho de página com 512 posições, espaço de endereçamento virtual com 512 páginas endereçadas de 0 a 511 e memória real com 10 páginas numeradas de 0 a 9. O conteúdo atual da memória real contém apenas informações de um único processo e é descrito resumidamente na tabela a seguir. Assinale a alternativa que apresenta qual endereço físico está associado ao endereço virtual 4613. Endereço Físico Conteúdo 1536 Página Virtual 34 2048 Página Virtual 9 3072 Tabela de páginas 3584 Página Virtual 65 4608 Página Virtual 10 A 2053 Questão 10/10 Assinale a alternativa que apresenta os principais critérios de escalonamento que devem ser considerados em uma política de escalonamento. A Utilização do processador, throughput, tempo de processador, tempo de espera, tempo de turnaround e tempo de resposta. B Utilização do processador, CPUbound, I/Obound, tempo de espera, tempo de turnaround e tempo de resposta. C Utilização do processador, fireground, background, tempo de espera, tempo de turnaround e tempo de resposta. D CPUbound, I/Obound, fireground, background, tempo de espera, tempo de turnaround e tempo de resposta A Prova Discursiva 1 Questão 1/5 Os sistemas monoprogramáveis foram concebidos para executar uma única tarefa de cada vez. Essa lógica não aproveitava toda capacidade do hardware deixando a CPU ociosa por muito tempo. Para resolver este problema foi desenvolvido o conceito de multiprogramação e varias técnicas para implementar este conceito, entre elas a concorrência. Explique a ideia da concorrência. Reposta: Concorrência é o princípio básico para projeto e implementação dos sistemas operacionais multiprogramáveis onde é possível o processador executar instruções em paralelo com operações de E/S. Isso possibilita a utilização concorrente da UCP por diversos programas sendo implementada de maneira que, quando um programa perde o uso do processador e depois retorna para continuar o processamento, seu estado deve ser idêntico ao do momento em que foi interrompido. O programa deverá continuar sua execução exatamente na instrução seguinte àquela em que havia parado, aparentando ao usuário que nada aconteceu Questão 2/5 A memória sempre foi vista como um recurso escasso e caro, mesmo atualmente, com a redução de custo e consequentemente aumento da capacidade da memória principal, seu gerenciamento é um dos fatores mais importantes no projeto de sistemas operacionais. Quais as funções básicas da gerencia de memória? Reposta: Maximizar o número de processos na memória, permitir a execução de programas maiores que a memória física, compartilhamento de dados na memória e proteção da memória utilizada por cada processo e pelo sistema operacional. Questão 3/5 Sistema operacional é um software que habilita as aplicações a interagir com o hardware de um computador. O software que contém os componentes centrais do sistema operacional é denominado núcleo. Sistemas operacionais podem ser encontrados em dispositivos que vão de telefones celulares e automóveis a computadores pessoais e computadores de grande porte (mainframe) (DEITEL, 2005). Descreva as principais funções de um sistema operacional. Reposta: Servir de interface entre o hardware e o usuário, realizar o escalonamento de processos, gerenciar dispositivos de hardware. Questão 4/5 Descreva o funcionamento dos escalonamentos FIFO e SJF. Reposta: FIFO: O primeiro processo que foi carregado em memória é executado primeiro. SJF: O processo com o menor tempo de execução é executado primeiro. Questão 5/5 O termo processo no contexto de sistemas operacionais foi usado pela primeira vez pelos projetistas do sistema Multics na década de 60. Um processo pode ser entendido inicialmente como um programa em execução. Explique a diferença entre processos e Threads. Reposta: Um processo pode ser definido como o ambiente onde um programa é executado. Este ambiente, além das informações sobre a execução, possui também o quanto de recursos do sistema cada programa pode utilizar, como o espaço de endereçamento, tempo de processador e área em disco. Uma Thread é semelhante ao conceito de processo (processo leve), a diferença básica está no compartilhamento de recursos, enquanto cada processo precisa ter seu contexto de hardware, contexto de software e endereço de memória, as threads utilizam o mesmo contexto de software e endereçamento. Prova discursiva 2 Questão 1/5 Qual a diferença entre memória virtual por paginação e por segmentação? Em qual dos modelos ocorre fragmentação interna e externa e como isso ocorre? Reposta: A principal diferença entre os dois sistemas está relacionada a forma como o espaço de endereçamento virtual está dividido logicamente. Na paginação, o espaço de endereçamento está dividido em blocos com o mesmo número de endereços virtuais (páginas), enquanto que na segmentação o tamanho dos blocos pode variar (segmentos). Na paginação ocorre a fragmentação interna que são os espaços livres nas páginas e na segmentação ocorre a fragmentação externa que são os espaços livres que sobram após a divisão dos frames. Questão 2/5 A política de busca de páginas determina quando uma página deve ser carregada para a memória. Basicamente existem duas estratégias para este propósito. Paginação por demanda e paginação antecipada. Explique como as duas políticas de busca de páginas funciona. Reposta: Na paginação por demanda, as páginas dos processos são transferidas da memória secundária para principal apenas quando são referenciadas. Na paginação antecipada, o sistema carrega para a memória principal, além da página referenciada, outras páginas que podem ser ou não ser necessárias ao processo ao longo do seu processamento. Questão 3/5 Os anos 80 representaram a década do computador pessoal e da estação de trabalho. A tecnologia do microcomputador evoluiu até o ponto em que era possível construir computadores de mesa avançados, tão poderosos quanto os de grande porte de uma década atrás. (DEITEL, 2005). Quais os fatores que contribuíram para popularização dos computadores a partir da década de 80? Reposta: A popularização dos computadores pessoais está associada ao avanço tecnológico que permitiu melhorar a capacidade de processamento e reduzir o custo desses equipamentos e a facilidade de uso em parte por causa das interfaces gráficas com o usuário. Questão 4/5 O termo processo no contexto de sistemas operacionais foi usado pela primeira vez pelos projetistas do sistema Multics na década de 60. Um processo pode ser entendido inicialmente como um programa em execução. Explique a diferença entre processos e Threads. Reposta: Em SO tradicionais, cada processo tem um único fluxo de execução (o que define uma thread), a unidade de processamento concorrente destinada para ser executada sob as condições de desempenho de um processador da época. Com o surgimento de processadores de mais alto desempenho uma unidade de processamento concorrente pode ser definida dentro do próprio processo, materializando novas unidades de fluxo de execução e assim pode-se ter múltiplos fluxos de execução (múltiplas threads) num mesmo processo. Questão 5/5 Qual a diferença entre fragmentação interna e externa da memória principal? Reposta: Fragmentação interna ocorre em espaços livres e contíguos na memória principal que são pré alocados por processos, não possibilitando, portanto, o uso por outros processos. Fragmentação externa ocorre em espaços livres e contínuos, porém tão pequenos que não possibilitam a alocação de programas por processos.