Дескриптор і контекст процесу

З кожним процесом пов'язані описують його дані в основній пам'яті, необхідні ОС для підтримки виконання процесу. Всі ці дані можна розбити на дві великі структури: дескриптор процесу і контекст процесу.

Дескриптор процесу містить у собі всі ті дані про процес, які можуть знадобитися ОС при різних станах процесу. У число елементів дескриптора можуть входити, наприклад, ідентифікатор процесу (якесь умовне число, що позначає даний процес); поточний стан процесу; його пріоритет; власник процесу (тобто ідентифікатор користувача, що запустив процес); статистика витраченого процесом загального та процесорного часу; покажчик місця розташування контексту процесу та ін Дескриптори всіх процесів, що існують в системі, зібрані в таблицю процесів.

Контекст процесу містить дані, необхідні тільки для поточного процесу. Суду відносяться, перш за все, значення всіх регістрів процесора, включаючи покажчик поточної команди; таблиця файлів, відкритих процесом; покажчики на області пам'яті, які повинен займати процес при його виконанні; значення системних змінних, які використовуються процесом (наприклад, поточний диск і каталог, інформація про останню помилку при виконанні системних функцій); інші системні прапори і режими, які можуть мати різні значення для різних процесів.

Точний склад дескриптора і контексту сильно залежать від конкретної ОС.

При перемиканні поточного процесу система повинна кожен раз перемикати і поточний контекст, тобто зберігати в своїй пам'яті або на диску контекст попереднього виконуваних процесів і відновлювати раніше збережений контекст того процесу, який буде виконуватися.