Sistemas Operativos: Memória Partilhada
17 Questions
2 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

O que é necessário para os processos poderem utilizar um segmento de memória partilhada?

  • Obter o id do segmento, mapear o segmento na sua própria memória, libertar o mapeamento após utilização e remover o segmento no final. (correct)
  • Obter o id do segmento e mapear o segmento na sua própria memória.
  • Mapear o segmento na sua própria memória, libertar o mapeamento após utilização e remover o segmento no final.
  • Criar um novo id para o segmento e especificar as permissões de leitura e escrita.

Como se obtém o id do segmento da memória partilhada?

  • Com a função shmget(), indicando a chave que identifica o segmento pretendido. (correct)
  • Com a função shmat(), especificando o tamanho do segmento em bytes.
  • Com a função shmdt(), mapeando o segmento na memória do processo.
  • Com a função shmctl(), especificando o comando a ser executado.

O que a função shmat() faz?

  • Remove o segmento da memória partilhada.
  • Mapeia o segmento de memória partilhada para o espaço de endereçamento do processo. (correct)
  • Liberta o mapeamento feito no espaço de endereçamento local.
  • Obtém o id do segmento da memória partilhada.

Como se liberta o mapeamento feito no espaço de endereçamento local?

<p>Com a função shmdt(). (A)</p> Signup and view all the answers

Qual comando é tipicamente usado com a função shmctl() para remover um segmento de memória partilhada?

<p>IPC_RMID (D)</p> Signup and view all the answers

Quais são as etapas para a sequência de utilização de um segmento de memória partilhada?

<p>Get (shmget), Attatch (shmat), Detatch (shmdt) e Remove (shmctl IPC_RMID). (B)</p> Signup and view all the answers

O que significa a flag IPC_CREAT na função shmget()?

<p>Indica que um novo segmento deve ser criado caso não exista. (A)</p> Signup and view all the answers

Qual opção é verdadeira sobre a função shmdt()?

<p>Liberta o mapeamento feito no espaço de endereçamento local. (D)</p> Signup and view all the answers

O que acontece se não for explicitamente invocado o comando shmctl() IPC_RMID por nenhum dos processos?

<p>Os processos continuam a utilizar o segmento após terminarem. (A)</p> Signup and view all the answers

O que acontece quando invocamos a função fork() em um processo?

<p>Cria novos processos filhos com espaços de memória independentes do processo pai. (B)</p> Signup and view all the answers

Quais os dois tipos de semáforos mencionados para sincronização de rotinas entre processos?

<p>Unnamed e named (A)</p> Signup and view all the answers

O que é a Memória Partilhada em sistemas operativos?

<p>É um método que permite a um processo criar uma zona de memória compartilhada que outros processos podem acessar. (A)</p> Signup and view all the answers

Como é traduzido o espaço de memória virtual de um processo para o espaço de memória física?

<p>Paginação (A)</p> Signup and view all the answers

Qual a principal característica da função fork() em relação à memória compartilhada?

<p>A função fork() cria processos filhos com espaços de memória completamente independentes do processo pai. (B)</p> Signup and view all the answers

Qual a finalidade da criação de uma zona de memória partilhada entre processos?

<p>Permitir que os processos compartilhem o mesmo espaço de memória física. (D)</p> Signup and view all the answers

Como funcionam os espaços de memória virtual e física dos processos em sistemas operacionais?

<p>Os espaços de memória virtual são independentes, mas todos os processos compartilham o mesmo espaço de memória física. (D)</p> Signup and view all the answers

Qual o objetivo da utilização de semáforos no contexto da sincronização entre processos?

<p>Evitar que os processos acessem simultaneamente a mesma zona de memória partilhada. (B)</p> Signup and view all the answers

More Like This

Use Quizgecko on...
Browser
Browser