Для общих принципов можно почитать "Архитектура компьютера" Таненбаума. Для углубления в железо хорошо подойдёт "Цифровая схемотехника и архитектура компьютера" Харрисов. Для деталей работы операционных систем на уровне ядра, надо брать книги по системному программированию под конкретные операционки, такие есть как для Windows, так и для Linux.