Процеси, нитки і волокна в ос windows - інформатика, програмування

1. Процеси, нитки і волокна в ОС Windows

Процесом зазвичай називають екземпляр виконуваної програми. Хоча на перший погляд здається, що програма і процес поняття практично однакові, вони фундаментально відрізняються один від одного. Програма представляє собою статичний набір команд, а процес це набір ресурсів і даних, що використовуються при виконанні програми. Процес в Windows складається з наступних компонентів:

- структура даних, що містить всю інформацію про процес, в тому числі список відкритих дескрипторів різних системних ресурсів, унікальний ідентифікатор процесу, різну статистичну інформацію і т.д .;

- унікальний ідентифікатор нитки;

- вміст набору регістрів процесора, що відображають стан процесора;

- два стека, один з яких використовується ниткою при виконанні в режимі ядра, а інший - в режимі користувача;

- закриту область пам'яті, звану локальною пам'яттю нитки (thread local storage, TLS) і використовувану підсистемами, run-time бібліотеками і DLL.

Щоб всі нитки працювали, операційна система відводить кожній з них певний процесорний час. Тим самим створюється ілюзія одночасного виконання ниток (зрозуміло, для багатопроцесорних комп'ютерів можливий істинний паралелізм). У Windows реалізована система витісняє планування на основі пріоритетів, в якій завжди виконується нитка з найбільшим пріоритетом, готова до виконання. Обрана для виконання нитка працює протягом деякого періоду, званого квантом. Квант визначає, скільки часу буде виконуватися нитку, поки операційна система не перерве її. Після закінчення кванта операційна система перевіряє, чи готова до виконання інша нитка з таким же (або великим) рівнем пріоритету. Якщо таких ниток не виявилося, поточної нитки виділяється ще один квант. Однак нитка може не повністю використовувати свій квант. Як тільки інша нитка з більш високим пріоритетом готова до виконання, поточна нитка витісняється, навіть якщо її квант ще не закінчився.

Всякий раз, коли виникає переривання від таймера, з кванта нитки віднімається 3, і так до тих пір, поки він не досягне нуля. Частота спрацьовування таймера залежить від апаратної платформи. Наприклад, для більшості однопроцесорних x86 систем він становить 10 мс, а на більшості багатопроцесорних x86 систем - 15 мс.

Планування в Windows здійснюється на рівні ниток, а не процесів. Це здається зрозумілим, так як самі процеси не виконуються, а лише надають ресурси і контекст для виконання ниток. Тому при плануванні ниток, система не звертає уваги на те, якому процесу вони належать. Наприклад, якщо процес А має 10 готових до виконання ниток, а процес Б - дві, і всі 12 ниток мають однаковий пріоритет, кожна з них отримає 1/12 процесорного часу.

У Windows існує 32 рівня пріоритету, від 0 до 31. Вони групуються так: 31-16 - рівні реального часу; 15-1 - динамічні рівні; 0 - системний рівень, зарезервований для процесу обнулення сторінок (zero-page thread).

Пріоритет кожної нитки (базовий пріоритет нитки) складається з пріоритету її процесу і відносного пріоритету самої нитки. Є сім відносних пріоритетів ниток:

Normal: такий же як і у процесу;

Above normal: +1 до пріоритету процесу;

Time critical: встановлює базовий пріоритет потоку для Real time класу в 31,

для інших класів - в 15;

Idle: встановлює базовий пріоритет потоку для Real time класу в 16,

для інших класів - в 1.

Якщо операційна система виконується на машині, де встановлено більше одного процесора, то за замовчуванням, нитка виконується на будь-якому доступному процесорі. Однак в деяких випадках, набір процесорів, на яких нитка може працювати, може бути обмежений. Це явище називається прив'язкою до процесорів (processor affinity). Можна змінити прив'язку до процесорів програмно, через Win32 # 8209; функції планування.

Читати далі: Створення процесів

Інформація про роботу «Процеси, нитки і волокна в ОС Windows»

порушуються елементарні дидактичні вимоги, переважає пасивне сприйняття навчальної інформації учнями, нераціонально витрачається навчальний час. Глава 2. Методика використання аудіовізуальних та технічних засобів навчання при вивченні розділу «Технологія обробки тканини 5 клас» 2.1 Комплексно-методичне забезпечення розділу 1. Навчально-методична документація № п / п Найменування.

Процеси, нитки і волокна в ос windows - інформатика, програмування
Процеси, нитки і волокна в ос windows - інформатика, програмування
Процеси, нитки і волокна в ос windows - інформатика, програмування
Процеси, нитки і волокна в ос windows - інформатика, програмування
Процеси, нитки і волокна в ос windows - інформатика, програмування

і настройку локальної мережі для різних операційних систем; досліджувати правильна побудова і настройку мережі інтернет; розкрити проблемні аспекти, які виникають в процесі налаштування локальної мережі та підключення до мережі інтернет для різних операційних систем. Глава 1. Налаштування локальної мережі для Windows XP і Windows 7 1.1 Налаштування локальної мережі для Windows XP Перший етап настройки.

до локальних мереж. Тому вимоги міжнародних стандартів задовольняють лише ряд мереж, що випускаються провідними електронними фірмами світу. 2.2. Класифікація мереж Локальні мережі, широко використовувані в наукових, управлінських, організаційних і комерційних технологіях, можна класифікувати за такими ознаками: 1. За ролі ПЕОМ в мережі: - мережі з сервером; - однорангові (.

Схожі статті