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

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

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

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

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

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

    15432
    @15432
    Системный программист ^_^
    Для таких целей вводятся дополнительные обертки над disable_irq и enable_irq, которые вычисляют "глубину" запрета прерываний. По факту просто есть глобальный счетчик, который увеличивается при каждом вызове ext_disable_irq и уменьшается при ext_enable_irq. Настоящее включение прерываний происходит в самом конце ext_enable_irq и только если счетчик в этот момент равен нулю
    Ответ написан
    5 комментариев
  • Проблема с видеодрайвером? Почему при воспроизведении видео наблюдаются небольшие дефекты?

    15432
    @15432
    Системный программист ^_^
    Screen Tearing? Windows 7? Включите тему Aero
    Это сменит режим формирования изображения на буферизированный и устранит рассинхронизацию элементов экрана
    Ответ написан
    3 комментария
  • Так ли все плохо с жестким диском?

    15432
    @15432
    Системный программист ^_^
    Я бы порекомендовал забэкапить ваши данные в любом случае, модели STx000DM известны своей ненадёжностью и помиранием без возможности восстановления данных.
    Состояние Good потому что во всех полях SMART значения не ниже порога. Reallocated Sector Count указан как 88%. Что именно означает Raw знает только производитель. Если это действительно количество переназначенных секторов, то реально много.
    Ответ написан
    Комментировать
  • Реально ли оживить ПК?

    15432
    @15432
    Системный программист ^_^
    Возможно флешка биоса померла. Нужен рабочий образ биоса, программатор (250р) и новая флешка такой же маркировки (10-70р).
    Ответ написан
    Комментировать
  • Вопрос про фокус и диафрагму, как быть с лишним размытием?

    15432
    @15432
    Системный программист ^_^
    Физика, оптика. Ваш фотоаппарат фокусируется на определенной точке, которая оказывается "в фокусе" и объект в этой точке будет четким. Всё, что не в фокусе - будет размытым, что-то менее размытым, что-то более размытым. При этом важно не расстояние между предметами, а расстояние до фотоаппарата. К примеру, если снимать с расстояния в 5 метров, расстояние в 20 см между предметами мало повлияет на уровень размытия. А при макросъемке влиять будет каждый сантиметр дистанции.

    В качестве эксперимента, можете попытаться читать книгу, сфокусировавшись на своем носу :)
    Ответ написан
    2 комментария
  • Почему не работает TPM?

    15432
    @15432
    Системный программист ^_^
    Попробуйте нажать Win+R и выполнить tpminit
    Ответ написан
  • Как в Виндовс 10 переопределить клавиши клавиатуры?

    15432
    @15432
    Системный программист ^_^
    Fn и кнопку включения подсветки программно точно никак не перенести.
    только модификация прошивки клавиатуры. но для этого надо её сначала слить, потом правильно модифицировать и наконец найти как записать обратно
    Ответ написан
  • Почему перепрошивка смартфона может привести к "окирпичиванию"?

    15432
    @15432
    Системный программист ^_^
    Если перешить BIOS компа на всякую муть, он тоже перестанет запускаться.

    А вообще, на большинстве современных телефонов есть режим восстановления прошивки - Fastboot на Xiaomi, Download Mode на Samsung, спец режим на MTK процах. В этом режиме обеспечивается минимальная функциональность для загрузки новой прошивки. Но если и этот загрузчик перепрошить на несовместимую версию, то телефону просто нечего будет загружать. Любой режим приводит к ошибке. Вставить внешний носитель и загрузиться с него невозможно, он это просто не умеет.

    Что до USB - в телефонах он программный, операционка решает как и что доступно по USB. В выключенном состоянии на процах MTK подключение USB переводит проц в загрузочный режим, он на миг определяется как COM порт.

    Еще одна проблема с "USB-флешкой" заключается в том, что на андроид телефонах внутренняя память отформатирована в ext4, а винда эту ФС не понимает. В запущенном состоянии можно включить MTP режим, более сложный для взаимодействия. В режиме минимальной функциональности нет даже дров на eMMC (UFS), не то что подключить её напрямик к USB. Сложно всё это
    Ответ написан
    3 комментария
  • Возможно глупый вопрос. Но как делают точные калькуляторы, когда есть ограничения на диапозон типов данных (int,doble и т.д.)?

    15432
    @15432
    Системный программист ^_^
    Есть библиотеки для работы с большими числами (bigdigits.c), которые хранят числа в многобайтовых массивах.
    Ограничения на типы данных, да и сами типы данных вводятся спецификацией языка программирования.
    Ответ написан
    Комментировать
  • Есть что-то подобное микросхеме зарядки TP4056 для LiFePO4?

    15432
    @15432
    Системный программист ^_^
    Кажется, на момент публикации вопроса TP5000 уже был в продаже.
    budgetlightforum.com/node/48504
    Ответ написан
    1 комментарий
  • Как вывести в консоль список всех методов класса?

    15432
    @15432
    Системный программист ^_^
    Нате
    cout << "methodName1, methodName2, methodName3" << endl;

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

    Названия всё-таки могут присутствовать в бинарнике в некоторых случаях:
    - отладочные символы
    - экспортируемые функции библиотек
    Ответ написан
  • Как это прочитать - \xfe\x00\xa7?

    15432
    @15432
    Системный программист ^_^
    Просто три байта со значениями 0xFE, 0x00, 0xA7
    Могут означать все, что угодно. Смотря где используются
    Ответ написан
  • Возможно ли будет подключить к телевизору игровую приставку?

    15432
    @15432
    Системный программист ^_^
    Да. На приставке HDMI есть, на телевизоре тоже. В чем затруднение? Где вы вообще увидели микро и мини разъемы?
    Ответ написан
    1 комментарий
  • Как происходит разбиение данных на TCP сегменты?

    15432
    @15432
    Системный программист ^_^
    в случае двухбайтовых символов unicode/utf? Конечно может, по любому смещению может поделиться. Поэтому в заголовках http используется разделитель \r\n, а для тела указывается явный размер, чтобы принимающая сторона точно знала, что еще не весь http запрос принят и нужно принимать дальше, и не начинать парсить
    Ответ написан
    Комментировать
  • Соединил 2 ноута по HDMI, не спалил ли?

    15432
    @15432
    Системный программист ^_^
    Этим HDMI не спалишь, из питания там только 5v 100ma
    Ответ написан
    Комментировать
  • Как перевести 16-ричное число в 10-ричное с проверкой пример в деталях?

    15432
    @15432
    Системный программист ^_^
    //где-то тут получаем пользовательский ввод строки hexString
    //....
    try
    {
        //парсим как 16-ричное число
        int num = Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber);
    }
    catch (FormatException)
    {
        //не удалось распарсить, пишем ошибку
        //...
    }
    Ответ написан
    Комментировать
  • Как работает разрешение на телефонах и десктопах?

    15432
    @15432
    Системный программист ^_^
    Разрешение экрана указывается в пикселях - светоизлучающих единицах, способных менять цвет. Оно не зависит от размера экрана - в небольшие смартфоны (5") уже запихивают дисплеи с разрешением 3840 x 2160, в то время как в больших 15" ноутбуках главенствует HD (1366 x 768) и FullHD (1920 x 1080).
    Это частично связано с плохой поддержкой масштабирования в Windows на протяжении долгих лет, с слабыми видеокартами, плохо справлявшимися с большим разрешением, а также с дороговизной производства больших дисплеев.
    Что вам важно при создании сайта или приложения - горизонтальное разрешение экрана (телефон обычно повернут вертикально) и DPI (количество пикселей на дюйм). Исходя из DPI, вы сможете определить, какого размера реальный экран и как вам следует располагать блоки и элементы. Есть и другие способы определения мобильного клиента, суть одна, определить, что перед вами телефон и изменить дизайн соответствующим образом. Затачиваться именно под разрешение экрана - плохая идея, на современном 5" телефоне с 2К разрешением всё будет смотреться очень мелко.

    Насчет фильмов - нужно уделять внимание не только разрешению видео, но и качеству сжатия. При низком битрейте FullHD видеоролик будет смотреться хуже качественного 720p. Короче выбирайте по размеру файла. Если ваш телефон "тянет" 1080p, качайте его. Если не хочется дольше ждать скачивания, 720p тоже сгодится, на небольшом экране разницу заметить сложнее.
    Ответ написан
    Комментировать
  • Может ли одноядерный процессор выполнять несколько команд одновременно?

    15432
    @15432
    Системный программист ^_^
    Современные x86 процессоры устроены очень сложно. Они имеют внутри себя микропрограмму для декомпозиции и преобразования поступающих машинных слов на ещё более низкоуровневые опкоды (микроопкоды). Они включают в себя конвейерную архитектуру, когда независимые друг от друга команды исполняются частично параллельно. Есть специализированные SSE, MMX, AVX команды (да и Floating-point тоже сюда), их исполнение производится на сопроцессорах и также может быть произведено одновременно с исполнением основных команд (а ещё могут одновременно исполняться на частях сопроцессора, так возможно одновременное исполнение сразу двух MMX команд). Медленная работа с памятью ускоряется кэшированием, но все равно может быть отложена "в фон" в угоду более быстрым командам. Предикция переходов "угадывает", куда пойдёт исполнение логического ветвления, процессор может вычислить часть команд ещё до того, как туда дойдёт исполнение... Всё ради того, чтобы вы посидели вконтактике без тормозов.

    Сейчас сложно сказать, сколько команд выполняет процессор за такт. В зависимости от самой исполняемой программы, некоторые Intel или AMD x86 процесоры способны выполнять до 32 floating-point инструкций за один такт и до 6 "стандартных" микроопкодов за такт.

    К примеру, цифровой сигнальный процессор архитектуры TMS320 по документации умеет исполнять 8 команд за такт, и компиляторы это учитывают, расставляют флаги зависимостей, стараются оптимизировать параллельное исполнение.
    Ответ написан
    Комментировать
  • Шифрование ssd диска средствами самого диска?

    15432
    @15432
    Системный программист ^_^
    Есть такая штука, HDD Password,на ноутбуках в настройках BIOS ставится, на десктопах редко есть. Насколько я знаю, данные не шифруются, просто вот такой пароль средствами самого диска.
    С мини осью - есть битлокеры всякие, но это уже не средствами самого диска

    Есть еще адаптеры usb-sata с потоковым шифрованием и вводом пароля, но не встречал таких чтоб на этапе загрузки работали
    Ответ написан
    Комментировать