Расширенная память

В управлении памятью DOS расширенная память - это система переключения банка , которая предоставила дополнительную память программах DOS за пределами традиционной памяти (640 киб).
Расширенная память является зонтичным термином для нескольких несовместимых технологических вариантов. Наиболее широко используемым вариантом была расширенная спецификация памяти ( EMS ), которая была разработана совместно с помощью программного обеспечения Lotus , Intel и Microsoft , так что эта спецификация иногда называлась « Lim Ems ». У Lim Ems было несколько версий. Первой широко реализованной версией была EMS 3.2, которая поддержала до 8 MIB расширенной памяти и использует части адресного пространства, обычно посвященные связи с периферийными устройствами ( верхняя память ) для карты частей расширенной памяти. EEMS , стандарт управления расширенной памяти, конкурирующий с Lim EMS 3.x, был разработан AST Research , Quadram и Ashton-Tate («AQA»); Это может сопоставить любую область нижней 1 миб. В конечном итоге EEMS был включен в LIM EMS 4.0, который поддерживал до 32 мибов расширенной памяти, а также обеспечила некоторую поддержку для многозадачности DOS. IBM, однако, создал свой собственный стандарт расширенной памяти под названием XMA .
Использование расширенной памяти стало обычным явлением в играх и бизнес-программах, таких как Lotus 1-2-3 в конце 1980-х годов до середины 1990-х годов, но его использование снизилось, когда пользователи переключались с DOS на операционные системы защищенного режима , такие как Linux , IBM ОС/2 и Microsoft Windows .
Фон
[ редактировать ]
Процессор 8088 IBM PC и IBM PC/XT может обратиться к одному мегабайту (MIB или 2 20 байты) памяти. Он унаследовал этот предел с 20-битной внешней адресной шины (и общей адресации памяти) Intel 8086 . Дизайнеры ПК выделяли более низкие 640 киб ( 655 360 байтов) адресного пространства для памяти программы чтения-записи (ОЗУ), называемой обычной памятью , а оставшиеся 384 киб пространства памяти были зарезервированы для такого использования, как системный биос ,, и System Bios, Видео память и память на периферийных досках расширения.
Несмотря на то, что IBM PC AT , представленный в 1984 году, использовал чип 80286 , который мог бы решить до 16 MIB RAM в качестве расширенной памяти , он мог сделать это только в защищенном режиме . Нехватка программного обеспечения, совместимого с защищенным режимом (в нем не могли работать стандартные приложения DOS ) означали, что рынок все еще был открыт для другого решения. [ 1 ]
Чтобы сделать большую память доступной, была разработана схема переключения банка , где только выбранные части дополнительной памяти будут доступны в любой момент времени. Первоначально один 64 киб (2 16 байты) было использовано окно памяти, называемое кадром страницы ; Позже это стало более гибким. Программы должны были быть написаны определенным образом для доступа к расширенной памяти. Окно между традиционной памятью и расширенной памятью может быть отрегулировано для доступа к различным местоположениям в расширенной памяти.
Первая попытка использовать метод переключения банка была сделана высокими системами деревьев с их досками JRAM, [ 2 ] Но это не завоевало популярность. [ 1 ] (Высокие системы деревьев позже создали доски на основе EMS, используя тот же бренд JRAM.)
Расширенная спецификация памяти (EMS)
[ редактировать ]Разработка Lotus , Intel и Microsoft сотрудничали для разработки стандарта EMS (он же Lim Ems). Первая общедоступная версия EMS, версия 3.0 позволила получить доступ до 4 MIB расширенной памяти. [ Цитация необходима ] Это было увеличено до 8 мибов с версией 3.2 спецификации. Окончательная версия EMS, версия 4.0 увеличила максимальный объем расширенной памяти до 32 MIB и поддерживает дополнительную функциональность.
Microsoft подумала, что переключение банка было неотъемлемой и временной, но необходимой мерой стопг. Захлопнув кулак по столу во время интервью Билл Гейтс сказал о расширенной памяти: «Это мусор! Это Клудж !… Но мы собираемся это сделать». Компании планировали запустить стандарт на Comdex весны 1985 года , и многие компании по расширению и программным обеспечениям объявили о своей поддержке. [ 3 ] [ 4 ]
Первая публичная версия стандарта EMS под названием EMS 3.0 была выпущена в 1985 году; EMS 3.0, однако, почти не видела аппаратных реализаций, прежде чем его заменили EMS 3.2. [ 1 ] EMS 3.2 использовала область 64 киб в верхних 384 киб ( верхняя область памяти ), разделенную на четыре страницы 16 киб, которые можно использовать для картирования участков расширенной памяти. [ 1 ]
В свою очередь, EMS 3.2 была улучшена группой из трех других компаний: AST Research, Quadram и Ashton-Tate, которые создали свой собственный стандарт EMS (EEMS). EEMS позволила сопоставить любую 16 KIB в нижней оперативной памяти с расширенной памятью, если она не была связана с прерывами или специальной памятью ввода -вывода, такой как сеть или видеокарты. Таким образом, целые программы могут быть включены в дополнительную оперативную память. EEMS также добавила поддержку двух наборов регистров картирования. Эти функции использовались ранними DOS -многозадачными программным обеспечением, таким как Desqview . Выпущенная в 1987 году, спецификация LIM EMS 4.0 включала практически все особенности EEMS. [ 1 ]
Новая функция, добавленная в LIM EMS 4.0, заключалась в том, что платы EMS могут иметь несколько наборов регистров картирования страниц (до 64 комплектов). Это позволило примитивной форме многозадачности DOS . Предостережение, однако, было, что в стандарте не указано, сколько наборов реестра должно иметь плату, поэтому в этом отношении была большая изменчивость между аппаратными реализациями. [ 5 ]
Расширенная спецификация памяти (EMS) - это спецификация, описывающая использование расширенной памяти. Функции EMS доступны через программное прерывание 67H. Программы, использующие EMS, должны сначала установить наличие установленного расширенного диспетчера памяти (EMM), проверив драйвер устройства с именем устройства EMMXXXX0 .
Расширенный адаптер памяти (XMA)
[ редактировать ]IBM разработала свой собственный стандарт памяти, называемый расширенным адаптером памяти (XMA); Драйвер IBM DOS, потому что это был Xmaem.sys. В отличие от EMS, доски расширения IBM могут быть рассмотрены как с использованием расширенной модели памяти, так и в качестве расширенной памяти . [ 6 ] Однако расширенный аппаратный интерфейс памяти, используемый платами XMA, несовместим с EMS, [ 7 ] но драйвер XMA2EMS.SYS предоставил эмуляцию EMS для xma pares. [ 6 ] Платы XMA были впервые введены для моделей 1986 года (обновленный) моделей 3270 ПК . [ 7 ]
Реализации
[ редактировать ]Доски расширения
[ редактировать ]
Эта вставка окна памяти в периферийное адресное пространство может быть изначально выполнена только с помощью конкретных плат расширения, подключенных к шине расширения ISA компьютера. Знаменитые расширенные доски памяти 1980 -х годов были AST Rampage, IBM PS/2 80286 опция расширения памяти, адаптер AT & T Exted Memory и Intel выше платы . Учитывая цену RAM в течение периода, до нескольких сотен долларов на MIB, а также качество и репутация вышеупомянутых брендов, расширенная доска памяти была очень дорогой.
Чипсеты материнской платы
[ редактировать ]Позже, некоторые материнской платы чипсеты компьютеров на основе Intel 80286 реализовали расширенную схему памяти, которая не требовала дополнительных плат, в частности, аккуратного чипсета . Как правило, программные переключатели определяли, сколько памяти следует использовать в качестве расширенной памяти и сколько следует использовать в качестве расширенной памяти .
Драйверы устройств
[ редактировать ]Плата расширенной памяти, являющаяся аппаратным периферийным устройством, нуждалась в драйвере программного устройства , который экспортировал свои услуги. Такой драйвер устройства был назван менеджером по расширенной памяти . Его имя было переменным; Ранее упомянутые доски использовали Remm.sys (AST), PS2EMM.SYS (IBM), AEMM.SYS (AT & T) и EMM.SYS (Intel) соответственно. Позже, выражение стало связано с программными решениями, требующими процессора Intel 80386 , например, Quepliteck , QEMM , Qualitas ' 386 Максимум или по умолчанию EMM386 в MS-DOS, PC DOS и DR-DOS.
Эмуляция программного обеспечения
[ редактировать ]Начиная с 1986 года, встроенные функции управления памятью процессора Intel 80386 свободно смоделировали адресное пространство при запуске устаревшего программного обеспечения с реальным модом, что делает аппаратные решения ненужными. Расширенная память может быть моделирована в программном обеспечении.
Первая программа по расширению программного обеспечения управления (эмуляция) была CEMM , доступная в сентябре 1986 года в качестве утилиты для Compaq Deskpro 386 . Популярным и хорошо удобным коммерческим решением было QEMM QuarterDeck. Претендентом был Qualitas ' 386 Максимум Полем Функциональность была позже включена в MS-DOS 4.01 в 1989 году и в DR DOS 5.0 в 1990 году, как EMM386 .
Менеджеры по расширению программного обеспечения в целом в целом предлагали дополнительные, но тесно связанные функции. Примечательно, что они позволили использовать части верхней области памяти (UMA) (верхняя 384 киб в реальном образовательном пространстве), называемых верхними блоками памяти (UMBS) и предоставлены инструменты для загрузки небольших программ, как правило Внутри ("Loadhi" или "LoadHigh").
Взаимодействие между расширенной памятью , эмуляцией расширенной памяти и расширителями DOS в итоге регулируется спецификациями XMS, интерфейса программы виртуальной программы управления (VCPI), DOS Protected Mode (DPMI) и DOS Protected Mode Services (DPMS).
Некоторые программы эмуляции, в разговорных разговорных условиях, не полагались на функции материнской платы или 80386. Вместо этого они зарезервировали 64 киб базовой оперативной памяти для расширенного окна памяти, где они копировали данные в и из расширенной памяти или жесткого диска, когда запрошенные прикладные программы переключали страницы. Это было программно легко реализовать, но производительность была низкой. Этот метод был предложен AbodySk из вышеупомянутого программного обеспечения и несколькими программами для общего пользования .
Также возможно эмулировать EMS, используя память XMS на 286 процессорах, используя сторонние утилиты, такие как EMM286 (.sys Driver).
Отклонить
[ редактировать ]Расширенное использование памяти снизилось в 1990 -х годах. IBM AT Intel 80286 поддерживает 24 бита адресного пространства (16 MIB) в защищенном режиме и 386 поддерживаемых 32-битных адреса или 4 гигабайта (2 32 ) ОЗУ - 4096 раз больше адресуемого пространства оригинального 8086. Сам DOS не поддерживал защищенный режим, но Microsoft в конечном итоге разработала DPMI , и несколько расширителей DOS были опубликованы на основе IT. Программы DOS, такие как Doom, могут использовать такие расширители, как DOS/4G для работы в защищенном режиме, в то же время используя API DOS . В начале 1990 -х годов новые операционные системы, такие как Linux , Windows 9x , Windows NT , OS/2 и BSD/OS поддерживали защищенный режим «из коробки». Эти и аналогичные разработки сделали расширение памяти устаревшей концепцией.
Подобные понятия
[ редактировать ]Другие платформы реализовали ту же основную концепцию - дополнительную память за пределами основного адресного пространства - но технически несовместимыми способами:
- Расширенное хранилище было функцией на мэйнфреймах IBM, обеспечивающих дополнительную память за пределами основной системной памяти, впервые представленную с серией высококлассных мэйнфреймов IBM 3090 в 1985 году. [ 8 ] Расширенное хранилище не может быть непосредственно решено приложениями; Функция MVS, известная как приложения «Услуги Window Services» для распределения подвижных окон для расширения хранилища в их собственном адресном пространстве. Была также функция «двигателя данных», которая могла быть вызвана для перемещения данных между основной памятью (центральное хранилище) и расширенным хранилищем; Позже было введено «асинхронное учреждение по мощности данных» (ADMF), которое позволило перемещать приложения для запроса данных между ними в фоновом режиме, в то время как они выполняли другую обработку. К середине 1990-х годов расширенное хранилище перестало быть физически отдельной памятью и стало просто логическим разделением в системной памяти, обеспеченной прошивкой; Но только после выпуска Z/VM 6.4 в ноябре 2016 года IBM наконец -то удалила всю поддержку для расширенного хранилища из своих операционных систем мэйнфрейма. [ 9 ]
- Расширения Windowing Address (AWE)-это концептуально похожая функция в Microsoft Windows, используемая для включения 32-разрядных приложений для доступа к большему количеству памяти, чем 2–4 ГБ, которые могут вписаться в 32-разрядное адресное пространство. Несмотря на то, что они все еще поддерживаются текущими версиями Windows, его использование было заменено 64-битными приложениями, которые могут получить доступ к> 4 ГБ памяти напрямую.
- Виртуальная память создает иллюзию доступной памяти, используя, например, дисковое хранилище .
Смотрите также
[ редактировать ]- Обычная память
- Управление памятью DOS
- Расширенная память (XMS)
- Высокая область памяти (HMA)
- Наложение (программирование)
- Верхняя область памяти (UMA)
- Глобальная спецификация импорта EMM (драгоценные камни)
- x86 Сегментация памяти
- Адресудные расширения окончания (трепет)
- Расширение физического адреса (PAE)
Ссылки
[ редактировать ]- ^ Подпрыгнуть до: а беременный в дюймовый и Мендельсон, Эдвард (1989-12-12). «Слот, полный оперативной памяти» . ПК Журнал . Тол. 8, нет. 21. Ziff Davis Publishing Co. с. 169–. Архивировано из оригинала 2020-02-08 . Получено 2020-02-08 .
- ^ «Тяги высоких систем деревьев» (Broschure). Высокие системы деревьев. Октябрь 1983.
- ^ Machrone, Билл (1985-05-14). «Схема памяти разрывается 640K» . ПК Журнал . Тол. 4, нет. 10. Ziff Davis Publishing Co. с. 33 . Получено 2013-10-28 .
- ^ «Самые запоминающиеся технологические шлебцы» . ПК Журнал . Январь 2008 г. с. 88–89 . Получено 2020-09-05 .
- ^ Рош, Винн Л. (1989-12-12). «EMS 4.0: стандарт, которого не было» . ПК Журнал . Тол. 8, нет. 21. Ziff Davis Publishing Co. с. 174–175. Архивировано из оригинала 2020-02-08 . Получено 2020-02-08 .
- ^ Подпрыгнуть до: а беременный «Общий учебник по различным формам памяти» . Microsoft . Архивировано из оригинала 2012-10-22.
- ^ Подпрыгнуть до: а беременный Уэлч, Марк Дж. (1986-04-14). «3270 спрос не ожидается расти» . InfoWorld . Тол. 8, нет. 15. InfoWorld Media Group, Inc. с. 5. ISSN 0199-6649 . Архивировано из оригинала 2020-02-08 . Получено 2020-02-08 .
- ^ Sakaki, M.; Samukawa, H.; Honjou, N. (1988). «Эффективное использование IBM 3090 крупного виртуального хранилища в численных интенсивных вычислениях молекулярных орбиталей AB initio» . IBM Systems Journal . 27 (4): 528–540. doi : 10.1147/sj.274.0528 . ISSN 0018-8670 .
- ^ «IBM: настройка хранения» . www.vm.ibm.com . 2006-08-29 . Получено 2023-05-03 .
Дальнейшее чтение
[ редактировать ]- «Расширенная спецификация памяти» . Версия 4.0. Lotus , Intel , Microsoft . Октябрь 1987. 300275-005. Архивировано из оригинала 2020-02-08 . Получено 2020-02-08 .
- Тишер, Майкл (1989). Программирование системы ПК для разработчиков . Счеты. ISBN 1-55755-036-0 .
- Борретт, Ллойд Роберт (январь -февраль 1989 г.). «Понимание EMS 4.0» . Техническая рог изобилия . Архивировано из оригинала 2020-02-08 . Получено 2020-02-08 .