память

Представление информации

Добрый день, уважаемые читатели. Прежде чем написать загрузчик мне пришлось прояснить еще одну тему. Это адресация памяти. Но начну сначала.

Компьютер — устройство электронное. А для электронных устройств более свойственна двоичная система счисления, а не десятичная. Самый маленький объем информации в двоичной системе счисления называется бит. Бит может принимать всего два значения: 1 и 0. Все что мы видим на компьютере, по большому счету, состоит из последовательности битов.

Следующим по размеру объем информации является байт. Байт состоит из 8 битов и может принимать значения от 0 до 256 в десятичной системе счисления. А если число со знаком то от -128 до 127.

Адресация

Чем же байт так отличается. Он является основной логической единицей информации в компьютере, имеющий адрес. Одна ячейка памяти равна одному байту. И у каждого байта в памяти компьютера есть свой уникальный адрес!

адресация памяти

Вот здесь и начинается самое интересное. Дело в том, что при запуске, по умолчанию, процессор поддерживает, так называемый, режим реальных адресов (реальный режим). Данный режим реализует сегментную адресацию памяти. Где используется 2 байта для адреса сегмента памяти и 2 байта адрес ячейки в этом сегменте. Итого 4 байта. Максимальное количество памяти, которое можно адресовать, используя адрес сегмента и смещение (FFFFh:FFFFh) равно 1 МиБ + 64 КиБ — 17 Б + 1 Б.

Мой первый вопрос, когда я столкнулся с реальностью был как же так-то получить доступ ко всей памяти? Сейчас для нас является нормой телефон с оперативной памятью 3 гигабайта. Оказывается тоже просто.

защищенный режим

Защищенный режим

В процессоре 80386 был полноценно реализован защищенный режим адресации. Появилась страничная адресация памяти. Да и процессор обладал 32-мя разрядами шины адреса.

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

А почему режим называется защищенным? У каждой страницы есть набор атрибутов. Среди них есть несколько, позволяющих так именоваться. Установленный атрибут Только для чтения не позволяет записывать данные в такую страницу. Другой атрибут разрешает доступ только для ядра ОС.

Учитывая вышеописанное, при разработке Simple OS, в загрузчике обязательно нужно включить защищенный режим.

Канал на Яндекс.Дзен

Картинки найдены на просторах интернета.