sołtys,systemy operacyjne, wątki


Systemy operacyjne /
Procesem nazywamy wykonujący się program wraz z jego środowiskiem
obliczeniowym.
Proces
·ð zarzÄ…dzanie zasobami  proces ma przydzielony obszar pamiÄ™ci wirtualnej do
przechowywania własnego obrazu,
·ð szeregowanie/wykonywanie  proces wykonuje siÄ™ zgodnie z pewnÄ… Å›cieżkÄ…
wykonania przeplataną ze ścieżkami wykonania innych procesów,
·ð te dwie cechy sÄ… rozpatrywane osobno przez system operacyjny.
Proces
·ð w kategorii wykonywania siÄ™ analizowany jest jako wÄ…tek sterowania (ang.
thread),
·ð w kategorii zarzÄ…dzania zasobami rozpatrywany jest jako proces, zadanie
(ang. process, task).
Wielowątkowość
Wielowątkowość jako cecha systemu operacyjnego:
·ð system operacyjny obsÅ‚uguje wiele wÄ…tków sterowania w ramach
pojedynczego procesu,
·ð MS DOS  pojedynczy wÄ…tek sterowania,
·ð Unix  wiele procesów użytkownika, ale tylko po jednym wÄ…tku sterowania w
ramach jednego procesu,
·ð Windows 2000, Solaris, Linux, Mach, oraz OS/2 obsÅ‚ugujÄ… wiele wÄ…tków
sterowania w ramach pojedynczego procesu,
Systemy operacyjne /
Proces
·ð posiada wirtualnÄ… przestrzeÅ„ adresowÄ…, która przechowuje obraz procesu,
·ð dysponuje chronionym dostepem do procesorów, innych procesów, plików
oraz zasobów wejścia/wyjścia.
WÄ…tek posiada
·ð aktualny stan wykonania (uruchomiony, gotowy itp.),
·ð zachowany kontekst wÄ…tku gdy nie wÄ…tek nie jest uruchomiony,
·ð stos do wykonywania,
·ð pewnÄ… przestrzeÅ„ statycznÄ… na zmienne lokalne,
·ð dostÄ™p do pamiÄ™ci i zasobów procesu, w ramach którego siÄ™ wykonuje
o wszystkie wątki tego samego procesu współdzielą powyższe.
Systemy operacyjne /
Korzyści z posiadania mechanizmu wielowątkowości
·ð utworzenie nowego wÄ…tku zajmuje mniej czasu niż utworzenie nowego
procesu,
·ð zakoÅ„czenie wÄ…tku zajmuje mniej czasu niż zakoÅ„czenie procesu,
·ð przeÅ‚Ä…czenie miÄ™dzy wÄ…tkami procesu zajmuje mniej czasu niż przeÅ‚Ä…czenie
między procesami,
·ð ponieważ wÄ…tki w obrÄ™bie tego samego procesu dzielÄ… pamięć i pliki, mogÄ…
się wzajemnie komunikować bez angażowania jądra systemu operacyjnego.
Zablokowanie procesu implikuje zablokowanie wszystkich wątków procesu, gdyż
współdzielą one tą samą przestrzeń adresową. Zakończenie procesu powoduje
zakończenie działania wszystkich jego wątków.
Zdalne wywołanie procedury z wykorzystaniem wątków
Systemy operacyjne /
Podejścia do obsługi serwisów
·ð bufor na zlecenia,
·ð serwer wielowÄ…tkowy.
Wątki poziomu użytkownika
·ð caÅ‚e zarzÄ…dzanie wÄ…tkami jest realizowane na poziomie aplikacji,
·ð jÄ…dro systemu operacyjnego nie jest Å›wiadome istnienia wÄ…tków w ramach
procesu.
WÄ…tki poziomu jÄ…dra
·ð jÄ…dro systemu operacyjnego zarzÄ…dza informacjÄ… dotyczÄ…co zarówno
procesów jak i wątków sterowania,
·ð przedmiotem szeregowania realizowanego przez jÄ…dro systemu operacyjnego
są poszczególne wątki,
·ð przykÅ‚adami systemów realizujÄ…cych takie podejÅ›cie sÄ… Windows 2000, Linux
oraz OS/2.
Podejście łączone
·ð utworzenie wÄ…tku realizowane w przestrzeni adresowej użytkownika,
·ð duża część szeregowania i i synchronizacji realizowana w przestrzeni
użytkownika,
·ð przykÅ‚adem systemu realizujÄ…cego takie podejÅ›cie jest Solaris.
Systemy operacyjne /
Relacje pomiędzy wątkami a procesami
W:P Opis Realizacja
1:1 tradycyjny Unix
·ð każdy wÄ…tek sterowania jest unikalnym procesem z
własną przestrzenią adresową oraz zasobami.
M:1 Windows NT, Solaris, OS/2,
·ð proces definiuje przestrzeÅ„ adresowÄ… wraz z
OS/390, Mach
dynamicznie zarządzanymi zasobami. Wiele wątków
może być tworzonych i wykonywanych w ramach tego
procesu.
1:M Ra(Clouds), Emerald
·ð wÄ…tek może migrować z jednego Å›rodowiska procesu
do innego, to umożliwia przemieszczanie wątku
między rozłącznymi systemami.
M:N TRIX
·ð podejÅ›cie wykorzystujÄ…ce aspekty podejść 1:M i M:1
Systemy operacyjne /
Klasyfikacja typów systemów komputerowych
Single Instruction Single Data (SISD)
·ð pojedynczy procesor wykonuje pojedynczy strumieÅ„ instrukcji w celu
operowania na danych przechowywanych w pojedynczej pamięci,
Single Instruction Multiple Data (SIMD)
·ð każda instrukcja wykonywana na innym zestawie danych przez inne
procesory,
Multiple Instruction Single Data (MISD)
·ð sekwencja danych jest przesyÅ‚ana do zbioru procesorów, z których każdy
wykonuje inną sekwencję rozkazów  nigdy nie zostało zaimplementowane,
Multiple Instruction Multiple Data (MIMD)
·ð zestaw procesorów jednoczeÅ›nie wykonuje różne sekwencje instrukcji na
różnych zbiorach danych.
Systemy operacyjne /
SMP  Symmetric Multiprocessing
·ð symetryczne wieloprzetwarzanie,
·ð jÄ…dro może siÄ™ wykonywać na dowolnym procesorze,
·ð zazwyczaj każdy procesor realizuje szeregowanie wybierajÄ…c spoÅ›ród puli
dostępnych procesów i wątków.
Aspekty projektowania wieloprocesorowych systemów operacyjnych
·ð jednoczesne równolegÅ‚e procesy i wÄ…tki,
·ð szeregowanie,
·ð synchronizacja,
·ð zarzÄ…dzanie pamiÄ™ciÄ…,
·ð niezawodność i odporność na bÅ‚Ä™dy.
Systemy operacyjne /
MikrojÄ…dra
·ð maÅ‚e jÄ…dro wÅ‚aÅ›ciwe (ang. core) systemu operacyjnego,
·ð zawiera realizacjÄ™ jedynie najistotniejszych funkcji systemu operacyjnego,
·ð wiele elementów tradycyjnie bÄ™dÄ…cych elementami jÄ…dra realizowane w
podsystemach zewnętrznych:
o sterowniki urządzeń, systemy plików,
o zarządca pamięci wirtualnej,
o systemy okienkowe, usługi dotyczące bezpieczeństwa.
Zalety organizacji opartej na mikrojÄ…drze
·ð jednolity interfejs z procesami, wszystkie usÅ‚ugi udostepnione przez
przekazywanie komunikatów,
·ð rozszerzalność, Å‚atwe rozszerzanie o nowe usÅ‚ugi,
·ð elastyczność konfiguracji,
·ð przenoÅ›ność,
·ð niezawodność
o projektowanie z podziałem na moduły,
o możliwość dokładniejszego przetestowania małego jądra,
·ð obsÅ‚uga systemów rozproszonych,
·ð obiektowe zorientowanie systemu operacyjnego,
o komponenty są obiektami z jasno zdefiniowanymi komponentami, które
mogą współpracować.
Podstawowe składowe mikrojądra
·ð niskopoziomowe zarzÄ…dzanie pamiÄ™ciÄ…,
·ð komunikacja miÄ™dzyprocesowa,
·ð zarzÄ…dzanie przerwaniami i wejÅ›ciem/wyjÅ›ciem.
Systemy operacyjne /
Procesy i wÄ…tki w MS Windows 2000
Systemy operacyjne /
WÄ…tki w systemie Solaris
·ð proces zawiera przestrzeÅ„ adresowÄ… użytkownika, stos i blok PCB,
·ð wÄ…tki poziomu użytkownika,
·ð procesy lekkie,
·ð wÄ…tki jÄ…dra.
Struktury potrzebne wątkom każdego z rodzajów:
·ð wÄ…tek jÄ…drowy  maÅ‚a struktura danych i stos, szybkie przeÅ‚Ä…czanie,
·ð proces lekki (LWP)  PCB z danymi rejestrowymi, rozliczeniowymi i
dotyczącymi pamięci, wolne przełączanie,
·ð wÄ…tek poziomu użytkownika  stos i licznik rozkazów; jÄ…dro nie jest
angażowane w planowanie, tak więc przełączanie jest szybkie.
Systemy operacyjne /
Systemy operacyjne /
Solaris  wÄ…tki POSIX a wÄ…tki Solaris
Oba interfejsy są podobne, poniżej przedstawiono istotne różnice.
WÄ…tki POSIX
·ð sÄ… bardziej przenoÅ›ne,
·ð implementujÄ… anulowanie (ang. cancellation) wÄ…tku,
·ð wymuszajÄ… algorytmy szeregujÄ…ce,
·ð umożliwiajÄ… dodatkowÄ… obsÅ‚ugÄ™ wywoÅ‚ania fork(),
WÄ…tki Solaris
Systemy operacyjne /
·ð mogÄ… być wstrzymywane i wznawiane,
·ð implementuja zoptymalizowany mechanizm mutex i semafory binarne miÄ™dzy
wątkami różnych procesów,
·ð implementuja wÄ…tki demonowe, na których zakoÅ„czenie proces nie czeka.
Więcej informacji można uzyskać wywołując komendę man threads.


Wyszukiwarka

Podobne podstrony:
sołtys,Systemy operacyjne, Zarządzanie urządzeniami zewnętrznymi
sołtys,Systemy operacyjne, Szeregowanie zadań
sołtys,systemy operacyjne, zarządzanie pamięcią
sołtys,Systemy operacyjne, System plików
sołtys,Systemy operacyjne, Zarządzanie procesami
systemy operacyjne cw linux apache mysql

więcej podobnych podstron