1. Понятие интерфейсов, виды интерфейсов, виды пользовательских интерфейсов 2. Программирование сетевых интерфейсов, принципы программной абстракции от протоколов канального уровня сетевых интерфейсов 3. Сокеты Беркли, взаимодействие с прикладным ПО, блокирующие/не блокирующие сокеты 4. Модель OSI 5. Протокол IPv4, назначение полей 6. Протокол IPv6, назначения полей, преимущества 7. Протокол TCP, назначение полей, принципы работы 8. Протокол UDP, назначение полей, принципы функционирования 9. Сокеты Беркли, функции сетевого взаимодействия и их назначение 10. Принципы организации потоковой передачи данных на сокетах Беркли, порядок функций (клиент/сервер) 11. Принципы организации дейтограммной передачи данных на сокетах Беркли, порядок функций (клиент/сервер) 12. "Сырые" сокеты. Программная организация передачи и приёма сетевых данных при помощи "сырых" сокетов 13. Протокол МАС, назначение полей, принципы функционирования, назначение протокола 14. Стек TCP/IP, протоколы, назначение протоколов 15. Особенности программного сетевого интерфейса в Unix-системах 16. Особенности программного сетевого интерфейса в Windows-системах (Winsock) 17. Архитектура USB, организация иерархии, USB-хост, USB-узел 18. Характеристики USB, топология, ограничения по количеству узлов, питанию, скорости 19. Стандартные скорости передачи USB, механизм определения рабочей скорости при подключения устройства 20. Физическая передача данных по USB, принцип передачи данных по дифференциальной паре, не симметричный ноль 21. Методы передачи данных USB, их назначение, гарантии по доставке и времени ожидания 22. Методы передачи данных USB, приоритет передачи, распределение ресурсов пропускной способности, примеры устройств для каждого метода 23. Спецификации USB хостов, особенности каждой из спецификаций 24. Понятие функций USB устройства как контейнера конечных точек, взаимодействие конечных точек и USB хоста 25. Транзакция USB, структура транзакции, назначение пакетов в транзакции 26. Поля пакета USB, назначение полей 27. Типы пакетов USB (поле PID), назначение типов 28. Token-пакет, Data-пакет, Status-пакет, SOF-пакет, их структура и назначение 29. Понятие конечной точки, параметры конечной точки, метод синхронизации конечной точки и USB хоста, требования к USB узлу в отношении конечных точек 30. Сценарии передачи USB, виды сценариев для разных методов передачи USB, и назначения каждого вида сценария 31. Сценарии передачи USB, структура сценариев для различных методов передачи USB (из каких пакетов состоят, каково назначение пакетов) 32. Управление полосой пропускания шины, распределение полосы между методами передачи USB 33. Дескрипторы USB, виды дескрипторов, их иерархия, назначение и хранимая информация для каждого из видов дескрипторов 34. Стандартные запросы USB, виды запросов к устройству, интерфейсу, конечной точке, назначение каждого из запросов 35. Энумерация, описание процесса энумерации, особенности энумерации в ОС Windows 36. Конфигурации USB устройства, критерии выбора USB хостом конфигурации для USB устройства USB 37. libUSB, особенности библиотеки, основные функции работы с USB и их назначение