Сколько в системе IDT и почему? Прочитал, вроде в системе IDT столько, сколько и процессоров. А почему? Почему она не одна или не у каждого процесса/потока своя?
Еще вопрос: может ли процесс иметь несколько LDT?

21 Авг 2019 в 06:53
186 +1
0
Ответы
1

В системе IDT находится по одному дескриптору для каждого вектора прерывания (общее количество векторов обычно составляет 256). Каждый дескриптор содержит информацию о том, как обрабатывать соответствующее прерывание, включая адрес обработчика прерывания и уровень привилегий, на котором будет выполняться обработчик.

IDT не связана напрямую с количеством процессоров в системе. В общем случае, у каждого процессора в системе есть своя собственная IDT. Это связано с тем, что каждый процессор в многоядерной системе может обрабатывать прерывания независимо от других процессоров.

Отдельная IDT для каждого процесса/потока не используется потому, что это затратно с точки зрения использования ресурсов системы. Вместо этого используется общая IDT для всех процессоров, обрабатывающих прерывания.

Что касается LDT (Local Descriptor Table), то в процессе обычно используется только одна LDT. Однако, в некоторых случаях возможно использование нескольких LDT, но это редко используемая и сложная конструкция.

20 Апр в 13:11
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 94 888 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир