Expanded Memory Specification; EMS; Розши́рена па́м'ять (англ. expanded memory) — апаратно-програмна система, специфікація комп'ютерної платформи x86, що надає доступ DOS-програмам до пам'яті, недоступної через адресний простір основної пам'яті. Розширена пам'ять адресується сторінково через «вікно», що знаходиться у верхній зарезервованій області пам'яті (Upper memory area). Специфікація розширеної пам'яті (англ. Expanded Memory Specification, EMS) була розроблена в 1984 році спільно Lotus Software[en], Intel і Microsoft, тому часто зустрічається скорочення LIM EMS. З кінця 1980-х до середини 1990-х EMS активно використовувалася в іграх і комерційних застосунках, проте з приходом специфікацій додаткової пам'яті (XMS) стала використовуватися рідше.

Історія ред.

Ранні IBM-сумісні ПК типу IBM PC/XT оснащувалися мікропроцесорами 8088 чи 8086, здатними працювати з оперативною пам'яттю ємністю не більше 1 Мбайт. Незважаючи на значні розміри цієї пам'яті, у ряді прикладних програм її виявляється недостатньо. Такі програми змушені інтенсивно використовувати диск для розміщення великих обсягів даних, що сильно знижує їх продуктивність. Тому майже одночасно з появою комп'ютерів IBM PC/XT почалися пошуки шляхів підвищення продуктивності великих прикладних програм (табличних процесорів, систем управління базами даних тощо) за рахунок використання оперативної пам'яті більшого ніж 1 Мбайт розміру. Ці пошуки привели до вироблення угоди між провідними фірмами — розробниками програмно-апаратних засобів, яке відоме як EMS LIM. Відповідно до цього стандарту ПК оснащуються спеціальними EMS-платами, що містять власне розширену пам'ять і мікросхеми, що забезпечують доступ до неї.

На комп'ютерах з мікропроцесорами 80386 і 80486 розширена пам'ять може емулюватися програмно. Починаючи з версії 4.0 операційна система MS DOS поставляється з драйверами розширеної пам'яті XMAEM.SYS і XMA2EMS.SYS. У DOS 5.0 їх функції виконує драйвер EMM386.SYS. Останній на ПК з мікропроцесорами 80386 / 80486 забезпечує емуляцію розширеної пам'яті, тобто програмно реалізує функції EMS — плати і перетворює додаткову пам'ять в розширену. Крім того, драйвер EMM386.SYS створює блоки верхньої пам'яті (UMB). Для функціонування драйвера EMM386.SYS потрібно забезпечити підтримку розширеної пам'яті, яку здійснює драйвер HIMEM.SYS[en]. При цьому драйвер HIMEM.SYS повинен бути завантажений до драйвера EMM386.SYS, тому рядок DEVICE = HIMEM.SYS у файлі CONFIG.SYS повинен передувати рядку DEVICE = EMM386.SYS[1].

Слід зазначити, що терміни «додаткова» і «розширена» пам'ять застосовуються тільки в операційній системі DOS. В інших операційних системах, наприклад, в OS/2, Unix або Windows NT можна використовувати всю пам'ять комп'ютера.

Примітки ред.

  1. УПРАВЛЕНИЕ ОПЕРАТИВНОЙ ПАМЯТЬЮ. Архів оригіналу за 6 грудня 2013. Процитовано 18 листопада 2013.

Див. також ред.