O Sistema Operacional UNIX possui um mecanismo conhecido co...

Próximas questões
Com base no mesmo assunto
Q641540 Sistemas Operacionais
O Sistema Operacional UNIX possui um mecanismo conhecido como biblioteca compartilhada, que serve para ligação dinâ­mica, por ocasião de chamada, de procedimentos compilados separadamente. Sabendo-se que o UNIX suporta somente a liga­ção implícita, assinale a opção que descreve as duas partes que compõem uma biblioteca compartilhada.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é: C - Biblioteca hospedeira, que é ligada estaticamente ao arquivo executável, e biblioteca-alvo, que é chamada em tempo de execução.

Vamos entender melhor o conceito de bibliotecas compartilhadas no contexto do Unix. Bibliotecas compartilhadas são coleções de funções e recursos que podem ser usadas por diferentes programas, permitindo economia de memória e redução de duplicação de código. Elas são utilizadas para ligação dinâmica, que inclui a possibilidade de carregar o código da biblioteca apenas quando necessário, durante a execução de um programa.

No Unix, esse processo de ligação dinâmica geralmente envolve duas partes principais: a biblioteca hospedeira e a biblioteca-alvo.

1. Biblioteca Hospedeira: É responsável por gerenciar chamadas às funções da biblioteca-alvo. No contexto da alternativa correta, a biblioteca hospedeira é ligada estaticamente ao arquivo executável. Isso significa que a estrutura necessária para chamar as funções da biblioteca está presente no executável desde o início, mesmo que o código da biblioteca-alvo ainda não esteja carregado.

2. Biblioteca-Alvo: Esta é a parte da biblioteca compartilhada que contém o código real das funções e é chamada em tempo de execução. Isto é, o seu código é carregado na memória e vinculado ao programa apenas quando as funções são realmente utilizadas, permitindo a eficiência de recursos.

Vamos analisar as alternativas incorretas para entender por que não são adequadas:

  • A: Fala sobre a ligação estática da biblioteca-alvo, o que não está correto no contexto da ligação dinâmica de bibliotecas compartilhadas.
  • B: Menciona a biblioteca-alvo sendo descartada em tempo de execução, o que não faz sentido operacionalmente, pois a biblioteca-alvo é necessária justamente nesse momento.
  • D: Sugere que ambas as bibliotecas são ligadas de forma diferente, quando, na verdade, a biblioteca-alvo não é ligada estaticamente.
  • E: Introduz um conceito de ligação entre biblioteca hospedeira e biblioteca-alvo que não corresponde à maneira como o Unix lida com bibliotecas compartilhadas.

Compreender o funcionamento das bibliotecas no Unix é crucial para otimizar a execução de programas e reduzir o uso de recursos do sistema. Espero que essa explicação tenha te ajudado a compreender melhor o tema!

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

O gabarito é a letra C.

 

Uma biblioteca compartilhada ou objeto compartilhado é um arquivo que é destinado a ser compartilhado pelos arquivos executáveis e outros arquivos de objeto compartilhados. Os módulos usados por um programa são carregados a partir de objetos compartilhados na memória em tempo de carregamento ou tempo de execução, em vez de serem copiados por um ligador quando ele cria um único arquivo executável monolítico para o programa.

 

Bibliotecas compartilhadas podem ser ligadas estaticamente, significando que as referências aos módulos de biblioteca são resolvidos e os módulos são alocados na memória quando o arquivo executável for criado. Porém muitas vezes a ligação de bibliotecas compartilhadas é adiada até que elas sejam carregadas.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo