passando do modo de usuário para o modo kernel

1

Eu li o seguinte:

"All processes begin execution in user mode, and they switch to kernel mode only when obtaining a service provided by the kernel."

Quando diz "obtendo um serviço fornecido pelo kernel", "service" refere-se a uma chamada de sistema como fork() ou operação de I / O como acessar informações de um periférico como um teclado?

Isso significa que, durante esse tipo de operação, como gerar um novo subprocesso ou operações de E / S, o processo em execução no modo kernel é executado e o acesso às funções de baixo nível do kernel?

Aqui está a fonte: link

    
por JohnMerlino 05.01.2014 / 21:50

1 resposta

4

1) Eu suspeito que um "serviço" significa syscall neste contexto.

2) Eu acho que "eles trocam", "obtenção" e "puts" são termos errados do que acontece. Isso sempre depende do ponto de vista. Assim, o kernel gera novos processos e os programa como tarefas. O processo de espaço do usuário chama um serviço do kernel como uma solicitação. Assim, o processo nunca terá acesso às funções de baixo nível do kernel. No entanto, alguns bandidos conseguem acesso através de uma vulnerabilidade a ele.

BTW: Quem escreveu isso?

    
por 05.01.2014 / 23:31