Articles of linux kernel

Imprimir dados do pacote TCP

Na comunicação TCP, quando o pacote está sendo transferido da camada ethernet para a rede (IP), eu quero imprimir os dados presentes naquele pacote? Eu estou trabalhando no linux. Eu tenho algumas informações que podem ser feitas com a ajuda do código do kernel do Linux, ou seja, no código Linux do Firewall do Linux. […]

Como monitorar continuamente o diretório usando o comando dnotify / inotify

Eu sou novo no comando dnotify / inotify. Alguém pode me ajudar a escrever um script de tal forma que ele monitore continuamente um diretório e indique que há alguma alteração ou modificação nele.

Envio de pacotes UDP do kernel do Linux

Mesmo que um tópico semelhante já exista, notei que ele remonta a dois anos, então eu acho que é mais apropriado abrir um novo … Eu estou tentando descobrir como enviar pacotes UDP do kernel do Linux (3.3.4), a fim de monitorar o comportamento do gerador de números randoms (/drivers/char/random.c). Até agora, consegui monitorar algumas […]

Onde posso encontrar o código-fonte da chamada do sistema?

No linux onde posso encontrar o código-fonte para todas as chamadas do sistema, dado que eu tenho a tree de fonts? Além disso, se eu quiser procurar o código-fonte e o assembly para uma chamada de sistema específica, há algo que eu possa digitar no terminal como -my_system_call?

Tamanhos de pilha do Linux

Eu estou procurando uma boa descrição de pilhas dentro do kernel do Linux, mas eu estou achando surpreendentemente difícil encontrar algo útil. Eu sei que as pilhas são limitadas a 4k para a maioria dos sistemas e 8k para outras. Eu estou supondo que cada thread do kernel / metade inferior tem sua própria pilha. […]

Quais são as implicações da macro __user do linux?

Eu estava esperando que alguém pudesse explicar as nuances da macro __user usada na fonte do kernel do Linux. Primeiro de tudo, a macro: # define __user __attribute__((noderef, address_space(1))) Agora, depois de algumas pesquisas, eu li que essa macro permite designar um ponteiro como pertencente ao espaço de endereço do usuário e que ele não […]

Como criar um nó de dispositivo a partir do código init_module de um módulo do kernel do Linux?

Eu estou escrevendo um módulo para o kernel do Linux e eu quero criar alguns nós de dispositivos na function init int init_module(void) { Major = register_chrdev(0, DEVICE_NAME, &fops); // Now I want to create device nodes with the returned major number } Eu também quero que o kernel atribua um número menor para o […]

Qual é a diferença entre o espaço do kernel e o espaço do usuário?

Qual é a diferença entre o espaço do kernel e o espaço do usuário? O espaço do kernel, os threads do kernel, os processos do kernel e a pilha do kernel significam a mesma coisa? Além disso, por que precisamos dessa diferenciação?

Por que a execução do código / thread do kernel no contexto de interrupção não consegue dormir?

Eu estou lendo o seguinte artigo de Robert Love http://www.linuxjournal.com/article/6916 isso diz “… Vamos discutir o fato de que as filas de trabalho são executadas no contexto do processo. Isso está em contraste com os outros mecanismos de metade inferior, que são executados em contexto de interrupção. O código em execução no contexto de interrupção […]

Como o ARM Linux emula os bits sujos, acessados ​​e de arquivo de um PTE?

Conforme o pgtable-2-level.h , o ARM Linux possui duas versões do PTE; O Linux PTE e o H / W PTE. Linux PTE são armazenados abaixo de um deslocamento de 1024 bytes. Ao manipular a falha de página no handle_pte_fault várias funções como pte_file , pte_mkdirty , pte_mkyoung , obtêm invoke com a versão H […]