SóProvas


ID
605626
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os itens subsequentes, a respeito dos ambientes Windows e
Unix.

Em ambiente Windows, um código que necessite ser compartilhado entre vários processos pode ser armazenado em um arquivo do tipo DLL.

Alternativas
Comentários
  • Não entendi o erro dessa questão. Não vejo o porquê de um código não poder ser armazenado em uma DLL só porque necessita ser compartilhado entre vários processos. Sempre acreditei que DLL servisse pra isso mesmo.

    "...Uma DLL (biblioteca de vínculo dinâmico) é um arquivo executável que funciona como uma biblioteca compartilhada de funções. A vinculação dinâmica oferece uma forma de um processo chamar uma função que não faz parte do seu código executável. O código executável da função está localizado em uma DLL, que contém uma ou mais funções que são compiladas, vinculadas e armazenadas separadamente dos processos que as utilizam..."
    Fonte: http://msdn.microsoft.com/pt-br/library/ms838150.aspx
  • Acredito que aqui o erro seja na confusão que normalmente se faz entre "processos" e "programas". A DLL é compartilhada entre vários programas, e na linkedição do programa é feita a referência à DLL. Os processos em si não irão compartilhá-la como um recurso do sistema.
  • Tentando interpretar a questão:
    Em ambiente Windowsnão é Unix, DOS ou Linux
    um código uma sequência de comandos escritos visando produzir um resultado
    que necessite ser compartilhado significa que aquela sequência escrita (compilada ou não) será usada simultaneamente por mais de um processo
    entre vários processos  são programas em execução: estão em um contexto, possuem espaço de memória, PID e alguma prioridade
    pode ser armazenado em um arquivo do tipo DLL é pra isso que uma DLL serve.

    Se não fosse pra ser usada por processos (programas em execução), não seria dinâmica!

    Eu entraria com recurso para esta questão.
    De acordo com o Technet: " Dynamic linking provides a way for a process to call a function that is not part of its executable code. "
    Fonte: http://technet.microsoft.com/en-us/library/1ez7dh12(v=vs.90).aspx

    Se alguém tiver a explicação da banca, pfv, poste :/
  • Creio o que deixa a questão como Errada, seria nesta explicação que tirei do site da microsoft:

    "Quando um programa usa uma DLL, um problema que é chamado de dependência pode fazer com que o programa não seja executado. Quando um programa usa uma DLL, uma dependência é criada. Se outro programa sobrescreve e divide esse dependência, o programa original pode não executar com êxito."

    no mesmo site, logo depois tem outra explicação que deixaria a questão como Certa, além da explicacão do colega acima:

    "Uma DLL é uma biblioteca que contém código e dados que podem ser usados por mais de um programa ao mesmo tempo. Por exemplo, no sistema operacional Windows sistemas, caixa de diálogo comum de DLL Comdlg32 executa funções relacionadas à caixa. Portanto, cada programa pode usar a funcionalidade que está contida nessa DLL para implementar umAbrir caixa de diálogo. Isso ajuda a promover a reutilização de código e uso eficiente da memória."


    font: http://support.microsoft.com/kb/815065/pt-br