Sop_02_wyk_1.0.pdf

(3363 KB) Pobierz
Microsoft PowerPoint - SOP_wyk_nr_2.ppt
Systemy operacyjne
Procesy, zasoby i wątki
Systemy operacyjne
Procesy, zasoby i wątki
Wykład prowadzą:
Jerzy Brzeziński
Dariusz Wawrzyniak
Procesy, zasoby i wątki
Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie
związanych z systemem operacyjnym, na których opiera się przetwarzanie we
współczesnych systemach komputerowych — pojęcia procesu i pojęcia zasobu.
Oba pojęcia zostały zasygnalizowane we wprowadzeniu. Tutaj zostaną
przedyskutowane związki pomiędzy procesami i zasobami.
529569656.002.png
Systemy operacyjne
Procesy, zasoby i wątki
Systemy operacyjne
Plan wykładu
• Koncepcja procesu i zasobu
• Obsługa procesów i zasobów
• Cykl zmian stanów procesu i kolejkowanie
• Klasyfikacja zasobów
•Wątki
• Procesy i wątki we współczesnych systemach
operacyjnych
Procesy, zasoby i wątki (2)
Treśćwykładu obejmuje przedstawienie koncepcji procesu i zasobu, ich obsługę,
czyli podstawowe struktury danych oraz ogólnąkoncepcjęzarządzania. Z relacji
między procesami a zasobami wynikają stany procesu i związane ze stanem
kolejkowanie procesów. Następnie przedstawiona zostanie klasyfikacja zasobów.
Kolejnym istotnym zagadnieniem jest koncepcja wątku, wyodrębniona ze
względu na specyfikęwykorzystywania niektórych zasobów systemu. Na koniec
omówiony zostanie sposób realizacji koncepcji procesów i wątków we
współczesnych systemach operacyjnych, czyli w systemie Linux, Windows
2000/XP oraz UNIX SVR4.
529569656.003.png
Systemy operacyjne
Procesy, zasoby i wątki
Systemy operacyjne
Koncepcja procesu
• Proces jest elementarną jednostką pracy (aktywności)
zarządzaną przez system operacyjny, która ubiega się o
zasoby systemu komputerowego w celu wykonania
programu.
• Proces = wykonujący się program.
• Elementy składowe procesu:
– program — definiuje zachowanie procesu,
– dane — zbiór wartości przetwarzanych oraz wyniki,
– zbiór zasobów tworzących środowisko wykonawcze,
– blok kontrolny procesu (PCB, deskryptor) — opis
bieżącego stanu procesu.
Procesy, zasoby i wątki (3)
Koncepcja procesu jest jednym z najważniejszych pojęć we współczesnych
systemach operacyjnych.
Proces służy do organizowania wykonywania programu w ten sposób, że stanowi
on powiązanie niezbędnych zasobów systemu komputerowego i umożliwia
kontrolęstanu tych zasobów, związanąz wykonywaniem programu.
Istotne jest rozróżnienie pomiędzy procesem a programem. Program jest zbiorem
instrukcji. W tym sensie jest tylko elementem procesu, znajdującym się w jego
segmencie kodu (zwanym też segmentem tekstu). Poza tym do wykonania
programu potrzebne są dodatkowe zasoby (procesor, pamięć itp.) Program
najczęściej nie zmienia się w czasie wykonywania (nie ulega modyfikacji),
podczas gdy stan procesu ulega zmianie: zmienia się stan wykonywania
programu podobnie jak stan większości zasobów z tym związanych. Zmianie w
wyniku wykonywania procesu ulega np. segment danych, segment stosu, stan
rejestrów procesora itp. Procesem jest więc cały ten kontekst niezbędny do
wykonania programu.
Wyodrębnienie procesu wiąże się z współbieżnością przetwarzania. W systemie
może istnieć wiele procesów (wiele niezależnych przetwarzań), stąd ważne jest
utrzymanie informacji o tym, które zasoby przedzielone na potrzeby każdego
przetwarzania. W systemach jednozadaniowych (np. MS DOS) pojęcie procesu
nie było wyodrębnione, gdyżnie było takiej potrzeby.
529569656.004.png
Systemy operacyjne
Procesy, zasoby i wątki
Systemy operacyjne
Koncepcja zasobu
• Zasobem jest element sprzętowy lub programowy
systemu komputerowego, którego brak może
potencjalnie zablokować wykonywanie programu
(przetwarzanie)
• Przykłady zasobów: procesor, pamięć, plik (dane) itp.
Procesy, zasoby i wątki (4)
Zasobem jest każdy element systemu, który może okazać się niezbędny dla
realizacji przetwarzania. Typowe zasoby kojarzone sąz elementami sprzętowymi
systemu komputerowego. Należy jednak podkreślić, że to dopiero system
operacyjny definiuje taki element jako zasób, gdyż w jądrze systemu istnieją
struktury do zarządzania i procedury realizacji przydziału, odzyskiwania itd.
Poza tym część zasobów tworzona jest przez jądro systemu operacyjnego.
Zasoby takie często określa się jako wirtualne . Przykładem wirtualnego
urządzenia wejścia-wyjścia jest plik. Pliki udostępnia system operacyjny. Na
poziomie maszynowym pojęcie takie nie istnieje —można co najwyżej mówićo
sektorach dysku, w których składowana sądane.
529569656.005.png
Systemy operacyjne
Procesy, zasoby i wątki
Systemy operacyjne
Podziałoperacji jądra systemu w zarządzaniu procesami
i zasobami
• Operacje tworzenia i usuwania procesów oraz
elementarna komunikacja międzyprocesowa
• Operacje przydziału i zwalniania jednostek zasobów
• Elementarne operacje wejścia-wyjścia
• Procedury obsługi przerwań
Procesy, zasoby i wątki (5)
Operacje tworzenia i usuwania procesów bezpośrednio dotyczą procesów, ale
pośrednio równieżczęsto zasobów, gdyżutworzenie procesu wymaga przydziału
pewnych zasobów. Proces tworzony jest przez inny proces i początkowo może
współdzielićz nim większośćzasobów.
Operacje przydziału i zwalniania jednostek zasobów dotyczątworzenia powiązań
między procesami i zasobami.
Elementarne operacje wejścia-wyjścia dotyczą również zasobów, ale nie są
związane z ich przydziałem, czy zwalnianiem. Są to operacje dostępu do
przydzielonych zasobów. Nie wszystkie operacje dostępu do przydzielonych
zasobów wymagają jednak wsparcia ze strony jądra. Operacje dostępu do
pamięci na przykład realizowane są na poziomie maszynowym, jądro natomiast
angażowane jest dopiero w przypadku wykrycia jakichśnieprawidłowości.
Procedury obsługi przerwań z kolei są reakcją na zdarzenia zewnętrzne lub
pewne szczególne stany wewnętrzne, mogą być zatem skutkiem ubocznym
realizacji dostępu do zasobów. Reakcja na przerwanie może prowadzić do
zmiany stanu procesu lub zasobu, nie zawsze jednak taka zmiana jest
bezpośrednio spowodowana wykonaniem procedury obsługi. Procedury obsługi
przerwań wykonywane muszą być szybko, dlatego ich bezpośrednim skutkiem
jest czasami tylko odnotowanie faktu zajścia zdarzenia, natomiast właściwa
reakcja systemu, w konsekwencji której nastąpi zmiana stanu procesu lub zasobu,
wykonywana jest później.
529569656.001.png
Zgłoś jeśli naruszono regulamin