• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Ядро Linux

Преподаватель: Александр Михалевич (1С)

План факультатива 



Расписание:
По понедельникам
18.10 - 19.30
с 27.01 по 23.03 - 3 модуль
R615
с 06.04 по 08.06 - 4 модуль 
R615

Аннотация:

Курс про устройство ядра Linux, от самых простых понятий до сложных концепций. Курс будет интересен и полезен студентам, кто хочет подробнее разобраться в том, как устроены операционные системы Linux, какие механизмы и подходы в них реализованы, а также набраться опыта низкоуровневой разработки.

Цель:

1. Познакомиться и изучить основные механизмы и понятия семейства операционных систем Linux

Планируемые результаты обучения (ПРО):

1. Знать базовые понятия ядра Linux
2. Знать основные структуры ядра
3. Иметь базовые навыки работы в CLI
4. Понимать, что такое аппаратная и программная виртуализация
5. Знать основные программные средства для виртуализации
6. Уметь разворачивать виртуальные машины
7. Знать базовые понятия о процессах
8. Иметь понимание о работе планировщика в Linux
9. Ознакомиться с реализацией планировщика в Linux
10. Знать, что такое прерывания
11. Уметь реализовывать обработчик прерывания
12. Знать основные термины прерываний
13. Знать, что такое атомарные операции и спин-блокировки
14. Знать и уметь работать с мьютексами и семафорами
15. Знать, что такое барьеры и каких типов они бывают
16. Знать, как устроена работа со временем в Linux
17. Уметь реализовывать таймеры и их обработчики
18. Уметь реализовывать задержку выполнения
19. Знать, что такое страничная организация памяти, выделение страниц 
20. Понимать, как работает блочное распределение памяти
21. Понимать, как работает выделение памяти для конкретного процессора 
22. Понимать, что такое области виртуальной памяти
23. Уметь работать с областями памяти
24. Знать методики кэширования
25. Знать, что такое буферный кэш
26. Знать, что такое потоки синхронизатора
27. Уметь понимать диагностические сообщения
28. Уметь задавать конфигурацию для отладки ядра 

Пререквизиты:

1. Уверенное знание С/С++