questionÁrio sincronizaÇÃo e comunicaÇÃo entre processos

12
QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS 1. Defina o que é uma aplicação concorrente e dê um exemplo de sua utilização. É uma aplicação estruturada de maneira que partes diferentes do código do programa possam executar concorrentemente. Este tipo de aplicação tem como base a execução cooperativa de múltiplos processos ou threads, que trabalham em uma mesma tarefa na busca de um resultado comum. 2. Considere uma aplicação que utilize uma matriz na memória principal para a comunicação entre vários processos concorrentes. Que tipo de problema pode ocorrer quando dois ou mais processos acessam uma mesma posição da matriz? Pode ocorrer inconsistência nos dados caso não haja uma gerência correta quanto a utilização concorrente dos recursos compartilhados. 3. O que é exclusão mútua e como é implementada? Exclusão mútua é impedir que dois ou mais processos acessem um mesmo recurso simultaneamente. Para isso, enquanto um processo estiver acessando determinado recurso, todos os demais processos que queiram acessá-lo deverão esperar pelo término da utilização do recurso. 4. Como seria possível resolver os problemas decorrentes do compartilhamento da matriz, apresentado anteriormente, utilizando o conceito de exclusão mútua? Assegurando que apenas um processo manipulem uma variável por vez.

Upload: rafa-crash

Post on 05-Dec-2014

147 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

1. Defina o que é uma aplicação concorrente e dê um exemplo de sua utilização.

É uma aplicação estruturada de maneira que partes diferentes do código

do programa possam executar concorrentemente. Este tipo de aplicação

tem como base a execução cooperativa de múltiplos processos ou threads,

que trabalham em uma mesma tarefa na busca de um resultado comum.

2. Considere uma aplicação que utilize uma matriz na memória principal para a

comunicação entre vários processos concorrentes. Que tipo de problema pode ocorrer

quando dois ou mais processos acessam uma mesma posição da matriz?

Pode ocorrer inconsistência nos dados caso não haja uma gerência correta

quanto a utilização concorrente dos recursos compartilhados.

3. O que é exclusão mútua e como é implementada?Exclusão mútua é impedir que dois ou mais processos acessem um mesmo recurso simultaneamente. Para isso, enquanto um processo estiver acessando determinado recurso, todos os demais processos que queiram acessá-lo deverão esperar pelo término da utilização do recurso.

4. Como seria possível resolver os problemas decorrentes do compartilhamento da

matriz, apresentado anteriormente, utilizando o conceito de exclusão mútua?

Assegurando que apenas um processo manipulem uma variável por

vez.

5. O que é starvation e como podemos solucionar esse problema?

Starvation é a situação onde um processo nunca consegue executar

sua região crítica e, consequentemente, acessar o recurso

compartilhado. No momento em que o recurso é liberado, o sistema

deve determinar qual processo, entre os que estão esperando,

ganhará acesso ao recurso. Caso essa escolha seja realizada de

forma aleatória, existe a possibilidade de um processo nunca ser

escolhido e sofrer starvation.

6. Qual o problema com a solução que desabilita as interrupções para implementar a exclusão mútua?Devido a esta solução a multiprogramação pode ficar seriamente comprometida, já que a concorrência entre processos tem como base o uso de interrupções. Em sistemas com múltiplos

Page 2: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

processadores, esta solução torna-se ineficiente devido ao tempo de propagação quando um processador sinaliza aos demais que as interrupções devem ser habilitadas ou desabilitadas. Outra problema é que o mecanismo de clock do sistema é implementado através de interrupções, devendo esta solução ser utilizada com bastante critério.

7. O que é espera ocupada e qual o seu problema?

8. Explique o que é sincronização condicional e dê um exemplo de sua utilização.

9.Explique o que são semáforos e dê dois exemplos de sua utilização: um para a solução

da exclusão mútua e outro para a sincronização condicional

10. Apresente uma solução para o problema dos Filósofos que permita que os cinco

pensadores sentem à mesa, porém evite a ocorrência de starvation e deadlock.

11. Explique o que são monitores e dê dois exemplos de sua utilização: um para a

solução da exclusão mútua e outro para a sincronização condicional.

12. O que é deadlock, quais as condições para obtê-lo e quais as soluções possíveis?

Page 3: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

QUESTIONÁRIO GERÊNCIA DE PROCESSADOR

1. Qual a função do escalonador em um sistema multiprogramável?

O escalonador é responsável pela rotina do sistema operacional que tem

como principal função implementar os critérios da política de

escalonamento.

2. Outra rotina importante na gerência do processador é o dispatcher.

Qual sua função?

Realizar a troca de contexto dos processos após o escalonador determinar

qual processo deve fazer uso do processador.

3. Cite 3 objetivos a serem atingidos pelo escalonamento.

- Manter o processador ocupado a maior parte do tempo.

-Privilegiar a execução de aplicações críticas.

- Maximizar o throughput do sistema e oferecer tempos de resposta razoáveis para usuários interativos.

4. O que você entende por:

a) Throughput de processos

É a quantidade de processos executados durante um determinado

intervalo, ou seja, é uma medida de rendimento. Quanto maior a

quantidade de processos executados maior é o rendimento.

b) Tempo de processador ou tempo de CPU

É o tempo que um processo fica no estado de execução, isto é, o

tempo que leva até que seja finalizado seu processamento.

c) Tempo de espera

Trata-se do tempo que um processador permanece em espera,

aguardando ser executado.

d) Tempo de turnaround ou tempo de execução

Este é o tempo total de um processo desde seu inicio até seu fim, ou

seja, é o tempo que o processo esperou desde sua primeira criação,

passando por todas as etapas: espera para alocação de memória,

espera na fila de pronto, processamento e na fila de espera. Assim

Page 4: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

como os outros conceitos de tempo, também este procura-se

minimizar tanto quanto possível.

e) Tempo de resposta

É o tempo que o sistema demora para responder a um comando dado.

Por exemplo, em um caixa bancário (sistema interativo) o tempo de

resposta é a demora existente entre a digitação de um tecla e a

exibição do resultado.

5. Quais são os dois tipos de escalonamentos existentes? Qual a diferença

entre eles?

Existem os Escalonamentos Preemptivos e os Não-Preemptivos.

O Escalonamento preemptivo permite que o sistema operacional interrompa um processo em execução e altere seu estado para ready (pronto) para assim inserir outro processo na CPU. Tal característica possibilita fazer uso de prioridades de processos.

O Escalonamento Não-Preemptivo caracteriza-se pelo processamento batch e sua diretiva dita que um processo que esteja em execução não pode ser removido sumariamente para inserir um novo processo; sendo assim o processo só sairá de sua execução quando estiver pronto.

6. Num sistema não-preemptivo, até quando um processo pode utilizar o

processador?

Neste tipo de escalonamento o processo utilizará o processa dor o tempo necessário para a sua conclusão, não podendo ser interrompido por nenhum evento externo.

7. E num sistema preemptivo?

Neste tipo de escalonamento o processo utilizará o processador o tempo

necessário para a sua conclusão, podendo ser interrompido por outro

processo prioritário ou seja se o sistema priorizar um processo, o processo

em execução e passado para o estado de pronto, com o objetivo de

priozirar outro processo na UCP.

8. Defina dois algoritmos de escalonamento não-preemptivos.

Shortest-Job-First - O processo em estado de pronto que necessitar de menos tempo de UCP para terminar seu processamento é selecionado para execução.

First-in-first-out - O processo que chegar primeiro ao estado de pronto é o selecionado para execução.

9. Defina dois algoritmos de escalonamento preemptivos..

Page 5: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

Cooperativo- O fato de a liberação do processador ser uma tarefa realizada exclusivamente pelo processo em execução, que de uma maneira cooperativa libera a UCP para um outro processo. Neste mecanismo, o processo em execução verifica periodicamente uma fila de mensagens para determinar se existem outros processos na fila de pronto.

Por Prioridades - O processo com maior prioridade no estado de pronto é sempre o escolhido para execução, e processos com valores iguais são escalonados seguindo o critério de FIFO.

QUESTIONÁRIO GERÊNCIA DE MEMÓRIA

1- Qual a Função da Gerência de Memória ?

É controlar toda a memória – esteja ela em uso ou não – para que haja um gerenciamento otimizado desse recurso. A gerência é responsável ainda por liberar memória que estava em uso e também tratar problemas.2- Quais os modelos de Organização da Memória Principal?

Alocação Contínua Simples, Alocação Dinâmica e Alocação Particionada, esta por sua vez se divide em: Alocação Particionada Estática, Alocação Particionada Estática Absoluta e Alocação Particionada Estática Relocável.

3- Qual a finalidade da Técnica de Overlay?

Divide o programa em partes permitindo assim que tais partes sejam executadas independentemente das demais, utilizando a mesma área de memória.

4- Cite uma característica da Alocação Particionada Estática.

Na alocação Particionada Estática a memória é dividida, em pedaços de tamanho fixo, que são chamados partições.

5- Cite as características da Alocação Particionada Dinâmica.

o Redução do problema de fragmentação e aumento do grau de compartilhamento da memória.

o Eliminação do conceito de partições do tamanho fixo.

Page 6: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

6- Cite as desvantagens da Alocação Particionada Dinâmica.

o Maior tempo de execução dos processoso Algoritmo complexoo Consumo de memória e processador.

7- Quais os objetivos de utilizar estratégias para escolha de partição?

Tentar evitar ou diminuir o problema da fragmentação externa.

8- Quais as principias estratégias utilizadas para escolha da partição?

o Best-fit: escolhe-se a partição em que o programa deixa o menor espaço sem utilização.

o A Wors-fit: escolhe-se a partição em que o programa deixa o maior espaço sem utilização.

o First-fit: escolhe-se a primeira partição livre de tamanho suficiente pra carregar o programa escolhido.

9- Defina a Estratégia Best-fit?

Esse mecanismo escolhe a melhor partição (best fit), ou seja, aquela em que o processo deixa o menor espaço sem utilização.

10- Defina a Estratégia Worst –fit e seus objetivos?

Esse mecanismo escolhe a pior partição (worst fit), ou seja, aquela em que o processo deixa o maior espaço sem utilização.

11- Defina a Estratégia First-fit ?

O swapping é uma técnica aplicada à gerência de memória, para processos que esperam por memória livre para serem processados.

12- Defina SWAPPING.

O swapping é uma técnica aplicada à gerência de memória, para processos que esperam por memória livre para serem processados.

13- Defina Swap Out e Swap IN14- Cite as vantagens e desvantagens da técnica de Swapping.15- O que é Memória Virtual.

Page 7: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

16- Como é conhecido o Mecanismo de tradução do endereço virtual?17- Qual a função do mapeamento de endereçamento de memória.

QUESTIONÁRIO GERÊNCIA DE ARQUIVOS

1. Quais os requisitos para resolução de armazenamento de dados a longo prazo. Defina-os.

Os requisito para armazenamento começam pela persistência, que dita que os dados devem continuar armazenados após o término do processo, e permanecer no computador após desliga-lo, para serem usados ulteriormente; o segundo requisito é a extensibilidade que rege a necessidade de armazenar uma grande quantidade de informação; por último entende-se que a concorrência também é um fato de requisito, sendo este necessário para que a informação seja manipulada por varios processos.

2. Defina sistemas de arquivos.

Chama-se sistema de arquivos a parte do SO responsável por manipular arquivos

3. Defina Arquivos.

É um conjunto de informações (o que é termos de informática significa bits) e que possuem nomes para identificação por usuários.

4. Quais as principais regras para identificação dos arquivos? Defina-as.

Nome do arquivo: quando é criado um arquivo ele obrigatoriamente precisa de um nome. Permitindo assim que ele possa ser usado por outros processos.

Page 8: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

Padrão de nomeação: É comum que os SOs usem o padrão de nomeação de arquivos composto por duas partes: nome e extensão.Algumas regras para identificação de arquivos variam dependente do sistema.

5. A estrutura de arquivos divide-se em sequência de bytes, de registros e árvore. Defina-as.6. Defina os tipos de arquivos.7. A defina acesso a arquivos Seqüencial.8. A defina acesso a arquivos Randômico ou aleatório.9. O que são atributos de arquivos. Exemplifique.11.Defina sistemas de diretório Hierárquico.12. O que nome de caminho absoluto e relativo.13. Quais os principais métodos para implementação de sistemas de arquivos? Defina-os.

QUESTIONÁRIO GERÊNCIA DE DISPOSITIVOS

1. O que é Gerência de Dispositivos e como ela é estruturada?

É uma das principais e mais complexas funções de um sistema operacional. Sua implementação é estruturada através de camadas em um modelo semelhante ao apresentado para o sistema operacional como um todo. As camadas de mais baixo nível escondem características dos dispositivos das camadas superiores, oferecendo uma interface simples e confiável ao usuário e suas aplicações.

2. Como a Gerência de E/S trabalha, e quais os benefícios propostos pelo gerenciamento feito pelo SO?

A diversidade dos dispositivos de E/S exige que o sistema operacional implemente uma camada. Chamada de subsistema de E/S, com a função de isolar a complexidade dos dispositivos da camada de sistemas de arquivo e da aplicação. Dessa forma, é possível ao sistema operacional ser flexível, permitindo a comunicação dos processos com qualquer tipo de periférico. Aspectos como velocidade de operação, unidade de transferência, representação dos dados, tipos de operações e demais detalhes de cada periférico são tratados pela camada de device driver, oferecendo uma interface uniforme entre o subsistema de E/S e todos os dispositivos.

3. Cite os principais objetivos das System Calls de E/S.

Os principais objetivos das system calls de E/S são:

Page 9: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

o

o simplificar a interface entre as aplicações e os dispositivos;o eliminar as necessidades de duplicação de rotinas idênticas

nos diversos aplicativos;o esconder do programador características específicas

associadas à programação de cada dispositivo.

4. Defina Subsistema de Entrada/Saída. Cite 3 funçoes dele.

Os Subsistemas de entrada/saída realizam as funções que são comuns a todos os dispositivos desse gênero, deixando apenas os aspectos específicos a cargo dos dispositivos de drivers.

Uma de suas funções é mapear o nome do dispositivo com seu respectivo driver. É também responsável por criar uma unidade lógica de informação independente do dispositivo e repassá-la para os níveis superiores. Os Subsistemas de entrada/saída também são responsáveis pela tarefa de bufferização (utilização de área de memória intermediária), que tem como finalidade reduzir o número de operações de Entrada e Saída.

5. Qual a função dos Device Drivers? Cite duas características.

A função é estabelecer uma comunicação com os dispositivos a nível de hardware, especificando ainda características físicas de cada dispositivo. Eles fazem parte do núcleo do sistema operacional.

6. O que são controladores e qual a sua função? Qual o padrão de controladores mais conhecido.

São hardwares responsáveis por manipular os dispositivos diretamente, sendo o mais conhecido o chamado SCSI que permitem conectar o computador a uma variedade de dispositivos como HD, Drivers, impressoras, etc. Os controladores transferem as informações do buffer para a memória principal sem a intervenção da CPU.

7. Qual a responsabilidade dos dispositivos de E/S?São responsáveis pela comunicação entre o computador e o mundo externo. Existem dispositivos que servem apenas para entrada(teclado e mouse) e outras apenas para saída (impressoras) e outros que servem tanto para entradas quanto para saída (modems, discos e fitas).

8. Defina dispositivos de Bloco e Dispositivos de Caracter.

Page 10: QUESTIONÁRIO SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

Dispositivos de Bloco (device Block) - é aquele que armazena informações em blocos de tamanho fixo (variam de 128 b a Ikb), cada um com o seu próprio endereço de memória. Ex: Discos magnéticos.

Dispositivo de Caracter (Character Device) - são aqueles que liberam ou aceitam um conjunto de caracteres, sem respeitar nenhuma estrutura de bloco. A sequência de caracteres não é endereçável (terminais, impressoras e interfaces de rede).

9. Defina dispositivos de armazenamento de massa.

É um dispositivo responsável por controlar dados e informações de seus dispositivos como "HD","cd-rom"... Estes são periféricos de armazenamento em Massa.