Что заставляет планировщик Linux казаться непредсказуемым?

  1. Выполните ssh-агент
  2. Выполнитесь ssh-добавляют
  3. Экспортируйте эти две переменные SSH_AUTH_SOCK и SSH_AGENT_PID на любом терминальном сеансе, Вы хотите использовать автоматическое разблокирование ssh ключей.
5
24.02.2013, 21:24
2 ответа

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

Потоки по умолчанию (и по определению) не синхронизируются.

Это означает, если Вы не принимаете меры об обратном (через блокировки, семафоры, безотносительно), не ожидайте, что потоки выполнятся в каком-то конкретном порядке. Не имеет значения, что они делают или как Вы думаете, что они, "вероятно, произойдут" на основе того, что они делают и т.д. Помещать просто: не думайте о них этот путь, который не является тем, что они или как они предназначены, чтобы использоваться. Не потрудитесь придумывать mentalizations, такой как, "Я нахожусь в однопользовательском режиме, я пробую к все еще системе как вода потому что... и.. и тому подобное" до бесконечности, и т.д., это - пустая трата времени, нет ничего для изучения того пути. Вода неизбежно не все еще, это - то, как жидкости. Конец истории. Идите дальше и наслаждайтесь.

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

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

"Что заставляет детерминированную ОС казаться недетерминированной?"

Возможно, аналогия гидроаэродинамики не так глупа. Жидкости кажутся хаотичными - дым, может даже казаться, жив - и я верю в математику, которую действительно пересекает исследование гидроаэродинамики и теории хаоса. Однако большинство людей, вероятно, не ошеломлено этим ("Удивительный! Что могло вызвать такое поведение в природном явлении? Возможно, это - доказательство Бога!"... не), потому что мы можем понять, как взаимодействие детерминированных правил (законы гидроаэродинамики) просматриваемый в определенном масштабе приведет к результатам, которые только грубо предсказуемы ("ну, Вода будет двигаться потоком из стекла...") и следовательно эффективно хаотичны или недетерминированы (шаблон всплеска на таблице). Даже если это - "только очень небольшой огонь" или стекло воды, мы распознаем, что существует движение буквально триллионов из триллионов включенных частиц.

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

Планировщик, как предполагается, гарантирует, что все процессы, выполненные сбалансированным способом (сила тяжести удостоверится вода, будут двигаться потоком), однако, не путем предоставления каждому из них точно 1 наносекунды за один раз (который мог бы сделать эксперимент более предсказуемым). Это - все хорошо и хороший с тех пор, еще раз, это не роль планировщика для синхронизации чего-либо, это должно заставить все произойти соответственно сбалансированным способом. Этими двумя целями не является то же. При вхождении в синхронизацию Вы будете ценить, как, в то время как синхронизация может достигнуть ясного баланса, она прибывает за счет эффективности.

Кроме того, планировщик Linux использует красно-черное дерево для организации его очереди, он просто не обтекает все в строке FILO (я сомневаюсь, что любой современный планировщик общего назначения сделает это). Это подразумевает большую сложность и следовательно, более по-видимому хаотическое поведение.

Я не хочу поощрять Вас сохраняться в Вашей фиксации, но если Вы заставили потоки выполнять более существенную задачу, та, которая на самом деле возьмет их что-то напоминающее время, чтобы сделать, и запустить их смещенный на несколько секунд в в других отношениях неактивной системе, затем на самом деле, Вы будете видеть абсолютно детерминированные результаты. Просто имейте в виду, что это не действительно эффективное средство синхронизации - когда ветер поднимает, и вода становится грубой, Вы будете видеть, что хаос запускается ;)

"Вы знаете о каком-либо исследовании, которое изучает влияние этих событий на планировщике ОС?"

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

8
27.01.2020, 20:37
  • 1
    Даже при том, что Ваш ответ не является ложью, он действительно не отвечает на мой вопрос. Я спрашиваю, "почему это так?" и Вы говорите "потому что именно так его воображаемое, чтобы быть". Я не говорю, что это, как предполагается, не тот путь. Я знаю стандартный материал учебника по поточной обработке, и я не пытаюсь синхронизировать потоки без любых механизмов синхронизации. Вопрос идет вне стандартного материала учебника, и комментарий, данный @vonbrand, намного ближе к ответу, который я ищу. Можно также видеть вопрос как: "Что заставляет детерминированную ОС казаться недетерминированной?" хрипящий –  Benny 25.02.2013, 08:18
  • 2
    уже был там, когда я записал это, и я соглашаюсь с тем, что он сказал. Если Вы уже знали, что это, как предполагалось, было этим путем, необходимо было ясно дать понять ;) Я включил Ваш вопрос, "Что заставляет детерминированную ОС казаться недетерминированной?" в мой ответ посмотрите редактирование, которое запускается там выше. –  goldilocks 25.02.2013, 15:26
  • 3
    к этому вопросу. Я думаю, аналогия гидроаэродинамики и теории хаоса очень хороша. Нет сомнения, что в моем уме, что планировщик недетерминирован, который я уже сказал в своем вопросе. Кроме того, это не синхронизация, что я интересуюсь, но полная противоположность. Так как этот ветер (Вы говорите о) не очень управляем, Вы думаете, что это мог быть хороший источник энтропии для генератора случайных чисел? –  Benny 25.02.2013, 17:22
  • 4
    я полагаю, что один источник "действительно" случайных данных использовал в, например, криптография (в противоположность псевдо случайности это rand() обычно добирается), точно, что, или по крайней мере, что-то включающее состояние системы, начиная с системы просмотрело, в целом достаточно сложно для создания большого количества энтропических эффектов в определенных местах (как порядок выполнения незначительных идентичных потоков). –  goldilocks 25.02.2013, 17:41
  • 5
    я полностью соглашаюсь. Конечно, когда Вы публикуете научную работу об этом, не достаточно сказать, что система, просматриваемая в целом, сложна, и необходимо дать больше объяснений тому, почему это. Следовательно мой начальный вопрос. Кроме того, я честно думаю, что ОЧЕНЬ трудно (если бы не невозможный) копировать то же состояние системы, таким образом, что Вы получили бы то же продвижение поведения к той же выходной последовательности RNG дважды. Исправьте меня, если я неправ. Еще раз спасибо за справку. –  Benny 25.02.2013, 17:51

Я пользуюсь ПК начиная с 8-битной версии и знаком с несколькими языками программирования. Время от времени я обнаруживаю, что ОС Mint Cinnamon делает что-то в фоновом режиме после того, как делает то, что должно работать, но нарушает работу ОС в глубине. Перезагрузка часто помогает, но не всегда. Я должен сказать, что в конечном итоге Windows не лучше, а более предсказуема в том, что происходит после изменения параметров, которые система предлагает вам изменить. Знакомый с тестированием в прошлом, я думаю, что Mint тестируется не так, как должно быть.

-1
12.03.2021, 15:25

Теги

Похожие вопросы