0Корзина
Главная » Программирование » OTUS - Глеб Коробейников, Алексей Иванов → Разработка ядра Linux

OTUS - Глеб Коробейников, Алексей Иванов → Разработка ядра Linux

5 б Облако Mail
169 P
Артикул: 14973
В наличии
Автор курса: OTUS Категория: Программирование Дата выхода: 2025 Продажник от автора: Перейти

Описание

Для кого этот курс:
  • Системные администраторов и DevOps-инженеров, которые хотят улучшить навыки для решения сложных задач, связанных с оптимизацией и настройкой серверов.
  • Программистов, желающих перейти в системное программирование, но не понимающих как и с чего начать заниматься системным программированием и разрабатывать модули для ядра.
  • Инженеров по безопасности информационных систем, сосредоточенных на тестировании и анализе уязвимостей, которые сталкиваются со сложностями в быстром реагировании на уязвимости, возникающие в ядре, из-за недостатка практического опыта в его разработке и модификации
  • Разработчики на C, которым нужны углубленные знания о внутреннем устройстве операционной системы для написания более эффективного кода.
  • Системные программисты, у кого есть необходимость глубокого понимания внутренней архитектуры ОС для создания эффективного программного обеспечения
  • Разработчики embedded-систем, которые сталкивается с трудностями при необходимости создания драйверов и взаимодействия с аппаратным обеспечением
  • Системные администраторы с навыками программирования на C, которые часто сталкиваются с проблемами при настройке и отладке системы, для которых требуется знание ядра
Вы научитесь:
  • Разрабатывать и интегрировать собственные модули ядра: Напишут, соберут и запустят модули, а также смогут анализировать выводы отладки через dmesg
  • Владеть алгоритмами и структурами: Применят темы, изученные о структуре данных для решения реальных задач в проекте на ядре Linux
  • Реализовывать синхронизацию процессов и потоков: Используют различные примитивы синхронизации в собственных разработках
  • Анализировать и обрабатывать прерывания: Понимают, как работают обработчики прерываний и смогут их отлаживать
  • Управлять памятью в ядре: Разработают решения для эффективного управления памятью, включая использование аллокаторов и механизмов управления страницами
  • Участвовать в проектах на основе Linux: Подготовят себя к работе в команде на проектах, связанных с разработкой и поддержкой ядра Linux.
Необходимые знания:
  • Уметь работать в ОС Linux
  • Базовое знание Bash
  • Базовое знание Python
  • Уверенный уровень разработки на языках программирования C
  • Умение работать и подключаться к Виртуальной машине
Программа

Введение в разработку ядра Linux

В этом модуле вы рассмотрите общие сведения о ядре Linux, его сборке и установке."
Тема 1: Начальные сведения о ядре Linux
Тема 2: Компиляция и настройка ядра. Инструменты работы с ядром
Тема 3: Ядро Linux. Обзор ядра Linux и его архитектуры. Основные функции ядра // ДЗ
Тема 4: Q&A занятие по ДЗ

Модули ядра Linux
В этом модуле вы рассмотрите что такое модуль ядра; научитесь собирать, загружать и выгружать модули ядра."
Тема 1: Что такое модуль ядра Linux. Как его написать, собрать, запустить. Что такое буффер сообщений ядра (dmesg) // ДЗ
Тема 2: Q&A занятие по ДЗ

Структуры данных и алгоритмы в ядре Linux
В этом модуле вы рассмотрите базовые структуры данных и алгоритмы в ядре Linux."
Тема 1: Связанные списки в ядре Linux. Реальные примеры из кода ядра Linux
Тема 2: Очереди в ядре Linux. Реальные примеры из кода ядра Linux
Тема 3: Стеки в ядре Linux. Реальные примеры из кода ядра Linux
Тема 4: Деревья в ядре Linux (бинарные и красно-черные). Реальные примеры из кода ядра Linux
Тема 5: Битовые карты в ядре Linux. Реальные примеры из кода ядра Linux
Тема 6: Алгоритмы в ядре Linux. Бинарный поиск. Поиск с помощью двоичных деревьев. Хэширование // ДЗ
Тема 7: Q&A занятие по ДЗ

Управление процессами и потоками
В этом модуле вы рассмотрите процессы и потоки в ядре Linux; примитивы синхронизации и их реализацию; планировщики (CFS, EEVDF).
Тема 1: Что такое процесс в ядре Linux. Что такое поток в ядре Linux. API для работы с процессами и потоками
Тема 2: Синхронизация процессов и потоков и зачем это надо. Что такое spin блокировка, mutex, семафоры и др. примитивы синхронизации
Тема 3: Детально рассмотрим как работает Spinlock, Mutex, Semaphores. Deep diving в архитектурный код ядра, где реализованы эти примитивы. Разбираем RCU
Тема 4: Системный планировщик и диспетчеризация процессов в ядре. Планировщик CFS. Планировщик EEVDF // ДЗ
Тема 5: Q&A занятие по ДЗ

Прерывания. Обработчики прерываний. Cинхронизация в контексте прерываний. Виды Page Fault в Linux
В этом модуле вы рассмотрите прерывания и их обработка в ядре Linux; разновидности прерываний, разбор PF-ов; механизмы отложенного выполнения в ядре Linux"
Тема 1: Прерывания, дескрипторы прерываний, IDT и как это выглядит в ядре Linux
Тема 2: Top-half и Bottom-half обработчиков прерываний. Softirq, Tasklets, Workqueue
Тема 3: Что такое Page Fault. Какие виды PF бывают в Linux // ДЗ
Тема 4: Q&A занятие по ДЗ

Время в ядре Linux. Таймеры. Preemption многозадачность.
В этом модуле вы рассмотрите таймеры в ядре Linux и виды многозадачности, в частности preemption многозадачность; обобщите знания о прерываниях, таймерах, процессах и многозадачности. "
Тема 1: Как протекает время в ядре Linux. API таймеров
Тема 2: Что такое Preemption. Обобщаем работу с процессами и прерываниями // ДЗ
Тема 3: Q&A занятие по ДЗ

Управление RAM памятью
В этом модуле вы рассмотрите виртуальную и физическую память; аллокаторы SLAB и SLUB в ядре; способы эффективного выделения памяти под задачу."
Тема 1: Управление памятью в Linux. SLAB-аллокатор. SLUB-аллокатор. Плюсы и минусы этих аллокаторов. API для выделения памяти в ядре
Тема 2: Отличие физической памяти от виртуальной памяти. Page Table. Реализация pagging в ядре Linux
Тема 3: 3 (28) Ситуация когда нужно выделить заранее много памяти для объектов одинакового размера. Что такое kmem_cache. Что такое mempool // ДЗ
Тема 4: Q&A занятие по ДЗ

Устройства в Linux
В этом модуле вы изучите символьные и блочные устройства, виртуальные файловые системы и интерфейсы.
Тема 1: Символьные устройства
Тема 2: Блочные устройства
Тема 3: Взаимодействие с устройством через ioctl. Виртуальные файловые системы /proc, /sys, /dev. Общение через сокет netlink

Проектная работа
Заключительный месяц курса посвящён проектной работе. Проект – это самая интересная часть обучения. Вы будете разрабатывать его на основе полученных на курсе навыков и компетенций. В процессе работы над проектом можно получить консультацию преподавателей.
Тема 1: Выбор темы и организация проектной работы // Проект
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
Тема 4: Подведение итогов курса

Что даст курс:
  • Основы разработки ядра: Понимание архитектуры и базовых компонентов ядра Linux, включая его функции и принципы работы
  • Создание и отладка модулей: Навыки разработки, компиляции и интеграции модулей ядра, а также работы с буфером сообщений ядра (dmesg)
  • Работа со структурами данных и алгоритмами: Освоение операций со сложными структурами данных, такими как связанные списки, очереди, стеки и деревья, с реальными примерами из кода ядра
  • Управление процессами и потоками: Понимание работы процессов и потоков в ядре, включая API и примитивы синхронизации (spin блокировки, mutex, семафоры)
  • Обработка прерываний: Освоение работы с прерываниями и их обработчиками в контексте ядра, включая аспекты синхронизации
  • Управление памятью: Знание методов управления физической и виртуальной памятью, включая различия между SLAB- и SLUB-аллокаторами и механизмами страниц.
Преподаватели:
- Коробейников Глеб
Astra Linux. Senior-разработчик ядра Linux
1 год в Otus
4 года опыта разработчиком в ядре Linux. Работал в таких фирмах как RAIDIX, YADRO, SBERTECH. Есть несколько багрепортов и коммитов в ядро Linux. Практический опыт базируется на знании языков C, bash и знании инструментов для отладки ядерного кода таких как kmemleak, KASAN, KGDB, ftrace, eBPF. Теоретический опыт базируется на знании архитектуры amd64, архитектуры современных операционых систем в том числе Linux.
Окончил ИГУ по специальности чистая математика.

- Алексей Иванов
ПАО "Яковлев" - филиал"ОАК". Инженер-программист
1 год в Otus
Занимаюсь разработкой и модернизацией PLM систем; Разработкой ПО для автоматизации обработки Конструкторско-технологической информации. В IT 3 года. Практический опыт базируется на знании языков С и С#.
Окончил ИГУ по направлению "Математика", и курс повышения квалификации "Программирование на C# Продвинутый уровень - часть 1" от Трайтек

ИСТОЧНИК

СКАЧАТЬ
Страница посвящена обучающему материалу «OTUS - Глеб Коробейников, Алексей Иванов → Разработка ядра Linux», доступному в каталоге Sklads.net. Год выпуска курса — 2025. В нашем каталоге курс доступен за 169 рублей. Материал относится к категории «Программирование». Другие курсы автора «OTUS» можно найти по имени через поиск Sklads.net.
Показать полностью
✅ После оплаты система мгновенно направит на вашу почту ссылку(и) на курс, регистрация необязательна!

🛑 Авторизуйтесь или зарегистрируйтесь и Вы получите ссылку не только на почту, но и на странице товара.
📲 Наши отзывы на сайте | в Telegram (кликабельно)

🤔 Есть сомнения в инфопродукте? В качестве гарантии можем отправить дополнительные скриншоты, любой видео файл или сделать запись с экрана содержимого на облаке.

🔆 Нашли дешевле в другом месте? Сделаем цену ещё ниже чем там где вы нашли!

✍🏻 По всем вопросам, в том числе с оплатой и получением - писать в Telegram (кликабельно), в чат на сайте (в нижнем правом углу) или на почту admin@coursx.net Мы всегда на связи!

Поделиться страницей

Часто задаваемые вопросы о складчинах

Что такое складчина? Почему цена ниже, чем на официальном сайте? Что входит в комплект материалов? Как я получу доступ после оплаты? Можно ли проверить наличие курса до покупки? Что делать, если курс был обновлён автором? На какой срок предоставляется доступ? Возможен ли возврат средств?

Другие складчины

Инвестиции, Трейдинг, Криптовалюта
Forex-protools - Торговая система Trend Lock System v1
169
Инвестиции, Трейдинг, Криптовалюта
Система Forex4Live Reversal
169
Инвестиции, Трейдинг, Криптовалюта
Vertex Investing - Inspiring Traders
169
Быстрая доставка

Гарантируем быструю доставку заказа на ваш Email.

Лучшие цены

Гарантируем самые низкие цены. Сделаем цену ниже если нашли дешевле.

Прием заказов 24/7

Заказы принимаются круглосуточно!

100% Безопасная оплата

Безопасная оплата и получение заказа.