Задать вопрос
  • Как добавить поддержку vdi в qemu-img?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как добавить поддержку vdi в qemu-img?

    Взять qemu достаточно новый, с поддержкой vdi (она там уже > 10 лет, эта часть не должна вызвать проблем). Сконфигурировать его с ключом --enable-vdi. Построить. Типа того:

    $ wget https://download.qemu.org/qemu-5.2.0.tar.xz
    $ tar -xf qemu-5.2.0.tar.xz
    $ mkdir build
    $ cd build
    $ ../qemu-5.2.0/configure --prefix=`pwd`/root --enable-vdi --enable-tools --disable-user --disable-system
    $ make && make install
    $ root/bin/qemu-img --help | grep vdi
    Supported formats: blkdebug blklogwrites blkverify bochs cloop compress copy-on-read dmg file ftp ftps host_cdrom host_device http https luks nbd null-aio null-co nvme parallels qcow qcow2 qed quorum raw replication throttle vdi vhdx vmdk vpc vvfat
    Ответ написан
    5 комментариев
  • Как можно вычислить синус зная только градусную меру угла?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    - перевести градусы в радианы (* pi / 180), воспользоваться любым стандартным методом вычисления синуса, например, функцией sin из стандартной библиотеки или рядом Тейлора
    - воспользоваться таблицей Брадиса для градусов, при необходимости выполнить интерполяцию
    Ответ написан
    2 комментария
  • Preimage - атака нахождения прообраза. Теория + практика. Пофантазируем?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Сколько понадобится компов объединённых вместе, чтобы решить эту задачу (мою и автора вопроса по ссылке)?

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

    На своём ноуте с картой NVIDIA GTX 1050 Ti мне бы понадобилось около 150 лет... :)

    Соответственно, 150 таких компов справятся за год, а 1314000 таких компов -- за час.
    Ответ написан
    3 комментария
  • Какие недорогие решения использовать для экспериментов над радиоволнами с помощью stm32?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Изначально было желание использовать для этого wifi адаптер(изза нетребовательности к подстройке и наличии сразу и приемника и передатчика), но к сожалению документация закрыта, какие варианты существуют?

    Был вот такой wifi чип для которого сделали открытую фирмварь: https://github.com/qca/open-ath9k-htc-firmware
    Для обобщённых экспериментов с радио имеет смысл смотреть в сторону SDR, типа того.
    Ответ написан
    Комментировать
  • Есть ли название у радиопередатчика с синусоидой на выходе?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Ведь можно, к примеру, передавать на частоте прямоугольной, треугольной формой, поправьте если заблуждаюсь?

    Любой периодический сигнал можно разложить в комбинацию синусоидальных сигналов разной частоты и амплитуды (преобразованием фурье), в том числе прямоугольный и треугольный. Т.е. любой передатчик -- это в некотором смысле сумма передатчиков с выходными сигналами синусоидальной формы.
    Ответ написан
    Комментировать
  • Почему при вызове конструктора выдает segmentation fault?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Square_matrix::Square_matrix(unsigned int size)
    {
        if (size < 1)
            std::cerr << "Invalid matrix size" << '\n';
        else if (size == 1)
        {
            this->size = 1;
            Square_matrix();
        }

    если передается size == 1, я вызываю конструктор по умолчанию

    Square_matrix(); -- это не вызов конструктора по умолчанию для текущего объекта.
    Ответ написан
    4 комментария
  • Как поставить скобку в редакторе vi?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как решить проблему?

    Перейти к тому месту куда надо вставить скобку, нажать i чтобы перейти в режим вставки, нажать ) чтобы вставить скобку, нажать ESC чтобы перейти в нормальный режим, набрать :wq и нажать enter чтобы сохранить изменения и выйти.
    Ответ написан
    1 комментарий
  • Почему не добавляется значение в реестр?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    HKCU\\HKEY_LOCAL_MACHINE

    -- это какая-то странная комбинация. Должно быть либо HKCU либо HKLM, но не одно под другим. Судя по полному названию ключа, в начале должно быть таки "HKLM\\SOFTWARE\\Microsoft…".
    Ответ написан
    Комментировать
  • Умеет ли Linux выключаться от разрядки батареи без вреда для системы?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Linux как-то закрывает сам программы (и завершает работу ОС) "правильно" перед тем, как полностью выключиться?

    Ядро само по себе так не делает. Но есть юзерспейс, который делает. Как именно делает -- как настроишь.
    Например
    KDE умеет так:
    604e1929ab70a442092411.png
    т.е. при разряде батарейки он может не только штатно выключиться, но и выполнить suspend или hibernate.
    Ответ написан
    4 комментария
  • Что такое Потоки на уровне ОС? В 1-ядерном процессоре же всего 1 поток?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    И К примеру выполняется такие команды, как пример инструкция чтения строки из stdin, почему вся ос не глохнет. Типа что в этот момент ожидания времени происходит, Или что ОС все 1000 потоков переключает там каждую 0.0001 секунды?

    Только готовые к выполнению потоки получают процессорное время. Потоки могут останавливаться в ожидании какого-либо примитива синхронизации, например семафора или мьютекса. Такие потоки не занимают процессор.
    Поток читающий из stdin может останавливаться, например, на семафоре, защищающем очередь данных stdin когда она пуста. Какой-то другой поток должен поместить новые данные в очередь stdin и открыть этот семафор, переведя ожидающий поток в состояние готовности к выполнению.
    Ответ написан
    Комментировать
  • Не компилится программа на ассемблере. Как исправить?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Приведённая программа -- для 32-битного ARM, ассемблер 32-битного ARM заметно отличается от ARM 64 и я не вижу у aarch64-*-as ключей которые бы говорили ему работать как 32-битный ассемблер. Ставь кросс-тулчейн для 32-битного ARM и пользуйся им.
    Ответ написан
    Комментировать
  • Ассемблер, я правильно понимаю что по умолчанию в регистрах 0x00?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    А если принять к факту, что по умолчанию в регистрах хранится значение 0x00

    Ничего в регистрах "по умолчанию" не хранится, кроме того, что в них в последний раз было записано.

    я попробовал ничего не записывать в регистр AH и вызвать прерывание 0x16, значит по умолчанию в регистре 0x00.

    Нет, это значит только то, что в этом месте твоей программы в этот раз в регистре AH был 0.

    в подпрограмме read_keyboard почему то не сохраняют регистр AX

    Потому что результат возвращают в нём.

    почему сохранили регистр BX - я не понял

    …а также cx, dx, si и di. При том, что функция 0 int 16 меняет только AX. Я думаю, что на всякий случай их сохранили, для надёжности.
    Ответ написан
    Комментировать
  • Где изучить ASL?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    1 комментарий
  • Вызов функции C в другом файле. Как реализовать?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Код выглядит нормально. Разбирайся с тем как выполняется сборка проекта. Похоже, что проект не линкуется с main.o
    Ответ написан
    Комментировать
  • Проблема с перестановками строк?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    array[pair[0]][1]=array[pair[1]][i];

    Ошибка здесь. Вместо первой 1 должна быть i.
    Ответ написан
  • Не удаётся найти “libc.so.6” при запуске Python скрипта в Termux на Android?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    выводится ошибка dlopen failed library libc.so.6 not found. Как исправить данную ошибку?

    наиболее правильным решением было бы использовать android NDK для сборки всех бинарников (типа _pytransform.os) которые будут запускаться на устройстве. Версия бинарников которая у тебя есть сейчас похоже собрана под традиционный линукс с glibc.
    Ответ написан
    Комментировать
  • Как заменить драйвер устройства находящегося в локальной сети?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Возможно ли это сделать на практике?

    Всё зависит в первую очередь от устройства "зайчика". В каких-то реализациях это может быть невозможно, в других -- возможно, но сложность может отличаться на порядки (от "существует готовый рецепт, требующий только написания кода" до "потребуется паяльник, осциллограф, анализатор сигналов, …").
    Универсального ответа нет, дать ответ без исследования железа невозможно.
    Ответ написан
    Комментировать
  • Можно ли запустить bash-скрипт в текущем процессе?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Однако я не могу получить доступ к любой из инициированных скриптом переменных в текущем процессе. Как я понимаю, это происходит потому, что скрипт выполняется отдельным процессом, а возможности экспортировать переменную на уровень выше нет.

    Непонятно, каково отношение между "скриптом" и "текущим процессом". Кто кого запускает?

    Если скрипт запускает процесс, то переменные окружения надо экспортировать, как сказано здесь. Если процесс запускает скрипт как другой процесс, то никакие изменения в переменных окружения сделанные скриптом в процессе видны не будут.
    Ответ написан
    Комментировать
  • Как посчитать кол-во обращений в разных типах кэшей?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    - кол-во обращений к кэшу, если кэш прямого отображения,
    - кол-во обращений к кэшу, если кэш полностью ассоциативный.
    Подскажите пожалуйста, как такое считается.

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

    Если массив int test[512]; занимает 2048 байт памяти (sizeof(int) == 4), тогда он полностью умещается в заданный кэш и разницы между кэшем прямого отображения и полностью ассоциативным не будет. Внутренний цикл обращается к элементам массива, лежащим в разных кэш-линиях (поскольку 16(шаг цикла) * sizeof(int) > 16(размер кэш-линии)). т.е. каждое обращение внутреннего цикла пойдёт в память на первой итерации внешнего цикла. На второй и последующих итерациях внешнего цикла все обращения из внутреннего цикла пойдут в кэш. Т.е. всего обращений в кэш будет 9 * (512 / 16).
    Ответ написан
    Комментировать