Авторы: Нина Челышева, Фёдор Гончаров
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 = basic input/output system = базовая система ввода-вывода
Это небольшой кусок ПО для инициализации компьютера. Его еще называют прошивкой
Аппаратное обеспечение компьютера так устроено, что когда он включен, процессор может обращаться к этому коду по фиксированным адресам, как будто к оперативной памяти
Как процессор видит память сразу после включения компьютера: