Увы, для многозадачности качественной этого мало. 80386 и его наследники (всё семейство вплоть до последних x64) позволяют же сделать не просто защиту записи в регионы памяти. Там всё иначе устроено. Каждая задача имеет своё собственное адресное пространство, причем оно может быть больше чем физическое ОЗУ. Для многозадачной ОС это самое главное. А расширенные Z80 всего этого не имеют. Ну можно ставить битик защиты записи для страниц на 280 и что? Всё упирается в 64К адресного пространства и мастурбацией со страницами (как анекдот про арбуз, танцы мужика). Программа сама должна всё переключать копировать, это очень очень сложно. Страницы ОЗУ у 180 и 280 устроены почти так же как если бы мы аппаратно делали окна и подключения. Более того, оно там так и сделано, но только внутри проца и у 180 окно программно задается, у 280 страницы по 2К вроде и их может быть до 32 или 16 (мануал читал лет 7 назад). К примеру, разложили мы страницы по задачам. Т.е. вернее решили мы запустить первую программу, дали ей несколько страниц, из них состоит тот кусок ОЗУ что в адресном пространстве, далее программа уже может сама запрашивать страницы и ОС знает, что они "заняты" и таким то процессом. Хорошо. Но далее размера в 62К не уйти. И программа сама должна щёлкать страницами для работы. В 80386 всё проще в разы, задача не знает как там оно всё устроено, ей кажется что есть пустое адресное пространство и всё, и есть точка выхова ОС, ОС уже сама занимается перемещением страниц с диска в память. А идущие подряд байты в ОЗУ задачи могу быть физически лежать в страницах хаотично разбросанными по всему ОЗУ, тут проц по запросу команды берет сам из нужного места. Чувствуешь разницу?







Ответить с цитированием