Часто говорят что на Амиге нет "защиты памяти".
Кто-нибудь объясните что это такое и нафига она вообще нужна. Все ведь и так работает.
_________________
КОНЕЦ СВЕТА(C)РАО ЕЭС, 2005
http://voffka.com/archives/000h5xs6.jpg
AROS FAQ писал(а):Will AROS have memory protection, SVM, RT, ...?
Several hundred Amiga experts (that's what they thought of themselves at least) tried for three years to find a way to implement memory protection (MP) for AmigaOS. They failed. You should take it as a fact that the normal AmigaOS will never have MP like Unix or Windows NT.
dn писал(а):À ïî ïîâîäó ôðàãìåíòàöèè ãäåòî ÿ ñëûøàë ÷òî ýòî âèíäà æóòêî ôðàãìåíòèðóåò ïàìÿòü. è âèíò òîæå. ñâîïîì. è îò ýòîãî ðàáîòà ñ êàæäûì ðàçîì âñå áîëüøå òîðìîçèò.
dn писал(а):Äà è ôèã ñ íåé ñ ñîâìåñòèìîñòüþ.
RCL писал(а):Ты забыл сказать, что защита памяти, а точнее, понимаемый под этим словом механизм, помимо непосредственной "защиты памяти",
1) Полностью избавляет от извечной на Амиге проблемы "фрагментации памяти" (так как разрозненные куски физической памяти маппятся для програмы в единое адресное пространство)
2) Позволяет реализовать механизм "виртуальной памяти" (когда маппятся страницы, реально отсутствующие в памяти). Это полезно не только при выделении памяти, но и при открытии больших файлов (никто их никогда в память не вчитывает, создаётся маппинг памяти напрямую на файл на диске).
3) Позволяет (и облегчает) так называемую "автоматическую сборку ресурсов" после выхода программы - на случай, если кто-то забыл освободить память сам.
4) Делает ненужной (в большинстве случаев) релокацию исполняемого кода (процессы в разных физических адресах маппятся на один и тот же логический).
5) Позволяет обойтись без ненужного копирования памяти (реализуется так называемый механизм copy-on-write, когда один и тот же физический кусок памяти отмаппленный с флагом read-only разделяется между процессами до тех пор, пока какой-либо из них не пытается записать в него (и только тогда создаётся его копия)).
6) Позволяет быстро выделять огромные (напр. гигабайт) области памяти, физическая память под которые на самом деле выделяется лишь по первому обращению к каждой конкретной 4-килобайтной странице (в принципе, этот пункт можно считать следствием пункта 2).
7) Значительно облегчает отладку программ (в том числе путём установки флагов на отдельные страницы памяти).
И много разных, более мелких вкусностей, в основном в многозадачном режиме.
Отсутствие такого механизма (а также приципиальная невозможность - по экспертным оценкам - его добавления) в АмигаОС(Морфос, АОС4, АРОС) может и не был решающим фактором в проигрыше Амиг как платформы, однако на 100% не позволяет поставить АмигаОС и вышеперечисленных её "отпрысков" на один уровень с другими операционками, а тем более назвать их современными (этот механизм был ещё в оригинальном Юниксе, а на PC - с ограничениями, связанными с особенностями MMU 286 процессора - но всё же сохраняя наиважнейшие базовые свойства, в начале 1980-х годов (до появления на свет Амиги!) "защиту памяти" реализовала QNX !).
P.S. Это также опосредованно подтверждает, что Commodore не рассматривала линейку Амиг (даже тысячные их варианты) и саму AmigaOS как предназначенные для профессионального (в качестве серверов, в производстве и т.п.) использования, а на единственную Амигу (3000UX), маркетированную для того сектора рынка и поставлявшуюся с MMU (которое, собственно, и only makes possible вышеперечисленное), предпочла лицензировать и адаптировать версию UNIX, нежели переписывать AmigaOS.
Вернуться в Остальное и Оффтопик
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 74