Небезпека, пов’язана зі складністю алгоритмів

Очевидно, що буде розумним уникати алгоритмів, які масштабуються, як О (n) або О (2n) Більш того, заміна алгоритму, який масштабується, як О (n), алгоритмом, який масштабується, як O (1), – це зазвичай серйозне поліпшення Проте це не завжди так, і не можна приймати рішення наосліп, базуючись тільки на описі болипой-О. Згадайте, що у визначенні безлічі […]

Многопроцессорность, преемптівность і верхня пам’ять

Може здатися неправильним включати підтримку симетричною многопроцессорности, можливість витіснення процесів в режимі ядра і роботу з верхньої памяттю в питання переносимості Зрештою, це не особливості апаратної платформи, які впливають на операційну систему, а функції ядра Linux, які за багато не залежать від апаратної платформи Проте для цих функцій існують важливі конфігураційні параметри, які необхідно враховувати […]

Механізм відкладених переривань (softirq) – ЧАСТИНА 2

Головна причина використання відкладених переривань – масштабованість Якщо немає необхідності масштабироваться на нескінченну кількість процесорів, то краще використовувати механізм тасклетов Тасклети – Це відкладені переривання, для яких обробник не може виконуватися паралельно на декількох процесорах

Стратегія планування

Стратегія (policy) планування-це характеристики поведінки планувальника, які визначають, що і коли має виконуватися визначає глобальний характер поведінки системи і відповідає за оптимальне використання процесорного часу Таким чином, це поняття дуже важливе

Планування виконання процесів

попередньому розділі були розглянуті процеси-абстракція операційної системи, повязана з активним програмним кодом У цій главі представлений планувальник процесів – код, який дозволяє процесам виконуватися