Задать вопрос
@TechPlanet
Text about me

Какую литературу читать для изучения архитектуры компьютера и ОС?

Здравствуйте! Я начинающий программист (если таки можно выразиться), сейчас учу C++, а вообще это не важно.

Однако, подскажите литературу, чтобы лучше познать архитектуру компьютера, оси и все что нужно знать программисту.
Пожалуйста, пишите книги, которые вы уже читали или уверенны, что они годные и актуальные.
И плюсом рассчитанную на новичка и на наработку хорошей базы.
  • Вопрос задан
  • 60219 просмотров
Подписаться 34 Простой 3 комментария
Решения вопроса 1
@Evsign
Просто отлично, что вы к этому пришли.
Как говорится, с начала освойте азбуку, а потом уже за c++ принимайтесь.

1. Charles Petzold "C.O.D.E."
Читать обязательно. Очень хорошо разжёвываются все эти битности, разрядности и .тд.
В процессе чтения Вы, вместе с автором постепенно собираете компьютер и попутно осваиваете для этого необходимый бекграунд.
С начала разбираются подходы в кодировании информации, не шифровка, а принципы представления информации в нулях и единицах. Потом разбираются системы счисления, потом немного химии и физики, что бы представлять как течёт ток по проводам. Потом разбираетесь как работают реле, далее идут первые логические элементы на реле. Потом вместе с автором собираете различные компоненты типо памяти, процессора на основе ранее сконструированных логических элементах. В общем это всё продолжается пока вы в конце не построите компьютер и изучите несколько основных ассемблерных команд, попутно изучив как считать в разных системах счисления, краткую историю развития комп техники и все логические элементы.

2. Andrew Tannenbaum "Structured Computer Organization"
По идее, можете даже сразу начать с этой книги, но все те фундаментальные вещи, которые разжёвывает Петцольд тут будут упомянуты вскользь, но тут пойдут уже более серьёзные вещи по поводу архитектуры. Будут рассматриваться уровни устройства современных процессоров, памяти, ассемблер, прерывания и т.д. т.д. т.д. Перечислять всё не имеет смысла, т.к. список будет оооочень большой. Это наиболее полная и подробная книга об архитектуре ЭВМ. В принципе, прочитая её от корки до корки вы будите достаточно хорошо разбираться в архитектуре самих компьютеров.

3. Hennessy J., Patterson D. "Computer Architecture A Quantitative Approach"
Эту пока ещё не читал, но судя по содержанию может быть отличным дополнением после танненбаума. Хотя, вполне может оказаться довольно самодостаточной книгой на ровне с вышеупомянутой книгой.
Судя по предисловию и содержанию, в ней в дополнении к тому, что разбирает танненбаум, много уделяется внимание параллелизму, облакам, шарингу ресурсов и т.д.

Можете взяться за это так:
Если цените время, то начинайте сразу с Танненбаума, но если окажется сложным, то закрывайте и с начала читайте Петцольда.

Если время хватает, то сразу читайте Петцольда, а потом Танненбаума :) И это лучший вариант. ИМХО)
Петцольд читается очень легко и интересно. Я прочитал его на одном дыхании, а вот с Танненбаумом всё не так просто)

UPD:
По поводу актуальности. Актуально всё)
2 и 3 разбирают современные ARM-Cortex A8 и i7 процессоры, Nvidia Fermi, CUDA и т.д.
Ну а в первой книге этого и не надо)
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
vt4a2h
@vt4a2h
Senior software engineer (C++/Qt/boost)
Да куда уж там целую книгу... Вот что жизнено необходимо!
Ответ написан
Комментировать
peacefulatom
@peacefulatom
Необходимый минимум знаний системного программиста, который имеет дело с архитектурами и ОСями, содержится в уникальной книге: Рэндал Э. Брайант, Дэвид О'Халларон Компьютерные системы. Архитектура и программирование.
По этой книге есть онлайн курс: www.coursera.org/course/hwswinterface

Касаясь вообще, "всего, что должен знать программист" - не могу не посоветовать эту замечательную статью, опирающуюся на элитарное американское высшее образование в области CS, и имеющую самое, что ни на есть практическое применение: habrahabr.ru/post/251747
Ответ написан
Комментировать
@TechPlanet Автор вопроса
Text about me
Вопрос все также актуален.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
CodeX Нижний Новгород
от 30 000 до 80 000 ₽
ФЛАЙ НЭТ Москва
от 70 000 до 70 000 ₽
CodeX Нижний Новгород
от 30 000 до 80 000 ₽