Buscar

LISTA 1,2 e 3 TP INFORMATICA INDUSTRIAL 2

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.

Continue navegando