Baixe o app para aproveitar ainda mais
Prévia do material em texto
Nome: Davidson Humberto Renê Silva 583099 LISTA 1 Ex 1 letra a) Quando o processo está em ativo, ele tem um quantum (tempo de atividade), passados este tempo (timeout) se não for solicitado nenhuma I/O, ele volta para pronto. letra b) Quando o processo está em ativo, e solicita uma tarefa de I/O e não é atendido naquele momento por já haver outro processo utilizando, ele vai para espera e fica aguardando ser chamado. letra c) Pode ir de ativo para suspenso por excesso de carga ou por execução de operação ilegal. letra d) O processo pode ir de suspenso para em espera ao acordar, depende dos eventos, e aguarda ocorrer os eventos por eles solicitados. letra e) Para passar de suspenso em espera para suspenso pronto depende de eventos de I/O. EX 2 No sistema preemptivo o escalonador permite que cada tarefa seja executada por um determinado tempo, se um processo não indicar explicitamente a troca de contexto, uma interrupção de tempo é disparada e o sistema operacional troca o contexto para outro processo. Qualquer tipo de interrupção, entrada de processo mais prioritário, ou o processo terminar, ou o processo gerar um erro. EX 3 Considerando o escalonador de 2 níveis o processo de menor tempo de uso da cpu (processos com muito acesso a I/O e pouca utilização de CPU) será de maior prioridade para compensar o uso da cpu, em sequência vem os processos pequenos também de maior prioridade para também compensar o tempo de processamento (quantum), pois irão usar poucos quantums, por último processos com muita utilização de CPU ficarão com prioridade menor, pois já utilizam muito bem seu quantum. EX 5 letra a) Se o software de escalonamento é preemptivo significa que ele tem controle o tempo todo sobre o processador, pode tirar um processo de ativo e passar para pronto independente do quantum deste processo. letra b) O escalonamento não preemptivo já é diferente do escalonamento preemptivo, o processo nunca é interrompido, execução só para quando o processo termina ou é bloqueado. EX 6 letra a) Round-Robin -> quantum=100 ms; troca de contexto= 5ms; Processo Tamanho (ms) P1 250 P2 300 P3 50 P4 100 P1 P2 P3 P4 P1 P2 P1 P2 Tempo de espera processo 1: T1= 0 + 320 + 110 = 430 ms Tempo de espera processo 2: T2= 105 + 420 + 80 = 605 ms Tempo de espera processo 3: T3= 210 ms Tempo de espera processo 4: T4= 315 ms TEMPO ESPERA MÉDIO = [ ( T1+T2+T3+T4)/4] TEMPO ESPERA MÉDIO = (430+605+210+315)/4 TEMPO ESPERA MÉDIO = 390 ms OVERHEAD = (∑TEMPO_TROCA/TEMPO_TOTAL)*100% OVERHEAD = [(7*5)/785] * 100 OVERHEAD = 4,458% letra b) FCFS-> troca de contexto= 5ms; não possui quantum Processo Tamanho (ms) P1 250 P2 300 P3 50 P4 100 P1 P2 P3 P4 250 300 50 100 Tempo de espera processo 1: T1= 0 ms Tempo de espera processo 2: T2= 255 ms Tempo de espera processo 3: T3= 560 ms Tempo de espera processo 4: T4= 615 ms TEMPO ESPERA MÉDIO = [ ( T1+T2+T3+T4)/4] TEMPO ESPERA MÉDIO = ( 0+255+560+615)/4 TEMPO ESPERA MÉDIO = 357,5 ms OVERHEAD = (∑TEMPO_TROCA/TEMPO_TOTAL)*100% OVERHEAD = [(3*5)/715] * 100 OVERHEAD = 2,097% EX 7 Letra a) FCFS -> troca de contexto= 0ms; não possui quantum Processo Tamanho (ms) P1 250 P2 300 P3 50 P4 100 P1 P2 P3 P4 250 300 50 100 Tempo de espera processo 1: T1= 0 ms Tempo de espera processo 2: T2= 250 ms Tempo de espera processo 3: T3= 550 ms Tempo de espera processo 4: T4= 600 ms TEMPO ESPERA MÉDIO = [ ( T1+T2+T3+T4)/4] TEMPO ESPERA MÉDIO = ( 0+250+550+600)/4 TEMPO ESPERA MÉDIO = 350 ms Letra b) SJF -> troca de contexto = 0ms; não possui quantum Processo Tamanho (ms) P1 250 P2 300 P3 50 P4 100 P3 P4 P1 P2 50 100 250 300 Tempo de espera processo 1: T1= 150 ms Tempo de espera processo 2: T2= 400 ms Tempo de espera processo 3: T3= 0 ms Tempo de espera processo 4: T4= 50 ms TEMPO ESPERA MÉDIO = [ ( T1+T2+T3+T4)/4] TEMPO ESPERA MÉDIO = ( 150+400+0+50)/4 TEMPO ESPERA MÉDIO = 150 ms Letra c) Round-Robin -> quantum=100 ms; troca de contexto= 0ms; Processo Tamanho (ms) P1 250 P2 300 P3 50 P4 100 P1 P2 P3 P4 P1 P2 P1 P2 Tempo de espera processo 1: T1= 0 + 250 + 100 = 350 ms Tempo de espera processo 2: T2= 100+ 250 + 50 = 400 ms Tempo de espera processo 3: T3= 200 ms Tempo de espera processo 4: T4= 250 ms TEMPO ESPERA MÉDIO = [ ( T1+T2+T3+T4)/4] TEMPO ESPERA MÉDIO = (350+400+200+250)/4 TEMPO ESPERA MÉDIO = 300 ms LISTA 2 Ex 1 letra a) Se o STR for operacional em caso de falha ele não será um STR brando e sim STR critico, onde o sistema computacional deve fornecer um serviço mínimo em caso de falhas para evitar uma catástrofe. letra b) STR’s operacionais não são brandos, são críticos e devem ser programados para continuarem funcionando em presença de falhas, para evitar catástrofes. EX 2 letra a) sistema tempo real critico seguro, pode gerar catástrofe letra b) sistema tempo real critico seguro, pode gerar catástrofe letra c) sistema tempo real critico seguro, pode gerar catástrofe letra d) sistema tempo real brando, não gera catástrofe letra e) sistema tempo real critico seguro, pode gerar catástrofe EX 3 Acorde (ocorre evento I/O) letra a) Suspenso espera Suspenso pronto suspende ro suspenso Em cursoreassume ro Ativo (rodando) ro bloqueia ro suspende ro reassume ro suspende ro despacha ro (Espera evento) ro Timeout ou maior prioridade ro Em espera pronto Acorde (ocorre evento I/O) letra b) Ocorre quando o processo está ativo, e executou uma operação ilegal, ele ainda não fez nenhuma solicitação de I/O então não pode ser colocado em espera, mesmo estando pronto, vai ser direcionado para o estado suspenso-pronto. Pode ocorrer também se a carga do sistema passar de um valor estabelecido, então o S.O opta por suspender processos menos prioritários. EX 4 letra a) Se o software de escalonamento é preemptivo significa que ele tem controle o tempo todo sobre o processador, o S.O quando quiser pode tirar um processo de ativo e passar para pronto independente do quantum deste processo ou de qualquer outro estado. O escalonamento não preemptivo já é diferente, o processo nunca é interrompido, execução só para quando o processo termina ou é bloqueado. letra b) Não-preemptivos: FCFS -> First-Come, First-Served ( ou FIFO, First-in First-out) SJF -> Shortest Job First Preemptivos: Escalonamento preemptivo por eventos, exemplo escalonamento Event Trigger. Escalonamento preemptivo por tempo, exemplo escalonamento Circular ou Round-Robin EX 5 Programa-> Fica armazenado no HD é uma sequencia de binários contendo as instruções do programa. Processo-> É criado na memória RAM, contém as instruções do programa que iram ser executadas pelo processador. Threads-> São unidades básicas de utilização de CPU e consistem de program counter, register set e pilha, é a sequência de instruções do código que foi executada, exemplo de thread a nível de usuário seria imprimir e avaliar ortografia no word. A nível de sistema se o kernel for multi-thread ele pode atender varias chamadas do sistema ao mesmo tempo. EX 6 letra a) BEGIN A; B; FORK(D); C; E; JOIN(D); F; END. letra b) BEGIN A; B; COBEGIN D; BEGIN C; E; END; COEND; F; END. LISTA 3 EX 2 Letra a) É a proibição da utilização de um recurso compartilhado por mais de um processo ao mesmo tempo, um exemplo é o processo de impressão, onde os processos podem se sobrepor na fila spool por causa do timeout. Resumindo, é um mecanismo que restringe condições de corrida em regiões críticas. Letra b) O semáforo controla uma fila de processos que tenham interesse de entrar em uma região critica, utiliza as funções DOWN e UP, quando o processo deseja acessar a área critica ele verifica se o DOWN está em “1”, se sim ele entra na área criticae o DOWN se decrementa e vai para “0”, caso outro processo queira entrar na área critica no mesmo tempo, será colocado para dormir, pois DOWN está em “0”, a função UP verifica se há processos na fila de espera dormindo, se houver o acorda para usar a área crítica e o DOWN permanece em “0”, se não houver mais nenhum processo dormindo aguardando a área crítica, o UP incrementa o valor de DOWN e o coloca em “1” novamente, evitando assim condições de corrida. EX 3 Existem 2 tipos, BINÁRIO E DE USO GERAL EX 4 Pode ocorrer quando dois (ou mais) processos tem acesso compartilhado a dados e um processo consegue alterar o conteúdo dos dados sem que o outro processo o possa perceber. Exemplo disso é o Spool de impressão onde pode ocorrer raramente de um pedido de impressão sobrepor o outro na fila spool, onde um deles jamais será impresso. EX 5 Parte do código de um processo em que este acessa variáveis compartilhadas. Exemplo disso é o Spool de impressão onde pode ocorrer raramente de um pedido de impressão sobrepor o outro na fila spool, onde um deles jamais será impresso. EX 8 Seria o MISD ( multiple instruction stream, single data stream), considerada categoria vazia pois não há maneiras de múltiplos processadores de instruções atuarem juntos ao mesmo tempo sobre o mesmo conjunto de dados. EX 9 Letra a) Multiprocessamento é o uso de duas ou mais unidades centrais de processamento (CPUs) dentro de um único sistema de computador, vários processadores podem executar tarefas ao mesmo tempo. A falha em um processador não afetará as tarefas dos outros processadores. Existem dois tipos de multiprocessadores chamados multiprocessador de memória compartilhada e multiprocessador de memória distribuída. Em multiprocessadores de memória compartilhada, todas as CPUs compartilham a memória comum. Os processadores se comunicam entre si lendo e gravando na memória. É também chamado de multiprocessador simétrico sistema. Em um multiprocessador de memória distribuída, cada CPU tem sua própria memória particular. Se os dados necessários não estiverem disponíveis na memória privada, o processador se comunica com a memória principal ou com os outros processadores através do barramento. No geral, um multiprocessador fornece uma alta velocidade de computação, alto desempenho e mais tolerância a falhas. Letra b) Computadores paralelos nos quais cada CPU tem sua própria memória privada, que não pode ser acessada diretamente por qualquer outra CPU. Os programas em CPUs de multicomputadores interagem usando primitivas como SEND e RECEIVE para trocar mensagens, como o multicomputador é capaz de passar mensagens entre os processadores, é possível dividir a tarefa entre os processadores para completar a tarefa, portanto, um multicomputador pode ser usado para computação distribuída. Letra c) Rede de computadores é uma malha que interliga milhares de sistemas computacionais para a transmissão de dados, também conhecidos como nós, esses dispositivos interconectados enviam, recebem e trocam tráfego de dados, voz e vídeo, graças ao hardware e software que compõe o ambiente.
Compartilhar