Как стать автором
Обновить
22
0

Пользователь

Отправить сообщение

Разработка Unix подобной OS — Оболочка. Заключение (9)

Время на прочтение6 мин
Количество просмотров3.2K
Пришло время написать первую отдельную программу для нашего ядра — оболочку. Она будет храниться отдельным .elf файлом и запускаться init процессом при старте ядра.

Это последняя статья из цикла по разработке своей операционной системы.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Разработка Unix подобной OS — Драйверы символьных устройств (8)

Время на прочтение9 мин
Количество просмотров3K
В предыдущей статье мы ввели многозадачность. Сегодня пришло время рассмотреть тему драйверов символьных устройств.

Конкретно сегодня мы напишем драйвер терминала, механизм отложенной обработки прерываний, рассмотрим тему обработчиков верхних и нижних половин прерываний.

Начнем с создания структуры устройства, затем введем базовую поддержку файлового ввода-вывода, рассмотрим структуру io_buf и функции для работы с файлами из stdio.h.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии5

Разработка Unix подобной OS — Многозадачность и системные вызовы (7)

Время на прочтение8 мин
Количество просмотров2.4K
В предыдущей статье мы научились работать с виртуальным адресным пространством. Сегодня мы добавим поддержку многозадачности.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии5

Разработка Unix подобной OS — Виртуальное адресное пространство (6)

Время на прочтение7 мин
Количество просмотров4.5K
В предыдущей статье мы рассмотрели основы работы в защищенном режиме IA-32. Сегодня пришла пора научиться работать с виртуальным адресным пространством.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии3

Разработка монолитной Unix подобной OS — GDT & IDT (5)

Время на прочтение5 мин
Количество просмотров3.6K
В предыдущей статье мы с вами реализовали менеджер динамической памяти.
Сегодня мы рассмотрим основы работы в защищенном режиме процессора Intel i386.
А именно: глобальную таблицу дескрипторов и таблицу векторов прерываний.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Разработка монолитной Unix подобной OS — Куча (4)

Время на прочтение7 мин
Количество просмотров3K
В предыдущей статье мы с вами реализовали системный журнал ядра. Теперь пришло время реализовать менеджер динамической памяти.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Разработка монолитной Unix подобной OS — Системный журнал ядра (3)

Время на прочтение3 мин
Количество просмотров4.4K
В предыдущей второй по счету статье мы с вами разработали необходимые функции для работы со строками из библиотеки С. В этом уроке мы реализуем полноценный отладочный вывод на экран — системный журнал ядра.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии2

Разработка монолитной Unix подобной OS — Библиотека С (2)

Время на прочтение3 мин
Количество просмотров5.1K
В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали!
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии6

Разработка монолитной Unix подобной OS — Начало (1)

Время на прочтение4 мин
Количество просмотров11K
В связи с отрицательными отзывами пробной статьи «Разработка микроядерной Unix подобной OC — планировщик» я решил перезапустить серию статей с учетом некоторых замечаний. Теперь, осознав свою целевую аудиторию, я смог сместить фокус с подобных себе на тех кому это действительно нужно.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии6

Разработка многозадачной микроядерной ОС — Планировщик

Время на прочтение6 мин
Количество просмотров17K
После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика.

Важно:
1. Эта серия уроков для новичков. Цель — сформировать целостную картину мира. Очень долго у меня в голове была теория Таненбаума и я не мог ее связать с практикой. Тем у кого то же самое — посвящаю эту статью.
2. Код самый простой и тупой, но максимально понятный. Моя цель дать вам понимание чтобы вы смогли написать свое ядро, гораздо более крутое чем это.
3. Репо опубликую как только посчитаю его готовым для широкого круга. Я пишу небольшую часть, отлаживаю, и снимаю видеоурок. У меня нет готового продукта.

Честно говоря я долго думал стоит ли начинать писать статьи и делать видеоуроки на столь изьезженную тему. Но страсть к системному программированию и отсутствие структурированной информации на русском языке все же подтолкнули меня на этот эксперимент. Посему, если труд мой окажется востребованным, статьи планирую выпускать не реже чем раз в месяц и не чаще чем раз в неделю.
Всего голосов 51: ↑48 и ↓3+45
Комментарии40

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность