Procedury wywołań systemowych poziomu jądra systemu
Użycie wywołania systemowego powoduje przekazanie kontroli według informacji zawartej w deskryptorze bramki zadania umieszczonym w IDT. W przypadku implementowanego systemu, wywołanie przerwania programowego 0x22 powoduje zmianę poziomu uprzywilejowania procesora na najwyższy, a następnie uruchomienie procedury gate_wrapper. Procedura ta ma za zadanie uruchomienie procedury rozdzielającej wywołania systemowe sys_calls przekazując jej jako parametry wskaźnik na kontekst aktualnego procesu (podobnie jak podczas wywłaszczania procesów - jedynie fragment struktury jest dostępny), oraz numer wywołania systemowego. Procedura sys_calls uruchomia żądaną przez aplikację procedure wywołania systemowego.
Ponieważ wszystkie argumenty wywołania systemowego znajdują się na stosie aplikacji, istnieje potrzeba chwilowego przełączenia stosu. Aby uniknąć niebezpieczeństwa wywołania w tym momencie przerwania, należy tymczasowo wyzerować flagę IF procesora.
Przykład wywołania systemowego poziomu jądra systemu z pozostawieniem wartości zwracanej na stosie:
Po wykonaniu odpowiedniej procedury, wywołanie systemowe kończy pracę, wracając do aplikacji w sposób podobny do powrotu z przerwania.