Главная » Статьи для тега "приоритетов"

Алгоритм планирования – ЧАСТЬ 1

Добавлено Дата: 4 May, 2012 категория: Ядро Linux

В  предыдущих разделах  была  рассмотрена в  самых  общих  чертах  теория  работы планировщика процессов в операционной системе Linux.  Теперь, когда  мы  разобрались  с основами, можно более  глубоко  погрузиться в то, как  именно работает планировщик ОС  Linux.

Читать »

Алгоритм планирования – ЧАСТЬ 2

Добавлено Дата: 27 March, 2012 категория: Ядро Linux

struct prio_array (

int nr_active;                  /* количество заданий */ unsigned long bitmap[BITMAP_SIZE]; /* битовая маска приоритетов */ struct list head queue[MAX_PRIO];/* очереди приоритетов */

};

Константа MAX_PRIO — это  количество уровней приоритета в системе. По умолчанию  значение этой  константы равно  140. Таким образом, для  каждого значения приоритета  выделена одна  структура struc t   list_head .  Константа BITMAP_SIZE — это размер   массива переменных,  каждый  элемент которого имеет  тип  unsigne d   long . Каждый бит этого  массива соответствует одному  действительному значению приоритета.  В  случае  140 уровней приоритетов и  при  использовании 32-разрядных машинных слов, значение константы BITMAP_SIZE равно  5. Таким образом, поле  bitma p — это  массив из пяти  элементов, который имеет  длину  160 бит.

Читать »

Упорядочение потоков во времени Java

Добавлено Дата: 19 May, 2011 категория: Java

 

Потоки программного приложения решают собственные задачи, различные по степени значимости. В качестве количественного показателя важности Выполняемых функций потоку ставится в соответствие приоритет (priority), значение которого используется системой для определения того, какой из потоков должен выполняться в каждый момент времени. Jаvа-программы – одно- или многопоточные – способны работать как на однопроцессорных, так и на многопроцессорных системах, поэтому о решении задачи управления потоками во времени можно говорить только В самых общих терминах. В системе с N процессорами ‘одновременно может выполняться N высокоприоритетных потоков. Потокам, Обладающим более низкими значениями приоритета, ресурсы процессоров обычно отдаются только в том случае, когда более важные потоки блокированы. Чтобы предотвратить вероятность зависания, система вправе предоставлять ресурсы низкоприоритетным потокам и в другие моменты времени – в связи с так называемым старением приоритетов (priority aging), – но прикладные программы {е в состоянии серьезно использовать такую возможность.

Читать »