Авторы: Нина Челышева, Фёдор Гончаров

Полезные ссылки

https://wiki.osdev.org/Memory_Map_(x86)

https://en.wikipedia.org/wiki/X86_memory_segmentation

https://stackoverflow.com/questions/17777146/what-is-the-purpose-of-cs-and-ip-registers-in-intel-8086-assembly

Загрузка компьютера

Мы будем использовать учебную ОС xv6, запустим ее в эмуляторе qemu

Компьютеры с архитектурой x86 совместимы с первыми компьютерами, которые были придуманы в 1970 ⇒ компьютеры запускаются в режиме совместимости с теми самыми процессорами, наборами инструкций

Загрузка компьютера начинается с фиксированного адреса, который отображен в неком странном виде. По этому адресу находится не настоящая физическая память, а копия сохраненного ПО, которое туда положил производитель компьютера, материнской платы — так называемый BIOS

BIOS

BIOS = basic input/output system = базовая система ввода-вывода

Это небольшой кусок ПО для инициализации компьютера. Его еще называют прошивкой

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

Таблица (memory map)

Как процессор видит память сразу после включения компьютера:

Screenshot 2022-04-14 at 15.50.36.png