Я работал в основном в Java с загрузочными приложениями Spring. Но я глубоко понимаю Linux Ядро и системное программирование до точки сборки, эквивалентной C, наборам команд x64 и регистрам ЦП. Мое понимание связано с проблемами материнской платы в архитектуре x64, в частности с обязанностями шин и чипсетов.
Где можно найти ресурсы, чтобы узнать о следующих понятиях для материнских плат x64, связанных с:
- Системная шина
- Шина ввода-вывода
- Хост Адаптеры шины
- Контроллеры на материнской плате, такие как контроллер SATA
Я учился на курсах компьютерной инженерии около 20 лет назад в университете. Мы использовали микроконтроллер на макете с чипом оперативной памяти. Мы также положили провода на макет, которые использовались в качестве шины и использовали часы для управления ими. Я просто больше ничего не помню.
Что было бы хорошим способом добиться всего этого? Конечная цель - понять, как драйверы устройств взаимодействуют с аппаратным обеспечением (у меня есть книга Linux Device Drivers, но я еще не читал ее).