Важная информация

User Tag List

Результаты опроса: Какая многозадачность нужна в OS для Speccy?

Голосовавшие
48. Вы ещё не участвовали в этом опросе
  • Однозадачность

    11 22.92%
  • Кооперативная многозадачность

    8 16.67%
  • Вытесняющая многозадачность

    22 45.83%
  • Не знаю

    0 0%
  • Мамы всякие нужны,..

    1 2.08%
  • А мне ничего не надо

    1 2.08%
  • Делайте что хотите

    5 10.42%
Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 24

Тема: Многозадачность

  1. #11
    Master
    Регистрация
    27.01.2005
    Сообщений
    905
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    176
    Поблагодарили
    142 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Многозадачность НУЖНА однозначно. Иначе это будет не ОС, а какойто СуперКоммандер для запуска игрушек. А так можно скажем запустить игрушку и другую задачу, которая будет, скажем, отладчиком. Игрушка играется, отладчик в фоне чтото отслеживает. Или скажем читать текст и слушать музон в МП3 (если конечно аппаратный декодер прикрутить). Да мало ли ? ОС 21го века не должна быть однозадачной )

  2. #12
    Activist Аватар для Alex/AT
    Регистрация
    14.03.2005
    Адрес
    Russia, Saint-Petersburg
    Сообщений
    213
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а ты знаешь что это уже давным-давно реализовано в "настоящих" ОС? %)
    это функции sleep, alarm, wait (UNIX), sleep, yield (win). и никаких проблем нету
    То же самое сделано в RTK. Единственное отличие - это то, что "в настоящих ОС" требуется аппаратная поддержка переключения контекста. У нас этого нет.

  3. #13
    Master Аватар для elf/2
    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Давай. Дай определение потоков и задач в моих интрах, учитывая отсутствие MMU
    каюсь. грешен. не имел счастья видеть твои интры... у уж тем более смотреть как там все устроено.
    но подозреваю что потоки используют общую память и руляться специально заточенным под конкретную задачу менеджером.

    если я правильно понял автора данного опроса, то имелось в виду многозадачность в оси. в таком контексте имеет смысл разделять понятия: поток и задача (независимо от того что эти понятия используются в существующих осях)

  4. #14
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex/AT
    Единственное отличие - это то, что "в настоящих ОС" требуется аппаратная поддержка переключения контекста. У нас этого нет.
    А что значит 'аппаратная поддержка переключения контекста'? Вон, в 68k и даже powerpc такого нет, но оси себя чувствуют отлично, в том числе и линухообразные! =)

  5. #15
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от elf/2
    каюсь. грешен. не имел счастья видеть твои интры... у уж тем более смотреть как там все устроено.
    но подозреваю что потоки используют общую память и руляться специально заточенным под конкретную задачу менеджером.
    Естественно заточенным под задачу (двузадачным даже), но а вот в амигаос тоже заточенным под задачу рулится (т.е. менеджером именно для амигаОС) и тоже память общая. Во многих вытесняющих РТОС тоже память общая. И что же - теперь все они всего лишь навсего многопоточные? Я и говорю - не надо с мерками линуха подходить ко всему. Линух - далеко не эталон. А кругозор полезно расширять хоть иногда. =)

    если я правильно понял автора данного опроса, то имелось в виду многозадачность в оси. в таком контексте имеет смысл разделять понятия: поток и задача (независимо от того что эти понятия используются в существующих осях)
    Каким образом и почему имеет смысл? Задача = указатель PC + стек + состояние остальных регистров + некая инфа для свичера (приоритеты и т.д.), чем это от потока отличается??

    Про бритву Оккама что ли напомнить? Или не надо? =)

  6. #16
    Master Аватар для elf/2
    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Каким образом и почему имеет смысл? Задача = указатель PC + стек + состояние остальных регистров + некая инфа для свичера (приоритеты и т.д.), чем это от потока отличается??
    при переключении потоков тебе на надо беспокоится о сохранении/восстановлении блоков памяти. поскольку память у потоков общая и за ее сохранность отвечает только твоя задача.
    в случае нескольких независимых задач в худшем случае придется память текущей задачи он новой прятать...

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от elf/2
    при переключении потоков тебе на надо беспокоится о сохранении/восстановлении блоков памяти. поскольку память у потоков общая и за ее сохранность отвечает только твоя задача.
    в случае нескольких независимых задач в худшем случае придется память текущей задачи он новой прятать...
    В линухе и в винде блоки памяти никто не сохраняет при переключении контекста (своп пока не рассматриваем). Просто переключают таблицы ММУ - если у каждого процесса своя виртуальная память.

    В осях без защиты памяти опять же никто блоки памяти не копирует - все просто живут в общей памяти. Я ещё не встречал ни одной оси без защиты памяти, где при переключении контекста КОПИРУЕТСЯ вся память процесса. Такие вообще существуют? =) Подозреваю, что нет, но даже если и существуют, то это не означает, что такое же извращение надо на спеке делать.

  9. #18
    Master Аватар для elf/2
    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    В линухе и в винде блоки памяти никто не сохраняет при переключении контекста (своп пока не рассматриваем). Просто переключают таблицы ММУ - если у каждого процесса своя виртуальная память.

    В осях без защиты памяти опять же никто блоки памяти не копирует - все просто живут в общей памяти. Я ещё не встречал ни одной оси без защиты памяти, где при переключении контекста КОПИРУЕТСЯ вся память процесса. Такие вообще существуют? =) Подозреваю, что нет, но даже если и существуют, то это не означает, что такое же извращение надо на спеке делать.
    а кто здесь обсуждает линух или винду да еще с MMU?

    само собой _ВСЮ_ память процесса никто копировать никуда не будет. но, согласно некоторым сообщениям в соседних ветках:
    1. код процесса живет в странице -> переключаемся на новую
    2. часть выделенной памяти живет в куче (ниже #c000) поэтому если новому процессу надо много памяти в куче, то надо спрятать RW блоки текущего процесса и вернуть/выделить блоки для нового.

    само собой такой изврат будет не при каждом переключении задачи, но при недостатке памяти+отсуствии_защиты+1_п� �реключаемая_страница все равно придется делать копирование время от времени. другой вариант - более серьезные ограничения накладываемые на задачи (макс. объем нижней памяти)

  10. #19
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от elf/2
    само собой _ВСЮ_ память процесса никто копировать никуда не будет. но, согласно некоторым сообщениям в соседних ветках:
    1. код процесса живет в странице -> переключаемся на новую
    2. часть выделенной памяти живет в куче (ниже #c000) поэтому если новому процессу надо много памяти в куче, то надо спрятать RW блоки текущего процесса и вернуть/выделить блоки для нового.

    само собой такой изврат будет не при каждом переключении задачи, но при недостатке памяти+отсуствии_защиты+1_п� �реключаемая_страница все равно придется делать копирование время от времени. другой вариант - более серьезные ограничения накладываемые на задачи (макс. объем нижней памяти)
    Я вот думаю, будет ли оно в таком виде вообще юзабельным и даст ли какие преимущества в случае с тем же аль-асмом например? После предложений, что код в страницах, а данные будут лдириться время от времени, у меня закрадываются сильные сомнения... =)

  11. #20
    Master Аватар для elf/2
    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    После предложений, что код в страницах, а данные будут лдириться время от времени, у меня закрадываются сильные сомнения... =)
    честно говоря у меня тоже но именно такие идеи продвигаются в соседних ветках. и именно на базе этого подхода предлагается строить многозадачную ось

    зы: возможно я не до конца понял идеи GriV'а и Vitamin'а, но если что они меня поправят

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •