| 
| 
 | Вопрос # 4 252/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Вопрос касается процессоров Intel в защищенном режиме, очень интересно каким образом они переключаются между задачами.
 Подозреваю что есть либо какой то диапазон адресов в оперативной памяти, либо какойто внутренний кэш и специфичный региср или регистры.
 Очень надеюсь что найдется кто нибудь знающий.
 P.S. особенно хотелось бы узнать название какой нибудь книжки, где этот вопрос освещается.
 
|  |   Вопрос задал: 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 (статус: Посетитель), 31 мая 2010, 15:16 [#1]:Если это фролов то у меня ужо есть   |  
|   | Вадим К (статус: Академик), 31 мая 2010, 15:17 [#2]:В целом, в процессоре есть механизмы для поддержки мальтизадачности, но операционные системы обычно используют свои методы. Например, классический вариант может выглядеть так. по прерыванию пробуждается менеджер процессов. Он смотрит на текущее состояние процессов и по необходимости делает переключение процесса. Оно заключается в том, что вначале для текущего процесса сохраняется контекст (состояние регистров), потом выбирается новая задача и ее контекст загружается. Так как планировщик работает в прерывании, то текущий процесс остановлен. Приблизительно так работает и Windows, и Linux.
 
 Вам хочется узнать об этом с какой целью?
 - писать свою ось
 - поисследовать в текущей
 - что то свое.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | SOA (статус: Посетитель), 31 мая 2010, 15:22 [#3]:Как понимаю я мультизадачность какраз обеспечивается архитектурой самого процессора начиная с 286 intela, потому и думаю что за переключение между задачами отвезает сам процессор, используя какието механизмы, а ОС только использует внутренние механизмы процессора, облегчая их использование, предоставляя свои API для этого. |  
|   | SOA (статус: Посетитель), 31 мая 2010, 15:24 [#4]:Интересно потому что если узнать механизм переключения задач на уровне проца а не API windows то можно переключаться между задачами и под Windows и под UNIX, а также залезть в чужое адресное пространство. |  
|   | Вадим К (статус: Академик), 31 мая 2010, 16:23 [#5]:Ещё раз пишу - не использует ни Windows, ни Linux встроенные в проц средства. А свои. А вот зачем переключаться между процессами - я не знаю. Смысл?
 
 Что бы залезть в чужое адресное пространство, не нужно уметь переключаться между процессами - есть специальные апи.
 
 А вот универсального решения для двух операционок врядкли получиться сделать.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | SOA (статус: Посетитель), 31 мая 2010, 16:45 [#6]:Из книг следует что многозадачность обеспечивает архитектура процессора, а не операционки, они лишь используют эту возможность. Подозреваю что копать нужно в сторону систем защиты многозадачности. |  
|   | Вадим К (статус: Академик), 31 мая 2010, 16:57 [#7]:правильная формулировка "они могут использовать эти возможности". Но не обязаны. "защита многозадачности" - хорошее сочетание.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | SOA (статус: Посетитель), 31 мая 2010, 20:02 [#8]:Вы правы windows не использует TSS, а эмулирует это както програмно, но тогда встает вопрос: Почему до 286 не смогли програмно эмулировать многозадачность, вот что странно и бросается в глаза на мой взгляд. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |