DigitableCourses
База знаний

Тема: системное программирование

15 материалов в этой теме.

Материалы

12 на странице
Статья

Современные альтернативы: Rust, Zig, Go — когда уходить с C и когда оставаться

Инженерное сравнение Rust, Zig и Go с C по осям, которые реально решают: гарантии компилятора, рантайм, ABI и FFI, кросс-компиляция, зрелость toolchain и стоимость …

#системное программирование#c#rust
20 мин
Статья

Системные вызовы и ввод-вывод: файлы, дескрипторы, буферизация

Как программа на C просит ядро о работе: механика инструкции syscall, три уровня таблиц дескрипторов, короткие записи и EINTR, три слоя буферизации и почему успешный …

#системное программирование#c#linux
23 мин
Статья

Сборка и компоновка: препроцессор, объектные файлы, статические и динамические библиотеки

Что происходит между нажатием make и появлением исполняемого файла: препроцессор как текстовая машина, единица трансляции, секции и релокации в .o, разрешение символов …

#системное программирование#c#компоновка
24 мин
Статья

Потоки и синхронизация: pthreads, мьютексы, условные переменные, атомарность

Как устроены потоки в C: pthreads, гонки данных как неопределённое поведение, мьютексы и futex, условные переменные, модель памяти C11, атомарные операции и инструменты, …

#системное программирование#c#многопоточность
21 мин
Статья

Память и указатели: адреса, разыменование, арифметика указателей

Что такое адрес и объект в модели памяти C, как выглядит адресное пространство процесса, во что компилируется разыменование, почему p + 1 сдвигает на sizeof(T), где …

#системное программирование#c#указатели
20 мин
Статья

Основы C: типы, операторы, управление потоком, функции

Базовый C глазами системного программиста: абстрактная машина стандарта, целочисленные преобразования и их ловушки, операторы и порядок вычисления, управление потоком, …

#системное программирование#c#типы данных
20 мин
Статья

Неопределённое поведение и безопасность памяти: как ломается и как не ломать

Что стандарт C называет неопределённым поведением и почему компилятор вправе им пользоваться, каталог реального UB с разбором ассемблера, классы ошибок безопасности …

#системное программирование#c#безопасность памяти
22 мин
Статья

Ассемблер для программиста: регистры, стек, соглашения о вызовах

Как читать ассемблер x86-64 и AArch64, чтобы понимать собственный C-код: регистры и флаги, кадр стека, System V ABI, конвенция системных вызовов, инлайн-ассемблер и то, …

#системное программирование#c#ассемблер
21 мин