Chamadas de Sistema

509 palavras 3 páginas
Chamadas de Sistema são tão legais e existem inúmeras, mas seria tão legal saber adicionar uma chamada nova né? É eu também acho, então vamos demonstrar passo a passo como fazer sua própria chamada de sistema e como fazer para testar se deu certo.
Primeiramente quero dizer que este procedimento foi testado no Ubuntu 12.04 de 32 bits e de 64 bits com apenas uma diferença entre as duas (iremos mencionar quando chegar a hora), utilizando o Kernel 3.3.7 baixado em “http://www.kernel.org”. Então para esta versão do Kernel e para esta versão do Ubuntu garantimos que vai dar certo se seguir corretamente o passo a passo. Demais distribuições Linux devem dar certo se usar a mesma versão do Kernel, pois as alterações são feitas nele e não na distribuição Linux. Porém não podemos garantir.
Recomendamos que você tenha um bom conhecimento de Linux e acesso root para fazer estas alterações.
Baixe o Kernel no site mencionado acima, usando o terminal vá até a pasta que ficou salvo o Kernel usando o terminal, e digite: tar xjvf Linux-3.3.7.tar.bz2 –C /root/kernel
Caso não existe o diretório kernel em /root você terá que cria-lo antes de descompactar o Kernel.
Tendo permissão de root e com o Kernel já descompactado vá até “/root/kernel/Linux-3.3.7/arch/x86/syscalls/”,
Se seu sistema for 32 bits edite o arquivo syscall_32.tbl acrescentando:
349 i386 minhasys minhasys
Se seu sistema for 64 bits edite o arquivo syscall_64.tbl acrescentando:
312 64 minhasys minhasys
OBS: 312 e 349 referem-se ao número da chamada anterior + 1.

Agora edite o arquivo “syscall.h” em “/root/kernel/Linux-3.3.7/include/linux/” Adicionando ao arquivo uma nova declaração de função. Antes do “#endif”.
Exemplo:
asmlinkage long minhasys();
Agora iremos adicionar a chamada de sistema propriamente dito em “/root/kernel/linux-3.3.7/arch/x86/kernel/” crie um arquivo da sua chamada de sistema e .c, exemplo: minhasys.c
Exemplo de código:
#include
#include

asmlinkage long minhasys()
{

Relacionados

  • Chamadas de sistemas
    1027 palavras | 5 páginas
  • Chamadas de sistema linux
    3439 palavras | 14 páginas
  • histórico de chamadas de sistema
    430 palavras | 2 páginas
  • Sistema de chamadas inteligentes
    4136 palavras | 17 páginas
  • controle
    2862 palavras | 12 páginas
  • Serviços do sistema operacional
    759 palavras | 4 páginas
  • Redes de telecomunicações
    3365 palavras | 14 páginas
  • Sistema de arquivos do unix
    898 palavras | 4 páginas
  • Glossario
    1501 palavras | 7 páginas
  • AP1 SO SI
    2362 palavras | 10 páginas