Этот код может не выглядеть таким подходящим во многих местах, и рано или поздно будет рефактор. Новый склад восстановить-OS. Подождите, пока я вернусь, чтобы заполнить яму. Рефакторированная версия: https://github.com/yiezias/recover-os
Этот проект основан на версии архитектуры AMD64 (или архитектура x86_64) операционной системы, реализованной «Восстановление истины операционной системы». Основные идеи и код соответствуют оригинальной книге.
Операционная система, внедренная «Операционной системой истиной восстановления», работает на 32-битном процессоре архитектуры x86, но теперь мы уже ввели 64-разрядную эру. Так что я копия Обратитесь к коду в «Восстановлении истины операционной системы», чтобы реализовать его 64-битную версию.
$ make run может компилировать и запустить эмулятор Bochs.
Эта операционная система имеет встроенные 2048, змеи и другие мини-игры.
Записать код с помощью восстановления:
(Терминал не реализует входное и перенаправление вывода, а кошка ниже отличается от кошки в Linux)
(Просто покажите функцию написания текстовых файлов)

2048 Mini Game:

Жадная змея (капля кадра серьезно, поэтому я не отпущу анимации):

Самые простые в понимании, которые я читал, подробно и интересно. Даже если это кажется немного многословным, автору все еще нужно попробовать разные способы, чтобы читатели поняли (где я могу найти такую дружелюбную книгу). Среди множества книг, связанных с операционной системой, я наконец выбрал это Единственный, кто может понять Реализация книги операционной системы.
В основном разница между архитектурами AMD64 и X86
В соответствии с архитектурой AMD64 функции, как правило, используют регистры для передачи параметров, а соглашение о вызове функции в соответствии с X86 не имеет эталонного значения. Но это легко понять. Напишите функцию C подробно и составьте ее в сборку, а затем вы поймете ее, написав в GCC. Эти знания необходимы во многих местах в процессе разработки.
Длинный режим можно понять как 64-битный особенность Защищенный режим, процессор должен переключиться из реального режима в защищенный режим, а затем в длинный режим.
Наиболее удобный способ получить информацию - это, конечно, поисковая система, но поисковые системы часто не могут найти нужный контент, и по -настоящему авторитетная информация все еще остается документами AMD или Intel.
Эта система полностью отказывается от метода прерывания реализации системных вызовов и использует инструкцию Syscall Sysret Fast System Call для его реализации. Для получения подробной информации, пожалуйста, обратитесь к документам AMD или Intel, и содержание не является сложным.
Файловая система автора не очень хорошо написана. С одной стороны, файловая система уже довольно сложна, но автор часто использует почти сотни строк функций, и некоторый код может быть использован повторно, но его необходимо реализовать неоднократно, что в целом очень сбивает с толку. Эта системная файловая система эквивалентна серьезным изменениям в авторе, но ее нельзя понять, основываясь на книге и коде автора. Файловая система этой системы не реализует функции на уровне каталогов, но не влияет на реализацию других функций системы, поэтому она опущена.
Оболочка автора реализована в ядре. Эта система использует оболочку в качестве приложения, а в процессе инициации используется системный вызов execv для загрузки оболочки корневого каталога. Многие встроенные команды системы авторов также непосредственно реализованы в качестве приложений в этой системе. Но уровень кода похож. Существуют также специальные мини-игры, которые могут вызвать интерфейс операционной системы для независимого реализации приложений, и эта система в основном завершена.