• Взаимодействие уровней сетевых моделей?

    hint000
    @hint000
    у админа три руки
    что конкретно означает "стучится вниз/вверх"? Ищет службу, которая может обслужить подобный запрос, и связывается с ней через некоторый интерфейс межпроцессного взаимодействия?
    Часть имплементации сетевого стека содержится в ядре операционной системы, часть - в драйвере сетевого адаптера, часть - в железе сетевого адаптера. Некоторые протоколы вынесены в службы\демоны (ppp, pptp, openvpn,..). Протоколы 6-го и 7-го уровня реализуются либо в службах, либо в прикладных программах.
    Например, браузер. Вот мы ввели qna.habr.com, браузер хочет открыть HTTP соединение. Он формирует набор данных для передачи, затем стучится вниз, на уровень TCP, и говорит: "вот у меня пачка данных, передай их серверу на таком-то адресе".
    Браузер сначала на уровне API операционной системы обращается к резолверу (клиенту DNS), резолвер (сперва проверив свой кэш) берёт адрес DNS-сервера из настроек ОС и стучится на порт 53/UDP с запросом, а не "ищет службу". Получает ответ и передаёт его браузеру. Браузер запоминает IP-адрес хоста qna.habr.com и снова через API операционной системы говорит "хочу установить соединение с хостом, адрес такой-то, порт 443/TCP". ОС устанавливает соединение, сообщает об этом браузеру и передаёт какой-то там хэндлер, через который можно использовать уже готовое TCP-соединение. Дальше браузер просто заливает свои данные в соединение, и читает оттуда же ответы. Более высокий уровень - протокол 7-го уровня http - браузер реализует самостоятельно, вот прямо самостоятельно, никого ни о чём не просит, когда дело в http. Более низкие уровни - как уже сказал, на совести ОС, драйвера, железа. Чтобы обеспечить высокую эффективность, там взаимодействие довольно низкоуровневое, такая каша, что не только в рамках ответа, а даже в рамках статьи не описать, целая книга нужна, а то и не одна. Причём для каждой ОС своя отдельная книга, в Linux сетевой стек будет отличаться от сетевого стека Windows, сетевого стека MacOS, сетевого стека BSD.
    Ответ написан
    2 комментария
  • Как правильно перевести observation в контексте табличных данных?

    hint000
    @hint000
    у админа три руки
    Думаю, это не совсем "в контексте табличных данных", а, скорее, в контексте статистики. Области пересекаются, но сама по себе обработка данных в электронных таблицах или в базах данных не оперирует понятием "observation", отсюда делаю вывод, что термин просочился из смежной области.
    то ли наблюдение, то ли результат измерения
    В общем-то это синонимы в контексте статистики. Наблюдение, замер, отсчёт.
    Ответ написан
    Комментировать
  • Как максимально оптимизировать (ужать) много картинок JPG (JPEG) с сохранением качества, особенно CMYK?

    hint000
    @hint000
    у админа три руки
    Если с удобным интерфейсом, то irfanView, в нём команда batch conversion (пакетная конвертация).
    Если не боитесь с консольным разбираться, то смотрите imageMagick.
    Ответ написан
    2 комментария
  • Как настроить микротик под большое кол-во пакетов?

    hint000
    @hint000
    у админа три руки
    Как сделать, чтобы все пакеты не попадали в какое то узкое горлышко
    Попробуйте копать в эту сторону: https://yandex.ru/search/?text=mikrotik+fasttrack
    Ответ написан
    Комментировать
  • Как передать координаты GPS через ссылку?

    hint000
    @hint000
    у админа три руки
    Есть такая штука: geohash.org/vcg0 - например, в этой ссылке хеш vcg0 соответствует координатам N55.0 E83.0
    Ответ написан
    Комментировать
  • Как получить точку касания вектора, зная его начало и модуль?

    hint000
    @hint000
    у админа три руки
    Можно решить через простую школьную тригонометрию. У нас треугольник с известными длинами двух сторон (вектор1 и вектор2) и известным углом (вектор1, вектор3). Нужно найти третью сторону.
    По теореме синусов |вектор1|/sin(вектор2,вектор3)=|вектор2|/sin(вектор1,вектор3) получаем второй угол. Из двух углов получаем третий угол. И опять по теореме синусов получаем искомую длину. Из длины и направления вектора3 получаем точку.
    Ответ написан
    Комментировать
  • Как разделить передаваемые программе аргументы в баш-скрипте?

    hint000
    @hint000
    у админа три руки
    Подумайте в сторону xargs.
    Ответ написан
    Комментировать
  • Два primary DNS в BIND?

    hint000
    @hint000
    у админа три руки
    Нет, средствами только DNS такая задача не решается.
    • DNS может отдать сразу оба адреса, но тогда на совести резолвера (клиентской части DNS), какой из двух полученных адресов использовать.
    • DNS может поочерёдно (round robin) выдавать: первый, второй, первый, второй,.. но тогда с вероятностью 50% клиент получает адрес упавшего.

    Кроме того, на стороне клиента и на промежуточных DNS существует кэширование, и к вашему DNS даже не будет запроса, пока кэш не "прокиснет"; причём, в зависимости от настроек, кэш может даже игнорировать TTL, прописанный в вашем DNS.
    Ответ написан
    Комментировать
  • Каким образом физически устроена модель памяти? И физическая реализация простых логических операций?

    hint000
    @hint000
    у админа три руки
    Если нету тока, то как сохраняется 1. После отключение от сети.
    в ОЗУ сохраняется только при наличии питания, а в динамическом ОЗУ (DRAM) при наличии не только питания, но и сигнала регенерации. Без питания сохраняется либо в ПЗУ, либо в flash, либо на магнитных носителях (магнитные диски, магнитные ленты), либо на оптических носителях. Рассказывать про все эти технологии долго, зато в сети дофига можно найти по каждой из них (важно: "слона нужно есть по кусочкам", не собирайте всё в кучу, технологии очень разные физически, ознакомьтесь с одной, потом переходите к другой).
    Если выключить компьютер на 20 лет, или замуровать процессор с ROM памятью на миллион лет(при условии что он не развалиться). Там даже микрокод разрядиться?
    Через 20 лет flash может не прочитаться (как повезёт), CD-R\DVD-R могут не прочитаться (как повезёт, но CD-RW\DVD-RW наверняка не прочитаются), всё остальное сохранится без проблем, наверняка. На миллион лет не сохранит информацию вообще ни одна из современных технологий, только на каменных плитах высекать текст. На тысячу лет - считается, что практически ни одна технология не гаратирует сохранение, хотя для этой https://ru.wikipedia.org/wiki/M-DISC
    заявлен как раз срок хранения 1000 лет, но ведь нет возможности проверить, врут или не врут. Структуры в кремнии деградируют тем быстрее, чем тоньше технологический процесс. Т.е. очень старые процессоры теоретически могут сохранить работоспособность гораздо дольше, чем современные. И да, в частности, микрокод может повредиться, но даже если микрокод заново прошить, то всё равно процессор может работать со сбоями или вовсе не будет работать.
    Какой ток используется. Пишут что постоянный. Это как понять, если ток постоянный, то не будет сигналов же?
    Под "постоянным" здесь подразумевают, что полярность не меняется. Возьмите фонарик на батарейках. Можно щёлкать выключателем и подавать кому-то световые сигналы. Но никто не скажет, что фонарик питается от батареек переменным током. Это коммутация, а не переменный ток.
    Ответ написан
    Комментировать
  • В какой программе можно спроектировать такую схему?

    hint000
    @hint000
    у админа три руки
    Нарисовать что-то похожее можно в чём угодно. А если заметить подписи "10BASE-T", то можно понять, что этот план настолько древний (20+ лет), что именно тот самый софт, в котором его рисовали, вы уже не найдёте (а если даже найдёте, то он не будет работать на современных ОС).
    Но, кстати, хреновый поэтажный план, на котором нет ни окон, ни дверей, ни лестниц. Да, может показаться, что это не нужно для плана сети. Но тем не менее. Не делайте так.
    Ответ написан
    1 комментарий
  • Проблема синхронизации Active Directory, как исправить?

    hint000
    @hint000
    у админа три руки
    Есть две волшебные команды, которые помогают понять, в чём проблема:
    https://www.google.com/search?q=dcdiag+repadmin
    Ответ написан
    Комментировать
  • Опять resolv.conf?

    hint000
    @hint000
    у админа три руки
    Радикальное решение - отключить нафиг
    sudo systemctl disable systemd-resolved.service
    и вместо него поднять локальный кэширующий DNS по своему вкусу.
    Ответ написан
    Комментировать
  • Что делать если клавиатура и мышь работают только в ОС?

    hint000
    @hint000
    у админа три руки
    Сбросить настройки BIOS (перемычкой или вытаскиванием батарейки). Либо подключить PS/2-клавиатуру и с ней зайти в BIOS.
    Дело в том, что на старых платах была такая настройка (про которую уже мало кто помнит):
    https://yandex.ru/search/?text=BIOS+Legacy+USB+Support
    Если там поставить disable, то будет как раз как у вас - USB-клавиатура и USB-мышь недоступны в BIOS.
    Вам нужно выбрать вариант auto или enable.
    Ответ написан
    1 комментарий
  • Как вычисляется 20 битный адрес путем сложения 16 бит адреса сегмента с 16 бит смещением в процессорах Intel 8086?

    hint000
    @hint000
    у админа три руки
    То есть разные разные сегменты и разные офсеты совпадают. Путаница(Очевидно я где-то не догоняю).
    Да, избыточность, а не путаница. Если бы на сегмент отводилось 4 бита, то все сегменты были бы жёстко зафиксированы по сетке с шагом 64 КБ. А речь идёт о временах, когда 1 МБ был теоретическим (недостижимым на практике) максимумом. Часть адресного пространства отводится для разных устройств, и эта часть не обязательно идёт одним куском (устройства не знают друг о друге). Т.е. имеем в адресном пространстве "дыры", недоступные для ОЗУ. Чем больше шаг сетки, тем больше адресного пространства теряем. А чем меньше бит адресуют сегмент, тем больше шаг сетки.

    Например, какое-то внутреннее устройство занимает в адресном пространстве всего 16 байт, но эта "дыра" не прилегает плотно к другим "дырам". При адресации сегмента по 4 битам мы бы потеряли сразу 64 КБ оперативки (физически она бы присутствовала, но была бы недоступна для адресации), а это очень много, это 1/16 от всего объёма в 1 МБ. Т.е. неоптимально распределённые адреса для всего лишь 16 устройств - и у вас не останется для ОЗУ вообще нисколько, ноль.

    А с конфигурированием адресов ОЗУ и номеров IRQ на устройствах всё было очень сложно во времена до появления технологии PnP. От перемычек и переключателей на картах расширения или на материнских платах до ручных настроек в BIOS.

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

    Так что техническое решение для своего времени было хорошее.
    Ответ написан
  • Есть ли у кого доступ из вне к папке с правами 0777?

    hint000
    @hint000
    у админа три руки
    не может ли кто-то из вне туда что-то залить, создать, что-то там делать?
    Не может. Но если найдёт уязвимость, например, в тех же php-скриптах, тогда может.
    или как правильно делать подобное
    правильно не давать права 0777 туда, где может быть что-то важное.
    Ответ написан
    Комментировать
  • Как в excel включать и выключать формулы?

    hint000
    @hint000
    у админа три руки
    Не нужен тут макрос, это простейшая формула.
    =ЕСЛИ(Лист1!A1="нет";Лист1!B1;"")
    Ответ написан
    Комментировать
  • Какой выбрать привод для распашных дверей?

    hint000
    @hint000
    у админа три руки
    Типа рычажного дверного доводчика, у которого на месте механизма с пружиной и центробежным тормозом должен быть моторедуктор.
    Важно, чтобы моторедуктор был без червячной передачи.
    Не блокировать возможность открытия, закрытия двери вручную
    Контроллер отслеживает силу тока, потребляемого приводом. Аномальное увеличение или уменьшение силы тока считаем вмешательством высшей силы (человека) и отключаем привод.
    Вероятно, потребуется калибровка контроллера на каждой конкретной двери.
    Ответ написан
    Комментировать
  • Что значит умение использовать GNU?

    hint000
    @hint000
    у админа три руки
    IMHO, одно из двух.
    Либо подразумевали https://ru.wikipedia.org/wiki/GNU_Compiler_Collection
    Либо подразумевали https://ru.wikipedia.org/wiki/GNU_Coreutils
    Ответ написан
    Комментировать
  • Как решается проблема запуска по расписанию с нескольких реплик?

    hint000
    @hint000
    у админа три руки
    Если в силу каких-то обстоятельств непреодолимой силы окажется невозможно изменение архитектуры, которое (вполне здравомысленно) предложил Дмитрий Шицков, то могу предложить костыль. Каждая реплика перед созданием записи делает паузу на random(0..10.0) секунд, потом делает запрос, нет ли уже такой записи, если нет, то создаёт.
    В случае ежесекундных записей пауза может быть на random(0..1000) миллисекунд.
    Так-то можно и без рандомной паузы, транзакции знают своё дело и одна из реплик в любом случае окажется первой. Просто мы хотим чуток размазать всплески нагрузки (а вдруг у нас тысячи или миллионы реплик?)

    Подчеркну: костыль - это лишь костыль. Не следует его воспринимать как нормальное решение.
    Ответ написан
    Комментировать
  • На сколько квадратных метров указывает долгота и широта?

    hint000
    @hint000
    у админа три руки
    На ноль квадратных метров! Это одна точка (в геометрическом смысле), не имеющая никакой площади. Даже не квадратный сантиметр, даже не квадратный миллиметр, чистый ноль площади.
    Сдвинетесь от этой точки на один миллиметр к полюсу - и будет уже широта 30.849635009 вместо 30.849635.
    Если хотите координатами задать на поверхности квадрат, то вам нужны координаты двух диагональных вершин квадрата. Т.е. две широты и две долготы. И дополнительно сказать, что это именно квадрат, а не круг или ещё что-то
    spoiler
    (строго говоря, "квадрат" на сферической поверхности - это и не квадрат, но для небольших расстояний и площадей можно приближенно считать это квадратом)
    . Вот тогда можно будет вычислить площадь этого квадрата. А количество цифр после точки не имеет значения.
    Ответ написан
    7 комментариев