<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>системное программирование on Digitable courses</title>
    <link>https://courses.digitable.life/tags/%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D0%BE%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/</link>
    <description>Recent content in системное программирование on Digitable courses</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ru-RU</language>
    <lastBuildDate>Thu, 16 Jul 2026 10:00:00 +0300</lastBuildDate><atom:link href="https://courses.digitable.life/tags/%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D0%BE%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>C и системное программирование: карта трека и зачем это сегодня</title>
      <link>https://courses.digitable.life/post/systems-programming/00-overview/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/00-overview/</guid>
      <description>Что такое системное программирование, почему C остаётся его языком спустя полвека, как устроен слой «под» высокоуровневыми языками, почему неопределённое поведение здесь центральное понятие и как выстроить дисциплину безопасности памяти — плюс карта из тринадцати статей трека.</description>
    </item>
    
    <item>
      <title>C&#43;&#43; после C: RAII, классы, шаблоны, умные указатели — что меняется</title>
      <link>https://courses.digitable.life/post/systems-programming/12-cpp-intro/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/12-cpp-intro/</guid>
      <description>Переход с C на C++ глазами системщика: почему C++ не надмножество C, как RAII убирает goto cleanup, что компилятор генерирует под классы и шаблоны, сколько стоят исключения и умные указатели — и почему UB никуда не делся.</description>
    </item>
    
    <item>
      <title>Rust: обзор языка, философия безопасности и дорожная карта курса</title>
      <link>https://courses.digitable.life/post/rust/00-overview/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/rust/00-overview/</guid>
      <description>Какую задачу решает Rust, почему владение и заимствование — это модель памяти, а не набор придирок компилятора, что язык гарантирует и чего не гарантирует, сколько он стоит по времени сборки и обучению, и как устроен этот курс из четырнадцати статей.</description>
    </item>
    
    <item>
      <title>Ассемблер для программиста: регистры, стек, соглашения о вызовах</title>
      <link>https://courses.digitable.life/post/systems-programming/10-assembly-basics/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/10-assembly-basics/</guid>
      <description>Как читать ассемблер x86-64 и AArch64, чтобы понимать собственный C-код: регистры и флаги, кадр стека, System V ABI, конвенция системных вызовов, инлайн-ассемблер и то, что оптимизатор делает с вашими предположениями.</description>
    </item>
    
    <item>
      <title>Динамическая память: malloc, free, утечки, фрагментация, свои аллокаторы</title>
      <link>https://courses.digitable.life/post/systems-programming/04-dynamic-memory/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/04-dynamic-memory/</guid>
      <description>Как на самом деле работает куча в C: контракт malloc/free, устройство чанков glibc, brk и mmap, утечки и use-after-free, санитайзеры, фрагментация и свои аллокаторы — арена и пул.</description>
    </item>
    
    <item>
      <title>Массивы, строки и структуры: раскладка в памяти и выравнивание</title>
      <link>https://courses.digitable.life/post/systems-programming/03-arrays-strings-structs/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/03-arrays-strings-structs/</guid>
      <description>Как массивы, строки и структуры на самом деле лежат в байтах: распад массива в указатель, NUL-терминация, padding и выравнивание, packed-структуры, AoS против SoA и инструменты, которые ловят ошибки раньше продакшена.</description>
    </item>
    
    <item>
      <title>Неопределённое поведение и безопасность памяти: как ломается и как не ломать</title>
      <link>https://courses.digitable.life/post/systems-programming/11-undefined-behavior/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/11-undefined-behavior/</guid>
      <description>Что стандарт C называет неопределённым поведением и почему компилятор вправе им пользоваться, каталог реального UB с разбором ассемблера, классы ошибок безопасности памяти и инженерная дисциплина против них: владение, размерные API, флаги закалки, санитайзеры, фаззинг и аппаратные меры.</description>
    </item>
    
    <item>
      <title>Основы C: типы, операторы, управление потоком, функции</title>
      <link>https://courses.digitable.life/post/systems-programming/01-c-basics/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/01-c-basics/</guid>
      <description>Базовый C глазами системного программиста: абстрактная машина стандарта, целочисленные преобразования и их ловушки, операторы и порядок вычисления, управление потоком, функции и связывание — и почему каждая мелочь здесь упирается в неопределённое поведение.</description>
    </item>
    
    <item>
      <title>Отладка и диагностика: gdb, valgrind, санитайзеры, чтение core dump</title>
      <link>https://courses.digitable.life/post/systems-programming/06-debugging/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/06-debugging/</guid>
      <description>Инженерная дисциплина поиска багов в C: флаги сборки, работа в gdb, санитайзеры и valgrind, разбор core dump и охота на неопределённое поведение.</description>
    </item>
    
    <item>
      <title>Память и указатели: адреса, разыменование, арифметика указателей</title>
      <link>https://courses.digitable.life/post/systems-programming/02-memory-and-pointers/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/02-memory-and-pointers/</guid>
      <description>Что такое адрес и объект в модели памяти C, как выглядит адресное пространство процесса, во что компилируется разыменование, почему p + 1 сдвигает на sizeof(T), где начинается неопределённое поведение и какими инструментами ловить ошибки с указателями.</description>
    </item>
    
    <item>
      <title>Потоки и синхронизация: pthreads, мьютексы, условные переменные, атомарность</title>
      <link>https://courses.digitable.life/post/systems-programming/09-threads-and-sync/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/09-threads-and-sync/</guid>
      <description>Как устроены потоки в C: pthreads, гонки данных как неопределённое поведение, мьютексы и futex, условные переменные, модель памяти C11, атомарные операции и инструменты, которые ловят то, что не воспроизводится.</description>
    </item>
    
    <item>
      <title>Процессы и сигналы: fork, exec, каналы, обработка сигналов</title>
      <link>https://courses.digitable.life/post/systems-programming/08-processes-and-signals/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/08-processes-and-signals/</guid>
      <description>Как из одной программы на C получаются несколько процессов: fork и copy-on-write, семейство exec, сбор статусов через wait, каналы и перенаправление дескрипторов, надёжная обработка сигналов и типичные гонки.</description>
    </item>
    
    <item>
      <title>Сборка и компоновка: препроцессор, объектные файлы, статические и динамические библиотеки</title>
      <link>https://courses.digitable.life/post/systems-programming/05-build-and-linking/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/05-build-and-linking/</guid>
      <description>Что происходит между нажатием make и появлением исполняемого файла: препроцессор как текстовая машина, единица трансляции, секции и релокации в .o, разрешение символов компоновщиком, архивы против разделяемых библиотек, PLT и GOT, версии символов и почему расхождение заголовков между модулями — это неопределённое поведение, которое компилятор не поймает.</description>
    </item>
    
    <item>
      <title>Системные вызовы и ввод-вывод: файлы, дескрипторы, буферизация</title>
      <link>https://courses.digitable.life/post/systems-programming/07-syscalls-and-io/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/07-syscalls-and-io/</guid>
      <description>Как программа на C просит ядро о работе: механика инструкции syscall, три уровня таблиц дескрипторов, короткие записи и EINTR, три слоя буферизации и почему успешный write() не значит «данные на диске».</description>
    </item>
    
    <item>
      <title>Современные альтернативы: Rust, Zig, Go — когда уходить с C и когда оставаться</title>
      <link>https://courses.digitable.life/post/systems-programming/13-modern-alternatives/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      
      <guid>https://courses.digitable.life/post/systems-programming/13-modern-alternatives/</guid>
      <description>Инженерное сравнение Rust, Zig и Go с C по осям, которые реально решают: гарантии компилятора, рантайм, ABI и FFI, кросс-компиляция, зрелость toolchain и стоимость команды; стратегии постепенной миграции через границу C-ABI и честный список причин остаться на C.</description>
    </item>
    
  </channel>
</rss>
