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

5 б
Облако Mail
169 P
Артикул: 14973
В наличии
Автор курса: OTUS
Категория: Программирование
Дата выхода: 2025
Продажник от автора: Перейти
Описание
Для кого этот курс:
Введение в разработку ядра 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: Подведение итогов курса
Что даст курс:
- Коробейников Глеб
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" от Трайтек
ИСТОЧНИК
СКАЧАТЬ
- Системные администраторов и 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», это материал 2025 года, который, мы надеемся, принесет вам пользу. Все курсы доступны по очень низкой цене, в отличии от оригинальной цены автора в размере рублей. Вы же получаете этот курс, купив в нашем магазине Coursx.net, с огромной скидкой, всего 169 рублей. На каждый курс Вы можете посмотреть оригинальный продажник, после чего принять решение о покупке. Обучающий курс входит в рубрику «Программирование», спросом которой пользуется множество покупателей. В нашем магазине Вы найдёте ещё много курсов от автора «OTUS», достаточно ввести в поиск имя автора.
✅ После оплаты система мгновенно направит на вашу почту ссылку(и) на курс, регистрация необязательна!
🛑 Авторизуйтесь или зарегистрируйтесь и Вы получите ссылку не только на почту, но и на странице товара.
🛑 Авторизуйтесь или зарегистрируйтесь и Вы получите ссылку не только на почту, но и на странице товара.
📲 Наши отзывы на сайте | в Telegram (кликабельно)
🤔 Есть сомнения в инфопродукте? В качестве гарантии можем отправить дополнительные скриншоты, любой видео файл или сделать запись с экрана содержимого на облаке.
🔆 Нашли дешевле в другом месте? Сделаем цену ещё ниже чем там где вы нашли!
✍🏻 По всем вопросам, в том числе с оплатой и получением - писать в Telegram (кликабельно), в чат на сайте (в нижнем правом углу) или на почту admin@coursx.net Мы всегда на связи!
🤔 Есть сомнения в инфопродукте? В качестве гарантии можем отправить дополнительные скриншоты, любой видео файл или сделать запись с экрана содержимого на облаке.
🔆 Нашли дешевле в другом месте? Сделаем цену ещё ниже чем там где вы нашли!
✍🏻 По всем вопросам, в том числе с оплатой и получением - писать в Telegram (кликабельно), в чат на сайте (в нижнем правом углу) или на почту admin@coursx.net Мы всегда на связи!
Поделиться страницей
Также смотрите
Udemy / Abe Bazouie - Master Linux Admin For DevOps & SRE — с нуля до трудоустройстваСпециалист / Павел Монахов - Системное администрирование Linuxit-black / Виктор Черемных - Администрирование LinuxUdemy / Эд Доннер - ИИ-программист: от Vibe-кодера до инженера по ИИ-агентам за 3 неделиOTUS / Андрей Буранов, Алексей Цыкунов - Administrator Linux. Professional
Часто задаваемые вопросы
Как приобрести инфопродукт?
Выберите желаемый инфопродукт, добавьте его в корзину либо нажмите сразу "Купить" для быстрого перехода к странице оформления заказа. Выберите удобный платежный метод и перейдите к оплате. После успешной покупки вы получите ссылку на вашу почту. Вы можете выбрать и оплатить сразу несколько курсов. Рекомендуем перед покупкой создать аккаунт, на него за каждую покупку вам будут приходить бонусы. 1 бонус = 1 руб. В дальнейшем вы можете оплачивать бонусами 100% от стоимости заказа.
Почему такая низкая цена?
Каждый из инфопродуктов который представлен в нашем магазине приобретался в складчину, соответственно и цена намного ниже чем у автора. Для вас доступна полная запись инфопродукта со всеми раздаточными материалами для самостоятельного прохождения, но без обратной связи от автора.
Какие у меня гарантии?
В качестве гарантии, вы можете написать нам на любой из контактов и мы предоставим вам доказательства наличия курсов в виде скриншотов / записи экрана / одного из уроков. Также рекоменудем ознакомится с нашими отзывами, все отзывы от реальных клиентов.
С каких стран можно оплатить?
Оплатить можно с любой из стран. Если не получилось оплатить через сайт, напишите откуда вы и мы найдём подходящий способ вам для оплаты.
На какое время выдается доступ?
К материалам на облаке мы никогда не закрываем доступ. Но есть вероятность, что ссылка может стать заблокированной по причине жалобы от правообладателя. Самый надёжный вариант после получения сохранить материалы себе или скачать. В случае, если материалы курса вам выдали в Telegram канале, доступ к нему не пропадет.
Возможен ли возврат средств за купленный товар?
Да. В случае если вы не получили ссылку на купленный товар.
Другие инфопродукты
Быстрая доставка
Гарантируем быструю доставку заказа на ваш Email.
Лучшие цены
Гарантируем самые низкие цены. Сделаем цену ниже если нашли дешевле.
Прием заказов 24/7
Заказы принимаются круглосуточно!
100% Безопасная оплата
Безопасная оплата и получение заказа.














