Описание тега preemption

2 ответа

Программно определить количество времени, оставшегося до выкупа

Я пытаюсь реализовать некоторые пользовательские структуры без блокировки. он работает аналогично стеку, поэтому он имеет take() и free() метод и работает с указателем и базовым массивом. как правило, он использует оптимистическую параллельность. fr…
18 июл '13 в 20:58
2 ответа

Почему отключение прерываний отключает вытеснение в ядре и как спин-блокировка отключает вытеснение

Я недавно читаю Linux Kernel Development, и у меня есть несколько вопросов, связанных с отключением вытеснения. В разделе "Контроль прерываний" главы 7 говорится: Кроме того, отключение прерываний также отключает вытеснение ядра. Я также прочитал из…
1 ответ

Linux - причины вытеснения

Я хочу обновить ядро, чтобы делать больше вещей при переключении между задачами, и для этого мне нужно найти причину для каждого переключения. Во-первых, я не могу найти функцию, где schedule() вызывается, когда есть задача с более высоким приоритет…
15 апр '14 в 12:02
1 ответ

Почему в ядре Linux radix_tree_preload возвращается с отключенным выгрузкой

Я просматривал статью о реализации ядра ядра Linux, ссылка на статью упомянута ниже: http://lwn.net/Articles/175432/ В этой статье упоминается, что radix_tree_preload выделяет достаточно памяти, чтобы последующая вставка в дерево не завершилась неуд…
16 дек '13 в 13:51
0 ответов

Огромная разница в величине getCurrentThreadCpuTime diff и System.nanoTime() diff для фрагмента кода в Java

ThreadMXBean threadBean = ManagementFactory.getThreadMXBean(); long startCPUTime = threadBean.getCurrentThreadCpuTime(); long startTime = System.nanoTime(); // Some Java Code (No Network/Database calls) ..... long endCPUTime = threadBean.getCurrentT…
2 ответа

В чем разница между не вытесняющими и вытесняющими ядрами при переходе в режим пользователя?

Я читаю "Понимание ядра Linux, 3-е издание", а в главе 5, раздел "Преобразование ядра", говорится: Все переключатели процесса выполняются switch_to макро. Как в вытесняющих, так и в не вытесняющих ядрах переключение процессов происходит, когда проце…
1 ответ

Обратный звонок Matlab Timer

Программа ниже содержит timer определение объекта с последующей командой запуска. Затем программа продолжает выполнять другие операторы. Мой вопрос TimerFcn будет назван именно после 0.01 сек, или он будет ждать, пока цикл for завершит работу функци…
07 июл '14 в 11:14
1 ответ

Детальный многозадачный мониторинг

Я пытаюсь собрать модель компьютера и запустить на нем некоторые симуляции (часть школьного задания). Это очень простая модель - ЦП, диск и генератор процессов, которые генерируют пользовательские процессы, которые по очереди используют ЦП и обращаю…
05 дек '12 в 13:21
0 ответов

Anylogic getRemainingTime и функции

Я строю довольно простую модель в Anylogic, и мне нужно использовать функцию задержки 'getRemainingTime' и некоторые функции в блоке 'queue': очереди на основе приоритетов, вытеснение и тайм-аут. Мне не удалось найти учебник или примеры в Интернете,…
07 апр '17 в 12:47
1 ответ

Что послужило причиной отсутствия преимуществ у старых ядер Linux?

Почему первые разработчики Linux решили реализовать не вытесняющее ядро? Это сохранить синхронизацию? Насколько я знаю, Linux был разработан в начале 90-х, когда на ПК был один процессор. Какое преимущество дает не вытесняющее ядро ​​на таких ПК? По…
1 ответ

Проверьте, не произошло ли вытеснение в Linux между двумя точками кода

У меня есть приложение (простой код C), работающее поверх ядра Linux. Я измеряю время между двумя точками кода. Я хотел бы знать, вытеснил ли какой-либо другой процесс или сам планировщик мое приложение между этими двумя точками. Есть ли способ найт…
1 ответ

Что такое многоскоростная не упреждающая ОС?

У меня есть этот вопрос, связанный со встроенными системами, это выражение, которое я нашел в исходном файле диспетчера: What is a multi-rate non preemptive OS / Dispatcher ? Я немного знаю о диспетчере, ОС RTOS без упреждения, основываясь на моих и…
1 ответ

Приоритетное приоритетное планирование задач с бесконечным циклом

В Google и Stackru имеется много материалов, касающихся приоритетного приоритетного планирования, но у меня все еще есть путаница в отношении планирования задач с бесконечным циклом в ядре приоритетного приоритетного планирования. Давайте рассмотрим…
03 июл '18 в 06:14
1 ответ

Linux CONFIG_PREEMPT_RT для четырехъядерного процессора ARM A53 (новичок сомневается)

Я хотел бы активировать функции PREEMPTion моего ядра Linux. Чтобы сделать это, я должен загрузить правильный патч, соответствующий версии используемого мной ядра и скомпилированной мной (как описано здесь). Версия ядра, которую я имею, - версия Lin…
05 июн '18 в 18:12
5 ответов

Что такое непрерывный процесс?

Иногда, когда я пишу программу в Linux, и она выходит из строя из-за какой-то ошибки, она становится непрерывным процессом и будет продолжаться до тех пор, пока я не перезагружу свой компьютер (даже если я выйду из системы). Мои вопросы: Что заставл…
21 окт '08 в 21:52
2 ответа

Есть ли разница между "вытеснением ядра" и "прерыванием"?

Я просто читаю статью, в которой говорится: Причины управления системой прерываний обычно сводятся к необходимости обеспечения синхронизации. Отключая прерывания, вы можете гарантировать, что обработчик прерываний не будет вытеснять ваш текущий код.…
27 фев '12 в 22:23
2 ответа

Почему "барьер ()" достаточно для отключения или включения вытеснения?

Из кода ядра Linux , я вижу preempt_enable() а также preempt_disable() ничего кроме barrier(): #define preempt_disable() barrier() #define preempt_enable() barrier() Я не могу этого понять. Почему просто barrier() достаточно для отключения или включ…
0 ответов

Нежелательная задержка, когда поток ядра выполняет больше коммуникационной работы

Мы разработали модуль ядра, который действует в основном как трафик проводной связи (eth, ...) - мост WiFi. Периодически пересылает входящие проводные данные в WiFi и наоборот. Система состоит из двух устройств, работающих под управлением одного мод…
28 ноя '18 в 07:17
1 ответ

Процесс без вытеснения в Linux (2.6.32)

Я пытаюсь сделать процесс не выгружаемым. Я изменил политику планировщика на SCHED_FIFO и установить rtprio до 99. Как только начинается процесс, при отсутствии прерываний ввода-вывода, могу ли я быть уверен, что этот процесс не будет прерван другим…
01 июн '12 в 14:18
0 ответов

Как сделать потоки ядра упреждающими?

Я написал программу на С-коде, которая создает много потоков (pthreads), которые делают все то же самое. Каждый из этих потоков пытается получить общий мьютекс (один двоичный семафор, общий для этих потоков). Когда первому потоку удается получить мь…