Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
30th
Окт
Разработка собственной ОС
Posted by maloy under assembler, Архив, Заметки, Операционные системы
Всем привет. Как бы это не звучало смешно, НО стоит призадуматся, а почему бы нет ? Я сам лично тоже изучаю, поэтому абсолютно на все вопросы дать ответы не смогу но буду стараться. Излагать буду не громоздко, а как возможно компактнее.
Причины которые сподвигли меня на это:
1. Разобраться как все устроено в ПК.
2. Довести до ума мои знания Asm и C.
3. Существует ряд статей в сети на эту тему, но все они не дают полного понимания того, что просиходит в коде.
4. Просто это интересно
По сути последнии и самые популярные ОС, всем известные Windows и Linux основаны на идеях еще 20го века
И так главная идея всей этой задумки, это просто: «Для изучения и понимания». А в будущем будет видно что из этого выйдет. Начало будет обычным, а дальше будем думать уже вместе.
И так к делу:
1. Софт
Для разработки нашей ОС понадобится ( выбран софт, который я использую, можете выбрать какой вам угоден ):
1. Виртуальная машина для теста Bochs
2. Ассемблер Nasm
3. Для создания кода на языке С понадобится MinGW
4. Так же информация о Asm, C, Железе, Прерываниях BIOS HelpPC
2. Теория
Так мы начинающие в этом деле то будем начинать с самого малого. Этапы запуска нашей ОС это
1. Загрузка ( в нашем случае будем грузиться с флоппика, в будущем будет видно )
2. Проверка и инициализация оборудования
3. Загрузка всех необходимых данных для нашей ОС и запуск «диалога» с пользователем.
3. Загрузчик
И так забываем о файловых системах, и вообще о понятии «файл». Флоппик ( дискета ) делится на сектора. Каждый сектор это 512 байт. При запуске ПК BIOS инициализирует все оборудование, проверяет его на ошибки. Дальше читает дискету, если она будет, то читаются первые 512 байт ( т.е. первый сектор ) по адресу 0000:07c0 и иму передается управление. Именно эти 512 байт и будут «первичным» загрузчиком. Почему первичным т.к. именно в этих 512 байт мы должны будем вместить код для передачи управления коду который будет распалогаться далее на дискете после первого сектора. Т.к. мы только загружаемся у нас есть BIOS и не более, поэтому начнем с Nasm.
тема на форуме от 2008 года
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)