TLS в thread_struct

Тема в разделе "WASM.UNIX", создана пользователем friackazoid, 20 янв 2010.

  1. friackazoid

    friackazoid New Member

    Публикаций:
    0
    Регистрация:
    4 июн 2009
    Сообщения:
    102
    сем дорого времени суток!

    Может кто-то знает кукую реальную роль играет поле tls_array в thread_struct
     
  2. linuxmodule

    linuxmodule New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    25
    tls_array хранит селекторы сегментов TLS локального процесса
     
  3. friackazoid

    friackazoid New Member

    Публикаций:
    0
    Регистрация:
    4 июн 2009
    Сообщения:
    102
    Насколько я понимаю в момент выполения треда эти селекторы кладутся в GDT процессора на котором выполняется тред. В этих селектораях хранится информация касающаяся привилегий треда в частности dpl. Но как говорит интеловский ман при выполнении инструкции привелегии треда берутся из селекторов сегмента которые находятся в cs и ds соответственно. Влияет ли то что в tls полях gdt на это или нет?

    Под отладчиком видно что запуске какого-то пользовательского процесса при прохождении через do_fork в tls_array инициализирован только первый элемент. Это значит что 2 других элемента не используются или это имеется в виду что у пользовательского процесса стек и данные как бы в ядерном контексте %) ?
     
  4. linuxmodule

    linuxmodule New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    25
    Никогда не читал интеловские мануалы.. и не советую (всё очень поверхностно там).

    Ответ на вопрос находится с 123 страницы по 185 книги "Ядро LINUX" Д.Бовет, М.Чезати.
    Точнее не отвечу :)