• Как перемонтировать систему?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    mount -o remount,rw /
    Ответ написан
    5 комментариев
  • На чём лучше поднять почтовый сервер для малого предприятия?

    @alexxandr
    you'll see in memory only 0xDEADFACE
    Exchange естественно
    Ответ написан
    Комментировать
  • Как заставить скрипт игнорировать строчки начинающиеся с #?

    @protven
    Вам принципиально это "скриптом" решить? В вашей формулировке задача решается

    grep -v '^#' <имя файла>
    Ответ написан
    2 комментария
  • Как работает std::mutex на низком уровне?

    Olej
    @Olej
    инженер, программист, преподаватель
    Параллелизм, конкурентность, многопроцессорность в...
    QNX/UNIX: анатомия параллелизма

    Как работает std::mutex на низком уровне?

    На низком уровне работает как обёртка вокруг pthread_mutex_t.
    Обратите внимание, есть большая разница стандарта pthread_mutex_t и его реализации в Linux (не в лучшую сторону).
    Ответ написан
    Комментировать
  • Ведение заметок в Linux?

    zolt85
    @zolt85
    Программист
    Программа называется Google Chrome.
    Ставить Google Chrome.
    Устанавливаете в него приложение Google Keep из стора
    Делаете иконку на приложение на рабочем столе
    ...
    PROFIT
    Ответ написан
    2 комментария
  • Куда потерялся байт?

    @vilgeforce
    Раздолбай и программист
    Предлагаете угадать где именно он пропадает и что значит "пропадает"?
    Ответ написан
    1 комментарий
  • Какую хорошую книгу по Си для новичка почитать?

    @Beltoev
    Живу в своё удовольствие
    А я с этой начинал: www.labirint.ru/books/132615
    Если решать все задачи после каждой главы, то материал усваивается довольно-таки хорошо
    Ответ написан
    3 комментария
  • Какие книги/статьи по теории компиляторов посоветуете?

    @Mintormo
    1. С. Свердлов. Языки программирования и методы трансляции. В продаже уже, думаю, не найдете. Ищите на торрентах. Лучшая книжка для начинающих из известных мне. Необходимый минимум теории и практика в виде создания виртуальной машины и компилятора для нее.

    2. Н. Вирт. Построение компиляторов. Эта книжка чуть глубже Свердлова. Рекомендую читать после него.

    3. Дальше уже читайте по своему усмотрению. С Dragon Book начинать не советую: сложновата. Да и не обязательно ее читать чтобы понять суть дела. Это как Кнут: хотите изучить тему во всей полноте? Читайте все четыре тома. Если достаточно понять суть дела, то можно и попроще что-нибудь взять.
    Ответ написан
    2 комментария
  • Почему MTU именно 1500?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Рассмотрим 10-мегабитный ethernet. Реальная величина фрейма с заголовками и полезной нагрузкой 1526 байт. Прибавив сюда 12 байт промежутка между фреймами , получим 1538 байт.

    10 мегабит / 1538 байт = 812 фреймов в секунду
    812 фреймов в секунду * 1500 байт полезной нагрузки * 8 бит = 9752925 бит в секунду

    9752925 ~ 97,5% эффективность использования полосы пропускания 10М ethernet.

    Уменьшая MTU мы увеличим количество фреймов в секунду и тем самым уменьшим эффективность полосы пропускания за счет лишних заголовков.

    Увеличив MTU мы уменьшим количество фреймов в секунду, улучшим количественные показатели эффективности использования полосы пропускания.

    Почему же остановились на 97.5% эффективности? Потому что именно такое число обычно за границей считают и пишут со словами "very high effectiveness". Впрочем, возможно 97.5% закреплено в каком-то стандарте классификации США.
    Ответ написан
    Комментировать
  • Почему MTU именно 1500?

    @386DX
    ИМХО, определено методом научного тыка. Подробнее читать в гугле по запросу
    "why mtu 1500"
    e.g.
    А вот откуда взялись эти пресловутые 1500 байт, вопрос сложнее. Я нашел следующее объяснение — предпосылок на введение верхнего ограничения размера фрейма было несколько:
    Задержка при передаче – чем больше фрейм, тем дольше длится передача. Для ранних сетей, где Collision домен не ограничивался портом, и все станции должны были ждать завершения передачи, это было серьёзной проблемой.
    Чем больше фрейм, тем больше вероятность того что фрейм при передаче будет поврежден, что приведет к необходимости повторной передачи, и все устройства в collision домене будут вынуждены опять ожидать.
    Ограничения, накладываемые памятью используемой под интерфейс буферы – на тот момент (1979г) увеличение буферов значительно удорожало стоимость интерфейса.
    Ограничение, вносимое полем Length/Type – в стандарте закреплено, что все значения выше 1536 (от 05-DD до 05-FF.) указывают на EtherType, соответственно длина должна быть меньше 05-DC. (У меня правда есть подозрение, что это скорее следствие, чем предпосылка, но вроде инфа от разработчиков стандарта 802.3)

    habrahabr.ru/post/226807
    Ответ написан
    2 комментария
  • Почему MTU именно 1500?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Потому что так гласит стандарт IEEE802.3

    На самом деле все просто, при таком максимальном размере датаграммы она достаточно маленькая что бы время ее доставки было не критичным (особенно в случае потерь), но и достаточно большая что бы минимизировать оверхэд на канальном уровне.

    Предположим что мы хотим послать IP датаграмму в 1500 байт. Это мы еще находимся на третьем уровне модели OSI. Теперь идем на второй, запаковываем датаграмму в ethernet-фрейм, то есть добавляем еще 26 байт, итого имеем фрейм размером в 1526 байт. Так же между всеми фреймами есть еще 12-ти байтный зазор, что бы различать где кончается один фрейм и начинается другой. То есть на каждую датаграмму в 1500 байт мы передаем фрейм в 1538 байт.

    Давайте пока не будем отвлекаться на всякие Fast Ethernet и примим что скорость нашего Ethernet - 10mbps. Посчитаем сколько фреймов может передаваться в секунду:

    10 Mbps / 1538 байт = 812.74 фреймов / секунду.

    Имея количество фреймов в секунду мы можем прикинуть, при каком размере сколько будет идти наша датаграмма и какова будет полезная нагрузка на канал:

    812.74 * 1500 = 9 765 625 bps или ~9.7Mbps что есть ~97% заполнения канала. Логично что если повысить MTU то и полезная нагрузка будет больше, но тут стоит просто иметь в виду еще и потери пакетов и прочее. В этом плане маленькие пакеты лучше, в итоге приходим к компромису.

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

    Рекомендую почитать: en.wikipedia.org/wiki/Jumbo_frame
    Ответ написан
    2 комментария