procesy 1rok DOC


Zarządzanie procesami

Proces - wykonujący się program, potrzebuje zasobów przydzielanych w chwili powstania lub dynamicznie, jednostka pracy w systemie system składa się ze zbioru procesów: systemu / użytkownika; system operacyjny odpowiada za: tworzenie i usuwanie procesów, planowanie porządku wykonania, dostarczenie mechanizmów synchronizacji, komunikacji i pokonywania blokad procesów. Procesy mogą być współbieżne, podział czasu procesora między wiele procesówzwiększenie wydajności systemu. Proces = zadanie.

Proces sekwencyjny - wykonywany program, musi być sekwencyjnie (w dowolnej chwili na zamówienie danego procesu może być wykonywany co najwyżej jeden rozkaz kodu programu), do procesu należą też: stos (przechowuje dane tymczasowe: parametry procedur, adresu powrotne, zmienne tymczasowe), sekcja danych (zmienne globalne).

Program nie jest procesem (bo program jest pasywny jak plik na dysku, proces jest aktywny, z licznikiem rozkazów). Z jednym programem może być związanych więcej niż jeden proces (np. wielu użytkowników może korzystać z działania 1 kopii na raz).

Stan procesu:

0x01 graphic

Blok kontrolny procesu - tak jest reprezentowany każdy proces w systemie, jest to blok danych lub rekord zawierający wiele cząstkowych informacji opisujących dany proces.

0x01 graphic

Kolejki planowania - wchodzące procesy trafiają do kolejki zadań (wszystkie procesy oczekujące na przydział pamięci operacyjnej). Procesy rezydujące w pamięci są gotowe do wykonania, są w kolejce procesów gotowych (lista z powiązaniami, nagłówek ma wskaźniki na pierwszy i ostatni, każdy blok kontrolny procesu ma wskaźnik na następny). Proces pracuje, aż zaczyna czekać np. na dostęp do dysku (dysk może być zajęty przez inny proces) kolejka do urządzenia . Może być do niektórych urządzeń tylko jeden proces w kolejce.

0x01 graphic

Stopień wieloprogramowości (liczba procesów w systemie)

Wątki (procesy lekkie) (thread)

Proces jest określony za pomocą używanych zasobów i miejsca. Ale zagospodarowanie zasobów byłoby lepsze, gdyby wiele zadań używało ich wspólnie i współbieżnie, w obrębie tej samej wirtualnej przestrzeni adresowej (np. fork z nową wartością licznika rozkazów powoduje powstanie nowego wątku sterowania w obrębie tej samej pamięci). Robi się to w nowszych systemach operacyjnych (NT). Wątek - podstawowa jednostka wykorzystania procesora, jego stan jest zdefiniowany niewielką ilością danych (licznik rozkazów, zbiór rejestrów, stos). Grupa równoprawnych wątków dzieli kod, przestrzeń adresową i zasoby systemu. Środowisko takie zadanie (task). Tradycyjny (ciężki) proces = zadanie z jednym wątkiem.

Po co to? Przełączanie procesora między wątkami, tworzenie nowych jest tanie (w porównaniu do tradycyjnych procesów), wstrzymanie jednego i włączenie innego wątku efektywne rozwiązanie obsługi przez system wielu zamówień: wiele wątków sterowania jest powiązanych z kilkoma zasobami dzielonymi. Watki poziomu użytkownika - przełączanie za pośrednictwem funkcji bibliotecznych zamiast odwołań do systemu znacznie szybciej, bo przełączanie kontekstu (procesora od jednego procesu do drugiego) wymaga przechowania stanu starego i załadowania przechowanego stanu nowego. Może to być kosztowne (czasowo) i jest daniną na rzecz systemu (może trzeba będzie coś zrobić dodatkowo z pamięcią...) (po za tym samo przełączenie do systemu operacyjnego też kosztuje!)

Planowanie - wieloprogramowanie jak najlepsze, najefektywniejsze wykorzystanie procesora: proces działa, aż musi na coś czekać, wówczas procesor też nic by nie robił gdy wieloprogramowość, to można kilka procesów jednocześnie mieć w pamięci i wtedy zamiast czekać, procesor może wykonywać inny proces, schemat jest powtarzalny: zawsze gdy jakiś proces musi czekać, to system odbiera mu procesor i przekazuje innemu procesowi.

Lepsze wykorzystanie procesora i wyższa przepustowość (ilość pracy wykonanej w jednostce czasu, np. 17 procesów na godz.). Skrajny przypadek: dwa procesy, każdy pracuje przez 1s i czeka następną 1s, tak jest 60 razy; gdy najpierw robimy 1. , potem 2. , to trwa 4min, ale w rzeczywistości 2min to efektywna praca, 2min przestojewykorzystanie procesora 50%.(s110 dół); gdy w trybie wieloprogramowym, to będzie lepsze wykorzystanie: zaczynamy 1. 1s, potem 2. I tak na przemian całość 2min, 100% wykorzystania procesora, ale to skrajny przypadek, praktycznie niespotykany.

Planowanie przydziału procesora - ma kluczowe zagadnienie w projektowaniu systemu operacyjnego (planowanie jest podstawową funkcją, a procesor jest najważniejszym zasobem)

Struktura planowania - kiedy decyzje o przydziale procesora:

  1. Proces przeszedł od stanu wykonywania do czekania (zamówienie na we/wy, rozpoczęcie czekania na zakończenie procesu potomnego)

  2. Proces przeszedł od stanu wykonywania do stanu gotowości (bo przerwanie)

  3. Proces przeszedł od stanu czekania do stanu gotowości (np. zakończył we/wy)

  4. Proces zakończył działanie

Gdy 1,4 - procesor musi dostać nowy proces, gdy planowanie tylko wówczas schemat niewywłaszczeniowy (gdy proces otrzyma procesor, to korzysta, dopóki go nie odda z powodu swego zakończenia lub przejścia do stanu oczekiwania). Win98

0x01 graphic

Cykl zatrudnień procesor-urządzenie: wykonanie procesu: faza procesora, faza we/wy, faza procesora ... cykle, rozkład czasów faz procesora. dla procesu ograniczonego przez we/wy: dużo krótkich faz procesora, mało długich faz proceora. Dla procesu ograniczonego procesorem (obliczenia!): mało ale bardzo długich faz procesora.

0x01 graphic

FCFS - pierwszy nadszedł - pierwszy obsłużony (First-Come, First -Served)

Najprostsza metoda: proces, który pierwszy zamówi procesor, pierwszy go otrzyma, kolejka FIFO, blok kontrolny procesu wchodzącego do kolejki jest dołączany do końca kolejki, wolny procesor przydziela się procesowi z czoła kolejki; prosty, łatwy, ale średni czas oczekiwania bywa długi. Niewywłaszczający, kłopotliwy w systemach z podziałem czasu.

Planowanie priorytetowe

SJF jest szczególnym przypadkiem planowania priorytetowego: każdemu procesowi przypisuje się pewien priorytet, po czym procesor przydziela się temu o najwyższym priorytecie, gdy równe to FCFS. W SJF priorytet = odwrotność następnej (przewidywanej) fazy procesora. W różnych systemach różnie: 0 - 7, 0—4096; mniejsza liczba większy priorytet albo odwrotnie.

Definiowanie priorytetów:

Priorytet nowego procesu jest porównywany z priorytetem bieżącego wywłaszczający / niewywłaszczający.

Planowanie rotacyjne

Dla systemów z podziałem czasu: ustala się małą jednostkę czasu tzw. kwant (odcinek) czasu. Kolejka gotowych do wykonania jest traktowana jak kolejka cykliczna: każdemu procesowi jest przydzielany czas nie dłuższy od kwantu czasu, działa jak kolejka FIFO: nowe na koniec kolejki, planista bierze pierwszy z kolejki, ustawia czasomierz na przerwanie i przydziela temu procesowi procesor: może on skończyć wcześniej swoją fazę (niekoniecznie wszystko, bo może czekać na we/wy) OK., zwalnia procesor, planista bierze następnego / gdy jednak upłynie kwant czasu, to następuje przerwanie zegarowe , przełączanie kontekstu, proces na koniec kolejki ...

Średni czas oczekiwania może być długi, wyniki zależą od rozmiaru kwantu czasu, istotny czas przełączania kontekstu (tracenie czasu procesora): najlepiej gdy większość procesów kończy swe fazy w jednym kwancie, ale gdy za duży kwant FCFS.

Algorytm wywłaszczający.

Planowanie wielopoziomowych kolejek ze sprzężeniem zwrotnym - możliwe jest przemieszczanie się procesów między kolejkami gdy proces za dużo zużywa czasu procesora, to jest przenoszony do niższej kolejki. W wyższej zostają ograniczone przez we/wy i interaktywne. Podobnie proces zbyt długo czekający w niższej kolejce można przenieść do kolejki wyższej postarzanie procesów. Planista powoduje wykonanie procesów z kolejki 0, gdy już nic nie ma, to z 1..... Gdy nadejdzie proces do 1, to ten z 2 jest wywłaszczany. Nowy proces trafia do 0, dostaje kwant 8, jeśli nie skończy, to przenoszą go dna koniec 1. Jeśli w niej też nie zdąży, to na koniec 2...

0x01 graphic

Jest to najogólniejszy, najbardziej złożony algorytm, można go łatwo modyfikować, ale trzeba podawać wartości parametrów.

1

4



Wyszukiwarka

Podobne podstrony:
Znaczenie literatury dzieciecej w procesie wychowawczo. doc, Znaczenie literatury dziecięcej w proce
PROCESY GRUPOWE doc
formowanie procesu decyzyjnego DOC
Dokumentacja technologiczna w procesie produkcyjnym doc
Infrastruktura techniczna procesów logistycznych doc
Pod pojęciem zmęczenia rozumiemy kompleksowy proces odwracal doc
9 Kontrola w procesie kształcenia doc
Procesy endogeniczne doc
Procesy egzogeniczne doc
procesy transformacji doc
systemy operacyjne 1rok DOC
10 Ocena w procesie kształcenia doc
pamięć 1rok DOC
Proces ksztalcenia doc
socjologia-pytania i odpowiedzi (7 str).DOC, 53.1) Co oznacza termin rozw˙j spo˙eczny.1)Wieloetapowy
EMOCJE I PROCESY EMOCJONALNE, psychologia, wstęp do psychologii 1rok semestr 1
Proces uczenia się, psychologia, wstęp do psychologii 1rok semestr 1
FOLWYK6.DOC, Technologiczne podstawy procesu nitrowania. Zasady prowadzenia procesu. Aparatura. Sche
PROCES 2 DOC

więcej podobnych podstron