Здесь действительно происходит пара вещей. Первое, на что вы должны взглянуть, это что-то вроде книги компиляторов. Есть несколько старых, таких как знаменитая Книга Дракона , которые очень хороши. Сегодня я обнаружил еще одного, от того же парня, который написал Программирование на языке ассемблера , на Как писать отличный код . До сих пор я только читал примеры глав, но это выглядит очень хорошо, и, кажется, также учитывает то, что вы хотите, не вдаваясь в чудеса грамматики LALR (1) и т. Д.
«Системное программирование» - это больше о системах программирования. В системном программировании вы узнаете об использовании различных системных вызовов и других вещей для создания полезных программ. Вы тоже должны это знать, но это другой трек, чем «как это происходит».
Книга об организации компьютеров, как и та, на которую ссылается aaronis, больше рассказывает о том, как программа переходит с уровня языка ассемблера к реальным воротам и тому подобному. Она также называется «компьютерная архитектура», поскольку эта фраза использовалась, когда Амдал, Блау и Брукс изобрели термин: наборы инструкций, как они реализованы и как вы делаете количественный выбор в дизайне вещей.