z powielaniem wielu struktur danych oraz komunikacja
|
|
- Zuzanna Kowalczyk
- 6 lat temu
- Przeglądów:
Transkrypt
1 c Wies law P laczek 28 8 Watki 8.1 Wprowadzenie Wiele rozwiazywanych problemów można podzielić na zadania czastkowe, które daja sie wykonać niemal niezależnie. Każde z takich zadań można by powierzyć oddzielnemu procesowi. Jednak tworzenie nowego procesu w systemie jest na ogó l dość kosztowne. Dodatkowe narzuty w takim przypadku wiaza lyby sie z powielaniem wielu struktur danych oraz komunikacja miedzyprocesow a. Bardziej naturalnym rozwiazaniem jest rozwidlenie procesu w jego przestrzeni adresowej i powierzenie poszczególnych zadań tego typu,,podprocesom, zwanym powszechnie watkami (ang. threads). Istnieja pewne klasy zagadnień, które szczególnie nadaja sie do rozwiazań w postaci programów wielowatkowych. Przyk ladami sa tu różnego rodzaju monitory i demony obs lugujace wiele jednoczesnych po l aczeń, programy obs lugujace równocześnie wiele okien, różnorodne zadania typu producent konsument itd. Każdy watek ma swój w lasny stos, zestaw rejestrów, licznik programowy, indywidualne dane, zmienne lokalne, maske sygna lów i informacje o stanie. Wszystkie watki tego samego procesu maja te sama przestrzeń adresowa, ogólna obs luge sygna lów, pamieć wirtualna, dane oraz wejście/wyjście. W ramach procesu wielowatkowego każdy watek wykonuje sie niezależnie i asynchronicznie. Komunikacja miedzy watkami jest u latwiona, ponieważ maja one dostep do wspólnych danych. Istnieja dwa podstawowe poziomy tworzenia watków i zarzadzania nimi: poziom użytkownika oraz poziom jadra. W przypadku watków poziomu użytkownika system operacyjny zawiera podsystem wykonawczy zarzadzaj acy dzia laniem watków. Jadro systemu nic nie wie o watkach, a proces wielowatkowy traktuje tak jak każdy inny proces. Watki zaimplementowane w ten sposób nie wymagaja dużego dodatkowego nak ladu pracy ze strony systemu operacyjnego i latwo daja sie rozbudowywać. W przypadku watków poziomu jadra system operacyjny zapewnia bezpośrednia obs luge watków. Zaleta tego typu modelu jest możliwość efektywnej realizacji wielowatkowości w komputerze wieloprocesorowym. Ponieważ jadro systemu bezpośrednio zarzadza watkami, wiec może je latwo rozdzielać miedzy różne procesory, zwiekszaj ac tym samym wydajność wykonywania procesu. Prze l aczanie watków w tym przypadku jest jednak wolniejsze, gdyż angażuje jadro. W praktyce czesto spotyka sie próby l aczenia zalet obu powyższych rodzajów watków w postaci różnego rodzaju modeli mieszanych. W jednym rodzaju implementacji stosuje sie odwzorowanie typu,,jeden na jeden, w którym system operacyjny przyporzadkowuje jeden watek poziomu użytkownika do jednego watku poziomu jadra (np. systemy Windows NT, OS/2). Innym rozwiazaniem jest relacja typu,,wiele na jeden, gdzie wiele watków poziomu użytkownika jest odwzorowywanych w jeden watek poziomu jadra. Wreszcie sa też modele mieszane typu,,wiele na wiele, w których istnieje wiele watków poziomu użytkownika oraz pewna pula watków poziomu jadra. Watki jadra dzia laja w obrebie tzw. procesów lekkich (ang. light-weight processes, LWP) i sa obs lugiwane przez system operacyjny. Tego typu rozwiazanie zastosowano np. w systemie Solaris firmy Sun Microsystems (jednego z pionierów w dziedzinie wielowatkowości). Istnieje wiele różnych bibliotek funkcji watkowych, czesto zwiazanych z określonymi
2 c Wies law P laczek 29 systemami operacyjnymi 6. My zajmiemy sie watkami standardu POSIX (zwanymi również P-watkami, ang. Pthreads) i bedziemy korzystać z biblioteki funkcji Thread Library (rozdzia l 3t podrecznika man) zgodnej z ta norma. Zaleta takiego podejścia jest przenośność kodu, jako że wiele wspó lczesnych systemów operacyjnych posiada biblioteki funkcji zgodne ze standardem POSIX. Niemniej jednak niektóre systemy zawieraja specyficzne dla swojego środowiska implementacje watków, które moga być bardziej wydajne od P-watków. Aby móc korzystać z biblioteki funkcji watkowych standardu POSIX należy użyć nastepuj acych dyrektyw: #define _REENTRANT #include Dyrektywa #define REENTRANT musi wystapić przed wszystkimi dyrektywami #include. Oznacza ona dany kod jako kod wielokrotnego użytku (ang. reentrant code), czyli taki, do którego można wiele razy wchodzić (ang. enter). Dodatkowo podczas linkowania (konsolidacji) programu należy użyć opcji -lpthread, powodujacej do l aczenie odpowiedniej biblioteki funkcji watkowych. 8.2 Tworzenie watków Każdy proces zawiera przynajmniej jeden g lówny watek poczatkowy, tworzony przez system operacyjny podczas powo lywania procesu do życia. Aby do procesu dodać nowy watek wykonania, należy użyć funkcji pthread create. Nowy watek bedzie dzia la l razem Pliki w l aczane Prototyp int pthread create(pthread t *pthreadid, const pthread attr t *attr, void * (*start fun) (void *), void *arg); z poprzednio utworzonymi watkami danego procesu (może także, w razie potrzeby, dzia lać razem z innymi watkami innych procesów). Pierwszy parametr funkcji pthread create, o nazwie pthreadid, jest wskaźnikiem na obiekt typu pthread t (w rzeczywistości jest to liczba ca lkowita bez znaku), który w przypadku pomyślnego wywo lania funkcji bedzie niepowtarzalnym identyfikatorem watku (w przypadku argumentu równego NULL identyfikator nie zostanie zwrócony). Drugi parametr, o nazwie attr, wskazuje na dynamicznie rezerwowana strukture atrybutów watku (rozmiar stosu, adres, polityka planowania przydzia lu procesora, stan priorytetu, stan od l aczenia itp.). Aby nadać watkowi domyślne atrybuty systemu wystarczy jako 6 Na przyk lad w systemie Linux w atki można tworzyć przy pomocy funkcji systemowej clone (patrz np. podr ecznik man).
3 c Wies law P laczek 30 drugi argument tej funkcji przekazać wskaźnik NULL. Do zmiany atrybutów watku s luży funkcja pthread attr init (patrz podrecznik man). Trzeci parametr pthread create jest wskaźnikiem na definiowana przez użytkownika funkcje, która bedzie wykonana jako nowy watek. Funkcja ta powinna mieć jeden parametr w postaci wskaźnika na void i zwracać wskaźnik na void. Jeżeli zwracana przez funkcje wartość jest wskaźnikiem na inny typ niż void, to należy zastosować rzutowanie: (void * (*) ()). Wskaźnik na rzeczywisty argument przekazywany do funkcji definiowanej przez użytkownika jest czwartym parametrem pthread create jest on również wskaźnikiem na void. Aby przekazać kilka argumentów do funkcji użytkownika, należy zdefiniować odpowiednia strukture, zadeklarować ja jako static i zainicjować. Nastepnie w wywo laniu pthread create wskaźnik na te strukture należy zrzutować na wskaźnik na void. Nowo utworzony watek zaczyna sie od wykonania funkcji użytkownika wywo lanej przez funkcje pthread create i dzia la do czasu aż: zakończy sie funkcja (jawnie badź niejawnie), zostanie wywo lana funkcja pthread exit (omawiana poniżej), watek zostanie anulowany za pomoca funkcji pthread cancel (patrz man), zakończy sie proces macierzysty watku (jawnie badź niejawnie), jeden z watków wykona funkcje exec. W przypadku niepowodzenia funkcja pthread create zwraca wartość niezerowa oznaczajac a kod b l edu, np. EAGAIN (11): przekroczony zosta l limit systemowy liczby watków lub procesów LWP; ENOMEM (12): brak pamieci do utworzenia nowego watku; EINVAL (22): nieprawid lowa wartość argumentu attr. 8.3 Kończenie dzia lania watków Do kończenia pracy watku s luży funkcja biblioteczna pthread exit, która dzia la podobnie do standardowej funkcji exit. Ma ona tylko jeden parametr bed acy wskaźnikiem na Pliki w l aczane Prototyp void pthread exit(void *status); wartość Nie wartość stanu watku. Wskaźnik ten jest zwracany, jeśli kończony watek nie jest watkiem od l aczonym (ang. detached). W chwili zakończenia watek zwraca swoje zasoby. Jeżeli funkcja wykonywana w ramach watku zakończy sie (jawnie lub niejawnie), to funkcja pthread exit zostanie automatycznie wywo lana przez system.
4 c Wies law P laczek Podstawowe operacje zarzadzania watkami Procesowi, w którym dzia la watek utworzony za pomoca funkcji pthread create można nakazać czekanie na zakończenie tego watku ale tylko takiego, który nie zosta l zadeklarowany jako watek od l aczony (ang. detached). Do tego celu s luży funkcja pthread join. Pliki w l aczane Prototyp int pthread join(pthread t threadid, void **status); Pierwszym jej parametrem jest identyfikator watku, zwracany przez funkcje pthread create. Drugi parametr jest wskaźnikiem na statyczne miejsce w pamieci, w którym zostanie zapisany stan zakończenia watku. Stan ten to argument, który bedzie przekazany funkcji pthread exit lub wartość PTHREAD CANCELED, w przypadku gdy watek zostanie anulowany. Użycie NULL jako drugiego argumentu funkcji pthread join spowoduje zignorowanie informacji o stanie. W przypadku niepowodzenia funkcja pthread join zwraca wartość niezerowa bed ac a odpowiednim kodem b l edu (patrz man pthread join). Watek może być wcielany (ang. join) tylko przez jeden inny watek. Wcielanie jest podobne do czekania (wait) w procesie macierzystym na proces potomny (utworzony przy pomocy funkcji fork). Istotna różnica jest jednak to, że watek można w dowolnej chwili od l aczyć wywo lujac funkcje pthread detach, podczas gdy z procesem potomnym nie da sie tego zrobić. Funkcja biblioteczna pthread detach ma tylko jeden parametr w postaci Pliki w l aczane Prototyp int pthread detach(pthread t threadid); identyfikatora watku. Zakończona pomyślnie spowoduje od l aczenie watku. W przypadku niepowodzenia zwróci odpowiedni kod b l edu (patrz man pthread detach). W momencie zakończenia watku od l aczonego jego zasoby sa automatycznie zwracane systemowi. Natomiast watek nie od l aczony, który nie zostanie wcielony w inny watek, nie zwalnia zasobów po zakończeniu swojego dzia lania. Zasoby te zostana zwolnione dopiero z chwila zakończenia jego procesu macierzystego. 8.5 Synchronizacja watków Ponieważ watki w ramach procesu operuja na wspólnych strukturach danych, dlatego, aby nie dopuścić do niespójności danych, potrzebny jest odpowiedni mechanizm synchronizacji. Watki standardu POSIX można synchronizować na wiele sposobów. Jedna z najprotszych metod jest zastowanie blokad wzajemnie wykluczajacych, tzw. muteksów (ang. mutual exclusion). Muteks jest rodzajem semafora dwustanowego, który watki
5 c Wies law P laczek 32 moga,,posiadać. Wartość 0 oznacza, że muteks jest otwarty, tzn. zezwala na dostep, a wartość 1, że muteks jest zamkniety, tzn. zabrania dostepu (konwencja odwrotna niż dla semaforów). Muteks może zostać zamkniety przez dowolny watek bed acy w jego zasiegu, natomiast może (i powinien) zostać otwarty tylko przez watek, który go zamkna l. Operacje wykonywane na muteksach sa niepodzielne (atomowe). Muteks może być wewnatrz- procesowy (ang. intra-process) do synchronizowania watków w obrebie jednego procesu, lub miedzyprocesowy (ang. inter-process) do synchronizowania watków różnych procesów. Muteks miedzyprocesowy należy dodatkowo odwzorować w obszar pamieci wspólnej (dzielonej) odpowiednich procesów. Z muteksem zwiazany jest pewien zbiór atrybutów, który może być modyfikowany za pośrednictwem funkcji bibliotecznych: pthread mutex init, pthread mutexattr init lub pthread mutexattr setpshared (szczegó ly można znaleźć na stronach podrecznika man). W dalszej cześci bedziemy zajmować sie tylko muteksami wewnatrzprocesowymi o domyślnych atrybutach. Aby utworzyć taki muteks o nazwie mymutex i zainicjować go jako,,otwarty (tzn. o wartości 0), wystarczy nastepuj aca definicja: pthread mutex t mymutex = PTHREAD MUTEX INITIALIZER; gdzie pthread mutex t jest typem zmiennych muteksowych (w rzeczywistości pewna struktura), a predefiniowana sta la PTHREAD MUTEX INITIALIZER s luży do inicjowania muteksu jako,,otwarty. Powyższa operacje można też zrealizować w inny sposób: pthread mutex t mymutex; pthread mutex init(&mymutex, NULL); Pliki w l aczane Prototyp int pthread mutex init(pthread mutex t *pmutex, const pthread mutexattr t *attr); Funkcja pthread mutex init s luży do inicjowania muteksów. Pierwszy jej parametr jest wskaźnikiem na muteks, a drugi wskaźnikiem na przygotowany wcześniej obiekt atrybutów. Jeżeli jako drugi argument zostanie użyty wskaźnik NULL, to muteks zostanie zainicjowany wartościami domyślnymi dla systemu. W przypadku niepowodzenia, funkcja zwraca kod EINVAL, oznaczajacy podanie niew laściwej wartości któregoś z argumentów. Istnieja cztery funkcje biblioteczne do wykonywania operacji na utworzonych i zainicjowanych muteksach. Każda z nich ma pojedynczy parametr bed acy wskaźnikiem na muteks. Funkcja pthread mutex lock s luży do zamykania muteksu. Wywo lanie jej dla muteksu, który jest już zamkniety spowoduje zablokowanie watku do czasu otwarcia muteksu. Natomiast wywo lanie jej dla muteksu otwartego spowoduje jego zamkniecie i zaw laszczenie przez wywo lujacy watek. Uwaga: Ponowne wywo lanie funkcji zamykajacej przez w laściciela muteksu może doprowadzić do zakleszczenia! Funkcja pthread mutex unlock s luży do otwierania muteksu, ale tylko przez watek, który zamkna l dany muteks wywo lanie
6 c Wies law P laczek 33 jej przez inny watek może mieć nieprzewidywalne skutki! Funkcja pthread mutex trylock dzia la podobnie jak pthread mutex lock, ale z taka różnica, iż nie powoduje blokowania wywo lujacego ja watku, jeśli dany muteks jest już zamniety (tzn. jest to nieblokujace zamykanie muteksu). Wreszcie funkcja pthread mutex destroy jest przeznaczona do usuwania wskazanego muteksu faktycznie sprawia, że muteks staje sie,,niezainicjowany, użytkownik natomiast musi zadbać o zwolnienie pamieci wskazywanej przez wskaźnik muteksu. Wszystkie te funkcje w przypadku niepowodzenia zwracaja odpowiedni kod b l edu. W szczególności pthread mutex destroy zwraca wartość EBUSY (16), jeżeli wskazywany muteks jest już zamkniety. Pliki w l aczane Prototyp int pthread mutex lock(pthread mutex t *pmutex); Prototyp int pthread mutex unlock(pthread mutex t *pmutex); Prototyp int pthread mutex trylock(pthread mutex t *pmutex); Prototyp int pthread mutex destroy(pthread mutex t *pmutex); Oprócz muteksów istnieje jeszcze kilka innych mechanizmów do synchronizacji watków, w tym semafory. Informacje na ten temat można znaleźć m.in. na stronach podrecznika systemowego man (patrz np. man sem init). ĆWICZENIE 9: Wzajemne wykluczanie dla Watków: Muteksy Przy pomocy muteksów zaimplementować zadanie wzajemnego wykluczania dla watków. Do demonstracji dzia lania programu można użyć sekwencji sterujacych konsoli. Niech na przyk lad watek wykonujac swoja sekcje prywatna wypisuje odpowiedni komunikat po lewej stronie okna konsoli, natomiast bed ac w sekcji krytycznej drukuje informacje po prawej stronie (w tym samym wierszu). Każdy watek może kilka razy powtarzać powyższy cykl. Przy poprawnie zrealizowanym zadaniu wzajemnego wykluczania, po prawej stronie okna konsoli w danym momencie powinien zg laszać sie co najwyżej jeden watek, pozosta le natomiast powinny zg laszać sie po lewej stronie. Do zademonstrowania operacji na zasobie dzielonym użyć np. wspólnej (globalnej) zmiennej licznikowej, zainicjowanej wartościa 0. Niech każdy z watków na poczatku sekcji krytycznej przypisuje jej wartość swojemu prywatnemu licznikowi, nastepnie zwieksza wartość tego prywatnego licznika o 1, a po pewnym czasie (użyć np. funkcji sleep) przypisuje jego wartość wspólnemu licznikowi. Sprawdzić, czy po zakończeniu dzia lania wszystkich watków wartość tego wspólnego licznika jest taka jaka powinna być.
Systemy Operacyjne 2: Wątki pthreads. dr inż. Arkadiusz Chrobot
Systemy Operacyjne 2: Wątki pthreads dr inż. Arkadiusz Chrobot 18 kwietnia 2013 1. Wprowadzenie Wątki podobnie jak procesy umożliwiają współbieżną realizację czynności w wykonywanym programie. Domyślnie
Temat zajęć: Tworzenie i obsługa wątków.
Temat zajęć: Tworzenie i obsługa wątków. Czas realizacji zajęć: 180 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Tworzenie wątków, przekazywanie parametrów do funkcji wątków i pobieranie
Przetwarzanie 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)
Systemy Operacyjne Ćwiczenia
Systemy Operacyjne Ćwiczenia Wies law P laczek Wydzia l Fizyki, Astronomii i Informatyki Stosowanej, Uniwersytet Jagielloński ul. Reymonta 4, 30-059 Kraków 4 lutego 2009 Streszczenie Praca ta zawiera materia
Watki. kod programu za ladowany do pami eci operacyjnej, wraz ze środowiskiem (zbiorem
Watki Procesy stanowia podstawowa jednostke, z której tradycyjnie sk lada sie wiekszość systemów operacyjnych. Procesy posiadaja dwie podstawowe cechy: kod programu za ladowany do pamieci operacyjnej,
Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ
w C Zak lad Chemii Teoretycznej UJ 30 listopada 2006 1 2 3 Inicjalizacja zmiennych Zmienne jednowymiarowe można inicjować przy ich definicji. #include i n t x = 1 ; l o n g day = 1000L * 60L
w odróżnieniu od procesów współdzielą przestrzeń adresową mogą komunikować się za pomocą zmiennych globalnych
mechanizmy posix Wątki w odróżnieniu od procesów współdzielą przestrzeń adresową należą do tego samego użytkownika są tańsze od procesów: wystarczy pamiętać tylko wartości rejestrów, nie trzeba czyścić
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
Zaawansowane programowanie w C++ (PCP)
Wykład 10 - boost Thread. 8 czerwca 2007 Równoległość bardzo wolna reakcja człowieka wolne urządzenia wejścia - wyjścia (np. drukarki) bardzo szybkie procesory można przeprowadzać obliczenia podczas obsługi
4.2 Sposób korzystania z l acza
4.2 Sposób korzystania z l acza 31 Opis programu: Program procesu potomnego (linie 16 19) jest taki sam, jak w przyk ladzie na listingu 3. W procesie macierzystym nastepuje z kolei przekierowanie standardowego
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
Programowanie współbieżne Wykład 9 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska
Programowanie współbieżne Wykład 9 Synchronizacja dostępu do współdzielonych zasobów Iwona Kochańska Sekcja krytyczna Instrukcje wykonywane na zmiennych współdzielonych tworzą sekcję krytyczną. Instrukcje
przypadków wywo lanie systemowe (funkcja systemowa) lub funkcja biblioteczna zwraca wartość 1(czasamiNULL) iprzypisujezmiennej zewn etrznej,
c Wies law P laczek 3 1 Obs luga b l edów Wwi ekszości przypadków wywo lanie systemowe (funkcja systemowa) lub funkcja biblioteczna kończ ac si e b l edem zwraca 1(czasamiNULL) iprzypisujezmiennej zewn
Poniż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,
pami eć operacyjna przechowuje dane do przetworzenia, tymczasowe dane pomocnicze,
16 3 Procesy 3 Procesy Pojecie procesu jest kluczowe dla zrozumienia funkcjonowania wielozadaniowych systemów operacyjnych. Trudność w zrozumieniu tego pojecia i tym samym zg lebienie mechanizmu obs lugi
Grzegorz Mazur. Zak lad Metod Obliczeniowych Chemii UJ. 14 marca 2007
Zak lad Metod Obliczeniowych Chemii UJ 14 marca 2007 Rzad 1 Zamiast wst epu 2 Rzad Notacja dużego O Notacja Ω Notacja Θ 3 S lowniczek Rzad Algorytm W matematyce oraz informatyce to skończony, uporzadkowany
Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska
Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów Iwona Kochańska Mechanizm synchronizacji wątków/procesów Wykorzystanie semaforów zapobiega niedozwolonemu wykonaniu
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ć
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
Plan wykładu. Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 1 p. Wzajemne wykluczanie. Procesy współbieżne
Plan wykładu Obliczenia równoległe w zagadnieniach inżynierskich Wykład 1 Podstawowe pojęcia i model programowania Sposoby realizacji watków w systemach operacyjnych Tworzenie watów i zarzadzanie nimi
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
Kurs programowania. Wykład 8. Wojciech Macyna
Wykład 8 Program bez watków, jeden procesor, trzy zadania Program z watkami, jeden procesor, trzy zadania Procesory wielordzeniowe, każde zadanie na osobnym procesorze Trzy zadania uruchomione w watkach
Wielozadaniowość w systemie Microsoft Windows
Wielozadaniowość w systemie Microsoft Windows mgr inż. Tomasz Jaworski tjaworski@kis.p.lodz.pl http://tjaworski.kis.p.lodz.pl/ Idea wielozadaniowości Proces główny Wątki Algorytm szeregowania ustala kolejność
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
Systemy Operacyjne - Operacje na plikach
Systemy Operacyjne - Operacje na plikach Andrzej Stroiński Institute of Computer Science Poznań University of Technology 1 październik, 2012 Wprowadzenie do ANSI-C Pomoc systemowa man gcc man 2 write man
Programowanie równoległe i rozproszone. W1. Wielowątkowość. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone W1. Wielowątkowość Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np.
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
Obliczenia rozproszone z wykorzystaniem MPI
Obliczenia rozproszone z wykorzystaniem Zarys wst u do podstaw :) Zak lad Metod Obliczeniowych Chemii UJ 8 sierpnia 2005 1 e konkretniej Jak szybko, i czemu tak wolno? 2 e szczegó lów 3 Dyspozytor Macierz
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
Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
1. Uruchom poniższy program tworzący pojedynczy wątek:
9 Wątki 1. Uruchom poniższy program tworzący pojedynczy wątek: #include #include #include void* worker(void* info) int i; for(i=0; i
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
Tablice i funkcje. Marcin Makowski. 26 listopada Zak lad Chemii Teoretycznej UJ
Zak lad Chemii Teoretycznej UJ 26 listopada 2007 wielowymiarowe 1 2 wielowymiarowe 3 Typ tablicowy Plan wielowymiarowe Tablica Zajmujacy spójny obszar w pamieci zestaw zmiennych (obiektów) tego samego
Kurs programowania. Wykład 8. Wojciech Macyna. 10 maj 2017
Wykład 8 10 maj 2017 Współbieżność Watki w JAVA-ie Współbieżność może być realizowana na poziomie systemu operacyjnego (procesy) lub na poziomie aplikacji (watki). W JAVA-ie powszechnie stosuje się watki.
Systemy 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
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
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
Paradygmaty programowania
Paradygmaty programowania Programowanie generyczne w C++ Dr inż. Andrzej Grosser Cz estochowa, 2016 2 Spis treści 1. Zadanie 3 5 1.1. Wprowadzenie.................................. 5 1.2. Obiekty funkcyjne................................
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...........................................
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
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,
Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów
Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1
Procesy i wątki Krzysztof Banaś Obliczenia równoległe 1 Procesy i wątki Proces: ciąg rozkazów (wątek główny) i ewentualnie inne wątki stos (wątku głównego) przestrzeń adresowa dodatkowe elementy tworzące
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).
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.
Funkcje. Piotr Zierhoffer. 7 października Institute of Computer Science Poznań University of Technology
Funkcje Piotr Zierhoffer Institute of Computer Science Poznań University of Technology 7 października 2012 Funkcje Funkcja podprogram. Nazwany blok kodu realizujacy jakieś zadanie. sin(x), arccos(x), min(a,
ezykach wysokiego poziomu (Dijkstra, 1965). semaphore semaphore S; Operacje na semaforze:
c Wies law P laczek 18 5 Semafory 5.1 Poj ecia ogólne Semafor pierwszymechanizmsynchronizacyjnywj ezykach wysokiego poziomu (Dijkstra 1965). semaphore semaphore S; Operacje na semaforze: abstrakcyjny typ
Paradygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 2 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).
Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154
Functionalization. Jeszcze o funkcjach i strukturze projektu. Marcin Makowski. 3 grudnia Zak lad Chemii Teoretycznej UJ
Jeszcze o funkcjach i strukturze projektu Zak lad Chemii Teoretycznej UJ 3 grudnia 2008 1 2 3 4 5 typedef Plan typedef specyfikator typu nazwa S luży do stworzenia nowej nazwy dla jakiegoś typu. Nazwa
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
Implementacje zgodne z tym standardem są nazywane wątkami POSIX lub Pthreads.
pthreads (POSIX) implementacji równoległości poprzez wątki w architekturach wieloprocesorowych z pamięcią współdzieloną przenośność problem programistyczny, gdy dostawcy sprzętu wdrażali własne wersje
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Wprowadzenie 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
Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.
Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)
Ghost in the machine
Operacje na pami eci i odrobina I/O Zak lad Chemii Teoretycznej UJ 8 stycznia 2007 Funkcje operujace Wstep do operacji I/O na plikach 1 Operacje na pami eci 2 Funkcje operujace 3 Wst Funkcje operujace
aodczytywać zniegoza pomoc afunkcjiread, (niebuforowane funkcje wejścia/wyjścia). e sukcesem, to zwróci liczb, erzeczywiściezapisanychbajtów.
c Wies law P laczek 15 4 Potoki 4.1 Wprowadzenie Potok (ang. pipe) możnauznaćzaplikspecjalnegotypuktórys lużydoprzechowywania ograniczonej ilości danych i do którego dost ep może si eodbywaćjedyniewtrybie
Tablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
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ęć
Programowanie wielowątkowe. Jarosław Kuchta
Programowanie wielowątkowe Jarosław Kuchta Procesy i wątki w systemie Windows Windows jest systemem wielowątkowym. Każdy proces ma przynajmniej jeden wątek, chociaż może mieć wiele wątków. Start programu,
Wskaźniki, funkcje i tablice
, funkcje i tablice Zak lad Chemii Teoretycznej UJ 20 listopada 2008 wielowymiarowe 1 2 3 4 wielowymiarowe, funkcje i tablice Czym sa wskaźniki? Plan wielowymiarowe Zmienne wskaźnikowe wskazuja na inne
eć dzielona standardu POSIX
c Wies law P laczek 25 6 Pami eć dzielona standardu POSIX 6.1 Wprowadzenie Pami eć dzielona inaczej wspólna (ang. shared memory) jestzasobemumożliwiaj acym najszybszy sposób komunikacji mi edzy procesami
Program współbieżny jest zbiorem sekwencyjnych PROGRAMOWANIE C++
PROGRAMOWANIE C++ Współdzielenie obiektów w aplikacjach współbieżnych Używanie tych samych obiektów przez różne wątki może prowadzić do niezdefiniowanego zachowania się aplikacji. Obiekty synchronizacyjne
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
SYSTEMY 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()
Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003
Obliczenia równoległe i rozproszone w JAVIE Michał Kozłowski 30 listopada 2003 Wątki w JAVIE Reprezentacja wątków jako obiektów Uruchamianie i zatrzymywanie wątków Realizacja wątków Ograniczenia Mechanizmy
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ć
TEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
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
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Potrzeba synchronizacji Procesy wykonują się współbieżnie. Jeżeli w 100% są
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
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
Programowanie aplikacji równoległych i rozproszonych. Wykład 1
Wykład 1 p. 1/52 Programowanie aplikacji równoległych i rozproszonych Wykład 1 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Plan wykładu
Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ
Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu
Język Java wątki (streszczenie)
Programowanie współbieżna Język Java wątki (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Języka Java wątki Autor:
Funkcje systemu Unix
Funkcje systemu Unix Witold Paluszyński witold@ict.pwr.wroc.pl http://sequoia.ict.pwr.wroc.pl/ witold/ Copyright c 2002 2005 Witold Paluszyński All rights reserved. Niniejszy dokument zawiera materia ly
Procesy wielowatkowe. Watki. Wspólne dane watków. Prywatne dane watków. Programowanie z użyciem watków
Watki Procesy stanowia podstawowa jednostke, z której tradycyjnie sk lada sie wiekszość systemów operacyjnych. Procesy posiadaja dwie podstawowe cechy: Procesy wielowatkowe Watki z natury rzeczy sa jednostkami
Wykład 3 Składnia języka C# (cz. 2)
Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest
Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika
Wyk lad 4 Dzia lania na macierzach Określenie wyznacznika 1 Określenie macierzy Niech K bedzie dowolnym cia lem oraz niech n i m bed a dowolnymi liczbami naturalnymi Prostokatn a tablice a 11 a 12 a 1n
Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011
Procesy Systemy Operacyjne 2 laboratorium Mateusz Hołenko 9 października 2011 Plan zajęć 1 Procesy w systemie Linux proces procesy macierzyste i potomne procesy zombie i sieroty 2 Funkcje systemowe pobieranie
Wirtualne sieci prywatne
Rozdzia l 7 Wirtualne sieci prywatne Contents 7.1 Wirtualne sieci prywatne.................... 135 7.1.1 Przegl ad.............................. 137 7.2 Przyk ladowa implementacja VPN w Linuxie........
Rozdzia l 3. Laboratorium 3. danych zawierajac
Rozdzia l 3 Laboratorium 3 3.1. Tablice Tablica jest struktura danych zawierajac a zmienne tego samego typu. CLR środowiska.net Framework wspiera tworzenie tablic jedno oraz wielo wymiarowych. 3.1.1. Tablice
W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
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ą
Równoleg le sortowanie przez scalanie
Równoleg le sortowanie przez scalanie Bartosz Zieliński 1 Zadanie Napisanie programu sortuj acego przez scalanie tablicȩ wygenerowanych losowo liczb typu double w którym każda z procedur scalania odbywa
procesy odrębne dzielone
procesy odrębne Unikatowy PID (2-32000) Zmienne Zbiory deskryptorów plików Przestrzeń stosu (lokalne zmienne, wywołania funkcji) Środowisko Licznik rozkazów dzielone Kod programu brak możliwości zapisu
9. Problem wzajemnego wykluczania i sekcji krytycznej
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 9. Problem wzajemnego wykluczania i sekcji krytycznej 9.1 Przeplot i współużywalność zasobów Wyróżniamy dwa rodzaje zasobów: 1. Zasoby współużywalne
Plan wykładu. Programowanie aplikacji równoległych i rozproszonych. Wykład 1 p. Wzajemne wykluczanie. Procesy współbieżne
Plan wykładu Programowanie aplikacji równoległych i rozproszonych Wykład 1 Podstawowe pojęcia i model programowania Sposoby realizacji watków w systemach operacyjnych Tworzenie watów i zarzadzanie nimi
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
Statystyka w analizie i planowaniu eksperymentu
29 marca 2011 Przestrzeń statystyczna - podstawowe zadania statystyki Zdarzeniom losowym określonym na pewnej przestrzeni zdarzeń elementarnych Ω można zazwyczaj na wiele różnych sposobów przypisać jakieś
Systemy 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
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Systemy operacyjne 2
Systemy operacyjne 2 Wymagania projektowe dr inż. Jarosław Rudy 1 marca 2018 Poniżej znajdują się wymagania dotyczące projektu. Omawiane kwestie ogólne dotyczą wszystkich trzech etapów, chyba że zaznaczono
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
Paradygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 1 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
Statystyka w analizie i planowaniu eksperymentu
31 marca 2014 Przestrzeń statystyczna - podstawowe zadania statystyki Zdarzeniom losowym określonym na pewnej przestrzeni zdarzeń elementarnych Ω można zazwyczaj na wiele różnych sposobów przypisać jakieś
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
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się