1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/yourtion-MakeOS30day

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

«Создание собственной операционной системы за 30 дней» — русский перевод исходного кода — OSASK

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

Способ выполнения: создайте папку run в tolset, скопируйте туда код и запустите !cons_**.bat в зависимости от версии системы.

Обычно код запускается с помощью make run, начиная с 27-го дня используется make run_full. Можно также просто читать книгу. Или же, скопируйте папку z_tools из tolset в папку проекта 30dayMakeOS.

Результат выполнения

Экран

Описание содержания

Первая неделя (день 1-7)

Сначала нужно подумать, как написать программу, которая будет работать сразу после подачи питания. Это сложно сделать на C, поэтому основной упор делается на ассемблере.

После завершения этого шага, следующим шагом будет написание программы для чтения операционной системы с диска. При включении питания компьютер не автоматически загружает всю операционную систему, он может загрузить только первые 512 байт с диска. Поэтому нам нужно написать программу для загрузки оставшейся части. Эта программа также будет написана на ассемблере.После завершения этого шага, все последующие программы можно будет писать на C. Мы будем использовать C для изучения написания программ для отображения экрана. В это время мы также постепенно будем изучать синтаксис C. В этот момент мы будем чувствовать, что делаем то, что хотим, но на самом деле мы еще не можем полностью контролировать C.

Далее, для реализации амбициозной цели «перемещения мыши», нам нужно будет точно настроить процессор и овладеть написанием обработчиков прерываний. Из общего содержания книги это довольно сложная часть, и авторы считают, что она может быть слишком сложной для этого этапа. Однако, с точки зрения структуры книги, эти материалы должны быть здесь, поэтому придётся потерпеть.Пройдя через этот болезненный период, первая неделя подходит к концу.

Вторая неделя (дни 8–14)Неделя упорной работы всё же имеет смысл. Взглянув назад, мы обнаружим, что достигли значительных успехов. В этот момент мы уже хорошо освоили синтаксис языка C и достигли уровня ассемблерного кода, необходимого для этой книги.

Теперь мы можем приступить к разработке полноценной операционной системы. Однако снова придётся столкнуться с проблемами алгоритмов. Даже если вы освоили синтаксис языка программирования, без понимания хороших алгоритмов вы не сможете создать желаемую операционную систему.

Поэтому в течение этой недели мы будем изучать алгоритмы и постепенно разрабатывать операционную систему. На этом этапе мы уже чувствуем, что больше не ограничены техническими проблемами.

Третья неделя (дни 15–21)Теперь наши навыки стали достаточно сильными, чтобы мы могли разрабатывать собственную операционную систему по своему усмотрению. Сначала мы добавим поддержку многозадачности, затем разработаем командную строку, и после этого сможем приступить к разработке приложений.К концу этой недели, даже если система ещё не будет полностью завершена, мы сможем представить программу, которую можно назвать операционной системой.

Четвертая неделя (дни 22–28)

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

Этот этап мы уже освоили хорошо, и это, возможно, самое приятное время для нас. Здесь мало что нужно объяснять, поэтому автор не будет тратить время на написание подробных пояснений, а сможет сосредоточиться на программировании (смеется).

Кстати, именно сейчас мы сможем добавить возможность отображения текста в нашей операционной системе.- День 22: Написание приложений на C

Оставшиеся два дня мы можем использовать для улучшения и доработки. В эти дни мы займемся теми задачами, которые были не так уж важны, но интересны и просты в реализации.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
C и 4 других языков
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/yourtion-MakeOS30day.git
git@api.gitlife.ru:oschina-mirror/yourtion-MakeOS30day.git
oschina-mirror
yourtion-MakeOS30day
yourtion-MakeOS30day
master