Prévia do material em texto
Sistemas Operacionais Lista de Exercícios – Aula 02 Por dentro do Linux – Parte I RESPOSTAS Exercício 1 O que é um programa de computador? Resposta: Um programa de computador é a organização de uma determinada tarefa a ser realizada pelo computador. Exercício 2 O que é uma instrução de programa? Resposta: É uma espécie de comando para o processador realizar alguma tarefa, como por exemplo, ler dados que digitamos no teclado. Exercício 3 Comente resumidamente sobre cada uma das 4 funções básicas do SO como Gerente. - Gerenciamento de Processos: Controla a execução simultânea de vários programas que concorrem pelos principais recursos do computador - Gerenciamento da Memória: Controla a alocação da memória do computador pelos vários programas que estão em execução. - Gerenciamento dos Arquivos: A organização dos milhares de arquivos nossos e do próprio SO em uma estrutura de diretórios - Gerenciamento dos Dispositivos E/S: Gerencia a entrada e a saída de dados por diversos dispositivos como: teclado, mouse, impressora, pendrive, webcam, caixas de som, scanner. Exercício 4 Existem processadores (CPU’s) que podem executar instruções em paralelo (simultaneamente)? Por que? Resposta: Sim, processadores com múltiplos cores (núcleos) têm a capacidade de executar mais de uma instrução simultaneamente, pois cada núcleo executa uma instrução independente dos outros núcleos. Arquitetura de Computadores Lista de Exercícios – Aula 04 Periféricos RESPOSTAS Exercício 1 Qual a diferença entre driver e drive? Drive são hardwares em si, o dispositivo. Driver são softwares que permitem a comunicação entre o periférico e o computador. Exercício 2 Cite uma vantagem e uma desvantagem, pelo menos, de cada um dos três tipos de comunicação entre os periféricos com o processador/memória. Pooling: Vantagem: É garantido que todos os periféricos terão comunicação com o processador. Desvantagem: O processador perdeu tempo ao verificar aqueles periféricos que não necessitavam de comunicação. Interrupções: Vantagem: prioridade na solicitação, uma vez que o processador para o que está executando para atender a interrupção Desvantagem: quando um sistema computacional possui muitos periféricos ativos, o processador pode ser interrompido constantemente e o tempo gasto com processamento de software não seja suficiente DMA: Vantagem: O processador fica livre para realizar outras atividades enquanto há transferência de dados entre a memória e o periférico. Desvantagem: O hardware adicional (controlador DMA) encarece o preço. Exercício 3 Imagine que no IMD, além dos sprinklers, existem sensores eletrônicos de fogo. Estes sensores enviam uma pequeníssima quantidade de dados ao computador central do IMD quando ocorrer um princípio de incêndio. Você como projetista do sistema de comunicação, adotaria pooling, interrupções ou DMA? Justique sua resposta. Interrupção é a melhor alternativa porque permite que o dispositivo (no caso, o sensor) tome a iniciativa em comunicar com o computador central. Com a interrupção, a prioridade do alarme seria máxima dada a natureza da situação. Além disso, a pouca quantidade de dados favorece o rápido processamento da informação pelo computador central e a sua publicação (alarmes, mensagens, etc.). O Pooling não é interessante porque não há garantias que o computador central verifique o sensor no momento do princípio de incêndio. Já o DMA não é interessante porque a quantidade de informação é muito pequena e a inclusão de um hardware adicional só encareceria o projeto. Lógica de Programação Lista de Exercícios – Aulas 03 e 04 Tipos de dados e Expressões Exercício 1 Considere o código VisuAlg abaixo. a) Construa o fluxograma para o referido algoritmo. R: b) Qual é o valor impresso se as notas fornecidas são 6.0, 5.3 e 9.1? R: 7,00 Exercício 2 Considere algoritmo abaixo: Altere-o para que seja possível obter o mesmo resultado para o cálculo da média, mas sem realizar a operação de divisão. Lógica de Programação Lista de Exercícios – Aulas 03 e 04 Tipos de dados e Expressões R: Altera-se somente a linha 9 para “media <- nota1*0.4 + nota2*0.6” Exercício 3 Escreva um código no VisuAlg que faça o descrito no fluxograma. Utilize a função “raizq” para calcular a raiz quadrada de um número. Teste o código com a=1, b=2, c=0 e veja se o resultado é x1=0 e x2=-2. R: Lógica de Programação Lista de Exercícios – Aulas 03 e 04 Tipos de dados e Expressões Exercício 4 Construa um programa que recebe 3 valores (a, b e c) e que realiza o seguinte cálculo, apresentado o resultado da expressão ao final. −𝑎𝑎 − 𝑏𝑏 + 𝑐𝑐 ∗ 𝑎𝑎 ∗ 𝑏𝑏 𝑐𝑐 ∗ 𝑎𝑎 R: a expressão é r <- -a-((b+c*a*b))/c*a) Exercício 5 Construa um programa que recebe 4 valores (x, y, z e w) e que realiza o seguinte cálculo, apresentado o valor de c ao final. 𝑐𝑐 = 𝑥𝑥+𝑦𝑦𝑧𝑧 +𝑤𝑤𝑧𝑧 + 𝑤𝑤 𝑥𝑥 + 𝑦𝑦 ∗ 𝑦𝑦 − 𝑤𝑤 R: a expressão é c <- c <- ((((((x+y)/z)+w)/z)+w))/(x+y*y-w)