OSDev

для всех
Текущее время: 20 июн 2018, 18:21

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 02 янв 2015, 19:32 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1344
Откуда: Зеленоград
scuter писал(а):
когда я говорил про сегментацию я имел в виду сдвиг указателя кода и сдвиг на указатель данных.

А зачем это нужно?

Цитата:
ты меня правильно понял, только решил что это ошибка или шутка, я имел в виду, что механизма защиты нет.

Значит, я правильно сказал, что это -- бред. Потому что механизм защиты есть -- как и в подавляющем большинстве архитектур, он построен на основе виртуальной памяти, реализуемой страничным механизмом. Единственным известным мне исключением из более-менее современных процессоров является 80286, где защита основывалась на сегментах, а страничного механизма не было. Но во всех процессорах архитектуры IA-32 (80386 и более поздние) страничный механизм был и использовался именно он, сегментация же не использовалась в силу её крайней неэффективности и неудобности.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 янв 2015, 19:38 

Зарегистрирован: 10 апр 2012, 23:19
Сообщения: 277
SII писал(а):
А зачем это нужно?

что бы разные программы запускать без перемещения кода под указатель

SII писал(а):
Значит, я правильно сказал, что это -- бред. Потому что механизм защиты есть -- как и в подавляющем большинстве архитектур, он построен на основе виртуальной памяти, реализуемой страничным механизмом. Единственным известным мне исключением из более-менее современных процессоров является 80286, где защита основывалась на сегментах, а страничного механизма не было. Но во всех процессорах архитектуры IA-32 (80386 и более поздние) страничный механизм был и использовался именно он, сегментация же не использовалась в силу её крайней неэффективности и неудобности.

ну и где тут зашита кода, если там страницы не используются блокировка области памяти не работает,
выделенной области памяти под код и данные нет,
какая тут защита???


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 янв 2015, 19:52 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1088
Цитата:
что бы разные программы запускать без перемещения кода под указатель

При использовании страниц тоже ненадо перемещать данные и код. Страницы эффективнее распределяют память.
Да и защита страниц не только от чтения и записи. У них есть и бит который запрещает исполнение кода.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 янв 2015, 19:58 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1344
Откуда: Зеленоград
scuter писал(а):
что бы разные программы запускать без перемещения кода под указатель


Уже ответил Павия. Кроме того, если "перемещать" программу подобным образом, исключается возможность взаимодействия программ через общее поле памяти -- а эта вещь иногда очень полезная (хотя б потому, что совместно обращаться к общей памяти многократно быстрей, чем посылать друг другу сообщения через систему).

SII писал(а):
ну и где тут зашита кода, если там страницы не используются блокировка области памяти не работает,


Эту часть фразы вообще не понял. Учите русский язык: Вас понимать временами крайне сложно. Запятые и другие знаки препинания отнюдь не идиоты от нечего делать придумали.

Цитата:
выделенной области памяти под код и данные нет


Что значит "выделенной области нет"? Если программа загружена в память, как ей область может не быть выделена?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 янв 2015, 20:00 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1344
Откуда: Зеленоград
pavia писал(а):
При использовании страниц тоже ненадо перемещать данные и код. Страницы эффективнее распределяют память.
Да и защита страниц не только от чтения и записи. У них есть и бит который запрещает исполнение кода.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 янв 2015, 20:18 

Зарегистрирован: 10 апр 2012, 23:19
Сообщения: 277
SII писал(а):
Эту часть фразы вообще не понял. Учите русский язык: Вас понимать временами крайне сложно. Запятые и другие знаки препинания отнюдь не идиоты от нечего делать придумали.

на русский язык пинать не стоит, просто это говорит о нарушениях в нервной системе.

SII писал(а):
Что значит "выделенной области нет"? Если программа загружена в память, как ей область может не быть выделена?

GDT в x86.

но спасибо за ответ, значит в ARM-ах присутствует переадресация и таким образом решается вопрос многозадачности,
а вот как она выглядит эта переадресация, где почитать.


Последний раз редактировалось scuter 02 янв 2015, 21:51, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 янв 2015, 20:23 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1344
Откуда: Зеленоград
scuter писал(а):
где почитать.

Как ни странно, в АРМовском описании архитектуры. Скачивается без всяких ограничений (хотя, возможно, с регистрацией) с фирменного сайта.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 янв 2015, 20:28 

Зарегистрирован: 10 апр 2012, 23:19
Сообщения: 277
SII писал(а):
Как ни странно, в АРМовском описании архитектуры. Скачивается без всяких ограничений (хотя, возможно, с регистрацией) с фирменного сайта.

да я понял жадный ты SII
About the MMU
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0198e/Babegida.html


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB