Этот курс научит вас создавать простую операционную систему с нуля. Он охватывает основы архитектуры x86 и низкоуровневого программирования. В этом курсе мы шаг за шагом проведем вас через процесс создания небольшой рабочей системы.
Первая часть курса учит всему, что вам нужно знать (режимы процессора, paging, обработка исключений и прерываний и т. д.), Прежде чем вы сможете построить ядро на архитектуре x86, мы увидим, как подготовиться к переключению режима. Мы переключаемся из реального режима в защищенный, а затем переходим в длительный режим. Наше ядро работает в 64-битном режиме. После переключения в 64-битный режим мы увидим, как обрабатывать исключения и прерывания, как переключаться между режимом ядра и пользовательским режимом.
Во второй части курса вы узнаете, как создавать модули ядра, такие как процессы, управление памятью, обработка прерываний и т. д. В этой части мы увидим, как написать драйвер клавиатуры и консоль, как взаимодействовать с ядром ОС, используя консоль. После завершения этой части вы должны знать, как писать пользовательские программы и заставлять их работать в вашей собственной операционной системе.
Постройте простую операционную систему для архитектуры x86;
Узнаете что такое реальный режим;
Узнаете что такое защищенный режим и длительный режим;
Обрабатывайте прерывания и исключения в 64-битном режиме;
Напишите ядро ОС с ассемблерным кодом и кодом на C;
Напишите функцию печати, чтобы печатать символы на экране;
Создайте диспетчер памяти, используя механизм подкачки x86;
Напишите обработчик таймера для диспетчера процессов;
Создайте диспетчер процессов для планирования процессов и переключения их между различными состояниями (спящий, готовый, завершенный);
Реализуйте модуль системного вызова, чтобы пользовательские программы работали в системе;
Напишите драйвер клавиатуры (PS / 2);
Напишите простую консоль для взаимодействия с ядром ОС с помощью команд;
Напишите простой модуль файловой системы, который поддерживает чтение системы fat16.
По окончании курса вы сможете разработать свою собственную 64-битную операционную систему.
Посмотреть больше
Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай
Write Your Own Operating System From Scratch - Step by Step,
а также все другие курсы, прямо сейчас!
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Операционные системы, часть 3: синхронизация и тупик (Deadlock)
Operating Systems Part 3 : Synchronization and Deadlock
Добро пожаловать на курс Операционные системы. Часть 3. Синхронизация и тупик. Освоение концепций операционных систем очень важно для начала работы с компьютерными науками, поскольку операционная система - это программа, которая отвечает за простоту использования компьютеров сегодня для решения наших проблем путем написания таких прикладных программ, как Google Chrome.
Операционные системы управляют множеством процессов, обеспечивают доступ к памяти, диску и сети, а также выполняют процессы, планируя их выполнение на центральном процессоре. Это звучит просто, когда мы говорим об этом таким образом, но эта задача огромна. Настолько огромна, что написание эффективных программ действительно зависит от того, насколько хорошо инженер понимает операционные системы.Я всегда был очарован тем, чтобы раскрывать и разъясн