Infra-estrutura de Software - Aula de Revisão Hugo Calazans Luiz Carlos D’Oleron (Intro-Q4) Tabela de processo • • • • • • • Identificador Valores dos registradores Espaço de endereçamento Prioridade Quando foi a última executação Tempo acumulado de processamento Ponteiro para o bloco do próximo processo (Intro-Q5) Threads e Processos • Idéia Chave: – A mudança de contexto entre as threads de um mesmo processo ocorre de maneira muito mais rápida do que a mudança de contexto entre processos (Escal-Q2) I/O e CPU bound • I/O-bound – Requisitam muitos serviços de entra e saída • Exemplo: Processos extremamente interativos tais como os processadores de texto • CPU-bound – Requisitam muitos serviços da CPU • Exemplo: Softwares renderizadores de imagens (Escal-Q3) Batch X Interativos • Processos Batch – Execução de uma série de programas (jobs) sem a interação humana – Exemplo: Mainframes e Impressão de documentos • Processos Interativos – Processos que passam boa parte do tempo no estado bloqueado (aguardando inputs dos usuários) – Inerentemente I/O bounded (Escal-Q6) Quantum • Período de tempo no qual um dado processo pode ser executado em um sistema preemptivo multitarefa • Quantum pequeno: – Maior sensação de paralelismo – Perda de tempo em mudanças de contexto • Quantum grande: – Menor overhead – Ruim para os processo interativos (Escal-Q8) MFQ • Multilevel Feedback Queue • Idéia central: maior prioridade a processos curtos e I/O bound • Funcionamento: – Híbrido entre FIFO e round-robin • Round-robin na fila de level mais baixo • Observação importante: – O que acontece se um processo entrar em estado bloqueado? (Memória-Q1) Memória virtual • Quais as vantagens de se ter memória virtual? (Memória-Q2) Localidade • O que o princípio da localidade tem a ver com a hierarquia de memória? (Memória-Q3-Q4) Relocação • Para que a relocação de código em memória é usada? • Quais as técnicas que você conhece para fazer relocação de código em memória? Explique cada uma delas. (Memória-Q7) Paginação • Para que serve a paginação? Como funciona? Como ocorre a fragmentação neste sistema? (Memória-Q8) Segmentação • Para que serve a segmentação? Como funciona? (I/O-Q1) Definições gerais • Defina porta, barramento, controlador e device driver. (I/O-Q2) Interrupt handler • O que é um interrupt handler? (I/O-Q3-Q4) I/O e Round-robin • O que ocorre quando um processo requisita I/O num escalonamento round-robin? • No caso de um processo requisitar I/O num escalonamento round-robin, existe alguma possibilidade dele não ser colocado no estado “esperando”? Justifique sua resposta. (I/O-Q5-Q6) Tipos de I/O • O que é I/O isolado? E I/O mapeado em memória? • O que é I/O programado, I/O por interrupção e I/O por DMA? Dúvidas? • Email da monitoria: – [email protected]