@next_page_my

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы