|
|
|
# Общее
|
|
|
|
|
|
|
|
* [Low-level programming: C, assembly, and program execution](https://www.amazon.com/Low-Level-Programming-Assembly-Execution-Architecture/dp/1484224027)
|
|
|
|
|
|
|
|
Фактически, конспект лекций по курсу.
|
|
|
|
|
|
|
|
* [Intel Software Developer manual](https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html)
|
|
|
|
|
|
|
|
Справочник по инструкциям; также полезно прочитать описание работы виртуальной памяти и сегментов.
|
|
|
|
|
|
|
|
* [System V Application Binary Interface](https://uclibc.org/docs/psABI-x86_64.pdf)
|
|
|
|
|
|
|
|
Хорошее описание соглашений вызова функций для *nix.
|
|
|
|
|
|
|
|
|
|
|
|
# Как работают программы
|
|
|
|
|
|
|
|
* [nand2tetris](https://www.nand2tetris.org/)
|
|
|
|
|
|
|
|
Построить функционирующий компьютер начиная с логических элементов.
|
|
|
|
|
|
|
|
* [Programming from the Ground Up](https://www.amazon.com/Programming-Ground-Up-Jonathan-Bartlett/dp/1616100648)
|
|
|
|
|
|
|
|
Схоже с нашим курсом: начинаем с ассемблера и изучаем, как функционирует компьютер.
|
|
|
|
|
|
|
|
# C
|
|
|
|
|
|
|
|
* [C programming: A Modern Approach](https://www.amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504)
|
|
|
|
|
|
|
|
Хорошая книжка по С
|
|
|
|
|
|
|
|
# Архитектура компьютера
|
|
|
|
|
|
|
|
* [Computer Architecture: A Quantitative Approach](https://www.amazon.com/Computer-Architecture-Quantitative-John-Hennessy/dp/012383872X)
|
|
|
|
|
|
|
|
* Digital Design and Computer Architecture (Harris, Harris)
|
|
|
|
|
|
|
|
* [What every programmer should know about memory](https://lwn.net/Articles/250967/)
|
|
|
|
|
|
|
|
Одна из многих великолепных обзорных статей Ульриха Дреппера про устройство памяти и влияние этого на скорость исполнения программ.
|
|
|
|
|
|
|
|
|
|
|
|
# Архитектура вычислительных систем
|
|
|
|
|
|
|
|
* Principles of Computer System Design: An Introduction (Part 1 and Part 2)
|
|
|
|
|
|
|
|
Книга обобщает знания по системотехнике вычислительных систем и изучает способы борьбы со сложностью. Хорошо систематизирует взгляд на область.
|
|
|
|
|
|
|
|
# Динамическая линковка
|
|
|
|
|
|
|
|
* [How to write shared libraries](https://www.akkadia.org/drepper/dsohowto.pdf)
|
|
|
|
|
|
|
|
Снова Ульрих Дреппер, детально про устройство динамических библиотек.
|
|
|
|
|