Basicamente, existem dois modos de visualização do kernel do Linux.
- Modo de usuário,
- Modo do kernel
Qualquer kernel do Linux alterna entre esses dois modos.
Geralmente, Chamadas de biblioteca são executadas em Modo de usuário e Chamadas de sistema são executadas no Modo de kernel . Em termos do sistema operacional, o modo Kernel é Atômico na natureza e em seu modo Supervisão.
Quase todas as chamadas de biblioteca precisam de ajuda do kernel para executar suas tarefas. Cada chamada de biblioteca, por sua vez, chama a chamada de sistema subjacente.
Deixe-nos tornar a ideia mais clara usando o seguinte exemplo
- fopen (): é uma chamada de biblioteca,
- open (): é uma chamada de sistema.
Sempre no programa c, você usa fopen () do arquivo de cabeçalho. O ambiente de programação chama o sistema open () do kernel e executa sua tarefa de abertura de arquivo. Novamente após a execução, o fluxo de controle retorna ao modo de usuário.
Para ilustrar, execute as seguintes tarefas
-
man man
: aqui você encontrará a seção manual de 1 a 8, cada uma com um propósito específico.
- Do
man fopen
: você verá uma resposta como FOPEN(3)
, aqui 3 indica a seção manual 3 de man pages que é a seção de chamadas da biblioteca c.
-
Do man open
: você verá uma resposta como OPEN(2)
, aqui 2 indica a seção manual 2 de man pages que é a seção de chamadas do sistema.
Espero que você tenha entendido o conceito.