O que significa gate no sistema operacional Multics?

4

Eu li o sistema operacional Multics. Na palavra do descritor de segmento (livro) há uma parte para o número de portas para o segmento. O que o portão significa? Eu sei que o processo pode entrar em um anel com maior privilégio se as portas permitirem (use um dos portais de segmento válidos como um ponto de entrada), mas não sei corretamente o que significa gate?

Obrigado.

    
por Fatime 29.11.2013 / 02:45

2 respostas

4

Um gate é simplesmente um ponto de entrada especialmente declarado (um ponto de entrada seria chamado de rotina, função ou procedimento no idioma de hoje). O compilador ou montador gerará informações adicionais para pontos de entrada que são portas. Um ponto de entrada de porta pode ser chamado pelo código que está sendo executado em um anel com menos privilégios do que o do gate. Pontos de entrada não-gate não podem ser chamados a partir do código em execução em anéis com números mais altos (menos privilegiados).

Veja a seção 8 do manual do AL-39 e a descrição da instrução call6 para mais detalhes. Aqui está um trecho:

As portas são procedimentos que residem em um determinado anel e destinam-se a fornecer acesso controlado a o anel. Um programa que está no anel R pode entrar em um anel interno apenas chamando um dos procedimentos de porta associados a este anel interno r. As portas devem ser cuidadosamente codificadas e não devem confiar em nenhum dado que tenha sido fabricado ou modificado pelo chamador em um anel menos privilegiado. Em particular, as portas devem validar todos os argumentos passados a eles pelo chamador, de modo a não comprometer a proteção de qualquer segmento que resida no anel interno.

    
por 03.12.2013 / 07:07
0

FYI, um mecanismo de gate call muito semelhante para a transição de anel como foi usado em Multics também está disponível em todos os sistemas Intel x86 que suportam "modo protegido", então a partir de 80286.

    
por 03.11.2015 / 20:43