Planowanie procesów w systemie operacyjnym: harmonogram długo-, średnio- i krótkoterminowy

⚡ Inteligentne podsumowanie

Harmonogramowanie procesów to zadanie systemu operacyjnego, które zarządza procesami w stanach gotowości, oczekiwania i wykonania. Przydziela czas procesora każdemu procesowi, utrzymuje obciążenie procesora i skraca czas reakcji za pomocą harmonogramów długoterminowych, średnioterminowych i krótkoterminowych.

  • 🗓️. Definicja: Harmonogramowanie procesów pozwala zarządzać procesami w stanach gotowości, oczekiwania i uruchomienia, aby zapewnić zajęcie procesora.
  • 📥 Kolejki: Kolejki zadań, gotowości i urządzeń porządkują procesy według ich stanu wykonania.
  • 🔀 Model dwupaństwowy: Najprościej rzecz ujmując, proces albo działa, albo nie działa.
  • 🧑💼 Trzech harmonogramistów: Harmonogramy długoterminowe, średnioterminowe i krótkoterminowe kontrolują, które procesy są uruchamiane i kiedy.
  • Krótkoterminowe: Harmonogram CPU jest najszybszy i wybiera gotowy proces do natychmiastowego wykonania.
  • 🔁 Zmiana kontekstu: Zapisywanie i przywracanie stanu procesora na płytce PCB umożliwia wykonywanie wielu zadań jednocześnie.

Harmonogramowanie procesów w systemie operacyjnym

Co to jest planowanie procesu?

Planowanie procesów jest zadaniem systemu operacyjnego, które planuje procesy o różnych stanach, takich jak gotowość, oczekiwanie i uruchomienie.

Harmonogramowanie procesów pozwala systemowi operacyjnemu przydzielić każdemu procesowi określony przedział czasu na wykonanie procesora. Innym ważnym powodem korzystania z systemu harmonogramowania procesów jest to, że utrzymuje on procesor w ciągłym zajęciu. Pozwala to uzyskać minimalny czas reakcji programów.

Kolejki planowania procesów

Kolejki planowania procesów pomagają utrzymać odrębną kolejkę dla każdego stanu procesu i PCB. Wszystkie procesy o tym samym stanie wykonania są umieszczane w tej samej kolejce. Dlatego za każdym razem, gdy stan procesu zostanie zmodyfikowany, jego PCB musi zostać odłączone od istniejącej kolejki i przeniesione z powrotem do nowej kolejki stanu.

Istnieją trzy typy kolejek systemu operacyjnego:

  1. Kolejka zadań – Pomaga przechowywać wszystkie procesy w systemie.
  2. Gotowa kolejka – Ten typ kolejki pomaga ustawić każdy proces znajdujący się w pamięci głównej, który jest gotowy i czeka na wykonanie.
  3. Kolejki urządzeń – Jest to proces blokowany z powodu braku urządzenia wejścia/wyjścia.
Kolejki planowania procesów
Kolejki planowania procesów

Na powyższym schemacie:

  • Prostokąt przedstawia kolejkę.
  • Kółko oznacza zasób.
  • Strzałka wskazuje przebieg procesu.
  1. Każdy nowy proces jest najpierw umieszczany w kolejce „Gotowy”. Czeka w niej, aż zostanie ostatecznie przetworzony i uruchomiony. W tym przypadku nowy proces jest umieszczany w kolejce „Gotowy” i czeka, aż zostanie wybrany do uruchomienia lub wysłany.
  2. Jednemu z procesów przydzielono procesor i jest on wykonywany.
  3. Proces powinien wysłać żądanie wejścia/wyjścia.
  4. Następnie należy umieścić go w kolejce wejścia/wyjścia.
  5. Proces powinien utworzyć nowy podproces.
  6. Proces powinien czekać na zakończenie.
  7. Powinien zostać usunięty siłą z procesora w wyniku przerwania. Po zakończeniu przerwania powinien zostać odesłany z powrotem do kolejki zadań gotowych.

Model procesu dwustanowego

Dwustanowe modele procesów to:

  • Stan pracy
  • Stan nieaktywny

Bieganie

W Operasystem tinguza każdym razem, gdy budowany jest nowy proces, jest on wprowadzany do systemu, który powinien działać.

Nie działa

Procesy, które nie są uruchomione, są przechowywane w kolejce, która czeka na swoją kolej do wykonania. Każdy wpis w kolejce wskazuje na konkretny proces.

Cele planowania

Oto najważniejsze cele harmonogramowania procesów:

  • Maksymalizuj liczbę interaktywnych użytkowników w akceptowalnym czasie reakcji.
  • Osiągnij równowagę pomiędzy reakcją i wykorzystaniem.
  • Unikaj odroczenia na czas nieokreślony i egzekwuj priorytety.
  • Powinien także odnosić się do procesów przechowujących kluczowe zasoby.

Typ harmonogramów procesów

Harmonogram to rodzaj oprogramowania systemowego, które pozwala na obsługę planowania procesów.

Istnieją trzy typy harmonogramów procesów:

  1. Harmonogram długoterminowy
  2. Harmonogram krótkoterminowy
  3. Harmonogram średnioterminowy

Harmonogram długoterminowy

Harmonogram długoterminowy znany jest również jako planista pracyTen harmonogram reguluje program, wybiera procesy z kolejki i ładuje je do pamięci w celu wykonania. Reguluje również stopień wieloprogramowości.

Jednak głównym celem tego typu harmonogramu jest oferowanie zrównoważonego połączenia zadań, takich jak zadania procesora i wejścia/wyjścia, co pozwala na zarządzanie wieloma programami.

Harmonogram średnioterminowy

Planowanie średnioterminowe jest ważną częścią zamianapingUmożliwia obsługę procesów, które zostały zamienione. W tym harmonogramie uruchomiony proces może zostać zawieszony, co powoduje żądanie wejścia/wyjścia.

Działający proces może zostać zawieszony, jeśli zgłosi żądanie wejścia/wyjścia. Zawieszony proces nie może poczynić żadnych postępów w kierunku zakończenia. Aby usunąć proces z pamięci i zwolnić miejsce dla innych procesów, zawieszony proces powinien zostać przeniesiony do pamięci podręcznej.

Harmonogram krótkoterminowy

Krótkoterminowe planowanie jest również znane jako Harmonogram procesoraGłównym celem tego harmonogramu jest zwiększenie wydajności systemu zgodnie z ustalonymi kryteriami. Umożliwia on wybór z grupy procesów gotowych do wykonania i przydzielenie procesora jednemu z nich. Dyspozytor przekazuje kontrolę nad procesorem procesowi wybranemu przez harmonogram krótkoterminowy.

Różnica między harmonogramami

Długoterminowe kontra krótkoterminowe kontra średnioterminowe:

Długoterminowy Krótkoterminowe Średnioterminowy
Długoterminowy jest również znany jako harmonogram zadań. Krótkoterminowy jest również znany jako harmonogram CPU. Średnioterminowy nazywany jest również swapemping planista.
Jest albo nieobecny, albo minimalny w systemie z podziałem czasu. Jest to nieistotne w kolejności podziału czasu. Harmonogram ten jest elementem systemów z podziałem czasu.
Szybkość jest mniejsza w porównaniu z harmonogramem krótkoterminowym. Szybkość jest najszybsza w porównaniu z harmonogramem krótko- i średnioterminowym. Oferuje średnią prędkość.
Umożliwia wybranie procesów z puli i przeniesienie ich z powrotem do pamięci. Wybiera tylko te procesy, które są gotowe do wykonania. Pomaga odesłać proces z powrotem do pamięci.
Zapewnia pełną kontrolę. Zapewnia mniejszą kontrolę. Zmniejsza poziom wieloprogramowości.

Co to jest zmiana kontekstu?

Jest to metoda przechowywania/przywracania stanu procesora na płytce PCB, dzięki czemu wykonywanie procesu można wznowić od tego samego punktu w późniejszym czasie. Metoda przełączania kontekstu jest istotna w przypadku wielozadaniowych systemów operacyjnych.

FAQ

Harmonogram decyduje, który proces powinien zostać uruchomiony jako następny, na podstawie polityki. Dyspozytor to moduł, który faktycznie przekazuje wybranemu procesowi kontrolę nad procesorem, wykonując przełączanie kontekstu i skoki.ping do właściwego miejsca w programie.

Stopień wieloprogramowości to liczba procesów przechowywanych jednocześnie w pamięci głównej. Harmonogram długoterminowy kontroluje ją, decydując o liczbie procesów dopuszczonych, równoważąc obciążenie procesora i wejścia/wyjścia w celu zapewnienia efektywnej wydajności systemu.

Blok sterowania procesem to struktura danych, której system operacyjny używa do przechowywania wszystkich informacji o procesie, takich jak jego stan, licznik programu, rejestry i limity pamięci. Jest on niezbędny do zapisywania i przywracania procesów podczas przełączania kontekstu.

Sztuczna inteligencja potrafi uczyć się wzorców obciążenia, aby decydować, który proces uruchomić i jak przydzielić czas procesora. Zamiast sztywnych reguł, dostosowuje harmonogram w czasie rzeczywistym, poprawiając przepustowość, czas reakcji i efektywność energetyczną, szczególnie w systemach chmurowych i wielordzeniowych.

Tak. Analizując przeszłe obciążenia procesora i wzorce wejścia/wyjścia, modele sztucznej inteligencji mogą oszacować, jak długo proces będzie działał i czy jest on ograniczony przez procesor, czy przez wejście/wyjścia. Te prognozy pomagają harmonogramowi priorytetyzować procesy i skracać czas oczekiwania.

Podsumuj ten post następująco: