Шостий урок захищеного режиму.
Попередні :
- "Уроки захищеного режиму x86. Урок 0 та 1".
- "Уроки захищеного режиму x86. Урок 2".
- "Уроки захищеного режиму x86. Урок 3".
- "Уроки захищеного режиму x86. Урок 4".
- "Уроки захищеного режиму x86. Урок 5".
Базою для цих матеріалів служать уроки уроки захищеного режиму Алексея Фрунзе.
Ліцензія на код -- GPL2+, ліцензія на тексти -- GFDL.
Довідкова інформація взята з відкритих джерел на просторах Інтернету, зокрема з офіційних мануалів Intel.
Традиційне і очевидне -- жодних гарантій.
Довідкова інформація взята з відкритих джерел на просторах Інтернету, зокрема з офіційних мануалів Intel.
Традиційне і очевидне -- жодних гарантій.
Урок номер 6
Майже те ж, що і в уроці 5. Додано переключення задач. main() переключається на tast(), виконуючи дальній перехід на TSS. Потім task() чекає на клавішу ESC і отримавши її, переключається назад, на main(). Обидві задачі на рівні привілей 0, тому карта дозволу вводу-виводу в TSS не потрібна. Також непотрібними є стеки для міжрівневих переходів --- SS0:ESP0, SS1:ESP1, SS2:ESP2.
Описано:
- Призначення та формат TSS,
- Процес апаратного переключення задач,
- Коротко про нюанси -- ланцюжки задач, шлюзи задач, задачі як обробники переривань, тощо.
Архів з файлами уроку: pm_06.zip.
Незначні зміни, доповнення та виправлення будуть вноситися прямо в цей файл, про що я старатимуся повідомляти.
На сьогодні все. Наступний урок буде присвячений багатозадачності з примусовим виштовхуванням задач.
На сьогодні все. Наступний урок буде присвячений багатозадачності з примусовим виштовхуванням задач.
Дякую за увагу
Якщо є запитання, виправлення, пропозиції - пишіть! Багато часу цьому приділяти, на жаль, не можу, але якщо з того буде комусь користь - спробуємо щось придумати.
Немає коментарів:
Дописати коментар