Заодно погружаюсь в административную сторону преподавания. Одним из необходимых действий перед запуском является подготовка списка знаний, умений и навыков (ЗУН), которые студент получает при успешном окончании курса. Вы только посмотрите, какая нямочка получилась😊
Принципы работы операционных систем:
- Понимание базовых компонентов ОС (ядра, оболочки, драйверы, файловые системы) и их взаимодействия.
Многозадачность и планирование процессов:
- Знание о планировщиках задач и их влиянии на выполнение процессов.
- Понимание концепции временных срезов и приоритетов.
Управление памятью:
- Понимание виртуальной памяти и адресации.
- Знание о пагинации и сегментации.
Управление файловой системой:
- Знание о структуре файловых систем (индексные дескрипторы, блоки данных).
- Понимание работы кэширования данных.
Синхронизация и взаимодействие процессов:
- Знание о примитивах синхронизации (мьютексы, семафоры, условные переменные).
Управление вводом-выводом:
- Понимание роли драйверов в работе с вводом-выводом.
- Знание о буферизации данных и способах оптимизации ввода-вывода.
Системные вызовы и API:
- Знание основных системных вызовов и их роли в взаимодействии с ядром ОС.
Безопасность и защита:
- Понимание механизмов контроля доступа и аутентификации.
- Знание о механизмах изоляции процессов.
Виртуализация:
- Знание о виртуализации и её ролях (полная виртуализация, контейнеризация).
- Понимание технологий виртуализации ресурсов.
Архитектурные паттерны ОС:
- Знание о различных архитектурных подходах при разработке операционных систем (монолитное ядро, микроядро, гибридные системы).
Распределенные системы:
- Понимание концепции распределенных систем и их целей (масштабируемость, надежность, доступность).
- Знание о моделях взаимодействия в распределенных системах (клиент-сервер, peer-to-peer, микросервисы).
- Основы архитектурных решений для обеспечения согласованности данных и избежания конфликтов.
Управление состоянием:
- Знание о различных методах управления состоянием в распределенных системах.
- Понимание проблем консистентности и доступности данных в распределенных хранилищах.
Обеспечение надежности:
- Знание о протоколах репликации и шардинга данных.
Управление ресурсами:
- Понимание ограниченности ресурсов в распределенных системах (пропускная способность, задержки).
Совместимость и интероперабельность:
- Знание о методах обеспечения совместимости и взаимодействия различных компонентов распределенной системы.
- Понимание роли стандартов и протоколов в обеспечении интероперабельности.
Облачные вычисления:
- Понимание концепции облачных вычислений и их влияния на разработку и развертывание распределенных систем.
- Знание о типах облачных моделей (IaaS, PaaS, SaaS) и их особенностях.