История изменений
Исправление X512, (текущая версия) :
Уже обсуждали ведь, какие костыли были в API для выделения памяти.
Это особенность платформы/железа. В Win32 Global/LocalAlloc — это обёртка над HeapAlloc. На железе тех времён и не так извращались, меняли банки памяти и т.п.. В Windows было сделано наиболее адекватное и портируемое решение из возможных. В Mac OS Classic был более убогий менеджер памяти с фиксированным объёмом памяти на программу и который невозможно было портировать на новое железо. И это на 32 битном процессоре.
Я так и сказал, что для 32 бит он бы написал.
Что-то не видно нормальных проектов студенческих тулкитов и оконных систем. Единственное достойное — Serenity OS. Даже в Линуксе до сих пор не могут нормально сделать.
Современный студент не смог бы адаптировать костыли для древней сегментной модели? Ну и слава Богу.
Там ничего сложного нет, я специально изучал. Даже баг в WineVDM писал.
Исправление X512, :
Уже обсуждали ведь, какие костыли были в API для выделения памяти.
Это особенность платформы/железа. В Win32 Global/LocalAlloc — это обёртка над HeapAlloc. На железе тех времён и не так извращались, меняли банки памяти и т.п.. В Windows было сделано наиболее адекватное и портируемое решение из возможных. В Mac OS Classic был более убогий менеджер памяти с фиксированным объёмом памяти на программу и который невозможно было портировать на новое железо. И это на 32 битном процессоре.
Я так и сказал, что для 32 бит он бы написал.
Что-то не видно нормальных проектов студенческих тулкитов и оконных систем. Единственное достойное — Serenity OS. Даже в Линуксе до сих пор не могут нормально сделать.
Современный студент не смог бы адаптировать костыли для древней сегментной модели? Ну и слава Богу.
Там ничего сложного нет, я специально изучал. Даже баг в WinVDM писал.
Исходная версия X512, :
Уже обсуждали ведь, какие костыли были в API для выделения памяти.
Это особенность платформы/железа. В Win32 Global/LocalAlloc — это обёртка над HeapAlloc. На железе тех времён и не так извращались, меняли банки памяти и т.п.. В Windows было сделано наиболее адекватное и портируемое решение из возможных. В Mac OS Classic был более убогий менеджер памяти с фиксированным объёмом памяти на программу и который невозможно было портировать на новое железо. И это на 32 битном процессоре.
Я так и сказал, что для 32 бит он бы написал.
Что-то не видно нормальных проектов студенческих тулкитов и оконных систем. Единственное достойное — Serenity OS. Даже в Линуксе до сих пор не могут нормально сделать.