| 
| 
 | Вопрос # 4 047/ вопрос открыт / | 
 |  Привет всем.Я хотел бы узнать в каком режиме работает процессор(виртуальный подx86; реальный; защищенный) по отношению к чужому приложению (32 битному). Сразу же напрашивается ответ, что в защищенном, но в защищенном режиме насколько я знаю нельзя изменять регистры cs, ds,es,ss, а программа их интенсивно меняет, потому и спрашиваю.
 Надеюсь ктонибудь знает как разобраться.
 
|  |   Вопрос задал: SOA (статус: Посетитель)Вопрос отправлен: 16 апреля 2010, 10:29
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, SOA!при старте компьютера (или сброса процессора), он стартует в реальном режиме, а потом уже может быть переключен.
 Windows переключает его в защищенный режим. Потому как только в этом режиме можно легко адресовать 4Гб памяти.
 
 А то что "сегментные регистры" меняются, Вас тревожить не должно. У них в этом режиме другое предназначение. Они хранят селекторы. Используя селекторы, операционная система с процессором контролируют доступ к памяти (защита памяти) и организовывают виртуальные 4Гб каждому процессу. Чуть подробнее здесь http://avsdov.newmail.ru/modes/modes.htm
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 16 апреля 2010, 11:03
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 4; последнее сообщение — 17 апреля 2010, 17:08; участников в обсуждении: 2. 
|   | SOA (статус: Посетитель), 16 апреля 2010, 12:12 [#1]:Понимаете Вадим у вас написано все верно, но это не решает моей проблемы по определению в каком режиме работает процессор, потому что я читал в книге что значения сегментных регистров в защищенном режиме изменять нельзя, а программы, например написанные на том же ассемблере легко могут работать как в реальном, так и в виртуальном режиме x86, и конечно могут работать и в защищенном, что я подозреваю можно также реализовать и на Delphi и на C++, что собственно и заводит меня в тупик, возможно помимо сегментных регистров, есть какие либо другие регистры, указывающие на то в каком режиме работает процессор по отношению к данной программе(задаче), вы не в курсе? |  
|   | SOA (статус: Посетитель), 16 апреля 2010, 12:15 [#2]:P.S. спасибо за ссылку почитаю 8) |  
|   | SOA (статус: Посетитель), 17 апреля 2010, 17:08 [#4]:Спасибо за ссылку(http://avsdov.newmail.ru/modes/modes.htm) Вадим, оттуда узнал что Защищенный режим можно по установленному нулевому биту регистра CR0
 Виртуальный режим можно определить по установленному 17 биту регистра флагов
 Реальный определяется по сбросу нулевого в CR0 и 17 в EFLAGS.
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |