• Динамические библиотеки уменьшают кол-во блокировок процессов?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Стоит уточнить, что такое блокировка процессов.
    - Если речь идет о взаимной блокировке (получение доступа к семафору/мютексу/шареной блокировке и т.д.), то не решает - разницы между потоком и процессов в этом случае нет.
    - Если речь о блокировках IO операций, то в общем может за счет распараллеливания.
    - Если речь идет про разницу между статической и динамической, то нет, т.к. переменные и другие структуры, на которые берется блокировка (иначе откуда блокировка), создаются для каждого процесса свои (копии свои).
    Ответ написан
    Комментировать
  • Как работать с RAID массивом?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    рейд массив создает раздел, который ты затем форматируешь в нужную файловую систему и монтируешь как тот же диск C:

    Рейд массив более низкоуровневая штука, чем файловая система.
    Для обычного софта он работает прозрачно, как обычный диск
    Ответ написан
    1 комментарий
  • Динамические библиотеки уменьшают кол-во блокировок процессов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Динамические бибилиотеки это обычно те, которые уже есть в системе, и они могут быть расшарены между разными процессами.
    Плюс: жрут меньше оперативки, так как библиотека загружается один раз, после чего разные процессоры могут ее юзать
    Минус - какая версия библиотеки установлена в систему - той и пользуйся. Следовательно нужно учитывать совместимость.

    Статические - обычно идут вместе с твоим софтом, интегрируются в исполняемый файл.
    Плюс - можно юзать любую версию.
    Минус - каждая программа будет грузить в память свой экземпляр всей библиотеки, и если библиотека большая (а зачастую код print(stdout,"hello world) гораздо меньше, чем библиотека которая собственно выводит строку), то расходуется лишняя память и лишнее место на диске.

    Отношения к блокировкам процессов ни те ни другие не имеют
    Ответ написан
    1 комментарий
  • Установка существующей на диске ОС в качестве виртуальной машинки. Лучший способ?

    @Drno
    Самый надежный способ -
    снять образ, например с помощью rDriveImage или clonezilla
    далее развернуть его аналогично в виртуалке
    Ответ написан
    1 комментарий
  • Как сделать тестовый/песочный/эксперементальный режим включения ОС?

    @glaucidium Автор вопроса
    Кажется нашёл решение - Overlayfs. Должно работать без смены уже используемой ФС.
    https://wiki.archlinux.org/title/Overlay_filesyste...
    Ответ написан
    Комментировать
  • Как расширить размер дискового пространства в Linux?

    @Drno
    Загрузитесь с gparted и расширьте файловую систему
    Ответ написан
    5 комментариев
  • Чем модули magisk отличаются от модулей lsposed?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Тем, что модули Magisk предназначены для Magisk, а модули для LSPosed написаны для LSPosed.

    Всегда ваш, Капитан Очевидность КапитОчев!
    Ответ написан
    Комментировать
  • По какому принципу работает набор индексов в одной таблице?

    @Everything_is_bad
    Если я правильно понял, когда мы создаем индекс, у нас таблица изменяет порядок записей внутри себя сортируя их по указанным столбцам
    нет, никакой порядок не меняется, индекс это отдельные от таблицы данные

    И один индекс
    равен тому, если бы мы создали три индекса в такой последовательности
    нет, перестань уже придумывать и начни читать учебники и документацию

    Которые бы по очереди друг за другом добавляли правило сортировки в таблице, верно?
    опять ты что себе напридумал, нет никаких правил сортировки в таблице, индексы просто могут использоваться для ускорения сортировки

    Причем при изменении name обновление будет происходить дольше, чем при изменении price, потому что у нас price последняя в нашей очереди индексов по сортировке?
    когда фантазию уже не остановить
    Ответ написан
    4 комментария
  • Существует ли бесплатная утилита для клонирования жёстких дисков?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    sfdisk/sgdisk для переноса таблицы разделов
    dd, ddrescue для копирования сектор-в-сектор
    partclone для умного копирования разделов
    Clonezilla для всего этого вместе
    Ответ написан
    Комментировать
  • Скомпилировать Bash программу в exe?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Какая цель такой "компиляции", поскольку баш изначально не предназначался для компиляции, это скриптовый язык, и штатных средств для такого нет.
    Кроме того, баш собственно хорошо заточен на вызов внешних утилит, поэтому их все "вкомпилировать" в баш врядли возможно
    Ответ написан
    3 комментария
  • Как реализовать взаимодействие виртуальной ОС с переферией для прошивки?

    hint000
    @hint000
    у админа три руки
    Пробрасывать USB-устройство в виртуальную машину.
    Подключаете устройство к хосту, прописываете в настройках виртуальной машины, что такое-то устройство нужно отдать под управление виртуальной машины. Когда стартуете виртуалку, то устройство перестанет быть доступно на хосте и будет доступно только из виртуалки. "Горячее подключение" (т.е. без перезапуска виртуалки) скорее всего не будет работать, только "холодное".

    P.S. надеюсь, в качестве гипервизора вы используете Qemu-KVM, а не богомерзкий VB.

    P.P.S. мне-то на практике приходилось пробрасывать только аппаратный USB-ключ,
    а вот есть человек Денис _______________ - он собаку съел на пробросе в виртуалку даже видеокарты (и статья на Хабре есть https://habr.com/ru/articles/575654/ https://habr.com/ru/articles/448312/ ). Это к тому, что при необходимости можно не только USB-устройства пробросить, но и PCI-устройства.
    Ответ написан
    1 комментарий
  • Как ос генерируют виртуальные адреса, по которым будет поиск, не физические? Почему программы с одних адресов начинаются?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему программы с одних адресов начинаются?

    Потому что часть программ просто линкуется в одни и те же адреса. Это т.н. position-dependent executable, их в принципе невозможно загрузить для исполнения по другому адресу, и до недавнего времени (по крайней мере в linux) это было поведением по умолчанию. Но вот уже лет 10 во многих дистрибутивах по умолчанию используются PIE -- position-independent executables, и если не выключен ASLR, то при каждой загрузке часть адреса выбирается случайно. Но это сделано не для улучшения поведения TLB а для безопасности, поскольку это затрудняет атаки использующие известные адреса загрузки кода.

    Вот есть Tlb, представим это как линейный массив, или c , если все адреса будут одинаковы. То Очевидно что tlb будет работать в 1% своего множества

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

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Ты уже сказал про старшие 20 бит, скорее всего знаешь про сегментную организацию виртуальной памяти.
    20 бит используются в 32 битных системах, а сейчас большая часть 64 битная, но это не важно.
    Принцип следующий:
    Существует 3 таблицы:
    - PGD - Page Global Directory
    - PMD - Page Middle Directory
    - PTE - Page Table Entry

    Они иерархические, т.е. запись в PGD указывает на запись в PMD, а PMD - на PTE.
    В итоге, ты приходишь с 3 "числами" - индексы для этих таблиц и последовательно приходишь к нужной PTE.
    Но тебе нужно еще 4 число - смещение относительно полученного в PTE значения (там хранятся "начала" выделенных сегментов/интервалов памяти)
    Теперь последовательно запиши эти адреса и получишь виртуальный адрес.

    TLB в данном случае - это просто кэш, чтобы ты постоянно не ходил через этот ад указателей. Он в процессе выделения памяти не участвует.

    Как выделяется реальная память - деталь реализации, о которой знать не нужно.
    Если интересно - вот статья про память в линуксе.

    P.S. пример показан на C# - там собственная виртуальная память и GC. Поэтому показывает не то, что выделила ОС.
    Ответ написан
    Комментировать
  • Возможно ли сделать из проводного геймпада беспроводной?

    NeiroNx
    @NeiroNx
    Программист
    Теоретически можно, но на практике проще купить беспроводной, так дешевле и быстрее.
    Есть тема: https://4pda.to/forum/index.php?showtopic=881589 но мертвая - почему написано выше.
    Ответ написан
    Комментировать
  • Где хранить медиафайлы на общем сервере linux (diy nas)?

    @Komandir_Bublik
    Да где хочешь там и храни. У меня лично было так:
    /home/user/jellyfin/movies
    /home/user/jellyfin/cache
    /home/user/jellyfin/config
    Ответ написан
    1 комментарий
  • Как массово удалить файлы в определенных папках?

    @xibir
    find /yourpath -type d -path '*/site1.ru/core/cache' -exec rm -rf '{}' ';'
    Ответ написан
    Комментировать
  • Почему медленно отвечает сервер?

    @asmelnik
    Память забита, свап забит...
    "И чо вы хотели?"
    первый "смык" шерстит оперативку, выгружает из нее что-то "лишнее", запихивает туда нужное...
    Пока "дергаете" свои приложухи они держатся в оперативке...
    Как только пауза- их вытесняет что-то более актуальное....
    Ответ написан
    Комментировать
  • Как установить ОС с флешки через такой биос?

    @Drno
    Вот и выросло то поколение...
    как обычно - выбираешь свою флешку в boot разделе первой и запускаешься..

    либо f8 \ f9 \ f10 \ f11 \ f12 при старте - откроется меню загрузки

    Если биос ueffi - пишешь в этом формате флешку. Если нет - в формате MBR

    Писать можешь rufus - он бесплатен и умеет в оба варианта
    Ответ написан
    2 комментария
  • Какой сервис предоставляем наиболее полный/актуальный список подсетей по IP/ASN?

    ValdikSS
    @ValdikSS
    https://ftp.ripe.net/ripe/dbase/split/

    Вот здесь все файлы, что вам потребуются. Преобразовать в формат БД можно, например, с помощью https://github.com/firefart/network_info
    Ответ написан
    Комментировать