W systemach operacyjnych, planista jest składnikiem rdzenia z systemem operacyjnym wybiera kolejność realizacji procesów na procesorach o komputerze . W języku angielskim harmonogram nazywa się harmonogramem .
Proces potrzebuje zasobów procesora do wykonywania obliczeń; porzuca go, gdy pojawia się przerwa itp. Wiele starszych procesorów może jednocześnie wykonywać tylko jedno przetwarzanie. W przypadku pozostałych, planista jest nadal niezbędny do określenia, który proces będzie wykonywany na którym procesorze (jest to pojęcie powinowactwa , które jest bardzo ważne, aby nie obniżać wydajności). Poza klasycznymi procesorami wielordzeniowymi pojęcie hiperwątkowości jeszcze bardziej komplikuje kwestię planowania.
W danym momencie często jest więcej procesów do uruchomienia niż procesorów.
Jedną z ról systemu operacyjnego , a dokładniej harmonogramu jądra, jest umożliwienie wszystkim tym procesom działania w tym czy innym czasie i jak najlepsze wykorzystanie procesora przez użytkownika. Aby każde zadanie było wykonywane bez martwienia się o pozostałe i/lub również aby wykonywały zadania zgodnie z ograniczeniami nałożonymi na system (przykład: ograniczenia czasowe w przypadku systemu operacyjnego czasu rzeczywistego), harmonogram jądra systemu wykonuje tego przełączniki kontekstowe .
W regularnych odstępach czasu system wywołuje procedurę planowania, która wybiera następny proces do wykonania. Jeżeli nowy proces jest inny niż stary, następuje zmiana kontekstu (operacja polegająca na zapisaniu kontekstu wykonania starego zadania np. rejestrów procesora). Ta struktura danych jest ogólnie określana jako PCB . System operacyjny przywraca starą płytkę PCB wybranego zadania, która następnie jest uruchamiana, kontynuując poprzednią pracę.
Jeśli zadania mają być wykonywane jednocześnie i jest fizycznie niemożliwe, aby komputer przetwarzał więcej niż jedno zadanie jednocześnie, jądro szybko przełącza kontekst wykonywania zadania, tak aby:
Na przykład przy 3 zadaniach można to podzielić według
...
(3 zadania zaplanowane według algorytmu Round-robin (każde po kolei)).
Wybór algorytmu szeregowania zależy od zachowania systemu. Istnieją dwie główne klasy planowania.
Jest obecny na większości „klasycznych” komputerów. Na przykład planowanie „zaniku”; który jest domyślny pod Uniksem . Składa się z adaptacyjnego systemu priorytetów, na przykład faworyzuje interaktywne zadania, dzięki czemu ich czas reakcji jest dobry. Podklasą planowania z podziałem czasu są tak zwane harmonogramy „proporcjonalnego udziału”, są one bardziej przeznaczone dla stacji obliczeniowych i pozwalają na rygorystyczne zarządzanie zasobami. W szczególności można wspomnieć o „loterii” i „kroku”.
Gwarantuje wykonanie określonego zadania w określonym czasie. Jest to niezbędne w systemach pokładowych.
OptymalnośćMówi się, że harmonogram czasu rzeczywistego jest optymalny dla systemu zadań, jeśli znajdzie rozwiązanie do planowania systemu, gdy takie rozwiązanie istnieje. Jeśli nie może znaleźć rozwiązania tego systemu, to żaden inny planista nie może go znaleźć.