Skip to main content

Что такое нулевая страница?

Нулевая страница - это часть памяти компьютера, в самом начале которой находится адресное пространство. Ноль относится к адресам памяти, содержащимся в этой области, поскольку все адреса в самом начале начинаются с нуля. В старых компьютерах это место было зарезервировано для основных функций и важной информации. Со временем все меньше систем полагалось на нулевую страницу, и ее особый подход стал менее распространенным. На более новых компьютерах этот адрес памяти часто поддерживается в чистоте как способ контроля использования памяти при программировании и поиска ошибок.

Использование памяти старых компьютерных систем во многом такое же, как и в новых моделях. Когда программы выполняются, скоро будут выполнены или недавно завершили работу, они перемещаются из памяти в активную память. Активная память работает намного быстрее и позволяет программе работать с меньшим временем ожидания. Компьютер отслеживает всю эту память, присваивая адресам программы, в основном такие же, как адреса в доме.

По большей части, когда компьютер выключен, активная память теряется. В результате, когда компьютер впервые включается, память должна быть полностью пустой. Это означает, что самые первые биты информации, загруженной в систему, будут идти в самом начале списков памяти или на нулевой странице. Чтобы все работало должным образом, были созданы определенные функции для работы в этой области памяти, а другие программы не использовались.

Со временем скорость компьютера резко возросла. В то время как скорость памяти увеличилась вместе со всем остальным, скорость процессора медленно соответствовала нескольким функциям. Это изменение сделало нулевую страницу значительно менее важной, и в результате многие системы перестали ее использовать. Стало легче позволить системе принимать собственные решения относительно места хранения информации, а не пытаться контролировать ее на таком незначительном уровне.

Современные компьютеры часто полностью отказываются от нулевой страницы. Некоторые процессоры по-прежнему выделяют небольшой объем памяти в начале адресного пространства, который он намеренно сохраняет пустым. Когда программа ошибается и пытается получить доступ к памяти, которая не существует, искаженный указатель памяти просто укажет на первый доступный адрес. Отслеживая пустой раздел для этих указателей, можно найти неисправные программы. Во многих отношениях это противоположно исходной нулевой странице; вместо того, чтобы быть заполненным необходимыми программами, он пуст и ждет неисправностей.