Я вставлю свои 5 копеек. Хотя я не профи в плюсах, изучаю его сам.
Но довольно хорошо знаю ассемблер.
Так вот, чтобы знать архитектуру ОС, процессоров, памяти, создание дров и пр., надо изучать именно эти темы.
Я тебе могу много книг и ссылок на эту тему скинуть (и по асму тоже).
На С++ можно много чего написать, но само изучение С++ этих знаний (низкоуровневых архитектур) не даст. И с совсем низкоуровневыми вещами там обычно не сталкиваешься. Но если изучить асм как язык, не изучая архитектуру процессора, памяти, ОС, то толку от этого тоже будет мало. ну знаешь ты инструкции процессора, а как их использовать в реале — нет, какой толк? Правда, обычно руководства по асму всё же дают и прикладную информацию.
Через асм иногда проще сделать что-то сильно низкоуровневое, чем на чистом С++ и тем более на каком-нибудь Python. Но дрова можно написать вполне на плюсах.
На асме писать прикольно, но в реальной жизни он нужен либо для очень специфических вещей (совсем глубоких), либо для дизассемблирования и понимания что происходит. Либо когда просто по приколу хочется написать что-то на асме :))
Можно вообще параллельно изучать архитектуры, асм и С++, если есть время.
Но для простоты, наверное, стоит действительно сначала сделать упор на С++ (почитать пару книг), затем лезть в асм и пр. Но асм по любому изучать лучше параллельно изучению архитектур.
В любом случае не получится совсем последовательно это всё учить. Весь С++ не изучишь, будешь учить всё время что-то. Тем более, каждые 3 года что-то новое появляется. Архитектуры тоже изучать можно очень долго. Придётся всё параллельно так или иначе потом изучать.
Ну как бы уважение. Я понял мысль, сконцентрируюсь тогда на плюсах в основном, а потом уже в остальное лезть буду, когда уже уверенно буду чувствовать себя