Вопросы по теме 'osdev'
Какой дистрибутив barebones linux можно считать хорошим для начинающих разработчиков ядра?
В моем классе операционных систем мы хотим модифицировать ядро Linux с помощью некоторых простых системных вызовов на C.
Какой хороший дистрибутив подходит для этой цели? Нам не нужны никакие излишества, графический интерфейс, ванильное ядро и...
11005 просмотров
schedule
20.11.2021
Может ли кто-нибудь объяснить, как я использую эту структуру данных C, полученную из grub? Я не понимаю привет и привет
Grub - это загрузчик, совместимый с несколькими загрузками. Когда он загружает операционную систему, он создает структуру, определяющую доступную память, и оставляет указатель на эту структуру в памяти.
Я получил эту информацию здесь:...
520 просмотров
schedule
10.11.2021
Плохо ли, что процесс должен самостоятельно создавать собственный стек?
Плохо ли, что процесс должен самостоятельно создавать собственный стек? Если ядро не хочет этого делать.
Как здесь
_start:
mov $stack_head, %rsp
jmp main
.data
.align 8
stack:
.quad 0
.quad 0
.quad 0
.quad 0...
107 просмотров
schedule
10.09.2021
Разработка ОС - выполнение первой инструкции в защищенном режиме
Я имею в виду руководство по разработке ОС Broken Thorn . В настоящее время я нахожусь на стадии запуска загрузчика второго этапа, чтобы загрузить GDT и войти в защищенный режим.
Я понял, как работает GDT и как войти в защищенный режим. Однако...
343 просмотров
schedule
25.11.2021
Связывание 64-битного ядра
Привет всем, я пытался связать свой код сборки с файлом C ++, чтобы я мог убрать свою функцию kMain из сборки, и когда я связываю ее с этим скриптом:
ENTRY(_Start)
SECTIONS
{
. = 0x2000;
.text : AT(ADDR(.text) - 0x2000)
{...
424 просмотров
schedule
09.11.2021
Ошибка сборки кросс-компилятора GCC 5.1.0-4
Я слежу за учебником osdev.org для «голого железа», и в настоящее время я застрял на кросс-компиляторе. ! Я строю из арочного дистрибутива.
Похоже, проблема в isl. Я думаю, что учебник основан на более старой версии gcc, cloog, isl и т. Д.,...
811 просмотров
schedule
02.10.2021
BIOS INT13h AH = 42h с BOCHS
У меня проблема с кодом загрузчика. Я пытаюсь использовать функцию BIOS INT 13h AH = 42h: «Расширенное чтение секторов с диска» версии 3.0 (EDD-3.0) с BOCHS для копирования кода моего ядра с образа жесткого диска в область памяти выше 0x100000 в...
537 просмотров
schedule
06.09.2021
Как мне записать bin-файл (512 байт) в первый сектор (сектор 0) дискеты?
Как мне записать .bin файл так, чтобы он находился в первом секторе дискеты / виртуальной дискеты / образа дискеты?
Пытаюсь загрузить простой загрузчик на 512 байт. Размер везде говорит "512 байт", так что я уже должен быть в порядке....
8337 просмотров
schedule
15.11.2021
Создание правильной структуры сегмента состояния задачи (TSS) с растровым изображением ввода-вывода и без него?
Чтение документации Intel и AMD и просмотр кода иногда затрудняют понимание того, как создать правильный сегмент состояния задачи (TSS), который не имеет битовой карты портов ввода-вывода (IOPB). Также, похоже, существует путаница при создании TSS с...
1079 просмотров
schedule
24.09.2021
Обработчик прерывания на C не работает после одного прерывания
Я пытаюсь реализовать обработчик прерывания клавиатуры с помощью C и QEMU. Но когда я запускаю программу, мой обработчик выводит только один символ. После этого обработчик вообще не работает.
Моя настройка IDT:
struct IDT_entry {
unsigned...
491 просмотров
schedule
23.11.2021
Как мне поместить загрузчик и ядро на USB
Я написал загрузчик и базовое ядро в качестве забавного побочного проекта, пока я изучаю двухэтапные загрузчики, я хочу загрузить свой загрузчик в сектор 1 (или MBR) USB и ядро в секторе 2. Я скомпилированы как в Bootloader.bin, так и в...
236 просмотров
schedule
05.10.2021
OSDEV: Как использовать режим vesa?
Привет, я пытаюсь использовать режим vesa в своей операционной системе и использую этот учебник: Рисование в защищенном режиме
У меня есть разрешение на переключение, но я не умею рисовать пиксель.
вот мой код:
kernel.asm
bits 32...
434 просмотров
schedule
03.10.2021
Есть ли 64-битный загрузчик UEFI ELF?
У меня ядро ELF. Поэтому мне нужен загрузчик, который загрузит мой 64-битный файл ELF. Мне не нужны устаревшие загрузчики Legacy BIOS, мне нужен загрузчик UEFI с графическим интерфейсом или без него.
45 просмотров
schedule
08.10.2021
Прототип ядра и модулей
Недавно я взял один из своих старых проектов и перезапустил его, практически с нуля. Некоторое время я болел, так что у меня было время взяться за дело и реализовать множество функций. Однако я считаю, что было бы неплохо реализовать загрузку...
320 просмотров
schedule
23.02.2022
Как создать ядро UEFI в NASM в Linux
Я следовал этому руководству по разработке ОС. Разработка ОС в Windows
Однако мне не нравится среда разработки Windows, поэтому я пытаюсь перенести эти инструкции в свою предпочтительную среду Linux.
Я попробовал руководство из Книги Рода ,...
791 просмотров
schedule
11.03.2022
Тройной сбой в стеке в коде C
Я пишу игрушечное ядро в учебных целях, и у меня с ним возникают проблемы. Я сделал простой загрузчик, который загружает сегмент с дискеты (которая написана 32-битным кодом), затем загрузчик включает шлюз A20 и включает защищенный режим. Я могу...
676 просмотров
schedule
27.03.2022
Тройной отказ по прерываниям
Я новичок во всем этом, поэтому заранее прошу прощения, если пропустил что-то действительно очевидное
Итак, я пытаюсь сделать простое ядро на сборке x86 и C. Я пытался заставить работать прерывания. Я определяю GDT, IDT в сборке.
Я даже не...
150 просмотров
schedule
28.03.2022
Как реальный режим x86 работал на машинах с ‹640 КБ ОЗУ?
Этот вопрос в основном связан с историческим интересом, но мне не удалось найти документацию по этому поводу. Вся документация, которую я могу найти по реальному режиму x86 (включая руководство Intel [1] и онлайн-карты памяти [2]), предполагает 640...
323 просмотров
schedule
02.04.2022
Intel x86 — ответственность за процедуру обслуживания прерываний
У меня нет проблемы в прямом смысле этого слова, а скорее я попытаюсь прояснить вопрос содержания. Предположим, у нас есть микроядро (PC Intel x86; 32-битный защищенный режим) с работающими таблицей дескрипторов прерываний (IDT) и процедурой...
458 просмотров
schedule
10.04.2022
Прерывание клавиатуры в защищенном режиме x86 вызывает ошибку процессора
Я работаю над простым ядром и пытаюсь реализовать обработчик прерывания клавиатуры, чтобы избавиться от опроса портов. Я использовал QEMU в -kernel режиме (чтобы сократить время компиляции, потому что создание iso с использованием grub-mkrescue...
960 просмотров
schedule
21.04.2022