Tuesday, April 17, 2018

Criando e executando um processo


** Criando e executando um processo **


Há muitas formas de criar e executar um processo.Nessa postagem vou pontuar alguns rumos pra nossa conversa.


[ visão geral ]

Dentro do kernel você vai ter uma função que cria um processo e esse processo terá uma thread primária e seu próprio diretório de páginas. Você poderá chamar essa função para criar um processo.


[fork malandro]

A função fork é só um jeito malandro de criar um novo processo, pois ao invés de criar um novo diretório de páginas para o novo processo, é apenas clonado provisoriamente o diretório de páginas do processo pai. Herdando também outros recursos como o fluxo padrão.


[threads]

+Existem threads criadas pelo kernel para rodarem em kernel mode e threads para rodarem em user mode. Um aplicativo em user mode pode chamar o kernel para criar threads.

+Existem threads criadas e gerenciadas pelos aplicativos. Essas threads precisarão de uma thread criada pelo kernel para rodarem. Ou seja, um gerenciador de threads que fica em user mode pode criar threads, mas para que suas threads rodem ele precisa de threads correspondentes criadas pelo kernel.


[criando o processo]

O kernel pode criar processos.O aplicativo em user mode pode chamar o kernel para criar processos.


[executando um processo]

O kernel pode executar um processo. Um aplicativo em user mode pode chamar o kernel para executar um processo.


[...]

No comments:

Post a Comment

Executando programa

** Um momento de glória ** Finalmente Kernel Dev ! A partir de agora eu posso carregar e executar um programa usando o meu shell. ...