Операционные системы являются основой всего программного обеспечения. Эти книги учат, как ОС работают изнутри - процессы, виртуальная память, файловые системы, параллелизм и ввод-вывод - как с точки зрения учебника, так и с практической точки зрения.
Основные учебники по ОС
Стандартные учебники по операционным системам, используемые в университетских курсах.
| Книга | Автор | Год | Уровень | Описание |
|---|---|---|---|---|
| Операционные системы: три простых части 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 | Продвинутый | Основная современная ссылка по анализу производительности ОС. |