Lista de Exercícios de INF1019

Documentos relacionados
ENADE 2011 SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Capítulo 6 Nível do Sistema Operacional

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais Aula 7

Exercícios de revisão V2

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

6. Mostre os principais modelos de organização interna de um sistema operacional.

Questões de Múltipla escolha

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

Questões de Provas de Períodos Anteriores

Processos. Escalonamento de Processos

Memória virtual. Sistemas de Computação

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

Sistemas Operacionais

Memória Virtual. Adriano J. Holanda 1/3/2016

LEIC/LERC 2010/11 1º Teste de Sistemas Operativos

Sistemas Operacionais. Escalonamento de processos

Sistemas Operacionais. Sistema de entrada e Saída

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

Sistemas Operacionais

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Algoritmos de escalonamento

Infra-Estrutura de Software IF677

Sistemas Operacionais. Escalonamento de Processos

Técnicas Avançadas de Programação

ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade

Gerência de Memória. Gerência de Memória Virtual. Gerência de Memória. Gerência de Memória. Gerência de Memória. Gerência de Memória 17/04/2017

GERENCIAMENTO DE MEMÓRIA

SSC0640 Sistemas Operacionais I

Programação Concorrente. Prof. Hugo Vieira Neto

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA

Organização e Arquitetura de Computadores I

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Sistemas de Computação. Processos e escalonamento

Gerência de Memória. Paginação

LISTA DE EXERCÍCIOS 02

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

AULA 14 - Memória Virtual

Organização de um Sistema Operativo

Organização e Arquitetura de Computadores I

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

Sistemas Operacionais

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais

Infra-Estrutura de Software. Sistemas Operacionais Revisão

Sistemas Operacionais. Comunicação entre processos

Temporização (Scheduling) de Processos

Gerenciamento de Memória

Sistemas Operacionais. Condição de corrida e Região crítica

Prof. Kleber R. Rovai

Unidade III Gerência de Processos

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:

Administração de Memória

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Conceitos básicos e serviços dos Sistemas Operacionais

Sistemas de Computação. Gerenciamento de memória

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

Davidson Rodrigo Boccardo

( ) ( ) Auto Avaliação F ( ) M ( ) D ( ) Seqüência: Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Exercícios - Dia 20/04/2011

Sistemas Operacionais Aula 16 Memória Virtual

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Gestão de memória - Memory Management Unit (MMU)

Agendador. Agendador de Processos (Escalonador de Processos) Critérios de Agendamento. Agendador

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

UNIX Gerência de Memória

Sistemas de Arquivos. (Aula 23)

Estruturas de Sistemas Operacionais

SSC0640 Sistemas Operacionais I

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

Grupo I [7 Val] 1. Considere os seguintes 3 algoritmos de escalonamento num sistema operativo de tempo virtual:

Sistema Operacional Para Avaliação Gerência de Memória

Gerenciamento de memória

SISTEMA DE ARQUIVOS DO SISTEMA OPERACIONAL

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Memória virtual. Sistemas Segmentados

Capítulo 4 Gerenciamento de Memória

Arquitetura de Sistemas Operacionais

LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos

Sistemas Operacionais

Transcrição:

Lista de Exercícios de INF1019 Versão 2018 Obs: estas questões servem apenas para seu aquecimento na matéria, e para revisão dos conceitos vistos na disciplina. A chance de cairem na prova é de apenas 0.01% Introdução 1. Quem foi o inventor e primeiro desenvolvedor do sistema Unix? Em que situação isso aconteceu? 2. Que papel a linguagem C teve na popularização do sistema opeacional Unix, e por que? 3. Quais são as principais abstrações de processamento, de persistência de dados e de grupos de dados que o Unix apresenta ao usuário (e que foram posteriormente aditados por todos os sietmas operacionais modernos)? 4. O que é um sistema multiprocessamento (ou multi-tarefa)? Como se previne a interferência de um processo na execução de um outro processo? 5. O que é um sistema multi-usuário? Quais cuidados precisa-se tomar para que os usuários usem a mesma máquina harmonicamente? 6. Como saber se um processo pode ter acesso a um arquivo, por exemplo, para escrita no arquivo? Como isso é verificado pelo sistema operacional? 7. Qual é diferença entre o modo núcleo e o modo usuário de processamento? Processos 8. Defina o que é um processo? 9. Quais são os possíveis estados de um processo? Quais são os eventos que ocasionam a mudança de um estado para outro,? Para cada um dos estados acima. 10. Dê três exemplos de processos que oferecem serviços do sistema operacional. Por que voce acha que esses serviços não são realizados diretamente pelo núcleo? 11. Perante o núcleo, há diferença entre um processo se sistema e um processo de um aplicativo (p.ex. um editor de texto)? 12. O que acontece (no núcleo) quando o seu programa executa a chamada fork(), sem um posterior exec(); 13. Porque o projetista do Unix optou por criar duas chamadas fork & exec em vez de uma só, por exemplo: run-executable() 14. Quais são as seções de memoria RAM que estão disponíveis para cada processo? 15. Um processo pode não ter um processo pai? Pode ter mais de um processo pai? Explique. 16. Diga quais tipos gerais de interrupção existem. Interrupções podem se interromper? Dê exemplos concretos de interrpções. 17. O que faz o tratamento de interrupção de primeiro nível? E o dispatching?

18. Como o núcleo lida com interrupções simultâneas, ou muito próximas uma da outra. 19. O significa troca de contexto? E o que exatamente compreende o contexto de um processo? Que componente do sistema operacional realiza a troca de contexto? 20. O que é o vetor de interrpções? O que contém cada entrada do vetor? E como é obtido o indice para o vetor de interrupção? 21. Por que o núcleo também precisa manipular uma pilha local (kernel stack)? Comunicação e Sincronização de Processos 22. Explique o que é uma condição de corrida, e dê um exemplo do dia-a-dia (que não seja o exemplo da conta banária compartilhada). 23. Explique qual é a diferença entre a espera ocupada e a alternative de bloqueio na implementação de sessão critica. 24. Para um semáforo, o que garante a atomicidade da consulta e atualização ao contador do semáforo. 25. Assuma que seu sistema só implementa semáforos binários. Como voce implementaria semáforos contadores usando esses semáforos binaries? Mostre os pseudo-códigos para as operações SC_Init(int x), SC_Down() e SC_Up(). 26. Expique o que é uma variável de condição, e em qual situação ela encontra uso. 27. Quais são as vantagens e desvantagens do uso de Monitores para a sincronizacão no acesso concorrente de estruturas de dados compartildas, quando comparada ao uso de semáforos? 28. Como voce implementaria a exclusão mutual da execução dos procedimentos de um monitor usando semáforos. 29. O Test-and-Set-Lock (TSL) é uma instrução de máquina que é usada para espera ocupada, e que funciona bem para arquiteturas multi-core. Discuta os problemas de uma sincronizacão por bloqueio em um sistema multi-core, onde theads rodando em diferentes cores precisam se sincronizar (p.ex. controlar a entrada emu ma região crítica). Escalonamento 30. Considere os seguintes 5 processos que são iniciados nessa ordem no instante t=0. Process Temp Process Priority P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2

a. Desenhe o Diagrama de Grant 1 ilustrando a execução esses processos usando politicas de escalonamento: FIFO, SJF, Prioridade-não preemptiva, e RoundRobin (quantum = 1). b. Qual é o turnaround (tempo de giro) de cada processo para cada uma das politicas. c. Qual é o tempo de espera de cada processo para cada uma das politicas. d. Qual das políticas de escalonamento gera o menor tempo médio de espera (para todos os 5 processos) 31. Por que o atraso médio do escalonamento de N jobs usando Round Robin é sempre maior do que usando escalonamento ShortesJobFirst. Justifique. Gerenciamento de Memória 32. Qual é principal tarefa da Memory Management Unit (MMU)? 33. Qual é a vantagem em se distinguir endereços virtuais de endereços lógicos? Com resposta. 34. Explique as etapas que compõem um page fault. 35. Qual é o principal benefício de usar um TLB, e a influência de seu tamanho. 36. É possível que ocorra um page-fault para um endereço de um processo P1, mesmo que na conversão do endereço lógico para o físico tenha havido um TLB-hit? Justifique. Com resposta. 37. Seja uma arquitetura de 32 bits. Sabendo-se que os 15 bits mais significativos são usados como índice para a entrada na tabela de páginas, e que a memoria do seu computador possui 10 MBs livres para os processos. Quantos quadros de página ela comporta para os processos? Com resposta. 38. Dada uma memória física com 4 quadros de página (frames) e a seguinte sequência de acessos a indices de páginas. Então simule os algoritmos LRU, FIFO,e Otimo e conte o número total de Page-faults (PF) que cada algoritmo ocasiona: Com resposta. 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 39. Indique pelo menos 3 dados/informações que estão invariavelmente estão presentes em todas as entradas da tabela de páginas. 40. que é gerenciamento de memória através de overlay? Dê um exemplo de um programa que poderia ter overlays. 1 O Diagrama de Grant mostra os períodos de tempo em que um processo detêm o controle da CPU e os períodos em que está no estado pronto (ou bloqueado).

Sistema de Arquivos 39. Quais partes do Sistema de Arquivos executam no núcleo? Com resposta. 40. Como sistema de arquivos consegue diminuir o tempo médio geral de acesso ao disco, para todos os processos? Pense no acesso a blocos consecutivos. 41. O que é um i-node, e para que serve? 42. Uma partição pode conter mais i-nodes em uso do que blocos? 43. Dentre os atributos (meta-dados) de um arquivo existe um contador de links. Para que serve? 44. Seja um disco em que o bloco de disco tem 1K bytes e o endereço de cada bloco ocupa 64 bits, quantos blocos um arquivo de tamanho 513 K ocupa no disco? Com resposta. 45. Para o arquivo da questão anterior, quantos blocos do disco são lidos do disco quando se acessa o endereço a) 4097; b) 12K; c) 13K, d) 512K. Com resposta. 46. O que significa montar um sistema de arquivos SA no diretório /A/B/C de um sistema de arquivos SB? 47. Digamos que exista um aqruivo com o path /A/B/C/x no SB, um arquivo também chamado x em /x do SA. O que acontece após o mount de SA em SB? 48. A partição de swap também possui i-nodes e blocos? Justifique.

Respostas de algumas questões Lista de Exercícios de INF1019 Versão 2018 Gerenciamento de Memória 33: Resposta: processos podem ser realocados em diferentes partes da memoria, já que a tradução é feita a cada vez que a CPU expele um endereço loógico. 36: Resposta: Sim. Basta que a página correspondente tenha sido removida pelo núcleo a pedido de outro processo, P2. Apesar da tabela de páginas de P1 ter sido atualizada para bit R=0, isso não necessariamente ocorre com o conteúdo do TLB, sobretudo se é usado o algoritmo WorkingSet, onde o conteúdo do TLB faz parte do contexto de P1 e é carregado na MMU quando o processo (P1) é escalonado. 37: Resposta: 80 quadros 38: Resposta: LRU: 10 PFs; Otimo: 8 PFs; FIFO: 14 PFs Sistema de arquivos 39: Resposta: Apenas o caches de i-nodes, o cache de blocos, a mount table, e a file table (onde estão relacionados todos os arquivos por qq processo). 44: Resposta: Note que em 1K de bloco de índice cabem 128 endereços de blocos. Logo o arquivo de 513 K tem 12+ 128+ 373 blocos de dados de 1K + 5 blocos de índice (1x indireto simples, 1x indireto duplo e seus 3 blocos). Ou seja, no total o arquivo ocupa 518 blocos no disco. 45: Resposta: a) ponteiro direto => 1 bloco,; b) ponteiro direto => 1 bloco; c) ponteiro indireto simples: 1 bloco de indice + 1 bloco; d) ponteiro indireto duplo: 2 blocos de indice + 1 bloco.