WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте
Области памяти IBM PC

Основная область памяти (Основная память, англ. Conventional memory) занимает первые 640 Кбайт оперативной памяти в IBM PC-совместимых компьютерах. В эту область загружается таблица векторов прерываний (занимает 1 Кбайт), некоторые данные из BIOS (например, буфер клавиатуры), различные 16-битные программы DOS. Для них 640 Кбайт являются барьером.

Барьер 640 Кбайт

Для IBM PC-совместимых компьютеров 1 Мбайт был пределом памяти, который мог адресовать процессор. CPU Intel 8088 имеет 20 адресных линий и мог обращаться к памяти до 220 = 1 Мбайт памяти. Первый мегабайт был разделен на 16 областей по 64 Кбайт. Первые десять областей отводились для использование пользовательскими программами (при этом сама операционная система могла обращаться ко всему мегабайту памяти) и называлась основная память. Оставшиеся 6 областей объёмом 384 Кбайт (Upper Memory Area, UMA, верхняя память) резервировались для системных нужд и дополнительных устройств. В первых компьютерах здесь размещались BIOS и его расширения, память видеоадаптера и драйверы устройств. В существующих реализациях IBM PC часть верхней памяти использовалась для CGA/EGA, другая — оставалась неиспользованной. В начале 1980-х годов память в 640 Кбайт была вполне достаточна для нужд обычного пользователя, однако потребность в ОЗУ новых приложений росла быстрее, что привело к необходимости использовать резервные области верхней памяти различными способами, обходящими запрет на доступ прикладных программ к верхней памяти. В результате это привело к тому, что в 1 Мбайт доступной памяти появились зарезервированные «дыры», которые использовались различными аппаратными устройствами. Устранение подобных «дыр» было технически труднореализуемо и не поддерживалось бы существующими версиями DOS и прикладных программ. Позднее был разработан универсальный метод, позволяющий обращаться в участкам верхней памяти (Upper memory blocks, UMB).

Для обеспечения обратной совместимости с существующими приложениями ограничение в 640 Кбайт сохранилось в последующих реализациях стандарта IBM PC, даже после того, как архитектура Intel 8086/8088 была заменена на более современный Intel 80286, позволявший адресовать уже 16 Мбайт памяти в защищённом режиме. Данное ограничение было вызвано тем, что процессор 80286 мог работать как в новом защищённом, так и в старом реальном режиме, обеспечивающим совместимость со старой архитектурой: в реальном режиме невозможно адресовать память с разрядностью выше 20 бит (или 220 = 1 Мбайт). Последующие процессоры, совместимые с архитектурой IBM PC, реализовывали эту совместимость и далее. Даже на современных компьютерах до сих пор существует зарезервированная область памяти между 640 и 1024 Кбайтами памяти[1][2], хотя для большинства современных операционных систем он незаметен, так как в них доступ к ОЗУ реализован через виртуальную память, скрывающую за собой настоящее распределение памяти и не зависящую от неё[3].

Использование основной памяти

Барьер в 640 Кбайт актуален только для 16-битных программ, работающих под DOS. На работу 32- и 64-битных операционных систем (Microsoft Windows 4.x, NT, GNU/Linux и т. п.) барьер в 640 Кбайт практически не оказывает влияния.

Примечания

  1. White Paper: A Tour beyond BIOS Memory Map Design in UEFI BIOS. Intel Corporation (February 2015).
  2. Windows Internals. — 6th. — Microsoft Press, 2012. — Vol. Part 2. — P. 322. — «Note the gap in the memory address range from page 9F000 to page 100000...».
  3. Programming Applications for Microsoft Windows. — P. 435 ff..

См. также

Литература

  • Скотт Мюллер. Глава 6. Оперативная память // Модернизация и ремонт ПК = Upgrading and Repairing PCs. — 15 изд. М.: «Вильямс», 2004. — С. 427—438. ISBN 0-7897-2974-1.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии