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

Documentos relacionados
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C SISTEMAS OPERATIVOS

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

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução

ENADE 2011 SISTEMAS OPERACIONAIS

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

Sistemas Operativos I/O. Rui Maranhão

Gestor de Processos. Gestor de Processos

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

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

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

7 Mecanismos de gestão de memória. Prof. Ricardo Silva

Sistemas Operacionais: Memória Virtual

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

Gerenciamento de memória

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

Sistemas Operacionais

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos

Arquitetura de Sistemas Operativos

Lista de Exercícios de INF1019

LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos

Questões de Múltipla escolha

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

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:

Sistemas Operacionais

LISTA DE EXERCÍCIOS PARA P1 INCLUI PROVAS ATÉ 2007/2

Gestão de Memória. Espaço de Endereçamento

Sistemas Operacionais. Escalonamento de processos

SSC0640 Sistemas Operacionais I

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

Sistemas Operacionais

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Fundamentos de Sistemas Operacionais

SOP - TADS Escalonamento de Processos

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

Cadeira de Sistemas Operativos. Frequência 1º Semestre. 8 de Fevereiro de 2006

Sistemas Operacionais. Processos IC - UFF

Arquitectura de Computadores (ACom)

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

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

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

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

Sistemas Operacionais

Sistemas Operacionais

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Função Fundamental do SO

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

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

Fundamentos de Sistemas Operacionais

Gestão de Memória. Espaço de Endereçamento

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

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Sistemas Operacionais Aula 7

Introdução à Informática

Arquitectura de Computadores

Sistemas Operacionais. Concorrência

Sistemas Operacionais. Interrupção e Exceção

Memória virtual. Sistemas Segmentados

GERENCIAMENTO DE MEMÓRIA

Gerência de Memória Memória Virtual e Paginação

Gestão de Memória. Algoritmos de Gestão de Memória

O COMPUTADOR POR DENTRO

Matriz Discursiva do MÓDULO C FASE II 23/11 até 18/12

Sistemas Operacionais

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Fundamentos de Sistemas Operacionais

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

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP

Sistemas de Entrada e Saída

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

Algoritmos de escalonamento

Fundamentos de Sistemas Operacionais

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

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

Arquitetura e Organização de Computadores

Sistemas Operacionais Aula 16 Memória Virtual

Sistemas Operativos. Multiprogramação; Multiplexação; Memória Física; Memória virtual; Trabalho/Job - Processo/Process/Task - Thread

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

Parte I Multiprocessamento

Teste de Sistemas de Operação 30 de Maio de 2009

Sistemas Operacionais. Prof. André Y. Kusumoto

Memória Cache. Walter Fetter Lages.

Caching. Caches do Sistema de Ficheiros

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

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

Escalonamento do CPU

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

Temporização(Scheduling) de Processos. TemporobjectivomaximizarousodoCPU,i.e.tersempre um processo a executar.

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

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

Algoritmos de Gestão de Memória

Departamento de Engenharia Informática. Gestão de Memória. Parte II Algoritmos

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Temporização (Scheduling) de Processos

Sistemas Operacionais

Transcrição:

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA 2º Semestre 2005/2006 Programação de Sistemas 13/7/2006 Seja objectivo, utilizando respostas curtas e directas, e justifique todas as respostas. 1. Qual a principal razão para que um SO suporte multiprogramação? A multiprogramação permite aumentar a utilização do processador através da colocação em execução de um processo que esteja pronto a executar sempre que o processo activo (em execução) bloqueia. 2. Identifique três situações em que ocorra uma transição do modo de execução utilizador para o modo de execução supervisor. 1. Sempre que um dispositivo de E/S gera uma interrupção. 2. Sempre que um processo executa uma chamada ao sistema que é, em geral, implementada com recurso a uma interrupção gerada por software (trap). 3. Quando um processo realiza uma operação que causa uma excepção hardware, tal como uma divisão por zero, um acesso ilegal à memória ou a execução de um código de instrução inválido. 3. Explique qual a diferença entre uma instrução privilegiada e uma instrução não privilegiada. Uma instrução não privilegiada é uma instrução, tal como uma adição ou a leitura de um valor da memória, que não requer privilégios especiais para poder ser executada, ou seja, pode ser executada em qualquer dos dois modos de execução (utilizador ou supervisor). A execução indevida deste tipo de instruções apenas acarreta efeitos adversos para o processo que a executa. Uma instrução privilegiada é uma instrução, tal como uma instrução de E/S ou de manipulação da protecção da memória associada a um processo, que apenas pode ser invocada a partir do modo de execução privilegiado (modo supervisor).page: 1 Caso este tipo de instrução seja invocado a partir de um processo a executar em modo utilizador, o processador emite automaticamente uma excepção, já que a execução indevida deste tipo de instruções poderia acarretar efeitos adversos para o próprio sistema. 4. Diga em que consiste uma chamada ao sistema. Justifique a sua resposta dando um exemplo. As chamadas ao sistema fornecem a interface entre os processos e o sistema operativo. O sistema operativo realiza operações privilegiadas em nome dos processos. Um exemplo da utilização de chamadas ao sistema ocorre quando um processo necessita de ler ou escrever um ficheiro. Apenas o SO possui o privilégio necessário para executar algumas das instruções que são 1/2

necessárias para aceder ao dispositivo em que o ficheiro reside, pelo que o processo tem de recorrer aos serviços do SO para realizar a operação desejada. 5. Diga em que consiste uma espera activa. Em que circunstâncias pode esta ser desejável e indesejável? Espera activa significa que um processo mantém a posse do CPU (isto é, continua a executar), enquanto espera que a terminação de uma qualquer operação de E/S (em vez de abandonar o processador permitindo que outro processo execute). Esta situação é, em geral, indesejável, já que o processador poderia de outro modo realizar algum trabalho útil (executando outro processo). Este comportamento pode ser, nalguns casos, desejável se soubermos que o acontecimento de que o processo está à espera vai demorar muito pouco tempo. Em particular se esse tempo for inferior ou da mesma ordem de grandeza daquele que será necessário para comutar a execução para outro processo. 6. Diga qual a diferença entre um semáforo binário e um semáforo com contagem. Dê um exemplo em que um semáforo com contagem possa ser útil. Um semáforo binário possui uma ou nenhuma autorização de passagem, isto é, está bloqueado ou desbloqueado. Um semáforo com contagem permite controlar o acesso (disponível ou não disponível) a um conjunto de recursos idênticos, pode em particular contar o número de recursos disponíveis. Os semáforos com contagem são úteis, por exemplo, para manter informação sobre o número de slots disponíveis num buffer de dimensão finita. Um processo que necessite de inserir um novo elemento no buffer, pode fazer wait() neste semáforo e ficar bloqueado até que um slot do buffer esteja livre. O semáforo deve ser iniciado com o número de recursos inicialmente disponíveis. Neste caso o número de slots inicialmente existentes no buffer. 7. Uma técnica comum para a implementação de exclusão mútua numa máquina monoprocessador consiste em inibir as interrupções dentro de uma secção crítica e voltar a permiti-las depois de sair. Explique porque é que esta estratégia funciona. Numa máquina uni-processador, um SO pode ser executado simultaneamente por diferentes processos. Se quando um processo está a executar no SO (depois de executar uma chamada ao sistema) é recebida uma interrupção, os gestores da interrupção (funções do SO!) podem chamar funções que acedem e modificam estruturas de dados globais as SO. Se o processo interrompido estava a modificar algumas destas estruturas de dados, pode ser criado um sério problema de concorrência (mais do que um processo a aceder a dados partilhados!!!). Uma solução típica para esta situação é simplesmente eliminar a sua causa, isto é, inibir a ocorrência de interrupções. Escusado será dizer que tal terá de ser feito durante a execução da totalidade de todas as chamadas ao sistema, o que é uma forma bastante rudimentar de resolver este problema. Para além disso este método não funciona num sistema multi-processador, já que outro processador pode estar a executar instruções que manipulam as mesmas estruturas de dados partilhadas. 2/2

8. Defina localidade espacial e localidade temporal. Localidade espacial significa que o acesso a determinados dados torna o acesso a dados próximos desses muito provável num futuro próximo. Localidade temporal significa que o acesso a determinados dados torna o acesso aos mesmos dados muito provável num futuro próximo. 9. Cinco processos A, B, C, D e E possuem os seguintes tempos de chegada, execução, e prioridades. Um valor mais pequeno significa maior prioridade. Processo Tempo de Chegada Tempo de Execução Prioridade A 0 75 3 B 10 40 1 C 10 25 3 D 80 20 4 E 85 45 2 Preencha a seguinte tabela para os processos acima descritos. Justifique as suas respostas com diagramas de Gant. Política de Scheduling Tempo de Espera Tempo Médio A B C D E de Espera Shortest-Job First (Não-Preemptivo) 0 130 65 20 75 290/5=58 Prioridades (Não-Preemptivo) 0 65 150 105 30 350/5=70 Round-Robin (quantum=15) 145 90 50 45 60 390/5=78 Shortest-Job First (Não-Preemptivo) A C D B E 0 75 100 140 160 205 Prioridades (Não-Preemptivo) A B E C D 0 75 115 160 185 205 RoundRobin (Quantum=15) A B C A B C D E A B D E A E A 0 15 30 45 60 75 85 100 115 130 140 145 160 175 190 205 10. Diga qual a sequência de páginas colocadas em memória e qual o número de faltas de página, admitindo a seguinte sequência de referências e uma memória física com 4 páginas, por cada um dos algoritmos seguintes. 10.1. FIFO 10.2. LRU 10.3. Óptimo FIFO 1 1 1 1 1 5 5 5 5 5 1 1 1 2 2 2 2 2 7 7 7 7 7 7 8 3 3 3 3 3 2 2 2 2 2 2 4 4 4 4 4 3 3 3 3 3 F F F F F F F F F F 10 faltas de página 3/2

LRU 1 1 1 1 1 5 5 5 5 5 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 7 7 7 7 7 7 7 4 4 4 4 4 3 3 3 3 8 F F F F F F F F F 9 faltas de página ÓPTIMO 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 4 4 5 7 7 7 7 7 7 8 F F F F F F F 7 faltas de página 11. Considere um sistema com memória virtual paginada. 11.1. Apresente 3 argumentos a favor da utilização de páginas de grande dimensão e 3 argumentos a favor da utilização de páginas de pequena dimensão. 11.2. Descreva em que circunstâncias ocorre uma falta de página (page fault) e qual a sequência de passos que são desencadeados na sua sequência. Grandes Pequenas Reduz o número de processos que podem ter páginas em RAM, ou seja, o nível de multiprogramação possível. Mais demorada a cópia de informação de e para a zona de paginação no disco. Maior probabilidade de fragmentação interna, já que, em média, a última página de cada processo tende a desperdiçar mais espaço. Maior quantidade de informação em cada página deverá conduzir a menos faltas de página. Permite que mais processo tenham páginas em RAM, o que premite melhor intercalar a utilização do CPU e a realização de E/S por parte dos processos (aumentar o nível de programação) Menos demorada a cópia de informação de e para a zona de paginação no disco. Diminui a probabilidad3e de fragmentação interna. Devido à pequena dimensão das páginas é possível que a taxa de faltas de página aumente. 4/5

12. Um disco possui 300 cilindros numerados de 0 a 299. A cabeça está no cilindro 200 e vai em direcção ao cilindro 199. A fila de pedidos é, por ordem, 12, 36, 28, 124, 56, 18, 178, 236. Diga por que ordem serão visitados os cilindros de acordo com os seguintes algoritmos: 12.1. C-SCAN 12.2. LOOK C_SCAN: 4, 0, 299, 236, 178, 124, 56, 36, 28, 18, 12 LOOK: 4, 12, 18, 28, 36, 56, 124, 178, 236 13. Assuma que possui um disco no seu portátil com as seguintes características: Capacidade: 60 GB Taxa de transferencia Máxima: 48.25 MB/s Taxa de Transferencia Sustentada: 34.5 MB/s Tempo Médio de Posicionamento (Seek Time): 12 ms Velocidade de rotação: 7200 RPM Número de Bytes por Sector: 512 13.1. Quanto tempo demorará a leitura de um ficheiro de 200 MB guardado em sectores do disco contíguos (i.e. pode utilizar a Taxa de Transferência Sustentada)? Seek inicial + latência média + tempo de transferência = 12ms + 5.6ms + 200MB/34.5MB/s = 5.815 s ~ 5.8 sec. 13.2. Quanto tempo demorará a ler o ficheiro se este estiver armazenado em sectores do disco aleatórios (os blocos estão espalhados aleatoriamente pelo disco)? Seek inicial + latência média + tempo para ler 1 bloco = 12ms + 5,6ms + 512B/48,25MB/s = 12ms + 5,6ms + 10,6 us = 17.6 ms Total de blocos = 200MB/512B = 2 200 1024 = 409600 Blocks Tempo Total = 409600 x 17.6106 ms = 7213 s = 120,2 min ~ 2 horas 14. A alocação contígua de ficheiros conduz à fragmentação do disco. Esta fragmentação é interna ou externa? Ambos! Os ficheiros são sempre armazenados em unidades de bloco de disco, o que significa que o último bloco do ficheiro pode apenas estar parcialmente usado (fragmentação interna). Para além disso, a alocação contígua resulta também em fragmentação externa devido ao facto de poderem existir muitos blocos não reservados entre ficheiros que não podem ser aproveitados por um ficheiro cujo tamanho seja superior ao de cada fragmento, mas menos que o espaço total livre. 15. Considerando a utilização do protocolo TCP/IP, qual a informação mínima que um processo cliente precisa para estabelecer uma ligação a um processo servidor? Um endereço IP, que identifica a máquina de destino, e o número de um porto que identifica o processo servidor de destino nessa máquina. 5/5