OSDev
http://osdev.ru/

ARM многозадачность и сегментация
http://osdev.ru/viewtopic.php?f=5&t=1035
Страница 2 из 2

Автор:  SII [ 02 янв 2015, 19:32 ]
Заголовок сообщения:  Re: ARM многозадачность и сегментация

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

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

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

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

Автор:  scuter [ 02 янв 2015, 19:38 ]
Заголовок сообщения:  Re: ARM многозадачность и сегментация

SII писал(а):
А зачем это нужно?

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

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

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

Автор:  pavia [ 02 янв 2015, 19:52 ]
Заголовок сообщения:  Re: ARM многозадачность и сегментация

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

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

Автор:  SII [ 02 янв 2015, 19:58 ]
Заголовок сообщения:  Re: ARM многозадачность и сегментация

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


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

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


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

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


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

Автор:  SII [ 02 янв 2015, 20:00 ]
Заголовок сообщения:  Re: ARM многозадачность и сегментация

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

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

Автор:  scuter [ 02 янв 2015, 20:18 ]
Заголовок сообщения:  Re: ARM многозадачность и сегментация

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

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

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

GDT в x86.

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

Автор:  SII [ 02 янв 2015, 20:23 ]
Заголовок сообщения:  Re: ARM многозадачность и сегментация

scuter писал(а):
где почитать.

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

Автор:  scuter [ 02 янв 2015, 20:28 ]
Заголовок сообщения:  Re: ARM многозадачность и сегментация

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

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

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/