• Куда уложить излишек кабеля в серверной?

    Мы у одного заказчика запас группами по 10-20 кабелей собрали в кольца (на пластиковых хомутах-стяжках) и повесили на дюбели над потолком. Таким образом вниз уходят только группы, которые сразу попадают в коммутатор.
    Ответ написан
    Комментировать
  • Как защитить запрос UPDATE от SQL-иньекций в SQLite?

    Если платформа -- node.js, то: https://github.com/mapbox/node-sqlite3/wiki/API#da...
    Если другой, то имеет смысл искать по запросу sqlite parameterized query
    Ответ написан
    Комментировать
  • Как сделать снимок жесткого диска Ubuntu с разбитием на части?

    Решил поискать, нашел:
    man split
    split --bytes=1450M /dev/sdX /path/to/file.
    PS: на диске не проверял, на файле работает.
    Ответ написан
    Комментировать
  • Сколько ГБ Windows NT выделяет процессу?

    Программы работают с памятью с помощью указателей на участки памяти (адресов). То есть можно прямо здесь и сейчас взять и попытаться прочитать/записать по любому адресу ячейку памяти. За это программа практически всегда будет убита, но это неважно.
    32-разрядные программы работают с 32-разрядными адресами, 64-разрядные -- с 64-разрядными.
    32-разрядный адрес позволяет обратиться к любой ячейке памяти в пределах 2^32 = 4 ГБ.
    64-разрядный адрес -- к любой в пределах 2^64 байт.
    В случае win32 часть памяти из этих 4 ГБ занята ядром ОС. То есть программа по-прежнему может обратиться к памяти, которая принадлежит ядру и по-прежнему будет убита.
    Фактически, максимальный объем памяти в win32, который ОС может выделить программе -- около 2 ГБ. Остальная так или иначе недоступна.
    Ответ написан
    Комментировать
  • Gentoo: ручная сборка ядра?

    Основная статья: https://wiki.gentoo.org/wiki/Handbook:AMD64/Instal...

    По командам:
    eselect kernel list
    eselect kernel set linux-X.Y.Z-gentoo
    cd /usr/src/linux
    zcat /proc/config.gz >.config
    make menuconfig # настраиваем
    make -j5
    make install modules_install # нет смысла делать -j при установке


    make install копирует готовое ядро (bzImage) в /boot/vmlinuz-X.Y.Z-gentoo, так что руками доставать его не нужно.
    Initramfs не нужен, если у Вас корневая ФС и /usr лежат на одном разделе диска (/dev/sdxN) и для корневой не сипользуются RAID, LVM, LUKS и т.п.
    Если загрузчик -- grub2, то при grub2-mkconfig он сам ищет соответствующий /boot/initrd-X.Y.Z-gentoo. Если его нет, то загрузка будет и без initramfs.
    Ответ написан
  • Как и где посмотреть как работает операционная система?

    Я сначала прочитал "The Design and Implementation of the FreeBSD Operating System". Там тоже хорошо и интересно написано о внутренних механизмах FreeBSD.
    Удалось попробовать все это на реальном железе, купив плату с ARM процессором AT91SAM9XE512. Именно на нем получилось самостоятельно настроить и запустить MMU, защиту памяти, многопоточность и работу с системными вызовами (без использования готовых ОС). Было желание написать об этом статью. Затем нашел эмулятор qemu, в котором можно сделать все то же самое, но без покупки железа.
    Ответ написан
    Комментировать
  • Как сделать передачу сигнала с осциллографа на компьютер в режиме реального времени?

    Все зависит от задачи: если нужно получать непрерывный сигнал без потерь (т.е. реализовать приемник), то работать будет только на очень коротких временах -- пока заполняется внутренняя память выборками.
    Если достаточно получать несколько десятков осциллограм в секунду (10...30) для отображения и поверхностной обработки в почти реальном времени, то этот осциллограф штатно подключается по сети или по USB. Безо всяких камер и зеркал. Далее зависит от среды: библиотеки VISA, протоколы VXI-11, SCPI/SICL.
    Я так работаю с анализатором цепей Agilent. Основная часть данных обрабатывается им самим, по сети передается совсем немного данных несколько раз в секунду. Программы на GTK, Qt, NI VISA.
    Ответ написан
    Комментировать
  • Как организовать надежный (не разрывающий tcp сессии) канал связи дома?

    Еще вариант: VPS/VDS где-то. Одновременно два туннеля до него (OpenVPN, PPTP, подойдет любой) -- через разных провайдеров. При исчезновении одного канала нужно быстро переключить маршрут по умолчанию на другой туннель. На VPS/VDS организовать NAT.

    В таком случае TCP-сессия между ПК и сервером в Интернете выживет, хотя и будет лаг на время переключения маршрута + время повторной отправки TCP-пакета.
    Ответ написан
    Комментировать
  • Gentoo в gentoo?

    Во-первых при сборке ядра гостя необходимо указать параметры CONFIG_XEN_BLKDEV_FRONTEND и CONFIG_XEN_NETDEV_FRONTEND.

    Диск, скорее всего, будет определяться как устройство /dev/xvd[a-z].

    Во-вторых, в свежих версиях Gentoo сетевые интерфейсы имеют имя наподобие enpXsY, где X и Y зависят от расположения устройства на шине. Соответственно, можно сразу создать файл /etc/udev/rules.d/70-my-net-ifaces.rules, в котором задать точное имя интерфейса.

    Ответ написан
    Комментировать