Exemplos do uso syscalls (x86) do Linux

Hoje tive uma idéia ao ler um artigo intitulado How Compiling Works no qual o autor descreve em linhas gerais, mas de uma maneira interessante, o processo de compilação de um código escrito em C (abordando  o processo de linkagem com as bibliotecas) tomando como exemplo a função printf. Resolvi fazer uma brincadeira, mostrando como isso pode ser realmente implementado na prática, usando chamadas de sistema (syscalls) do Linux, de modo que não seja necessário usar a implementação disponível na glibc.

Continue lendo

Lguest: um hypervisor didático

“If unsure, say N. If curious, say M. If masochistic, say Y “

(Linux kernel config for lguest module)

Um hypervisor é uma máquina virtual monitora (virtual machine monitor) que possibilita executar diversos sistemas operacionais em uma mesma máquina. Isso significa que você pode executar o Windows e o OpenBSD em máquinas virtuais executando em cima do Gentoo, Fedora, ou outra plataforma GNU/Linux.

Continue lendo