Перейти к содержанию

Legacy system call / Fast system calls


Рекомендуемые сообщения

Доброе время суток.

Пытаюсь разобраться как работают системные вызовы.

Вижу что существует два способа системных вызовов Legacy system call / Fast system calls

Нашел документы 
https://blog.packagecloud.io/eng/201...y-system-calls и https://blog.packagecloud.io/eng/201...t-system-calls

Меня интересует как работает обработка системного вызова в обоих случаях - Legacy system call / Fast system calls.

 И в чём точно разница между ними?

Например как я понял, в Legacy system call, возьмем для примера команду "write", когда OS доходит до этой команды, происходит системный вызов. 

Кака я понял процесс такой:

1. Код бежал  в User space Пока не дошел до system call "write".


2. Затем этот процес получил системный код, например 10 и OS занесла его в register.

3. Через Trap to Kernel мы идем в System call handler в ячейку с номером 10. В этой ячейке записан номер памяти (например FF00) команды "write" которая должна обработаться ядром.

Таким образом мы общается с ядром. Когда мы переходим в адрес FF00 перед выполнением команды "write" OS проверяет есть ли у меня нужные полномочие для этой операции.

Это вроде процесс Legacy system call.

А вот в Fast system calls я не могу разобраться. Почему и засчет чего он быстрее Legacy system call?
Как работает этот процесс например для того же (как пример) system call "write"? 

Буду признателен за помощь в этом вопросе.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...