Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 252

Раздел: Ассемблер
/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Вопрос касается процессоров Intel в защищенном режиме, очень интересно каким образом они переключаются между задачами.
Подозреваю что есть либо какой то диапазон адресов в оперативной памяти, либо какойто внутренний кэш и специфичный региср или регистры.
Очень надеюсь что найдется кто нибудь знающий.
P.S. особенно хотелось бы узнать название какой нибудь книжки, где этот вопрос освещается.

SOA Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: SOA (статус: Посетитель)
Вопрос отправлен: 31 мая 2010, 15:09
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Beras Kinis Olim

http://depositfiles.com/ru/files/xzo1uddse
В книге описаны особенности защищенного режима работы процессора, процедура переключения в защищенный режим и возврата в реальный режим

Ответ отправил: Beras Kinis Olim (статус: 1-ый класс)
Время отправки: 31 мая 2010, 15:14


Мини-форум вопроса

Всего сообщений: 8; последнее сообщение — 31 мая 2010, 20:02; участников в обсуждении: 2.
SOA

SOA (статус: Посетитель), 31 мая 2010, 15:16 [#1]:

Если это фролов то у меня ужо есть ;)
Вадим К

Вадим К (статус: Академик), 31 мая 2010, 15:17 [#2]:

В целом, в процессоре есть механизмы для поддержки мальтизадачности, но операционные системы обычно используют свои методы.
Например, классический вариант может выглядеть так. по прерыванию пробуждается менеджер процессов. Он смотрит на текущее состояние процессов и по необходимости делает переключение процесса. Оно заключается в том, что вначале для текущего процесса сохраняется контекст (состояние регистров), потом выбирается новая задача и ее контекст загружается. Так как планировщик работает в прерывании, то текущий процесс остановлен. Приблизительно так работает и Windows, и Linux.

Вам хочется узнать об этом с какой целью?
- писать свою ось
- поисследовать в текущей
- что то свое.
Галочка "подтверждения прочтения" - вселенское зло.
SOA

SOA (статус: Посетитель), 31 мая 2010, 15:22 [#3]:

Как понимаю я мультизадачность какраз обеспечивается архитектурой самого процессора начиная с 286 intela, потому и думаю что за переключение между задачами отвезает сам процессор, используя какието механизмы, а ОС только использует внутренние механизмы процессора, облегчая их использование, предоставляя свои API для этого.
SOA

SOA (статус: Посетитель), 31 мая 2010, 15:24 [#4]:

Интересно потому что если узнать механизм переключения задач на уровне проца а не API windows то можно переключаться между задачами и под Windows и под UNIX, а также залезть в чужое адресное пространство.
Вадим К

Вадим К (статус: Академик), 31 мая 2010, 16:23 [#5]:

Ещё раз пишу - не использует ни Windows, ни Linux встроенные в проц средства. А свои.
А вот зачем переключаться между процессами - я не знаю. Смысл?

Что бы залезть в чужое адресное пространство, не нужно уметь переключаться между процессами - есть специальные апи.

А вот универсального решения для двух операционок врядкли получиться сделать.
Галочка "подтверждения прочтения" - вселенское зло.
SOA

SOA (статус: Посетитель), 31 мая 2010, 16:45 [#6]:

Из книг следует что многозадачность обеспечивает архитектура процессора, а не операционки, они лишь используют эту возможность. Подозреваю что копать нужно в сторону систем защиты многозадачности.
Вадим К

Вадим К (статус: Академик), 31 мая 2010, 16:57 [#7]:

правильная формулировка "они могут использовать эти возможности". Но не обязаны.
"защита многозадачности" - хорошее сочетание.
Галочка "подтверждения прочтения" - вселенское зло.
SOA

SOA (статус: Посетитель), 31 мая 2010, 20:02 [#8]:

Вы правы windows не использует TSS, а эмулирует это както програмно, но тогда встает вопрос: Почему до 286 не смогли програмно эмулировать многозадачность, вот что странно и бросается в глаза на мой взгляд.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:00
Выполнено за 0.03 сек.