Операционные системы являются основой всего программного обеспечения. Эти книги учат, как ОС работают изнутри - процессы, виртуальная память, файловые системы, параллелизм и ввод-вывод - как с точки зрения учебника, так и с практической точки зрения.

Основные учебники по ОС

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

КнигаАвторГодУровеньОписание
Операционные системы: три простых части
Arpaci-Dusseau Books
Ремзи Х. Арпачи-Дусеау, Андреа С. Арпачи-Дусеау2018СреднийЛучший бесплатный учебник по ОС, организованный вокруг виртуализации, параллелизма и постоянства. Современный, ясный и увлекательный.
Концепции операционных систем
10-е издание, Wiley
Авраам Сильбершатц, Питер Б. Гэлвин, Грег Гань2018Средний«Книга-динозавр» - долгое время стандартный учебник по ОС.
Современные операционные системы
4-е издание, Pearson
Эндрю С. Таненбаум, Херберт Бос2014СреднийУчебник Таненбаума по ОС с сильным содержанием распределенных систем.

Внутренние аспекты ОС и реализация

Глубокое изучение того, как реализованы реальные операционные системы.

КнигаАвторГодУровеньОписание
Понимание ядра Linux
3-е издание, O'Reilly
Даниэль П. Бовет, Марко Чезати2005ПродвинутыйНаиболее часто упоминаемая книга о внутренностях Linux. Все еще полезна, хотя и охватывает более старые версии ядра.
Разработка ядра Linux
3-е издание, Addison-Wesley
Роберт Лав2010ПродвинутыйЯсное, практическое руководство по программированию ядра Linux.
Внутренние аспекты Windows
7-е издание, Microsoft Press
Павел Йосифович, Алекс Ионеску, Марк Руссинович, Дэвид Соломон2017ПродвинутыйОпределяющая ссылка на внутренние аспекты Windows в двух томах.

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

Программирование на системном уровне с использованием интерфейсов ОС.

КнигаАвторГодУровеньОписание
Интерфейс программирования Linux
No Starch Press
Майкл Керрис2010ПродвинутыйОпределяющая ссылка по системному программированию Linux/POSIX. Исчерпывающее покрытие системных вызовов.
Продвинутое программирование в среде UNIX
3-е издание, Addison-Wesley
У. Ричард Стивенс, Стивен А. Рего2013ПродвинутыйКлассический текст «APUE» по программированию в Unix. Основное чтение для системных программистов.
Компьютерные системы: Перспектива программиста
3-е издание, Pearson
Рэндал Е. Брайант, Дэвид Р. О'Халлоран2015Средний-Продвинутый«CSAPP» от CMU, охватывающий системы с точки зрения программиста.

Параллелизм и синхронизация

Многопоточность, блокировки и параллельные алгоритмы.

КнигаАвторГодУровеньОписание
Искусство многопроцессорного программирования
2-е издание, Morgan Kaufmann
Морис Херлихи, Нир Шавит, Виктор Лучанко, Майкл Спир2020ПродвинутыйСтандартная ссылка по параллельному программированию и структурам данных.
Трудно ли параллельное программирование и что с этим можно сделать?
Бесплатно онлайн
Пол Е. МаКенни2021ПродвинутыйБесплатная комплексная книга о параллельном программировании от эксперта по параллелизму в ядре Linux.
Параллелизм в Java на практике
Addison-Wesley
Брайан Гоетц, Тим Пейерлс, Джошуа Блох, Джозеф Бовбир, Дэвид Холмс, Даг Лиа2006Средний-ПродвинутыйЛучшая ссылка по параллелизму в Java, с концепциями, применимыми ко всем языкам.

Виртуальные машины и контейнеры

Современные темы ОС, включая виртуализацию и контейнеры.

КнигаАвторГодУровеньОписание
Виртуальные машины: универсальные платформы для систем и процессов
Morgan Kaufmann
Джеймс Е. Смит, Рави Нэйр2005ПродвинутыйКомплексное изучение виртуализации от процессов до системных виртуальных машин.
Безопасность контейнеров
O'Reilly
Лиз Райс2020СреднийСовременное введение в безопасность контейнеров.
Производительность систем
2-е издание, Addison-Wesley
Брендан Грегг2020ПродвинутыйОсновная современная ссылка по анализу производительности ОС.