TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Kernel Minix

Trabalho Escolar: Kernel Minix. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  11/10/2013  •  3.213 Palavras (13 Páginas)  •  602 Visualizações

Página 1 de 13

MINIX 3 Kernel API

Stale page

O counteúdo desse texto deve ser revisado afim de refletir o atual estado do MINIX3.

2012-03-31 note: com o sys_vumap, foi dado o primeiro passo para começar a documentar chamadas de API ao invés de protocolos

Geralmente as chamadas de kernell permitem os processos do sistema para solicitar serviços do kernell, fazer operações privilegiadas por exemplo. Esse document brevemente discute a organização das chamadas de kernell no MINIX 3 e providencia uma visão geral de todas as chamadas de kernell.

Esse document visa descrever o Kernel API do MINIX 3 git-trunk. Mesmo sendo um trabalho em constante progresso , qualquer incompatibilidade entre esse documento e SVN-current são não intencionais.

1. Organização das chamadas de kernell

Uma chamada de kernell significa que um requerimento é enviado a um kernell onde é manuseado por uma das tarefas de kernell. Os detalhes da montagem de uma chamada de requerimento, mandando ela para o kernell e esperando pela resposta estão convenientemente escondidas numa biblioteca do sistema.

O arquivo de cabeçalho dessa biblioteca é src/include/minix/syslib.h e a sua implementação é encontrada em src/lib/syslib.

A implementação real das chamadas de kernell são definidas no SYSTEM kernel task. Suponha que um programa faça uma sys_call() (chamada de sistema).Por convenção , essa chamada é transformada numa mensagem de requerimento com o tipo de SYS_CALL que é mandada para a tarefa de kernell SYSTEM.

A tarefa SYSTEM cuida do requerimento numa função chamada do_call() e retorna o resultado.

O mapeamento dos numerous de chamadas de kernell e funções do manipulador é feito durante a Resposta de inicialização da tarefa SYSTEM. src/kernel/system.c. Os protótipos das funções de manipulador são declarados em src/kernel/system.h. A sua aplicação está contida em arquivos separados no diretório src/kernel/system/. Esses arquivos são compilados na biblioteca /src/kernel/system/system.a que esta ligada ao kernell.

Os números de chamada do kernel eo seu pedido e parâmetros de resposta são definidos no src/include/minix/com.h. Todas as chamadas de kernell são iniciadas com SYS_ e todos os parametros que pertencem a mesma chamada de kernell dividem um prefixo em comum.

2. Visão por cima de chamadas de kernel MINIX 3

Table 1:Esta tabela fornece uma visão geral das chamadas do kernel no MINIX 3

Chamada de kernell Propósito

Gestão de Recursos

SYS_FORK

Deslocar um processo; copiar processo parecido.

SYS_EXEC

Executar um processo; iniciar registradores.

SYS_EXIT

Sair de um processo de usuário; liberar vaga de processo

SYS_NICE

Mudar a prioridade de um processo de usuário

SYS_PRIVCTL

Alterar os privilégios de processo do sistema

SYS_TRACE

Rastrear ou controlar de execução do processo

SYS_SETGRANT

Dizer ao kernel sobre a tabela de subsídio

SYS_RUNCTL

Definer\liberar marcação de um processo

MANIPULAÇÃO DE SINAL

SYS_KILL

Enviar um sinal a um processo

SYS_GETKSIG

Verifique se há sinais de kernel pendentes

SYS_ENDKSIG

Dizer que o sinal de kernel foi processado

SYS_SIGSEND

Começar o POSIX-style (manipulador de sinal)

SYS_SIGRETURN

Retornar o sinal do POSIX-style

GESTÃO DE MEMÓRIA

SYS_NEWMAP

Instalar mapa novo ou atualizado na memória

SYS_MEMSET

Encher uma área de memória física com um byte de padrão constante

SYS_VMCTL

(a ser documentado)

Copiar dados

SYS_UMAP

Mapear do virtual para endereço físico

SYS_VUMAP

Batch mapas do virtual para endereço físico

SYS_VIRCOPY

Copiar dados utilizando endereçamento virtual

SYS_PHYSCOPY

Copiar dados utilizando endereçamento físico

SYS_SAFECOPYFROM

Copiar de um subsídio no espaço de endereço próprio

SYS_SAFECOPYTO

Copie o endereço do espaço próprio para a concessão

SYS_VSAFECOPY

Manusear vetor com solicitações de cópia de segurança

SYS_SAFEMEMSET

Encher uma concessão com um byte padrão constante

MEMÓRIA DE COMPARTILHAMENTO

SYS_SAFEMAP

Mapear uma área de concessão como memória compartilhada

SYS_SAFEREVMAP

Revogar a concessão de memória compartilhada

SYS_SAFEUNMAP

Tirar do mapa uma memória compartilhada

APARELHOS DE I/O

SYS_DEVIO

Ler ou escrever um único registrador de dispositivo

SYS_SDEVIO

Entrada

...

Baixar como (para membros premium)  txt (23.1 Kb)  
Continuar por mais 12 páginas »
Disponível apenas no TrabalhosGratuitos.com