INFORMATYKA JEBANA K2-3 Flashcards
rodzaje planowania
planowanie długoterminowe (planowanie zadań)
planowanie krótkoterminowe (planowanie przydziału procesora)
planowanie średnioterminowe (wymiana procesów)
planowanie długoterminowe
- polega na wyborze procesów do wykonania i załadowaniu ich
do pamięci - stosowane jest przede wszystkim w systemach wsadowych do
nadzorowania stopnia wieloprogramowości - w systemach wielozadaniowych nie jest stosowane
- planista długoterminowy jest wywoływany bardzo rzadko
(sekundy, minuty)
planowanie krótkoterminowe
- planowanie przydziału procesora, szeregowanie procesów (ang.
process scheduling) - polega na wyborze jednego procesu z kolejki procesów
gotowych do wykonania i przydzieleniu mu dostępu do
procesora - dominuje w systemach z podziałem czasu (Unix, Linux,
Windows, MacOS itp.) - planista krótkoterminowy jest wywoływany bardzo często
(milisekundy)
Planowanie średnioterminowe
- polega na okresowej wymianie procesów pomiędzy pamięcią
operacyjną i pomocniczą, umożliwiając w ten sposób czasowe
zmniejszenie stopnia wieloprogramowości - często stosowane pomocniczo w systemach wielozadaniowych
Planowanie przydziału procesora
Planowanie przydziału procesora oparte jest na koncepcji wykonania
procesu w postaci cyklu faz procesora i faz wejścia-wyjścia
Planista (scheduler) wybiera jeden proces spośród procesów
gotowych. Planista może zostać wywołany w następujących
sytuacjach, gdy proces zmienia swój stan:
aktywny -> gotowy
aktywny -> czekający
aktywny -> zakończony
czekający -> gotowy
Wywłaszczanie procesów
polega na przerwaniu aktywnego
procesu w celu dokonania ponownego wyboru innego procesu do
wykonania
Ekspedytor procesów
wykonuje następujące
czynności:
- przełączenie kontekstu – zachowanie kontekstu starego procesu
i załadowanie do rejestrów kontekstu nowego procesu
- przełączanie do trybu użytkownika
- wznowienie wykonania programu
Opóźnienie ekspedycji powinno być jak najkrótsze
Algorytm FCFS
Algorytm FCFS
Planowanie metodą “pierwszy zgłoszony - pierwszy obsłużony”
1) Do wykonania wybierany jest pierwszy proces z kolejki, czyli
proces, który pierwszy zgłosił gotowość do wykonania.
Algorytm SJF
Planowanie metodą “najpierw najkrótsze zadanie”
1 Każdy proces ma określoną długość następnej fazy procesora.
2 Do wykonania wybierany jest proces, który ma najkrótszą
następną fazę procesora.
3 Jest to algorytm optymalny ze względu na minimalny średni
czas oczekiwania procesów. Jest bardzo trudny do
zrealizowania i nie ma znaczenia praktycznego
Wymień i krótko opisz znane algorytmy
planowania procesów
ALGORYTM FCFS - Do wykonania wybierany jest pierwszy proces z kolejki, czyli
proces, który pierwszy zgłosił gotowość do wykonania.
ALGORYTM SJF - Planowanie metodą “najpierw najkrótsze zadanie”
1 Każdy proces ma określoną długość następnej fazy procesora.
2 Do wykonania wybierany jest proces, który ma najkrótszą
następną fazę procesora.
3 Jest to algorytm optymalny ze względu na minimalny średni
czas oczekiwania procesów. Jest bardzo trudny do
zrealizowania i nie ma znaczenia praktycznego.
ALGORYTM PRIORYTETOWY
Planowanie oparte na priorytetach procesów
1 Wszystkie procesy mają przydzielone priorytety.
2 Do wykonania wybierany jest proces o najwyższym priorytecie.
ALGORYTM ROTACYJNY
Wszystkie procesy gotowe do wykonania tworzą kolejkę
cykliczną.
2 Do wykonania wybierany jest pierwszy proces z kolejki.
3 Po upłynięciu przydzielonego kwantu czasu procesora proces
jest przerywany i umieszczany na końcu kolejki.
Wielopoziomowe planowania kolejek
Procesy są grupowane w kolei na podstawie priorytetu. Kolejka procesów o wysokim priorytecie jest wykonywana najpierw
Przestrzenie adresowe logiczna i fizyczna definicja
logiczna - to adres wytworzony przez procesor w wyniku
wykonania rozkazu programu
Zbiór wszystkich adresów logicznych generowanych przez program
tworzy logiczną przestrzeń adresową procesu
fizyczna - Adres fizyczny wskazuje konkretną komórkę pamięci operacyjnej
Zbiór wszystkich adresów fizycznych tworzy fizyczną przestrzeń
adresową pamięci
jednostka zarządzania pamięcia MMU
przekształcanie adresów logicznych na fizyczne
sprawdzanie poprawności adresów
strategie zarządzania pamięcią
Przydział ciągły pamięci - każdy proces dostaje jeden ciągły
obszar pamięci
2 Stronicowanie pamięci - każdy proces dostaje wiele
nieciągłych obszarów o stałym rozmiarze
3 Segmentacja pamięci - każdy proces dostaje wiele nieciągłych
obszarów o zmiennym rozmiarze
stronicowanie na żądanie
stronicowanie pamięci z możliwością wykonywania procesu
wprowadzonego tylko częściowo do pamięci operacyjnej
2 sprowadzanie brakującej strony do pamięci operacyjnej na
żądanie procesu, gdy wystąpi odwołanie do tej strony
3 zastępowanie stron, gdy brakuje wolnych ramek pamięci na
nowe strony potrzebne procesowi
4 wymiana całych procesów jako mechanizm uzupełniający