A computer operating system in which transfer of control of executing
threads between protection domains is implemented using specific portals
dedicated to the particular transfer of control between two protection
domains. The transfer of control may also include parameter manipulation.
A server registers a portal specification with a portal manager, the
portal specification defining the behavior of portals which transfer
control to the server. Thereafter, when a client application desires
service from the server, the client application requests instantiation of
a portal which will transfer control of an execution thread from the
client application protection domain to the server protection domain. Upon
receipt of the request, the portal manager dynamically generates portal
code and updates a portal table associated with the client application,
thus instantiating the portal. When the client application desires to
invoke the server, the client application issues a system call instruction
which results in switching the processor to privileged mode, followed by a
lookup to the portal table and a transfer of control to the portal code
identified in the portal table. The execution of the portal code results
in transfer of control of the execution thread to the protection domain of
the server. Various parameter manipulation techniques are disclosed for
improving the efficiency of the transfer of control.
Um sistema operando-se do computador em que transferência de controle de executar enfía entre domínios de proteção é executado usando os portals específicos dedicados a transferência de controle particular entre dois domínios de proteção. Transferência de controle pode também incluir a manipulação do parâmetro. Um usuário regista uma especificação portal com um gerente portal, a especificação portal definindo o comportamento dos portals que transferem o controle ao usuário. Depois disso, quando uma aplicação do cliente deseja o serviço do usuário, a aplicação do cliente pede o instantiation de um portal que transfira o controle de uma linha da execução do domínio de proteção da aplicação do cliente ao domínio de proteção do usuário. Em cima do recibo do pedido, o gerente portal gera dinâmicamente o código portal e atualiza uma tabela portal associada com a aplicação do cliente, assim instantiating o portal. Quando a aplicação do cliente deseja invocar o usuário, a aplicação do cliente emite uma instrução da chamada do sistema que resulte em comutar o processador a modalidade privilegiada, seguida por um lookup à tabela portal e a transferência de controle ao código portal identificado na tabela portal. A execução dos resultados portal do código em transferência de controle da linha da execução ao domínio de proteção do usuário. As várias técnicas da manipulação do parâmetro são divulgadas para melhorar a eficiência de transferência de controle.