Компьютерные системы. Архитектура и программирование
В книге описываются стандартные элементы архитектуры, такие как центральный процессор, память, порты ввода-вывода, а также операционная система, компилятор, компоновщик и сетевое окружение. Демонстрируются способы представления данных и программ на машинном уровне, приемы оптимизации программ, особенности управления потоками выполнения и виртуальной памятью, а также методы сетевого и параллельного программирования.
Среди рассматриваемых тем:
- представление данных и программ на машинном уровне;
- архитектура процессора;
- приемы оптимизации программ;
- компоновка объектных модулей;
- управление потоками выполнения;
- виртуальная память и управление ею;
- ввод/вывод на системном уровне;
- сетевое и параллельное программирование.
Приведенные примеры для процессоров, совместимых с Intel (x86-64), написаны на языках C и ассемблера и предназначены для выполнения в операционной системе Linux.
В конце каждой главы приведено множество упражнений для закрепления пройденного материала.
Архитектура компьютера и системное программирование
Книга поможет изучить архитектуру компьютерных систем, устройство процессора, памяти и механизмов ввода-вывода. Особое внимание уделяется представлению данных на машинном уровне и работе программ в Linux.
Программирование на C и ассемблере
Материал будет полезен для изучения системного программирования на C и ассемблере, оптимизации программ, управления потоками и виртуальной памятью. Рассматриваются также сетевое и параллельное программирование для процессоров x86-64.
Полный набор ресурсов, включая лабораторные работы и исходный код примеров, можно найти на сайте www.csapp.cs.cmu.edu