-
Перша книга, як б я настійливо радив: David Harris, Sarah Harris «Digital Design and Computer Architecture». Краще англійською і варіант ARM(*), але можна як MIPS-варіант, так і російський. Легко знаходиться в магазинах чи в піратів, російський варіант безкоштовний.
-
Книга Таненбаума: "Modern Operating Systems", глави: 1, 2, 3 і 7 -- обов'язково, 4, 5 бажано. Решта можна, але ми з їх матеріалом потім працюватимемо. Детальніше, що це за глави і навіщо вам вони.
-
Підручник по С. Класична книга Кернігана і Річчі підійде. (Вона справді проста і доступна -- вчити С по довіднику Страуструпа я не радив би :=)
-
Note: I've had to comply with a DMCA takedown notice for this book. It now links to the author's uncorrected draft for the book published for free, not the final publisher's PDF. "Linkers and Loaders" Amazon-сторінка Вона відносно складна для вас, але ми повинні будемо ці ідеї засвоїти так чи по іншому.
-
Кому Харріс і Харріс ну зовсім не піде, можна David Patterson, John Hennessy «Computer Organization and Design: The Hardware/Software Interface» -- теж дуже достойна, і на АКС буде потрібною. Якщо зовсім-зовсім важко, як найлайтовіший варіант: Andrew S. Tanenbaum, Todd Austin «Structured computer organization», глави 1-4 (може ще 5), але єдина вартісна глава там 4-та, решта -- таке...
-
Для частини роботи із дискретними мікросхемами, яка буде в кінці, на додачу до Харріс і Харріс, дуже хороша книжка: Roger Tokheim, «Digital Electronics: Principles and Applications» (є російський переклад). Можна і старе видання, 1988 -- ті речі не змінилися.
-
Для практичних -- підручник по сучасному CMake ("Professional CMake: A practical guide") Ми будемо на практичних дуже широко ним користуватися всі три курси.
-
Embedded частина -- в коментах, бо багато.
-
Старі списки літератури -- буду сильно редагувати: раз, два, три.
(*) ARM i MIPS -- це так-звані ISA, грубо кажучи, системи команд процесорів. В телефонах і наших ембеддед платах -- ARM. Десктопники і ноути наші -- всі зараз x86. Про MIPS дуже багато книжок (ті ж Хеннесі і Паттерсон -- автори MIPS), але на зустріти її важко -- в роутерах та іншому спецобладнанні буває.
Мінімальний список необхідних книг та статей
-
Andrew S. Tanenbaum and Herbert Bos, "Modern Operating Systems" -- вона ближча до нашого наступного курсу, ОС, але для АКС необхідними є глави 1, 2, 3, 6, 8. (4, 5 і 7 -- бажані, решта -- можуть почекати до осені).
-
David Patterson, John Hennessy «Computer Organization and Design: The Hardware/Software Interface» та "Computer Architecture A Quantitative Approach" цих же авторів.
-
Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea, "Java Concurrency in Practice". Книжка вже трішки давня, але все ще актуальна -- вона не містить найновіших "фішок" Java, але детально описує принципи абстракцій середнього і низького рівня, які не змінилися. Щодо архітектури пам'яті: "What every programmer should know about memory" by Ulrich Drepper. Floating-point, критична тема для AI, ML, геймдеву, інших інженерних чи наукових обчислень: "What Every Computer Scientist Should Know About Floating-Point Arithmetic" (pdf). Це мінімальна стаття! Хто хоче більшого -- тут.
Вище -- це, так би мовити. книги для оцінок D-C. Більш просунутими, для A-B є:
-
John Hennessy, David Patterson "Computer Architecture : A Quantitative Approach"
-
David Harris, Sarah Harris «Digital Design and Computer Architecture».
-
Anthony Williams "C Concurrency in Action: Practical Multithreading"