Вопросы по теме 'osdev'

Как создаются операционные системы?
Создание ОС кажется масштабным проектом. С чего бы вообще начать? Например, когда я вставляю Ubuntu в свой диск, как мой компьютер может просто запустить его? (Думаю, это то, что я действительно хотел бы знать.) Или, если посмотреть на...
20116 просмотров
schedule 08.04.2024

Что нужно для написания хоста виртуализации?
Я не планирую делать это прямо сейчас, так как у меня нет опыта в этой области, чтобы даже пытаться это сделать в данный момент, но мне любопытно кое-что. Если внедрять операционную систему с нуля, что потребуется для создания такого приложения,...
139 просмотров
schedule 09.12.2023

Возвращает значение функции C в ASM
Я пытаюсь вызвать функцию из ASM. Я знаю, как это вызвать, но не могу найти, как получить возвращаемое значение этой функции. Ниже приведен пример: Код C: int dummy() { return 5; } (N)Код ASM: dummyFunction: call...
25888 просмотров
schedule 30.03.2024

Нужен ли мне GDT для создания IDT?
Работаю на плате Atom-32bit (сборка AT&T), софта на эту плату пока нет. Нужно ли мне создавать GDT для создания/использования IDT? Идея состоит в том, чтобы просто использовать ISR с таймером APIC. /*Change the address of idt_entries table...
367 просмотров
schedule 31.12.2023

Могу ли я использовать знания из учебника по чипам 8086 с этим Intel 82340SX?
Недавно я нашел старый (очень старый) ноутбук, и хотя это может быть отличной возможностью изучить сборку и некоторые основы разработки ОС. Учебники по сборке чаще всего посвящены чипам 8086, поэтому у меня вопрос: имеет ли значение этот Intel...
198 просмотров
schedule 25.01.2024

раз 510-($-$$) db 0 не работает
Я изучаю загрузочные сектора. Я скачал nasm-installer-x64.exe с веб-сайта NASM . У меня операционная система win7-64bit. Когда я запускаю следующий код, он работает неправильно mov ah, 0x0e; mov al, the_secret; int 0x10; mov al,...
1634 просмотров
schedule 08.11.2023

Ошибка страницы при попытке доступа к VESA LFB с включенной подкачкой
Всякий раз, когда я пытаюсь записать пиксель в LFB режима VESA, я получаю ошибку страницы, когда страница присутствует и была прочитана. Моя реализация подкачки взята из серии ОС Джеймса Моллоя. Я пробовал сопоставление идентификаторов LFB следующим...
196 просмотров
schedule 09.05.2024

Объединение 32- и 64-битного кода в один двоичный файл
В комментарии к этому вопросу неожиданное поведение в простая арифметика указателей в коде пространства ядра C , Майкл Петч писал: «64-битный формат ELF поддерживает 32-битные разделы кода». У меня есть рабочая программа, которая включает в себя...
1052 просмотров
schedule 23.12.2023

BIOS и адрес 0x07C00
из Википедии На IBM PC-совместимом компьютере BIOS выбирает загрузочное устройство, затем копирует первый сектор с устройства (который может быть MBR, VBR или любым исполняемым кодом) в физическую память по адресу памяти 0x7C00. Я читаю...
638 просмотров
schedule 05.11.2022

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

Почему диапазон адресов 0xC0000000 ~ 0xFFFFFFFF всегда дает 0x00 или 0xFF после перехода в защищенный режим перед включением пейджинга?
Делаю кастомный загрузчик, сейчас на стадии включения пейджинга после перехода в защищенный режим. Я попытался проверить, можно ли использовать весь диапазон памяти от 0x00000000 до 0xFFFFFFFF, чтобы убедиться, что мое ядро ​​​​имеет полный контроль...
658 просмотров
schedule 16.02.2024

Тонкости, связанные с кросс-компиляцией, автономным libgcc и т.д.
У меня есть несколько вопросов о https://wiki.osdev.org/Meaty_Skeleton , в котором говорится: В документации GCC прямо указано, что libgcc требует, чтобы автономная среда предоставляла функции memcmp , memcpy , memmove и memset , а также...
154 просмотров
schedule 19.04.2024

Емкость чтения SCSI (10) сообщает о неправильном LBA и размере сектора
Я пытался протестировать драйвер AHCI для ОС для хобби на «голом железе». Перед этим я протестировал свой драйвер в QEMU с параметрами: qemu-system-i386 -boot d -cdrom elfboot.iso -machine q35 -m 2G -hda hda.img -serial stdio Вывод примерно...
164 просмотров
schedule 08.02.2024

Сборка в 32-битном защищенном режиме, метка не указывает на определенную строку?
Пытаюсь выучить какую-нибудь сборку x86. Я успешно создал MBR с загрузчиком, загрузил другой сектор, переключился в защищенный режим и совершил дальний переход в загруженный сектор. Используемая среда Я использую NASM при установке 64-битной...
114 просмотров
schedule 16.10.2022