Все вопросы: [osdev]

22 вопросов

похожие теги:
11
голосов
5ответов
6848 просмотров

How to load a kernel from disk with BIOS int 13h in NASM assembly?

I've been stuck with this for weeks now and have no idea where I'm going wrong because NASM hasn't given me any errors. The code is pretty self explanatory because of the comments. this is the code that is loaded from the BIOS ;-------------------------------------------- ; 'boot.asm' ; load...

1
голосов
1ответов
138 просмотров

What does it take to write a virtualization host?

I'm not planning on doing this right now, as I don't have the experience in this area to even attempt it at the moment, but I'm curious about something. If implementing an operating system from scratch, what would it take to build an application like VirtualBox? Not necessarily as user friendly...

111
голосов
20ответов
48829 просмотров

How can I build a small operating system on an old desktop computer?

This might be in vain, as I know writing an operating system is unbearably complicated (especially by oneself). I don't expect to build the next linux, or windows. I know it will be horrible, and buggy, and won't work, but that's fine. I want to write everything myself, in Assembly, C, and (s...

18
голосов
17ответов
4338 просмотров

Для ядра / ОС C все еще он?

Мне нравятся операционные системы, и в конечном итоге я хотел бы стать разработчиком ОС, в основном работая над ядрами. Будет ли C по-прежнему предпочтительным языком в будущем и что еще мне следует изучить?

7
голосов
1ответов
3613 просмотров

Как создать образ ядра с помощью Visual Studio?

Я хотел бы создать встроенное ядро ​​для машины x86 с использованием Visual C ++. У меня есть файлы кода C и сборки для компиляции, и я хотел бы связать их все вместе таким образом, чтобы это было совместимо с мультизагрузочным загрузчиком, таким как GRUB.

9
голосов
11ответов
10739 просмотров

Какой дистрибутив barebones linux можно считать хорошим для начинающих разработчиков ядра?

В моем классе операционных систем мы хотим изменить ядро ​​Linux с помощью некоторых простых системных вызовов на языке C. Какой дистрибутив подходит для этой цели? Нам не нужны никакие излишеств, графический интерфейс, ванильное ядро ​​и т. Д. Чем проще, тем лучше.

6
голосов
4ответов
4291 просмотров

Должен ли я выдавать код ошибки, помещенный в стек определенными исключениями, перед возвратом из обработчика прерывания?

Я загрузил таблицу idt с 256 записями, все они указывают на похожие обработчики: для исключений 8 и 10–14 укажите номер исключения (эти исключения автоматически добавляют код ошибки). для остальных введите "фиктивный" код ошибки и номер исключения; затем перейдите к общему обработчику. ...

7
голосов
3ответов
2118 просмотров

Как программно создать загрузочный компакт-диск?

Я использую учебник по barebones в качестве основы для ОС, над которой я работаю, и, похоже, это более старый учебник: он компилирует ядро ​​в образ дискеты, а затем загружает его с помощью GRUB. В принципе, я все еще хочу использовать GRUB, но вместо этого я бы хотел, чтобы моя ОС запускалас...

9
голосов
3ответов
3681 просмотров

Как многопоточность SMP разделяет память и прерывания?

Я работаю с буферами ввода для своего ядра, и у меня возникли вопросы. Я знаю, что на двухъядерных машинах одновременно может выполняться более одного «процесса». Я не знаю, как работают ОС и отдельные программы для защиты от конфликтов в данных. Я хотел бы знать две вещи по этой теме: (1)...

46
голосов
25ответов
19379 просмотров

Как «создаются» операционные системы?

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

18
голосов
6ответов
6235 просмотров

Препятствия при создании собственной операционной системы

Мне кажется, что наиболее распространенный излишне амбициозный проект, которым пытаются заниматься программисты (особенно дипломированные ученые), - это создание собственной операционной системы. (Попытка создать свой собственный язык программирования + компилятор, вероятно, даже более распростр...

8
голосов
2ответов
3303 просмотров

Настройка сопоставления IRQ

Я следую нескольким руководствам и справочникам, пытаясь настроить ядро. Я наткнулся на незнакомый код в учебнике, который его вообще не объясняет. Это код, который, как мне сказали, сопоставляет 16 IRQs (0-15) с адресами ISR 32-47: void irq_remap(void) { outportb(0x20, 0x11); outport...

6
голосов
2ответов
2765 просмотров

Как ОС обычно управляет памятью ядра и обработкой страниц?

Я работаю над дизайном ядра и у меня есть вопросы по разбиению на страницы. Основная идея, которой я придерживался до сих пор, заключается в следующем: каждая программа получает свой собственный (или так думает) 4G памяти, за вычетом раздела, который я резервирую для функций ядра, которые про...

66
голосов
15ответов
29399 просмотров

Ресурсы для разработки операционной системы

Я планирую написать операционную систему и не очень разбираюсь в операционных системах. Есть ли какие-нибудь хорошие ресурсы или книги, которые я могу почитать, чтобы учиться? Каковы ваши рекомендации?

14
голосов
3ответов
6957 просмотров

Доступ с клавиатуры в защищенном режиме на сборке x86

Я работаю над вводом с клавиатуры для самого простого ядра, которое разрабатываю, и я полностью застрял. Кажется, я не могу найти в Интернете никакой информации, которая могла бы показать мне ту информацию, которую мне нужно знать. Мое ядро ​​сейчас работает в защищенном режиме, поэтому я не ...

12
голосов
2ответов
1906 просмотров

Включение GRUB для автоматической загрузки из ядра

Я разрабатываю ядро ​​для операционной системы. Для его выполнения я решил использовать GRUB. В настоящее время у меня есть скрипт, прикрепленный к GRUB stage1, stage2, файл pad и само ядро ​​вместе, что делает его загрузочным. Единственная проблема в том, что когда я запускаю его, вы должны соо...

8
голосов
5ответов
6564 просмотров

Размер стека, используемый при разработке ядра

Я разрабатываю операционную систему, и вместо программирования ядра я разрабатываю ядро. Эта операционная система ориентирована на архитектуру x86, и моя цель - для современных компьютеров. Предполагаемое количество требуемой оперативной памяти составляет 256 МБ или более. Какого размера стек...

9
голосов
7ответов
5360 просмотров

Нужна ли программе ОС, кроме malloc / free, для чего-нибудь еще?

Я работаю над разработкой ядра (которое я собираюсь называть «ядром», просто чтобы отличаться, но в основном оно то же самое) для ОС, над которой я работаю. Специфика самой ОС не имеет значения, если я не могу запустить и запустить многозадачность, управление памятью и другие базовые вещи, поэто...

32
голосов
13ответов
8525 просмотров

Разработка операционной системы для архитектуры x86

Я планирую разработать операционную систему для архитектуры x86. Какие у меня есть варианты языков программирования? Какие типы компиляторов доступны, предпочтительно в среде Windows? Есть ли хорошие источники, которые помогут мне узнать больше о разработке операционных систем? Что луч...

591
голосов
28ответов
118715 просмотров

Какие ресурсы можно найти для начала разработки операционной системы?

Я всегда хотел разработать свою собственную операционную систему (не обязательно необычную, как Linux или Windows, но лучше, чем простой загрузчик, который я уже сделал). Мне сложно найти ресурсы / руководства, которые помогут вам с написанием простой ОС "Hello World". Я знаю, что многие, ...

20
голосов
12ответов
5121 просмотров

Как лучше всего познакомиться с внутренним устройством ядра Linux или BSD?

Я хотел бы больше узнать о внутреннем устройстве операционной системы. Управление процессами, памятью и тому подобное. Я думал об обучении, знакомясь с ядром Linux или BSD. Какое ядро ​​лучше для обучающих целей? С чего лучше всего начать? Вы можете порекомендовать хорошие книги?

5
голосов
4ответов
2964 просмотров

Смешивание 32-битного и 16-битного кода с nasm

Это системный вопрос низкого уровня. Мне нужно смешивать 32-битный и 16-битный код, потому что я пытаюсь вернуться в реальный режим из защищенного режима. В качестве небольшой справочной информации, мой код делает это сразу после загрузки GRUB, поэтому у меня нет какой-либо надоедливой операц...