TSS

Тема в разделе "WASM.OS.DEVEL", создана пользователем TSS, 13 апр 2009.

  1. TSS

    TSS New Member

    Публикаций:
    0
    Кто-нибудь может пояснить, почему в GDT целых 4 дескриптора TSS? Я почему то думал что он должен быть там в единственном экземпляре.
     
  2. TSS

    TSS New Member

    Публикаций:
    0
    Туплю, если бы был только один дескриптор, то отсутствовала бы многозадачность. Осталось разобраться почему дескрипторов там именно четыре...
     
  3. SII

    SII Воин против дзена

    Публикаций:
    0
    В GDT столько TSS, сколько пожелает программист -- в пределах разумного, конечно. Может быть именно один (собственно, в нормальных системах именно так и есть, поскольку аппаратная многозадачность оказалась никому ненужной, и в конце концов -- в 64-разрядных процессорах -- её упразднили).
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Один используется при обработке двойной ошибки #DF, KiTrap08().
    Один используется при обработке NMI(KiTrap02).
    Один рабочий используется планировщиком.
    Зачем нужен есчо один не знаю.
     
  5. SII

    SII Воин против дзена

    Публикаций:
    0
    Clerk
    Угу, но эти два -- для обработки прерываний, а не для реализации многозадачности как таковой.
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    SII
    В виндовс используется програмное переключение задач, TSS используется не полностью, точнее всего несколько полей из неё(Ss, Esp). Аппаратное переключение задач не используется. Еслибы процессор не требовал этого например для обработки прерываний разработчики виндовс вообще отказались бы от использования TSS.
     
  7. TSS

    TSS New Member

    Публикаций:
    0
    Clerk
    Но почему так? Ведь аппаратное переключение задач должно быть быстрее програмного?
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Связано с гибкостью. Например манипуляции с контекстом потока(это и есть понятие задачи).
     
  9. SII

    SII Воин против дзена

    Публикаций:
    0
    TSS
    На 80386 аппаратное переключение было ТОЧНО медленнее программного. Скорей всего, так и в последующих процессорах. Ну и гибкость, о чём уже сказал Clerk. Архитектура ИА-32 -- это сплошной "навязчивый сервис", очень многие вещи в ней, в том числе и многозадачность, спроектированы безобразно, а поэтому неудобны в практическом использовании.
     
  10. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Еще один видимо нужен для обработки #TS или #MC.
     
  11. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Именно #MC.
     
  12. Pushkoff

    Pushkoff New Member

    Публикаций:
    0
    А сколько ядер на проце?
    Может для каждого ядра свой TSS?
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Для каждого свой. Для каждого свой IDT, GDT и пр.