Procesy i wątki. Wątki. Procesy

Wielkość: px
Rozpocząć pokaz od strony:

Download "Procesy i wątki. Wątki. Procesy"

Transkrypt

1 Procesy i wątki Procesy Koncepcja procesu. Planowanie procesów. Działania na procesach. Procesy współpracujące. Komunikacja międzyprocesowa. Wątki Implementacja wątków. Modele wielowątkowości. Schematy wielowątkowości. Zagadnienia dotyczące wątków. Przykłady implementacji wątków. Wiesław Płaczek Systemy Operacyjne: Wykład 3 1

2 Koncepcja procesu Jak nazwać wszystkie czynności procesora? Ø System wsadowy: zadania (jobs); Ø System z podziałem czasu: programy użytkownika (user programs) lub prace (tasks). Terminy zadanie i proces czasami używane są zamiennie obecnie preferowany jest termin proces. Proces program w trakcie wykonywania; jednostka pracy w większości systemów; program sam z siebie nie jest procesem jest obiektem pasywnym (plik z listą instrukcji), a proces jest obiektem aktywnym. W skład procesu wchodzi: Kod programu (text section); Licznik rozkazów (program counter); Stos procesu (process stack) dane tymczasowe. Sekcja danych (data section) zmienne globalne. Wiesław Płaczek Systemy Operacyjne: Wykład 3 2

3 Stan procesu Wykonujący się proces zmienia swój stan (state). Każdy proces może się znajdować w jednym z następujących stanów: Nowy: proces jest tworzony; Gotowy: proces czeka na przydział procesora; Aktywny: są wykonywane instrukcje; Czekający: proces czeka na wystąpienie jakiegoś zdarzenia (np. zakończenie operacji WE/WY); Zakończony: proces zakończył działanie. Na jednym procesorze w każdej chwili tylko jeden proces może być aktywny, ale wiele procesów może być gotowych do działania lub czekających. Wiesław Płaczek Systemy Operacyjne: Wykład 3 3

4 Diagram stanów procesu Nowy Przyjęcie Zakończony Przerwanie Wyjście Gotowy Aktywny Obsłużenie zdarzenia lub operacji WE/WY Decyzja planisty Czekający Oczekiwanie na zdarzenie lub na wykonanie operacji WE/WY Wiesław Płaczek Systemy Operacyjne: Wykład 3 4

5 Blok kontrolny procesu Proces jest reprezentowany w systemie przez blok kontrolny procesu (process control block PCB), który zawiera następujące informacje: Stan procesu: nowy, gotowy, aktywny itd. Licznik rozkazów: wskazuje adres następnego rozkazu do wykonania w procesie. Rejestry procesora: akumulatory, rejestry indeksowe, wskaźniki stosu, rejestry ogólnego przeznaczenia, rejestry warunków; ich typy i liczba zależy od architektury komputera. Informacje o planowaniu przydziału procesora: priorytet procesu, wskaźniki do kolejek planowania i inne parametry planowania. Informacje o zarządzaniu pamięcią: zawartości rejestrów granicznych, tablice stron lub segmentów zależnie od stosowanego systemu pamięci. Informacje do rozliczeń: ilość zużytego czasu procesora i czasu rzeczywistego, ograniczenia, numery kont, numery procesów itd. Informacje o stanie WE/WY: informacje o urządzeniach WE/WY przydzielonych do procesu, wykaz otwartych plików itd. Wiesław Płaczek Systemy Operacyjne: Wykład 3 5

6 Blok kontrolny procesu Stan procesu Numer procesu Licznik rozkazów Rejestry Ograniczenia pamięci Wykaz otwartych plików. Wiesław Płaczek Systemy Operacyjne: Wykład 3 6

7 Przełączanie procesora od procesu do procesu Proces P0 System Operacyjny Proces P1 Wykonywanie Przerwanie lub wywołanie systemowe Bezczynność Wykonywanie Przechowaj stan w bloku kontrolnym 0 Odtwórz stan z bloku kontrolnego 1 Przerwanie lub wywołanie systemowe Przechowaj stan w bloku kontrolnym 1 Odtwórz stan z bloku kontrolnego 0 Bezczynność Wykonywanie Bezczynność Wiesław Płaczek Systemy Operacyjne: Wykład 3 7

8 Planowanie procesów Celem planowania procesów jest jak najlepsze wykorzystanie procesora szczególnie ważne w systemach wieloprogramowych z podziałem czasu. Kolejki planowania zbiory procesów czekających na jakieś zdarzenia: Kolejka zadań (job queues): zbiór wszystkich procesów w systemie. Kolejka procesów gotowych (ready queue): zbiór procesów rezydujących w pamięci operacyjnej, gotowych i czekających na wykonanie (ma postać listy powiązanej). Kolejka do urządzenia (device queue): zbiór procesów czekających na konkretne urządzenie WE/WY każde urządzenie ma własną kolejkę. Ø Procesy wędrują między różnymi kolejkami. Wiesław Płaczek Systemy Operacyjne: Wykład 3 8

9 Kolejki procesów Nagłówek kolejki Blok kontrolny 7 Blok kontrolny 2 Kolejka Czoło procesów gotowych Ogon Rejestry Rejestry Jednostka taśmowa 0 Jednostka taśmowa 1 Czoło Ogon Czoło Ogon Blok kontrolny 3 Blok kontrolny 14 Blok kontrolny 6 Jednostka dyskowa 0 Jednostka terminalu 0 Czoło Ogon Czoło Ogon Blok kontrolny 5 Wiesław Płaczek Systemy Operacyjne: Wykład 3 9

10 Diagram kolejek planowania procesów Kolejka procesów gotowych CPU WE/WY Kolejka operacji WE/WY Zamówienie operacji WE/WY Zużycie kwantu czasu Proces potomny działa Powołanie procesu potomnego Obsługa przerwania Wystąpienie przerwania Wiesław Płaczek Systemy Operacyjne: Wykład 3 10

11 Planiści (Schedulers) Planista (program szeregujący) program systemowy wybierający procesy z kolejek. Planista długoterminowy (long-term scheduler) lub planista zadań (job scheduler) wybiera procesy z puli zadań (zwykle na dyskach) i ładuje do pamięci operacyjnej (do kolejki procesów gotowych); w niektórych systemach nieobecny, np. UNIX, MS Windows. Ø Wywoływany jest rzadziej (sekundy, minuty) może być wolny. Ø Nadzoruje stopień wieloprogramowości, tj. liczbę procesów w pamięci (bardzo ważne dla wydajności systemu komputerowego). Planista krótkoterminowy (short-term scheduler) lub planista przydziału procesora (CPU scheduler) wybiera jeden proces spośród procesów gotowych do wykonania i przydziela mu procesor. Ø Wywoływany jest często (milisekundy) musi być szybki! Procesy można podzielić na: Procesy związane z WE/WY (I/O-bound) większość czasu spędzają na wykonywaniu operacji WE/WY, a mniej używają procesora. Procesy związane z procesorem (CPU-bound) większość czasu spędzają na operacjach wykonywanych przez procesor, a tylko sporadycznie korzystają z WE/WY. Wiesław Płaczek Systemy Operacyjne: Wykład 3 11

12 Planowanie średnioterminowe Planista średnioterminowy (mid-term scheduler) odpowiedzialny za wymianę (swapping) procesów między pamięcią operacyjną a dyskiem może być stosowany w niektórych systemach, zwłaszcza z podziałem czasu. Sprowadź do pamięci Usunięte procesy częściowo wykonane Usuń z pamięci Kolejka procesów gotowych CPU Koniec WE/WY Kolejka operacji oczekujących na WE/WY Wiesław Płaczek Systemy Operacyjne: Wykład 3 12

13 Przełączanie kontekstu Przełączanie procesora do innego procesu wymaga przechowania stanu starego procesu i załadowania przechowanego stanu nowego procesu przełączanie kontekstu (context switch). Czas przełączania kontekstu jest czystą daniną na rzecz systemu system nie wykonuje żadnej użytecznej pracy podczas tej czynności. Wartość czasu przełączania zależy od możliwości sprzętu (typowo kilka milisekund). Niektóre procesory mają po kilka zbiorów rejestrów: przełączanie kontekstu zmiana wartości wskaźnika do bieżącego zbioru rejestrów (np. Sun UltraSPARC). Przełączanie kontekstu jest nierzadko wąskim gardłem w systemach operacyjnych rozwiązanie: wątki. Wiesław Płaczek Systemy Operacyjne: Wykład 3 13

14 Działania na procesach Proces macierzysty (parent process) tworzy procesy potomne (children processes) przy użyciu wywołania systemowego a te mogą tworzyć dalsze procesy drzewo procesów. Dzielenie zasobów możliwości: Proces macierzysty i procesy potomne dzielą wszystkie zasoby. Procesy potomne dzielą podzbiór zasobów procesu macierzystego. Proces macierzysty i potomny nie dzielą żadnych zasobów. Wykonywanie możliwości: Proces macierzysty i procesy potomne wykonują się współbieżnie. Proces macierzysty czeka na zakończenie procesów potomnych. Przestrzeń adresowa możliwości: Proces potomny staje się kopią procesu macierzystego (UNIX: fork). Proces potomny otrzymuje nowy program (UNIX: exec). Wiesław Płaczek Systemy Operacyjne: Wykład 3 14

15 Drzewo procesów w systemie UNIX Proces root Proces pagedemon Proces swapper Proces init Proces Proces Proces Wiesław Płaczek Systemy Operacyjne: Wykład 3 15

16 Kończenie procesu Proces wykonuje ostatnią komendę i prosi system operacyjny (poprzez funkcję exit), aby go usunął. Proces może przekazać dane (wyjście) do procesu macierzystego (za pomocą funkcji wait). Wszystkie zasoby procesu zostają odebrane przez system operacyjny. Proces macierzysty może zakończyć wykonywanie procesu potomnego (np. funkcją abort), gdy: Potomek nadużył któregoś z przydzielonych zasobów; Wykonywane przez potomka zadanie stało się zbędne; Proces macierzysty kończy swoje działanie, a system operacyjny nie pozwala potomkowi na dalsze działanie; ü W niektórych systemach następuje tzw. kaskadowe kończenie wszystkich procesów będących potomkami (aż do ostatniego pokolenia) zakończonego procesu macierzystego zwykle inicjowane jest przez system operacyjny. Wiesław Płaczek Systemy Operacyjne: Wykład 3 16

17 Procesy współpracujące Proces niezależny (independent) proces, który nie może oddziaływać na inne procesy w systemie. Proces współpracujący (cooperating) proces, który może wpływać na inne procesy lub inne procesy mogą wpływać na niego, np. przez współdzielenie danych. Ø Zalety współpracy procesów: J dzielenie informacji (np. plików); J przyspieszanie obliczeń (podział zadania na podzadania i wykonywanie równoległe przy wielu procesorach itd.); J modularność (modularny system z podziałem na osobne procesy); J wygoda (np. możliwość wykonywania wielu zadań równolegle). Wiesław Płaczek Systemy Operacyjne: Wykład 3 17

18 Problem producent-konsument Proces producent (producer) wytwarza informacje, które zużywa proces konsument (consumer) popularny wzorzec współpracujących procesów (np. program drukujący wytwarza znaki, które są pobierane przez program obsługi drukarki). Potrzebny jest bufor, który może być zapełniany przez producenta, a opróżniany przez konsumenta: Bufor nieograniczony (unbounded buffer) brak praktycznych ograniczeń na rozmiar bufora; Bufor ograniczony (bounded buffer) ma ustaloną długość. Bufor może być dostarczony przez system operacyjny za pomocą mechanizmu komunikacji międzyprocesowej (IPC) lub stworzony przez programistę w pamięci dzielonej. Procesy producenta i konsumenta muszą podlegać synchronizacji, aby wszystkie jednostki towaru mogły być wiernie przekazane od producenta do konsumenta. Wiesław Płaczek Systemy Operacyjne: Wykład 3 18

19 Komunikacja międzyprocesowa Komunikacja międzyprocesowa (interprocess communication IPC) mechanizm systemu operacyjnego umożliwiający procesom łączność i synchronizację. System przekazywania komunikatów (message system) procesy komunikują się między sobą bez odwoływania się do zmiennych współdzielonych. Mechanizm IPC dostarcza dwie operacje: Ø nadaj(komunikat) rozmiar komunikatu może być stały lub zmienny; Ø odbierz(komunikat) Jeżeli procesy P i Q chcą się ze sobą komunikować, to muszą: Utworzyć między sobą łącze komunikacyjne (communication link); Wymieniać komunikaty przy użyciu operacji nadaj/odbierz. Implementacja łącza komunikacyjnego: Fizyczna (np. pamięć dzielona, szyna sprzętowa, sieć); Logiczna (logiczne cechy łącza). Wiesław Płaczek Systemy Operacyjne: Wykład 3 19

20 Pytania implementacyjne Jak ustawia się połączenia? Patrz Metody logicznej implementacji poniżej. Czy łącze może być powiązane z więcej niż dwoma procesami? Ile może być łączy między każdą parą procesów? Jaka jest pojemność łącza? Czy łącze ma jakiś obszar buforowy? Jeśli tak, to jak duży? Jaki jest rozmiar komunikatów? Czy łącze akceptuje komunikaty stałej czy zmiennej długości? Czy łącze jest jednokierunkowe, czy dwukierunkowe? Metody logicznej implementacji: Komunikacja bezpośrednia lub pośrednia; Komunikacja synchroniczna lub asynchroniczna; Komunikacja symetryczna lub asymetryczna (nadaj odbierz); Buforowanie automatyczne lub jawne; Wysyłanie na zasadzie tworzenia kopii lub odsyłacza; Komunikaty stałej lub zmiennej długości. Wiesław Płaczek Systemy Operacyjne: Wykład 3 20

21 Komunikacja bezpośrednia W komunikacji bezpośredniej (direct communication) proces musi jawnie nazwać nadawcę lub odbiorcę: Ø nadaj(p, komunikat) nadaj komunikat do procesu P; Ø odbierz(q, komunikat) odbierz komunikat od procesu Q. Własności łącza komunikacyjnego: Łącze jest ustawiane automatycznie (wystarczy aby procesy znały swoje identyfikatory); Łącze dotyczy dokładnie dwu procesów; Między każdą parą procesów istnieje dokładnie jedno łącze; Łącze może być jednokierunkowe, choć zwykle jest dwukierunkowe. L Wada: ograniczona modularność zmiana identyfikatora jednego procesu może pociągać za sobą konieczność zweryfikowania definicji wszystkich innych procesów. Wiesław Płaczek Systemy Operacyjne: Wykład 3 21

22 Komunikacja pośrednia W komunikacji pośredniej (indirect communication) komunikaty są nadawane i odbierane za pomocą skrzynek pocztowych (mailboxes), zwanych także portami (ports). Każda skrzynka pocztowa ma jednoznaczną identyfikację; Procesy mogą się komunikować tylko wtedy, gdy mają jakąś wspólną skrzynkę pocztową. Operacje nadawania i odbioru komunikatów: Ø nadaj(a, komunikat) nadaj komunikat do skrzynki A; Ø odbierz(a, komunikat) odbierz komunikat ze skrzynki A. Własności łącza komunikacyjnego: Łącze między procesami jest ustawiane tylko wtedy, gdy dzielą one jakąś skrzynkę pocztową; Łącze może być związane z więcej niż dwoma procesami; Każda para komunikujących się procesów może mieć wiele łączy; Łącze może być jednokierunkowe lub dwukierunkowe. Wiesław Płaczek Systemy Operacyjne: Wykład 3 22

23 Zagadnienia komunikacji pośredniej Dzielenie skrzynki pocztowej: Procesy P1, P2 i P3 dzielą skrzynkę A. Proces P1 wysyła komunikat, a procesy P2 i P3 go odbierają. Ø Kto otrzyma komunikat? Możliwe rozwiązania: Zezwalać na łącza tylko między dwoma procesami. Zezwalać tylko jednemu procesowi na wykonanie w danej chwili operacji odbierz. Pozwolić, aby system wybierał arbitralnie lub według pewnego algorytmu (np. rotacyjnego) odbiorcę komunikatu, powiadamiając nadawcę, kto został odbiorcą. Kto może być właścicielem skrzynki pocztowej? Proces: proces właściciel może tylko odbierać, proces użytkownik może tylko nadawać komunikaty (skrzynka znika wraz z właścicielem). System operacyjny musi dostarczać mechanizmów do: ü tworzenia nowej skrzynki; ü nadawania i odbierania komunikatów za pośrednictwem skrzynki; ü usuwania skrzynki. Wiesław Płaczek Systemy Operacyjne: Wykład 3 23

24 Synchronizacja i buforowanie Synchronizacja Przekazywanie komunikatów może być: blokujące, czyli synchroniczne (synchronous); nieblokujące, czyli asynchroniczne (asynchronous). Operacje nadaj i odbierz mogą być blokujące lub nieblokujące. Buforowanie Łącze ma pewną pojemność; komunikaty są w nim ułożone w postaci kolejki możliwe pojemności: Pojemność zerowa: maksymalna długość kolejki wynosi 0, czyli nadawca musi czekać aż odbiorca odbierze komunikat (synchronizacja typu rendezvous) komunikacja bez buforowania. Pojemność ograniczona: kolejka ma skończoną długość n; nadawca musi czekać kiedy kolejka jest pełna (blokowanie). Pojemność nieograniczona: kolejka ma (potencjalnie) nieskończoną długość nadawca nigdy nie jest blokowany. Wiesław Płaczek Systemy Operacyjne: Wykład 3 24

25 Przykład system Mach Ø Mach (Carnegie-Mellon University): system operacyjny oparty na komunikatach jądro umożliwia tworzenie wielu zadań, które są podobne do procesów, ale mają wiele wątków sterowania. Większość komunikacji odbywa się poprzez przesyłanie komunikatów (nawet wywołania systemowe są wykonywane za pomocą komunikatów). Komunikaty przekazywane są za pośrednictwem skrzynek pocztowych, nazywanych portami. Przy tworzeniu każdego zadania powstają dwie skrzynki pocztowe: Skrzynka jądra (kernel mailbox) używana przez jądro do komunikacji z zadaniem. Skrzynka zawiadomień (notify mailbox) do niej jądro wysyła zawiadomienia o występujących zdarzeniach. Do przesyłania komunikatów służą trzy funkcje systemowe: port_allocate tworzy nową skrzynkę i przydziela pamięć na kolejkę jej komunikatów; zadanie tworzące skrzynkę zostaje jej właścicielem i dostaje prawo odbioru z niej komunikatów; komunikaty składają z nagłówka o stałej długości i danych o różnej długości od tego samego nadawcy są ustawiane w kolejce FIFO (first-in, firt-out), ale od różnych nadawców mogą być w dowolnym porządku. msg_send wysyła komunikat do skrzynki pocztowej. msg_receive odbiera komunikat ze skrzynki pocztowej. Ø Ponadto, do zdalnego wywołania procedury (RPC) służy funkcja msg_rpc. Wiesław Płaczek Systemy Operacyjne: Wykład 3 25

26 Przykład system MS Windows XP/Vista/7/8 System operacyjny Windows XP/Vista/7/8 tworzy zaplecze dla wielu środowisk operacyjnych, czyli podsystemów, z którymi programy użytkowe komunikują się drogą przekazywania komunikatów (są klientami serwera podsystemu). Do łączności między dwoma procesami na tej samej maszynie służy mechanizm lokalnego wywołania procedury (local procedure call LPC) podobny do RPC, ale zoptymalizowany i specyficzny dla środowiska MS Windows. Do ustanowienia i utrzymywania połączenia między dwoma procesami używany jest obiekt portu (jak w systemie Mach). Są dwa rodzaje portów: porty połączeń i porty komunikacyjne w istocie takie same, ale w zależności od sposobu użycia nadaje się im różne nazwy. Porty połączeń, zwane obiektami, są widoczne dla wszystkich procesów i umożliwiają aplikacji utworzenie kanału komunikacyjnego. Komunikacja staje się możliwa po utworzeniu/uzyskaniu uchwytu do portu. Stosowane są dwie techniki przekazywania komunikatów: Kopiowanie komunikatów między procesami za pośrednictwem kolejki komunikatów portu dla małych komunikatów, do 256 B. Za pośrednictwem obiektu sekcji (pamięci dzielonej) wysyłany jest tylko mały komunikat zawierający wskaźnik i rozmiar danych w obiekcie sekcji; stosowana przy przesyłaniu większych komunikatów szybsza, ale bardziej skomplikowana! Komunikacja może odbywać się synchronicznie lub asynchronicznie (callback). Wiesław Płaczek Systemy Operacyjne: Wykład 3 26

27 Lokalne wywołanie procedury (LPC) MS Windows XP/Vista/7/8 Żądanie połączenia Port połączeń Uchwyt Klient Uchwyt Port komunikacyjny klienta Port komunikacyjny serwera Uchwyt Serwer Obiekt sekcji dzielonej (> 256 bajtów) Wiesław Płaczek Systemy Operacyjne: Wykład 3 27

28 Komunikacja w systemach klient-serwer Gniazda (sockets) BSD UNIX: Gniazdo jest zdefiniowane jako punkt końcowy komunikacji; Gniazdo posiada adres: połączenie adresu IP i numeru portu, np. gniazdo :1625 dotyczy portu 1625 na maszynie ; Komunikacja odbywa się między parami gniazd. Zdalne wywołania procedur (remote procedure call RPC): Zdalne wywołanie procedury jest uogólnieniem mechanizmu wywołania procedury na systemy sieciowe. Komunikat zawiera identyfikator funkcji oraz parametry, które mają być jej przekazane i jest adresowany do demona RPC w odległym systemie. Klient wysyła komunikat do serwera, a serwer wykonuje odpowiednią funkcję i odsyła wyniki do klienta w oddzielnym komunikacie. Zdalne wywołania metod (remote method invocation RMI): RMI jest mechanizmem systemu Java podobnym do RPC. RMI pozwala programowi Javy działającemu na jednej maszynie wywołać metodę w zdalnym obiekcie (na innej JVM, innym komputerze). Wiesław Płaczek Systemy Operacyjne: Wykład 3 28

29 Wątki (Threads) Wątek (thread), zwany także procesem lekkim (lightweight process LWP), jest podstawową jednostką wykorzystania CPU posiada swoje indywidualne zasoby: identyfikator wątku, licznik rozkazów, zbiór rejestrów i obszar stosu. Wątek dzieli wraz z innymi równorzędnymi wątkami: sekcję kodu, sekcję danych oraz zasoby systemowe (otwarte pliki, sygnały itd.). Tradycyjny proces, tzw. ciężki (heavyweight), posiada jeden wątek. Jeżeli proces ma wiele wątków, to może wykonywać więcej niż jedno zadanie w tym samym czasie. Ø Zalety wątków: J Dzielenie zasobów sprawia, że przełączanie między wątkami oraz tworzenie wątków jest tanie w porównaniu z procesami ciężkimi. J Oszczędne wykorzystanie zasobów systemu dzięki ich współużytkowaniu. J Współpraca wielu wątków pozwala zwiększyć przepustowość i poprawić wydajność (np. jeśli jeden wątek jest zablokowany, to może działać inny). J Lepsze wykorzystanie architektury wieloprocesorowej/wielordzeniowej (wątek procesor/rdzeń) oraz dedykowanej technologii Hyper-Threading. Wiesław Płaczek Systemy Operacyjne: Wykład 3 29

30 Zadania jedno- i wielowątkowe kod dane pliki kod dane pliki rejestry stos rejestry rejestry rejestry stos stos stos wątek wątek Zadanie jednowątkowe Zadanie wielowątkowe Wiesław Płaczek Systemy Operacyjne: Wykład 3 30

31 Implementacja wątków Wątki poziomu użytkownika (user-level threads) tworzone za pomocą funkcji bibliotecznych; przełączanie między wątkami nie wymaga wzywania systemu operacyjnego. Ø Zalety: J Szybkie przełączanie między wątkami. J Wydajne obsługiwanie wielu zamówień. Ø Wady: L Przy jednowątkowym jądrze każde odwołanie wątku poziomu użytkownika do systemu powoduje wstrzymanie całego zadania. L Nieadekwatny przydział czasu procesora (zadanie wielowątkowe i jednowątkowe mogą dostawać tyle samo kwantów czasu). Wątki jądra (kernel threads) obsługiwane przez jądro systemu (np. systemy Windows XP/Vista/7/8, Linux, Solaris, Mac OS X). J Zalety: Wydajniejsze planowanie przydziału czasu procesora. L Wady: Wolniejsze przełączanie wątków zajmuje się tym jądro (za pośrednictwem przerwań). Wiesław Płaczek Systemy Operacyjne: Wykład 3 31

32 Modele wielowątkowości Model wiele na jeden (many-to-one): Wiele wątków poziomu użytkownika odwzorowanych na jeden wątek jądra (np. biblioteka green threads w Solaris, GNU Portable Threads). Może być stosowany w systemach nie posiadających wątków jądra. Model jeden na jeden (one-to-one): Każdy wątek poziomu użytkownika odwzorowany wzajemnie jednoznacznie na jeden wątek jądra. q Przykłady: systemy Windows XP/Vista/7/8, Linux, OS/2, Solaris od wersji 9. Model wiele na wiele (many-to-many): Wiele wątków poziomu użytkownika jest multipleksowanych na mniejszą lub równą liczbę wątków jądra. Pozwala systemowi operacyjnemu utworzyć dostateczną liczbę wątków jądra dobra współbieżność i dobra wydajność. Często występuje poziom pośredni w postaci procesów lekkich (LWP), będących dla wątków użytkownika czymś w rodzaju wielowątkowych wirtualnych procesorów z każdym LWP związany jest jeden wątek jądra, natomiast zwykły proces może składać się z jednego lub więcej LWP. q Przykłady: systemy Solaris do wersji 8, IRIX, HP-UX, Tru64 UNIX. Wiesław Płaczek Systemy Operacyjne: Wykład 3 32

33 wątek poziomu użytkownika Schematy wielowątkowości wątek jądra J J J J J J wiele na jeden jeden na jeden wiele na wiele Wiesław Płaczek Systemy Operacyjne: Wykład 3 33

34 Zagadnienia dotyczące wątków Kasowanie wątków (thread cancellation) Kasowanie asynchroniczne dany wątek kończy natychmiast wątek obrany za cel (target thread); może być niebezpieczne dla dzielonych zasobów przez wątki ( niespójność danych itd.). Kasowanie odroczone (deferred cancellation) wątek obrany za cel może okresowo sprawdzać, czy powinien się zakończyć, co daje mu możliwość zakończenia w sposób uporządkowany, np. wątki Pthreads posiadają punkty, w których można je bezpiecznie kasować, tzw. punkty kasowania (cancellation points). Wiesław Płaczek Systemy Operacyjne: Wykład 3 34

35 Zagadnienia dotyczące wątków c.d. Obsługa sygnałów Ø Sygnał (signal) służy w systemach uniksowych do powiadamianiu o wystąpieniu konkretnego zdarzenia (więcej na ten temat na ćwiczeniach). Ø Sygnały synchroniczne są dostarczanie do procesu, który wykonał operację powodującą sygnał, natomiast asynchroniczne pochodzą od zdarzeń zewnętrznych. Ø Możliwości dostarczania sygnałów do procesów wielowątkowych: Dostarczyć sygnał tylko do tego wątku, do którego się on odnosi. Dostarczyć sygnał do wszystkich wątków w procesie. Dostarczyć sygnał do niektórych wątków, np. tych, które go nie blokują. Przydzielić specjalny wątek do odbierania wszystkich sygnałów do procesu. Ø Różne systemy realizują różne możliwości; zależy to też od rodzaju sygnału. q Systemy MS Windows nie implementują jawnie sygnałów, można je emulować za pomocą asynchronicznych wywołań procedur (asynchronous procedure call APC) adresowane do konkretnych wątków; dodatkowo umożliwiają przekazanie funkcji, która może być wywołana przez wątek docelowy. Wiesław Płaczek Systemy Operacyjne: Wykład 3 35

36 Zagadnienia dotyczące wątków c.d. Pule wątków (thread pools) Ø Wielowątkowość jest powszechnie stosowana w serwerach WWW kiedy taki serwer otrzymuje zamówienie, wtedy tworzy wątek do jego obsługi. v Brak ograniczeń dotyczących wątków może doprowadzić do wyczerpania zasobów systemu, takich jak pamięć lub czas procesora. ü Jednym z rozwiązań jest zastosowanie puli wątków w chwili uruchomienia proces tworzy pewną liczbę wątków (pulę), które oczekują na zamówienia; kiedy nadchodzi zamówienie, wątek z puli jest budzony przez serwer, a po obsłużeniu zamówienia wraca do puli i czeka na kolejne zlecenie. J Zwykle łatwiej jest obsłużyć zamówienie za pomocą istniejącego wątku niż tworzyć do tego celu nowy wątek. J Pula wątków ogranicza liczbę wątków, co chroni przed wyczerpaniem zasobów systemowych, a także spadkiem wydajności systemu. q Np. Windows thread pool API w systemach MS Windows. Wiesław Płaczek Systemy Operacyjne: Wykład 3 36

37 Zagadnienia dotyczące wątków c.d. Lokalna pamięć wątku (thread-local storage TLS) Ø Wątki należące do procesu dzielą jego dane, co jest zaletą wielowątkowości. ü W pewnych sytuacjach wątek może potrzebować własnej kopii jakichś danych (np. identyfikator transakcji w wielowątkowych systemach transakcyjnych) lokalna pamięć wątku umożliwia każdemu wątkowi posiadanie swojej własnej kopii danych (podobna do danych typu static), np. Pthreads, Windows API, Java. Wiesław Płaczek Systemy Operacyjne: Wykład 3 37

38 Przykłady implementacji wątków P-wątki (Pthreads) specyfikacja (API) wątków standardu POSIX: Dostępne głównie w systemach uniksowych (np. Linux, Solaris, Mac OS X). MS Windows na ogół ich nie udostępniają, ale można je zainstalować korzystając z oprogramowania shareware. Udostępniane jako biblioteka poziomu użytkownika lub poziomu jądra zależnie od implementacji w danym systemie (więcej szczegółów na ćwiczeniach). Biblioteka NPTL (Native POSIX Thread Library) bardzo wydajna obsługa (tworzenie, przełączanie) dużej liczby wątków na poziomie jądra, lepsze wsparcie dla systemów wieloprocesorowych i wielordzeniowych; opracowana przez firmę Red Hat, zintegrowana z jądrem Linuksa od wersji 2.6 (część biblioteki GNU C); używa wywołania systemowego clone. Wątki w Windows XP/Vista/7/8 dostępne poprzez interfejs Windows API: Aplikacja Windows działa jako osobny proces, który może zawierać jeden lub więcej wątków stosowane jest odwzorowanie jeden na jeden. Dostarczana jest także biblioteka włókien (fiber library) stosująca odwzorowanie wątków według modelu wiele na wiele. Wiesław Płaczek Systemy Operacyjne: Wykład 3 38

39 Przykłady implementacji wątków c.d. Wątki Linuksa od wersji 2.2: Oprócz funkcji systemowej fork do powielania procesów, Linux posiada funkcję systemową clone, która umożliwia tworzenie oddzielnego procesu dzielącego przestrzeń adresową procesu macierzystego (co ma być dzielone określa się za pomocą parametrów funkcji) taki proces zachowuje się bardzo podobnie jak oddzielny wątek. Linux nie rozróżnia procesów i wątków przy odnoszeniu się do przepływu sterowania w programie używany jest na ogół terminu zadanie lub praca (task). Wątki Javy wątki na poziomie języka programowania, realizowane przez JVM; odwzorowanie w wątki jądra zależy od implementacji JVM w danym systemie. Wiesław Płaczek Systemy Operacyjne: Wykład 3 39

40 Zagadnienia 1. Czym jest proces, co wchodzi w jego skład i jakie są jego podstawowe stany? Jaka struktura reprezentuje proces w systemie, co zawiera i jak jest używana w systemach z podziałem czasu? 2. Co jest celem planowania (szeregowania) procesów? Do czego służą kolejki planowania i jakie są ich rodzaje? Scharakteryzować podstawowych planistów procesów. Na czym polega przełączanie kontekstu i jaki jest jego wpływ na wydajność systemu? 3. Jakie działania podejmuje system operacyjny przy tworzeniu oraz kończeniu procesów. 4. Jakie są zalety współpracy procesów? Na czy polega problem,,producentakonsumenta? Jakie są rodzaje komunikacji międzyprocesowej? Podać zalety oraz wady każdej z nich. 5. Co to jest wątek, jaka jest jego relacja do procesu i jakie są jego zalety? Jakie są metody implementacji wątków oraz modele wielowątkowości? Podać przykłady implementacji wątków w różnych systemach. 6. W jaki sposób realizowane jest kasowanie wątków, obsługa sygnałów przez wątki, do czego służą pule wątków, co to są dane specyficzne wątku? Wiesław Płaczek Systemy Operacyjne: Wykład 3 40

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Proces y i y w i ąt ą ki

Proces y i y w i ąt ą ki Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie. Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

projektowanie systemu

projektowanie systemu projektowanie systemu cel użytkownika: system operacyjny powinien być wygodny, łatwy w użyciu, prosty do nauczenia, niezawodny, bezpieczny i szybki cel producenta: system operacyjny powinien być łatwy

Bardziej szczegółowo

Koncepcja procesu. Procesy i wątki. Diagram stanów procesu. Stan procesu. Blok kontrolny procesu Process Control Block (PCB)

Koncepcja procesu. Procesy i wątki. Diagram stanów procesu. Stan procesu. Blok kontrolny procesu Process Control Block (PCB) Procesy i wątki Koncepcja procesu Koncepcja procesu Szeregowanie procesów (process scheduling) Operacje na procesach Procesy współpracujące Komunikacja między procesami Komunikacja w systemach typu Klient

Bardziej szczegółowo

Zarządzanie procesami i wątkami

Zarządzanie procesami i wątkami SOE - Systemy Operacyjne Wykład 4 Zarządzanie procesami i wątkami dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pojęcie procesu (1) Program zbiór instrukcji dla procesora

Bardziej szczegółowo

2.1 Pojęcie wątku... 13 2.2 Modele wielowątkowości... 15 2.3 Wybrane zagadnienia wielowątkowości... 16 2.4 Wątki POSIX... 18

2.1 Pojęcie wątku... 13 2.2 Modele wielowątkowości... 15 2.3 Wybrane zagadnienia wielowątkowości... 16 2.4 Wątki POSIX... 18 Spis treści Spis treści 1 Procesy 1 1.1 Definicja procesu............................................. 1 1.2 Operacje na procesach.......................................... 3 1.3 Planowanie procesów...........................................

Bardziej szczegółowo

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 3 Procesy i wątki Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci

Bardziej szczegółowo

Procesy, wątki i zasoby

Procesy, wątki i zasoby Procesy, wątki i zasoby 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.

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów

Bardziej szczegółowo

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań Budowa systemu komputerowego Przerwania Jednostka centralna Sterownik dysku Szyna systemowa (magistrala danych) Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna Sterownik sieci Przerwanie

Bardziej szczegółowo

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań Budowa systemu komputerowego Przerwania Jednostka centralna Sterownik dysku Szyna systemowa (magistrala danych) Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna I NIC Sterownik sieci

Bardziej szczegółowo

Zarządzanie procesorem

Zarządzanie procesorem Zarządzanie procesorem 1. Koncepcja procesu 2. Blok kontrolny procesu 3. Planowanie (szeregowanie) procesów! rodzaje planistów! kryteria planowania 4. Algorytmy planowania! FCFS! SJF! RR! planowanie priorytetowe!

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

SYSTEMY OPERACYJNE WYKLAD 6 - wątki Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - wątki Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 1. Wątki 2. Planowanie przydziału procesora (szeregowanie

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak 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

Bardziej szczegółowo

Stan procesu. Procesy i zarządzanie procesorem. Koncepcja procesu. Diagram stanów procesu

Stan procesu. Procesy i zarządzanie procesorem. Koncepcja procesu. Diagram stanów procesu Procesy i zarządzanie procesorem Stan procesu Koncepcja procesu i wątku Szeregowanie procesów (process scheduling) Operacje na procesach Procesy współpracujące Komunikacja między procesami Komunikacja

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Dariusz Wawrzyniak 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 Plan

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

System operacyjny MACH

System operacyjny MACH Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Zadania s.o. Usługi s.o. Budowa s.o. Podejście warstwowe Przykładowe konstrukcje Funkcje systemowe Programy systemowe Maszyny wirtualne Tworzenie i uruchamianie s.o. Procesy

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa

Bardziej szczegółowo

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux. Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać

Bardziej szczegółowo

Klient-Serwer Komunikacja przy pomocy gniazd

Klient-Serwer Komunikacja przy pomocy gniazd II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu

Bardziej szczegółowo

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć

Bardziej szczegółowo

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Cele wykładu 1. Opis usług dostarczanych przez OS

Bardziej szczegółowo

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. Paweł Pełczyński Systemy operacyjne Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie Struktura systemów operacyjnych Procesy i Wątki Komunikacja międzyprocesowa Szeregowanie procesów Zarządzanie

Bardziej szczegółowo

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu. Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa

Bardziej szczegółowo

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi) Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie drugie (jedne zajęcia) Temat: Procesy i sygnały w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Budowa procesu

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej

Bardziej szczegółowo

Systemy rozproszone System rozproszony

Systemy rozproszone System rozproszony Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści Kolejki planowania procesów Diagram kolejek Kolejka zadań (job queue) - tworzą ją procesy wchodzące do systemu. Kolejka procesów gotowych (ready queue) - procesy gotowe do działania, umieszczone w pamięci,

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

SYSTEMY OPERACYJNE WYKLAD 6 - procesy Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu

Bardziej szczegółowo

Jądro systemu operacyjnego

Jądro systemu operacyjnego Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling) Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie

Bardziej szczegółowo

Struktura systemów komputerowych

Struktura systemów komputerowych Struktura systemów komputerowych Działanie systemu komputerowego Struktury WE/WY Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Ogólna architektura systemu Wykład 6, Systemy operacyjne (studia

Bardziej szczegółowo

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego Systemy operacyjne wprowadzenie 1 Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na

Bardziej szczegółowo

Prezentacja systemu RTLinux

Prezentacja systemu RTLinux Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach

Bardziej szczegółowo

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we 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

Bardziej szczegółowo

Systemy operacyjne Procesy i wątki

Systemy operacyjne Procesy i wątki Systemy operacyjne Procesy i wątki [2] Proces w systemie operacyjnym Procesem nazywamy wykonujący się program wraz z jego środowiskiem obliczeniowym. Proces stanowi podstawowy obiekt dynamiczny w systemie

Bardziej szczegółowo

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows. Kod szkolenia: Tytuł szkolenia: PS/WIN Programowanie systemowe w Windows Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows,

Bardziej szczegółowo

Architektura komputerów. Układy wejścia-wyjścia komputera

Architektura komputerów. Układy wejścia-wyjścia komputera Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs

Bardziej szczegółowo

Architektura i administracja systemów operacyjnych

Architektura i administracja systemów operacyjnych Architektura i administracja systemów operacyjnych Wykład 1 Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Informacje wstępne Prowadzący

Bardziej szczegółowo

IPC: Kolejki komunikatów

IPC: Kolejki komunikatów IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat

Bardziej szczegółowo

Informatyka. informatyka i nauki komputerowe (computer science)

Informatyka. informatyka i nauki komputerowe (computer science) Informatyka informacja i jej reprezentacje informatyka i nauki komputerowe (computer science) algorytmika efektywność algorytmów poprawność algorytmów złożoność obliczeniowa, problemy NP-trudne (NP-zupełne)

Bardziej szczegółowo

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku. Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).

Bardziej szczegółowo

1. Etapy rozwoju systemów komputerowych

1. Etapy rozwoju systemów komputerowych 1 Sieciowe Systemy Operacyjne Wprowadzenie do wykładu, podstawowe definicje, rola 1 systemu operacyjnego Procesy POSIX, zarządzanie procesami 2 Pliki, komunikacja przez pliki, blokowanie 1 Łącza nazwane

Bardziej szczegółowo

1.1 Definicja procesu

1.1 Definicja procesu 1 Procesy pojęcia podstawowe 1 1.1 Definicja procesu Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008 Jadro monolityczne vs. mikrojadro 9 grudnia 2008 Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne Aplikacje użytownika wywołania

Bardziej szczegółowo

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla Tryby komunikacji między procesami w standardzie Message Passing Interface Piotr Stasiak 171011 Krzysztof Materla 171065 Wstęp MPI to standard przesyłania wiadomości (komunikatów) pomiędzy procesami programów

Bardziej szczegółowo

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Komunikacja za pomocą potoków. Tomasz Borzyszkowski Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych Systemy operacyjne Systemy operacyjne Inżynieria obliczeniowa, II rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@agh.edu.pl Wykłady: 7 tygodni po 2 h, s. 209, B-4 Projekty: 2 godziny

Bardziej szczegółowo

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Przedmiot PSCR Przedmiot PSCR Wykład do połowy semestru Laboratorium od połowy semestru Projekt Zaliczenie

Bardziej szczegółowo

Sieciowe Systemy Operacyjne

Sieciowe Systemy Operacyjne 1 Sieciowe Systemy Operacyjne 1. Etapy rozwoju systemów komputerowych System scentralizowany System sieciowy System rozproszony 1.1 System scentralizowany Zastosowane duże komputery (mainframes ) Użytkownicy

Bardziej szczegółowo

Wieloprogramowanie. Systemy operacyjne / Procesy i wątki str.4/32. Proces w systemie operacyjnym. Tworzenie i kończenie procesów

Wieloprogramowanie. Systemy operacyjne / Procesy i wątki str.4/32. Proces w systemie operacyjnym. Tworzenie i kończenie procesów Wieloprogramowanie Systemy Operacyjne Procesy i wątki dr inż. Tomasz Jordan Kruk T.Kruk@ia.pw.edu.pl Instytut utomatyki i Informatyki Stosowanej Politechnika Warszawska One program counter B C D switch

Bardziej szczegółowo

System operacyjny System operacyjny

System operacyjny System operacyjny System operacyjny System operacyjny (ang. operating system) jest programem (grupą programów), który pośredniczy między użytkownikiem komputera a sprzętem komputerowym. Jest on niezbędny do prawidłowej

Bardziej szczegółowo

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 6 Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Rodzaje planowania Planowanie długoterminowe. Decyzja o

Bardziej szczegółowo

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1 Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego

Bardziej szczegółowo

Współbieżność w środowisku Java

Współbieżność w środowisku Java Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych

Bardziej szczegółowo

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów.

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów. Jakub Młynarczyk Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów. Hardware RAID polega na zastosowaniu odpowiednich kontrolerów do których

Bardziej szczegółowo

ZiMSK. VLAN, trunk, intervlan-routing 1

ZiMSK. VLAN, trunk, intervlan-routing 1 ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl VLAN, trunk, intervlan-routing

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 5: Warstwa transportowa: TCP i UDP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 5 1 / 22 Warstwa transportowa Cechy charakterystyczne:

Bardziej szczegółowo

Komputery przemysłowe i systemy wbudowane

Komputery przemysłowe i systemy wbudowane Komputery przemysłowe i systemy wbudowane Systemy operacyjne w systemach wbudowanych 2 KSEM WETI PG October 7, 2015 System operacyjny System operacyjny (OS) - opcjonalny w systemach wbudowanych. zbiór

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego

Bardziej szczegółowo

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................

Bardziej szczegółowo

Informatyka, systemy, sieci komputerowe

Informatyka, systemy, sieci komputerowe Informatyka, systemy, sieci komputerowe Systemy operacyjne wykład 2 Procesy i wątki issk 1 SO koncepcja procesu i zasobu Proces jest elementarną jednostką pracy zarządzaną przez system operacyjny, wykonującym

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych

Wprowadzenie do systemów operacyjnych SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny

Bardziej szczegółowo

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Systemy Operacyjne wykład 1. Adam Kolany Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu dr.a.kolany@wp.pl Październik, 2007 Literatura DrAK (PWSZ) Systemy Operacyjne 11 Październik,

Bardziej szczegółowo

Zarządzanie procesami (omawiane zagadnienia)

Zarządzanie procesami (omawiane zagadnienia) Zarządzanie procesami (omawiane zagadnienia) Pojęcie procesu Stany procesu Blok kontrolny procesu Tworzenie procesu Sygnały Kończenie wykonania procesu Działanie interpretatora poleceń (shell-a) Koncepcja

Bardziej szczegółowo

Systemy Operacyjne - zarządzanie procesami

Systemy Operacyjne - zarządzanie procesami Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 26 października 2010 1 1 Proces sekwencyjny 2 Cykl życia procesu 3 Deskryptor procesu 4 współbieżne 2 3 1 Motywacja 2 Kolejki 3 Planiści

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia

Bardziej szczegółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów

Bardziej szczegółowo

Architektura systemu komputerowego

Architektura systemu komputerowego Architektura systemu komputerowego Klawiatura 1 2 Drukarka Mysz Monitor CPU Sterownik dysku Sterownik USB Sterownik PS/2 lub USB Sterownik portu szeregowego Sterownik wideo Pamięć operacyjna Działanie

Bardziej szczegółowo

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie System komputerowy System komputerowy (ang. computer system) to układ współdziałaniadwóch składowych: sprzętu komputerowegooraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej.

Bardziej szczegółowo

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pamięć wirtualna Stronicowanie na żądanie większość współczesnych systemów

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008

Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008 Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008 Systemy oparte na mikrojądrze Jądro systemu jest bardzo małe Architektura mocno

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko Wprowadzenie do systemów operacyjnych mgr inż. Krzysztof Szałajko Co to jest system operacyjny? Co to jest system komputerowy? 2 / 37 Definicja: system operacyjny System operacyjny jest programem pośredniczącym

Bardziej szczegółowo