@next_page_my

Что в программировании значит: изучить на уровне железа, или на уровне софта?

Много раз слышал, но конкретного определения не находил, можете объяснить?
  • Вопрос задан
  • 386 просмотров
Решения вопроса 1
15432
@15432
Системный программист ^_^
На уровне железа - реализовано в низкоуровневой прошивке девайса или вообще аппаратно, в виде неперешиваемых микросхем. Например, трансивер USB, преобразующий пакет данных в битовое кодирование 8b/10b. Изменить сложно или невозможно.

На уровне софта - реализовано программно в драйвере или приложении, которое взаимодействует с устройством.
Например, копирование файла на USB флешку. Изменить легко - перекомпилить программу.

сорри, прочитал ваш вопрос как "изменить"

изучение на уровне софта - разобраться, как работать с этой фигнёй, чтобы уметь использовать самостоятельно, но не вникать во внутреннюю структуру работы, которая вам не обязательна для использования.
изучение на уровне железа - понять, как именно работает устройство, добраться до как можно более низкого уровня, чтобы смочь создать такую же штуку.

например, чтобы скопировать файл на USB флешку вам достаточно изучить работу с fopen(), fwrite(), fclose() - это уровень софта.
Чтоб понять как реально производится запись на USB флешку и создать свою USB флешку, нужно знать как работает NAND, что нужно для подключения и передачи по USB, какие там бывают типы пакетов, формат пакетов, вплоть до написания своей прошивки
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы