Сколько в системе IDT и почему? Прочитал, вроде в системе IDT столько, сколько и процессоров. А почему? Почему она не одна или не у каждого процесса/потока своя? Еще вопрос: может ли процесс иметь несколько LDT?
В системе IDT находится по одному дескриптору для каждого вектора прерывания (общее количество векторов обычно составляет 256). Каждый дескриптор содержит информацию о том, как обрабатывать соответствующее прерывание, включая адрес обработчика прерывания и уровень привилегий, на котором будет выполняться обработчик.
IDT не связана напрямую с количеством процессоров в системе. В общем случае, у каждого процессора в системе есть своя собственная IDT. Это связано с тем, что каждый процессор в многоядерной системе может обрабатывать прерывания независимо от других процессоров.
Отдельная IDT для каждого процесса/потока не используется потому, что это затратно с точки зрения использования ресурсов системы. Вместо этого используется общая IDT для всех процессоров, обрабатывающих прерывания.
Что касается LDT (Local Descriptor Table), то в процессе обычно используется только одна LDT. Однако, в некоторых случаях возможно использование нескольких LDT, но это редко используемая и сложная конструкция.
В системе IDT находится по одному дескриптору для каждого вектора прерывания (общее количество векторов обычно составляет 256). Каждый дескриптор содержит информацию о том, как обрабатывать соответствующее прерывание, включая адрес обработчика прерывания и уровень привилегий, на котором будет выполняться обработчик.
IDT не связана напрямую с количеством процессоров в системе. В общем случае, у каждого процессора в системе есть своя собственная IDT. Это связано с тем, что каждый процессор в многоядерной системе может обрабатывать прерывания независимо от других процессоров.
Отдельная IDT для каждого процесса/потока не используется потому, что это затратно с точки зрения использования ресурсов системы. Вместо этого используется общая IDT для всех процессоров, обрабатывающих прерывания.
Что касается LDT (Local Descriptor Table), то в процессе обычно используется только одна LDT. Однако, в некоторых случаях возможно использование нескольких LDT, но это редко используемая и сложная конструкция.