Suporte a Compatibilidade do Recurso VDSO no Kernel Linux :: Admirável Mundo Novo




Muito Bem Vindo

Prezado Leitor, a proposta desse Blog é compartilhar conhecimento com as pessoas que trabalham com Linux, Asterisk, OpenSER, e com tecnologia de voz sobre a rede IP em geral, através de tutoriais, dicas, howto, notícias entre outros assuntos.

Atente para termo de uso do conteúdo do blog no rodapé da página.

terça-feira, 22 de abril de 2008

Suporte a Compatibilidade do Recurso VDSO no Kernel Linux




----------------------------------------------------------------------------------------------------------------------------------------
Compat VDSO support

CONFIG_COMPAT_VDSO:

Diga N aqui se você estiver rodando uma versão suficientemente recente da biblioteca glibc (2.3.3 ou posterior), para remover o mapeamento do recurso VDSO que é mapeado na memória alta e fazer com que o mecanismo VDSO seja usado exclusivamente de um modo aleatório.

Se estiver inseguro, diga Y.

VDSO - Virtual Dynamically-linked Shared Object (Objeto Virtual Compartilhado linkado Dinamicamente) é uma biblioteca compartilhada fornecida pelo kernel que ajuda os programas do espaço de usuário a executar algumas ações do kernel sem ter o overhead de uma chamada de sistema tradicional, e assim possa escolher automaticamente o mecanismo de chamada de sistema mais eficiente. Ela é chamada também de "vsyscall page".

A fim de tomar a decisão pela opção mais eficiente de chamada de sistema (qual seja: a instrução int 0x80 ou a instrução SYSENTER), na hora do boot o código binário apropriado é mapeado para essa seção "VDSO" em cada processo.

As chamadas à biblioteca glibc que precisam acessar o kernel, em vez de fazer a chamada de sistema por conta própria (int 0x80 ou SYSENTER), preferencialmente saltam para aquela seção do espaço de memória do processo e usa aquela instrução que foi determinada pelo kernel quando do boot.

O VDSO é um pedaço de memória mapeada dentro de cada processo em execução, e que alimenta o código que é usado para falar com o kernel a partir do espaço de usuário. Os hardwares mais antigos contavam inteiramente com uma Interrupção. Anos atrás, os fabricantes de hardware tornaram disponível um novo opcode, conhecido como SYSENTER.

O SYSENTER teve um passado nebuloso, no início não era confiável e nem tão pouco necessariamente mais rápida do que às interrupções. Passado mais da metade de uma década, a instrução SYSENTER alcançou a estabilidade e oferece significativa melhora de performance.

Ela economiza em torno de 6-10 instruções por chamada de sistema, mas limita a flexibilidade. Ela pode representar uma significativa melhora para processos com intensa troca de IO... (Matthew Carpenter)


Symbol: COMPAT_VDSO [=y]
Prompt: Compat VDSO support
  Defined at arch/i386/Kconfig:794
  Location:
    -> Processor type and features



























Nenhum comentário:




Creative Commons License
Admirável Mundo Novo: Tudo Sobre Asterisk, OpenSER, Linux e Tecnologias de Voz sobre IP
by Cléviton Mendes de Araújo is licensed under a Creative Commons Atribuição 2.5 Brasil License.