Частина 24 - Основи сектора завантаження [Part 7]
Для повного змісту змісту всіх уроків натисніть нижче, оскільки це надасть вам короткий зміст кожного уроку, а також теми, які будуть обговорені. https://github.com/mytechnotalent/Reverse-Engineering-Tutorial
Ми повинні обговорити пам'ять на цьому етапі. До того, як ми зможемо обговорити встановлення простої стелі в нашому завантажувачі, необхідно зрозуміти, як пам'ять розподіляється в секторі завантаження.
1)0x0 = Таблиця векторів переривань - Це місце, де існує наша таблиця переривань на дуже основі пам'яті. Це місце, де знаходяться всі наші виклики переривань.
2)0x400 = Зона даних BIOS - Ця ділянка зберігання змінних про стан завантажуваного пристрою.
3)0x7c00 = Завантажений сектор завантаження - Ця ділянка містить наш машинний код, який буде завантажений в RAM завантажувальним фірмовим забезпеченням (замітка: фірмове забезпечення просто код, який працює до того, як працює ОС, як і те, що ми робимо).
4)0x7e00 = Вільне - Це ділянка стелі, яку ви можете розробляти.
5)0x9fc00 = Розширена зона даних BIOS - У цій ділянці зберігаються дані з буферів дискових смуг і інших підключених пристроїв, як пам'ятаєте, немає системи file ще.
6)0xa0000 = Пам'ять відео - BIOS відображає вашу відеопам'ять тут під час завантаження.
7)0xc0000 = BIOS - Де офіційно знаходиться BIOS.
8)0x100000 = Вільне - Додатковий простір, який ви можете розробляти.
Це дуже важливо, щоб ви зрозуміли, як розподіляється пам'ять під час завантаження. У наступному урокі ми створимо просту стелю в 0x7e00.