Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I read Multics operating system. In the segment descriptor word (book) there is one part for number of gates for the segment. What does gate mean? I know the process can enter a higher-privileged ring if the gates allow (use one of the valid segment gates as an entry point) but I don't know correctly what does gate mean?

Thanks.

share|improve this question

1 Answer 1

up vote 3 down vote accepted

A gate is simply a specially declared entry point (an entry point would be called a routine, function, or procedure in today's language). The compiler or assembler will generate additional information for entry points that are gates. A gate entry point can be called by code that is running at a less privileged ring than that of the gate. Non gate entry points cannot be called from code running in higher numbered (less privileged) rings.

See section 8 of the AL-39 manual and the description of the call6 instruction for more detail. Here's a snippit:

Gates are procedures residing in a given ring and intended to provide controlled access to the ring. A program that is in ring R can enter an inner ring r only by calling one of the gate procedures associated with this inner ring r. Gates must be carefully coded and must not trust any data that has been manufactured or modified by the caller in a less privileged ring. In particular, gates must validate all arguments passed to them by the caller so as not to compromise the protection of any segment residing in the inner ring.

share|improve this answer
    
Thanks for answer. –  Fatime Dec 3 '13 at 8:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.