2.1 Pojęcie wątku Modele wielowątkowości Wybrane zagadnienia wielowątkowości Wątki POSIX... 18
|
|
- Iwona Łuczak
- 8 lat temu
- Przeglądów:
Transkrypt
1 Spis treści Spis treści 1 Procesy Definicja procesu Operacje na procesach Planowanie procesów Procesy współpracujące Komunikacja międzyprocesowa Komunikacja w systemach klient serwer Problemy Watki Pojęcie wątku Modele wielowątkowości Wybrane zagadnienia wielowątkowości Wątki POSIX Procesy 1.1 Definicja procesu Rys historyczny Systemy wsadowe System wykonuje jedno zadanie (program użytkownika), po jego zakończeniu przechodzi do następnego Brak współbieżności, brak wieloprogramowości - jedno zadanie w systemie, pozostałe czekają na wczytanie z pamięci masowej Systemy wieloprogramowe Rys historyczny Uruchomionych jest wiele zadań Przełączanie zadań jeśli musiały oczekiwać na wykonanie operacji we/wy Zadania aktywne - wykonywane przez procesor (procesory) Pozostałe uruchomione zadania oczekują - przechowywane w pamięci operacyjnej Nieuruchomione zadania znajdują się w pamięci masowej Systemy z podziałem czasu Uruchomionych jest wiele zadań Zadanie jest realizowane przez pewien czas, po czym następuje jego przełączenie wywłaszczenie Oczekujące zadania przechowywane są w pamięci roboczej Duża częstotliwość przełączania zadań stanowi podstawę współbieżności Procesy współbieżne mogą się ze sobą komunikować 1
2 Proces Kod programu Licznik rozkazów Stos procesu Dane Proces a program Sam kod programu nie stanowi procesu, a jedynie jego treść. Dopiero kod programu, licznik rozkazów i dane (zasoby pamięci) razem definiują proces. Zasoby procesu Dla realizacji procesu niezbędne są zasoby: czas procesora, pamięć operacyjna, pliki, urządzenia wejścia/wyjścia. Stan procesu Uruchomiony w systemie proces może w danej chwili znajdować się w jednym z kilku stanów: aktywny aktualnie trwa jego przetwarzanie przez procesor gotowy oczekuje na przydział procesora czekajacy oczekuje na wystąpienie zdarzenia (np. przerwania od urządzenia we/wy) zakończony tuż po zakończeniu działania procesu, ale przed ostatecznym usunięciem z pamięci odłożony* proces usunięty z pamięci i przeniesiony do pliku wymiany Możliwe przejścia pomiędzy różnymi stanami opisuje diagram stanów procesu Stan procesu Diagram stanów procesu Blok kontrolny procesu Stan procesu (gotowy, aktywny, etc) Licznik rozkazów Rejestry procesora Planowanie przydziału procesora (m. in. priorytet zadania) Zarządzanie pamięcią Rozliczenia (czas procesora, identyfikacja użytkownika) Informacje o wejściu/wyjściu 2
3 Rysunek 1: Diagram stanów procesu 1.2 Operacje na procesach Operacje na procesach System operacyjny musi umożliwiać dynamiczne tworzenie i usuwanie procesów. Proces tworzący nowy proces nazywa się rodzicem Proces utworzony nazywa się potomkiem Każdy nowy proces może tworzyć dalsze nowe procesy. Drzewo procesów Przedstawia zależność rodzic potomek pomiędzy procesami w systemie. Zwykle wszystkie procesy w systemie mają wspólnego przodka (root process w systemie UNIX proces Init) Drzewo procesów Tworzenie procesów Zachowanie procesu rodzica: Rodzic działa współbieżnie z potomkiem Rodzic oczekuje na zakończenie procesu potomka Zachowanie procesu potomka: Proces potomny staje się kopią procesu macierzystego Proces potomny otrzymuje nowy program Przydział zasobów: 3
4 Rysunek 2: Drzewo procesów Przydział zasobów przez system operacyjny Przydział zasobów z puli należącej do procesu rodzica Kończenie procesów Przyczyny zakończenia procesu: Proces wykonał swój program i wywołał funkcję systemową exit() Został zakończony przez proces rodzica (funkcja systemowa abort()) Proces wykonał niedozwoloną operację (np. dzielenie przez zero, naruszenie ochrony pamięci) Został zabity przez użytkownika (polecenie kill) Co zrobić z procesami potomnymi: Zakończyć razem z procesem rodzica kończenie kaskadowe Pozostawić w systemie znajdując nowego rodzica Zakończenie procesu powinno być obsłużone przez rodzica Operacje na procesach w systemie UNIX Funkcja systemowa fork() fork() Funkcja systemowa fork() tworzy nowy proces, będący kopią procesu macierzystego. W procesie rodzica zwrócony zostaje PID procesu dziecka, w procesie potomnym wartość 0. W przypadku błędu zwrócona zostaje wartość -1. Fork bomb Proces, który namnaża się bez kontroli wykorzystując funkcję fork() nazywany jest fork-bomba. Działanie takie prowadzi do szybkiego wyczerpania zasobów systemu i jego załamania. Bywa ono intencjonalne (atak typu DOS) lub jest wynikiem błędu programisty. 4
5 Operacje na procesach w systemie UNIX Funkcja systemowa wait() wait() Proces rodzica powinien oczekiwać na zakończenie procesów potomków. W tym celu wykorzystuje się funkcję wait(). Oczekuje ona na zakończenie procesu potomka, a gdy ono nastąpi zwracany jest PID zakończonego procesu, oraz kod zakończenia. Jeśli brak zakończonego potomka zwrócona zostanie wartość 0. Proces zombie Proces potomny, który zakończył się, ale jego zakończenie nie zostało obsłużone przez proces rodzica przy użyciu funkcji wait nazywa się procesem zombie. Procesy zombie Proces posiada wpis w tablicy procesów. zabezpieczenie przed powtórnym użyciem PID bez wiedzy procesu rodzica procesu będącego w stanie zombie nie można usunąć poleceniem kill W razie zakończenia procesu rodzica, jako nowy rodzic zostaje wyznaczony proces init. Uwaga! Pisząc program współbieżny należy pamiętać o właściwym obsłużeniu kończących się procesów potomnych (funkcja wait() lub pokrewna). 1.3 Planowanie procesów Planowanie procesów Ilość równocześnie aktywnych procesów jest determinowana przez ilość CPU w systemie. System operacyjny musi organizować dostęp do zasobów: CPU urządzeń wejścia/wyjścia Z każdym zasobem kojarzona jest kolejka procesów oczekujących na udostępnienie zasobu Kolejki planowania Kolejka procesów gotowych Kolejka procesów oczekujących na przydział procesora. Procesy znajdują się w stanie gotowy. Kolejki urzadzeń wejścia/wyjścia oraz zasobów Kolejka procesów oczekujących na przydział urządzenia we/wy, zakończenie operacji (czyli na wystąpienie przerwania) bądź dostępność zasobu. Procesy znajdują się w stanie czekający. W zależności od zaawansowania mechanizmów planowania procesów, system kolejek może być mniej lub bardziej rozbudowany. Kolejki planowania 5
6 Rysunek 3: Kolejki planowania procesów Planowanie procesów Procesy ograniczone przez wejście/wyjście Procesy wykonujące przez większość czasu operacje I/O: kopiowanie plików pobieranie danych z sieci Zwykle oczekują na gotowość urządzeń wejścia/wyjścia. Procesy ograniczone przez procesor Procesy intensywnie wykorzystujące procesor (obliczeniowe): przetwarzanie obrazu obliczenia symulacyjne Są w stanie zająć dowolną ilość czasu procesora. Planowanie procesów Planowanie długoterminowe Wybór puli procesów realizowanych w systemie. Dąży się do utworzenia zrównoważonej mieszanki procesów (równomierne wykorzystanie procesora i urządzeń wejścia/wyjścia). Planowanie krótkoterminowe Wybór następnego procesu, któremu zostanie przydzielony czas procesora. 6
7 Rysunek 4: Kolejki planowania procesów z planowaniem średnioterminowym Planowanie procesów Dokończenie Planowanie średnioterminowe Bieżące modyfikowanie puli procesów wymiana procesów: poprawa wykorzystania pamięci Usunięcie z pamięci procesów, które nie są aktualnie potrzebne, aby uzyskać dodatkowe zasoby dla aktualnie wykonywanych procesów. poprawa składu mieszanki procesów Doraźne poprawianie wykorzystania CPU i urządzeń wejścia/wyjścia w zależności od zapotrzebowania na nie. Odłożone procesy umieszczane są w pamięci masowej (plik/partycja wymiany, swap). Kolejki planowania Uwzględnienie planowania średnioterminowego Kontekst procesu Kontekst procesu Zbiór informacji w pełni opisujących stan procesu. Obejmuje: Stan procesu (aktywny, oczekujący, itp) Zawartość rejestrów procesora (w tym licznika rozkazów) Informacje o zarządzaniu pamięcią Kontekst procesu jest przechowywany w bloku kontrolnym procesu (PCB) Przełaczanie kontekstu Przełaczanie kontekstu Ciąg operacji mających na celu przełączenie procesora między procesami: zapis kontekstu starego procesu w jego bloku kontrolnym 7
8 Rysunek 5: Przełączanie kontekstu odtworzenie wcześniej zapisanego kontekstu nowego procesu Pracochłonne czas przełączania kontekstu bezpośrednio wpływa na wydajność systemu. Niektóre architektury wspomagają operację sprzętowo: wiele przełączanych zestawów rejestrów zapis/odtwarzanie wszystkich rejestrów jedną instrukcją procesora Przełaczanie kontekstu 1.4 Procesy współpracujace Procesy niezależne i współpracujace Proces niezależny Proces, który nie może wpływać na działanie innych procesów w systemie oraz nie podlega ich wpływowi. Proces jest niezależny jeśli nie dzieli żadnych danych z innymi procesami. Proces współpracujacy Proces, który może oddziaływać na inne procesy w systemie lub podlega ich wpływowi. Każdy proces dzielacy dane z innymi procesami jest procesem zależnym. 8
9 Cele współpracy Dzielenie informacji wykorzystanie danych przez wiele procesów (użytkowników) Zwiększenie wydajności podział zadania między wiele elementów wykonawczych (CPU, urządzenia we/wy) Modularność podział zadania na elementy prostsze w implementacji, pozwalające na łatwiejsze zrozumienie i utrzymanie oprogramowania Wygoda wykorzystanie mechanizmów współbieżności np. w celu uruchomienia jednocześnie kilku aplikacji. Niezbędne środki Współpracujące procesy muszą mieć możliwość komunikowania się ze sobą implementacja przez programistę udogodnienia implementowane w systemie operacyjnym komunikacja międzyprocesowa (IPC) Do realizacji niektórych operacji niezbędna jest synchronizacja procesów Komunikacja międzyprocesowa IPC Procesy wymieniają komunikaty poprzez łącze komunikacyjne Proces wysyłający komunikaty nazywa się nadawcą Proces odbierający komunikaty nazywa się odbiorcą send() - wysłanie komunikatu recive() - odebranie komunikatu Charakterystyka łacza komunikacyjnego Komunikacja bezpośrednia lub pośrednia Komunikacja symetryczna lub asymetryczna Buforowanie automatyczne lub jawne Wysyłanie kopii lub wskaźnika Komunikaty o stałej lub zmiennej długości Komunikacja bezpośrednia Komunikujące się procesy jawnie określają nadawcę i odbiorcę komunikatu Nadawca określa do kogo wysyła komunikat Odbiorca odbierając komunikat: określa nadawcę adresowanie symetryczne otrzymuje identyfikator nadawcy adresowanie asymetryczne Właściwości: 9
10 łącze komunikacyjne jest tworzone automatycznie, łącze dotyczy zawsze dwóch procesów, między każdą parą procesów istnieje zawsze jedno łącze Problematyczna modularność komunikujące się procesy muszą znać swoje identyfikatory. Komunikacja pośrednia Komunikacja odbywa się za pośrednictwem skrzynek pocztowych (portów). Proces nadawcy umieszcza komunikat w skrzynce Proces odbiorcy pobiera komunikat ze skrzynki Właściwości: łącze istnieje między dwoma procesami jeśli posiadają wspólną skrzynkę łącze może dotyczyć większej ilości procesów między parą procesów może istnieć wiele łączy (każde z własną skrzynką) Jeśli ze skrzynki korzysta kilka procesów i dwa chcą odebrać komunikat, to do kogo powinien on trafić? Komunikacja pośrednia Ciag dalszy Rozróżnia się właściciela i użytkownika skrzynki: właściciel może tylko odbierać komunikaty użytkownik może tylko umieszczać komunikaty Skrzynki pocztowe mogą być własnością procesu lub systemu operacyjnego. Skrzynki należące do procesów są usuwane z systemu przy zakończeniu procesu właściciela Skrzynka należąca do systemu operacyjnego nie jest usuwana po zakończeniu procesu, który ją utworzył. Proces tworzący taką skrzynkę staje się jej domyślnym właścicielem. Komunikacja synchroniczna i asynchroniczna Operacje send() i recive() mogą odbywać się z blokowaniem (synchronicznie) lub bez blokowania (asynchronicznie) nadawanie z blokowaniem proces nadawczy zostaje wstrzymany do momentu odbioru komunikatu lub umieszczenia go w skrzynce nadawanie bez blokowania proces nadawczy wysyła komunikat i kontynuuje działanie odbiór z blokowaniem odbiorca czeka do momentu kiedy może odebrać komunikat odbiór bez blokowania odbiorca otrzymuje komunikat bądź informację o braku oczekujących komunikatów 10
11 Buforowanie Bufor zeroelementowy proces wysyłający komunikat zawsze czeka na jego odebranie przez odbiorcę Bufor o skończonej pojemności jeśli w buforze jest miejsce na komunikat zostanie on przyjęty, a proces nadawcy będzie wykonywał się dalej jeśli w buforze brak miejsca - proces nadawcy zostanie wstrzymany aż do momentu przyjęcia komunikatu Bufor nieograniczony nadawca nigdy nie jest blokowany Długość komunikatów Komunikaty o stałej długości + łatwa implementacja kłopotliwe z punktu widzenia programisty Komunikaty o zmiennej długości + proste wykorzystanie przez programistę bardziej skomplikowana obsługa po stronie systemu operacyjnego Komunikacja w systemach klient serwer Komunikacja w systemach klient serwer Systemy rozproszone wymagają komunikacji pomiędzy procesami pracującymi na różnych komputerach. Komunikację taką udostępniają poniższe mechanizmy: Gniazda (Socket) RPC (Remote Procedure Call) RMI (Remote Method Invocation) Gniazda Służą do przesyłania danych pomiędzy procesami przesyłany jest ciąg bajtów komunikacja jest dwukierunkowa Gniazdo jest identyfikowane adresem IP i numerem portu Komunikacja połączeniowa: zostaje nawiązane połączenie pomiędzy gniazdami gniazda są dedykowane danemu połączeniu funkcje systemowe send(), recv() protokół TCP 11
12 Rysunek 6: Schemat działania RPC Komunikacja bezpołączeniowa: gniazdo może służyć komunikacji z wieloma partnerami pisząc do gniazda podaje się adres odbiorcy sendto() odczytując pobiera się adres nadawcy recvfrom() protokół UDP RPC i RMI Serwer udostępnia zestaw procedur (metod) zdalnych Klient wysyła dane potrzebne do wykonania procedury po stronie serwera Serwer odsyła wynik działania RPC opiera się na programowaniu proceduralnym, przesyłany jest zestaw parametrów wspierany przez mechanizm portmappera (rejestracja usług) pierwotnie opracowany przez firmę Sun (implementacja NFS) RMI jest techniką obiektową, przesyłane mogą być całe obiekty wspierany przez Rejestr RMI natywnie wykorzystywany przez Javę RPC Schemat działania 12
13 1.4.3 Problemy Problemy w programowaniu współbieżnym Wzajemne wykluczanie i zagłodzenia Dostęp wielu procesów do niepodzielnego zasobu Wyścig do zasobów wzajemne nadpisywanie danych bardzo trudne w diagnostyce Zakleszczenia (deadlock, blokada wzajemna) wiele procesów starających się o te same zasoby Tematyka synchronizacji procesów oraz wykrywania i zapobiegania powyższym problemom będzie dokładniej omówiona na następnym wykładzie. 2 Watki 2.1 Pojęcie watku Geneza W tradycyjnych ujęciu, w procesie występował tylko jeden wątek sterowania. Złożone problemy wymagały podejścia współbieżnego... Przełączanie kontekstu obniża wydajność Zwykle wykonywany jest ten sam kod, używane te same dane i pliki... Pełne przełączanie kontekstu jest zbędne Definicja watku Watek We współczesnych systemach operacyjnych proces może mieć więcej niż jeden watek sterowania. Wątek taki (nazywany procesem lekkim) posiada własny licznik rozkazów, zestaw rejestrów procesora oraz stos, dzieląc z pozostałymi wątkami w ramach procesu kod programu, dane i otwarte pliki. Proces vs Watek Zalety wielowatkowości Zdolność do reagowania jeden wątek obsługuje interakcje pozostałe wykonują czasochłonne operacje Dzielenie zasobów kilka wątków może działać w oparciu o te same dane Ekonomika 13
14 Rysunek 7: Proces a wątek tworzenie procesu wymaga zasobów (czas procesora, pamięć) przełączanie procesu zajmuje więcej czasu od przełączania wątku Wykorzystanie architektur wieloprocesorowych wątki mogą być wykonywane przez różne procesory Watki użytkownika i watki jadra Wątki mogą być implementowane na dwóch poziomach: Wątki użytkownika - udostępniane przez bibliotekę systemową (a więc powyżej jądra) szybsze działanie brak wsparcia ze strony systemu operacyjnego zwykle operacja blokująca w jednym z wątków blokuje cały proces Np. biblioteka pthread Wątki jądra - implementowane w systemie operacyjnym jądro obsługuje tworzenie i zarządzanie wątkami wolniejsze system operacyjny może wpływać na przydział wątków do procesorów operacje blokujące blokują tylko dany wątek 14
15 Rysunek 8: Modele wielowątkowości: wiele na jeden 2.2 Modele wielowatkowości Modele wielowatkowości Zależnie od implementacji, wątki użytkownika mogą być rzutowane na różną liczbę wątków jądra: wiele na jeden jeden na jeden wiele na wiele Modele wielowatkowości Model wiele na jeden Zarządzanie wątkami w przestrzeni użytkownika Brak współbieżności w ramach procesu: niemożliwa praca na wieloprocesorze wywołanie systemowe blokuje wszystkie wątki Stosowany często tam, gdzie brak wątków jądra Modele wielowatkowości Model jeden na jeden Zarządzanie procesami po stronie jądra SO Wątki realizowane są współbieżnie: możliwa praca na wieloprocesorze wywołania systemowe realizowane niezależnie Zwykle ograniczona liczba 15
16 Rysunek 9: Modele wielowątkowości: jeden na jeden Modele wielowatkowości Model wiele na wiele Multipleksacja wątków użytkownika na tyle samo lub mniej wątków jądra Elastyczne, łączą zalety obydwu poprzednich modeli: wątki realizowane współbieżnie brak ograniczeń ilościowych 2.3 Wybrane zagadnienia wielowatkowości Wywołania systemowe fork() i exec() Czy w wyniku funkcji fork() ma być powielony tylko aktualny wątek czy cały proces ze wszystkimi wątkami? Czy funkcja exec() ma zastąpić całą treść procesu, czy tylko bieżącego wątku? Kasowanie watków Kiedy można bezpiecznie wymusić zakończenie wątku? Zakończenie asynchroniczne: wątek kończony jest natychmiastowo teoretycznie powinny być zwolnione wszystkie przydzielone zasoby co, jeśli wątek operował na wspólnych danych procesu? Zakończenie odroczone: wątek cyklicznie sprawdza, czy powinien się zakończyć programista określa punkty, w których takie sprawdzenie powinno nastąpić 16
17 Rysunek 10: Modele wielowątkowości: wiele na wiele Dygresja - sygnały W systemach klasy UNIX sygnały powiadamiają o zajściu zdarzeń. Sygnały synchroniczne informują o błędach krytycznych spowodowanych przez proces (wątek): dzielenie przez zero niedozwolony dostęp do pamięci Sygnały asynchroniczne informują o zdarzeniach zewnętrznych względem procesu: wciśnięcie kombinacji CTRL + C upływ czasu Proces (wątek) może określać, jakie sygnały będzie odbierać a jakie ignorować. Każdy sygnał ma domyślną procedurę obsługi Użytkownik może użyć własnej procedury obsługi sygnału Obsługa sygnałów przez watki Do którego wątku sygnał powinien być dostarczony? do tego, którego sygnał się odnosi? do wszystkich wątków w procesie? do niektórych wątków w procesie? wydzielić wątek do obsługi sygnałów? Jak postępować z sygnałami synchronicznymi? Jak postępować z sygnałami asynchronicznymi? 17
18 Pule watków W serwerach usług zwykle kolejne żądania obsługuje się w różnych wątkach Tworzenie wątku wymaga czasu (utworzenie wątku, inicjalizacja) Usprawnienie: Zalety: tworzymy pewną liczbę wątków wykonawczych, zaliczamy je do puli i usypiamy przy nadchodzącym żądaniu budzimy wątek z puli i zlecamy mu wykonanie zadania jeśli brak wolnego wątku czekamy na zwolnienie oszczędniejsze gospodarowanie wątkami wymusza ograniczenie ilości wątków w systemie większa wydajność Dane specyficzne dla watku Standardowo wątek dzieli pamięć danych w ramach całego procesu W niektórych sytuacjach potrzebna jest kopia danych specyficzna dla konkretnego wątku Odpowiednie wsparcie definiują biblioteki pthread oraz win Watki POSIX Watki POSIX Watki POSIX (Pthreads, P-watki) Standard POSIX specyfikuje interfejs programowy (API) do tworzenia wątków i ich synchronizacji. Standard nie określa implementacji ta ściśle zależy od możliwości systemu operacyjnego. Wątki w standardzie POSIX dostępne są w większości systemów klasy UNIX, a także w postaci odrębnego oprogramowania - w systemach z rodziny Windows. Wątki POSIX działają w przestrzeni użytkownika. Dziękuję za uwagę! 18
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ółowoProces 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ółowoProcesy 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ółowoStan 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ółowo5. 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ółowoSystemy 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ółowoSYSTEMY 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ółowo4. 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ółowoMechanizmy 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ółowoKlient-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ółowoProcesy, 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ółowo4. 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ółowoprojektowanie 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ółowoOd 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ółowoOd 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ółowoProgramowanie 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ółowoProjektowanie 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ółowo4. 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ółowoInstrukcja 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ółowo1.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ółowoProcesy i wątki. Wątki. Procesy
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
Bardziej szczegółowoWykł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ółowoZarzą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ółowoDział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ółowoPoniższe funkcje opisane są w 2 i 3 części pomocy systemowej.
Procesy Proces (zwany też zadaniem) jest jednostką aktywną, kontrolowaną przez system operacyjny i związaną z wykonywanym programem. Proces ma przydzielone zasoby typu pamięć (segment kodu, segment danych,
Bardziej szczegółowoArchitektura 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ółowoKoncepcja 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ółowoProgramowanie 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ółowoSystem 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ółowoDział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ółowoSYSTEMY 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ółowoPrzerwania. 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ółowoPrzerwania. 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ółowoProcesy, 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ółowoProcesy, 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ółowoProcesy, 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ółowoDział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ółowoAkademia 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ółowoSystemy 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ółowoStruktura 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ółowoTryby 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ółowoLEKCJA 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ółowoBudowa 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ółowoJadro 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ółowoSystemy 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ółowoWą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ółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w
Bardziej szczegółowoSYSTEMY 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ółowoSYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)
Procesy i shell. Polecenia ps, sleep, exit, jobs, bg, fg, top, kill, bash, tcsh, which, type, whereis, touch. Metaznak & i >>. Dowiązania miękkie i twarde. Proces jest programem, który jest wykonywany
Bardziej szczegółowoSieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 7: Transport: protokół TCP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 7 1 / 23 W poprzednim odcinku Niezawodny transport Algorytmy
Bardziej szczegółowoKomunikacja 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ółowoPrzesyłania danych przez protokół TCP/IP
Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności
Bardziej szczegółowoJą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ółowoPodstawy 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ółowoArchitektura 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ółowoDział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ółowoSystemy operacyjne III
Systemy operacyjne III Jan Kazimirski 1 Opis zajęć Prezentacja budowy i zasad działania współczesnego systemu operacyjnego Prezentacja podstawowych elementów systemów operacyjnych i zasad ich implementacji
Bardziej szczegółowoIPC: 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ółowoSYSTEMY CZASU RZECZYWISTEGO - VxWorks
WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()
Bardziej szczegółowoArchitektura 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ółowoStruktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski
Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która
Bardziej szczegółowoKomputery 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ółowoProgramowanie Urządzeń Mobilnych. Część II: Android. Wykład 2
Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w
Bardziej szczegółowoWywoływanie procedur zdalnych
Mechanizm wywołania Wywoływanie procedur zdalnych main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) int zabij_proces (int pid){ int stat; stat = kill(pid,
Bardziej szczegółowoProgram jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności 1.1 Motywacja Przewiduje się że w dalszej perspektywie głównym motorem wzrostu mocy przetwarzania komputerów
Bardziej szczegółowoSystemy 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ółowoWprowadzenie do programowania współbieżnego
Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie
Bardziej szczegółowoDodatek 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ółowoZarzą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ółowoPrzetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1
Przetwarzanie wielowątkowe przetwarzanie współbieżne Krzysztof Banaś Obliczenia równoległe 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe)
Bardziej szczegółowoKolejki FIFO (łącza nazwane)
Kolejki FIFO (łącza nazwane) Systemy Operacyjne 2 laboratorium Mateusz Hołenko 6 listopada 2011 Plan zajęć 1 Łącza w systemie Linux kolejki FIFO vs. potoki specyfika łączy nazwanych schemat komunikacji
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania
Bardziej szczegółowoCelem 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ółowoSystemy 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ółowoWstę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ółowoSystemy Operacyjne 1 Laboratorium 2 Procesy i sygnały w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot
Systemy Operacyjne 1 Laboratorium 2 Procesy i sygnały w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot października 2018 Wstęp W tej instrukcji zawarte są informacje na temat tworzenia i obsługiwania
Bardziej szczegółowo2013-04-25. Czujniki obiektowe Sterowniki przemysłowe
Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej
Bardziej szczegółowodr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego
Bardziej szczegółowoLogiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
Bardziej szczegółowoWYKŁAD: Przetwarzanie rozproszone typu klient-serwer.
WYKŁAD: Przetwarzanie rozproszone typu klient-serwer. Przetwarzanie rozproszone: - różnorodne zasoby w różnych lokalizacjach - wiele procesów obliczeniowych dedykowanych do tych zasobów (typowe programy
Bardziej szczegółowoOpis protokołu RPC. Grzegorz Maj nr indeksu:
Opis protokołu RPC Grzegorz Maj nr indeksu: 236095 1 Streszczenie Niniejszy dokument opisuje specyfikację protokołu RQP (Remote Queues Protocol). W jego skład wchodzą: opis celów protokołu; opis założeń
Bardziej szczegółowo41. System operacyjny. Postrzeganie systemu operacyjnego przez warstwę oprogramowania użytkowego
41. System operacyjny. Postrzeganie systemu operacyjnego przez warstwę oprogramowania użytkowego Pierwsze komputery, budowane według zasad określonych przez Johna von Neumanna, nie były kompatybilne dla
Bardziej szczegółowo76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Bardziej szczegółowoWywoływanie procedur zdalnych
Wywoływanie procedur zdalnych Mechanizm wywołania main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces (int pid){ int stat; stat
Bardziej szczegółowoWprowadzenie 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ółowoWspółczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów współbieżnych.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności Współczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów
Bardziej szczegółowo1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco
1. Liczby 3456.0012 i 0.000076235 w zapisie zmiennoprzecinkowym przedstawia się następująco a) 0.34560012 10 4 i 0.76235 10 4 b) 3.4560012 10 3 i 7.6235 10 5 c) 3.4560012 10 3 i 7.6235 10 5 d) po prostu
Bardziej szczegółowoStworzenie 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ółowoZapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.
Wstęp Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system. Przedstawienie architektur sprzętu wykorzystywanych do
Bardziej szczegółowoL4Ka::Pistachio Mikrojądra mogą być wydajne
L4Ka::Pistachio Mikrojądra mogą być wydajne Marek Materzok Instytut Informatyki Uniwersytetu Wrocławskiego Spotkanie Koła Studentów Informatyki 8 grudnia 2005 Architektura monolityczna Jądro jednolitym
Bardziej szczegółowoZarzą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ółowoProgramowanie współbieżne i równoległe. dr inż. Marcin Wilczewski 2013
Programowanie współbieżne i równoległe dr inż. Marcin Wilczewski 2013 1 Tematyka wykładu Wprowadzenie. Podstawowe pojęcia Wątki i procesy. Metody i modele synchronizacji Klasyczne problemy współbieżne
Bardziej szczegółowoMogą pracować w środowisku: Scentralizowanym -mikrokontroler Rozproszonym sieć sterująca, systemy hierarchiczne. Komunikacja z syst.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności Współczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów
Bardziej szczegółowoMikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Bardziej szczegółowoSystemy 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ółowoSystemy 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ółowowspół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ółowoLinux: Procesy. Systemy Operacyjne. Mateusz Hołenko. 26 marca 2013
Linux: Procesy Systemy Operacyjne Mateusz Hołenko 26 marca 2013 Plan zajęć Co to jest sygnał? Polecenia systemowe Sygnały Zadania Mateusz Hołenko Linux: Procesy [2/18] Co to jest proces? Co to jest proces?
Bardziej szczegółowo5. Algorytm genetyczny przykład zastosowania
5. Algorytm genetyczny przykład zastosowania Zagadnienie magicznych kwadratów Opis działania algorytmu Zagadnienie magicznych kwadratów polega na wygenerowaniu kwadratu n n, w którym elementami są liczby
Bardziej szczegółowoProgramownie współbieżne i rozproszone Jędrzej Ułasiewicz 1. Komunikacja. Model procesów komunikujących się poprzez pamięć dzieloną
Programownie współbieżne i rozproszone Jędrzej Ułasiewicz 1 Komunikacja 1 Podstawowe modele przetwarzania Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów
Bardziej szczegółowo