... Ireneusz Mrozek. Wydział Informatyki



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

Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej.

Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011

projektowanie systemu

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.

Systemy operacyjne III

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

Zarządzanie procesami i wątkami

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

4.2 Sposób korzystania z l acza

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

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

POZNA SUPERCOMPUTING AND NETWORKING CENTER. Wprowadzenie do systemu operacyjnego Linux zarzdzanie procesami

1.1 Definicja procesu

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

Temat zajęć: Obsługa procesów w systemie.

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe

Sposoby przekazywania parametrów w metodach.

Zarządzanie procesami (omawiane zagadnienia)

Listy i operacje pytania

4. Procesy pojęcia podstawowe

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

2. Zarządzanie procesami

Zarządzanie procesorem

Procesy, wątki i zasoby

Wprowadzenie do kompilatorów

Procesy. S. Samolej: Procesy

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

Pobieranie argumentów wiersza polecenia

Prezentacja systemu RTLinux

Budowa systemów komputerowych

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

Jądro systemu operacyjnego

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Linux: Procesy. Systemy Operacyjne. Mateusz Hołenko. 26 marca 2013

Sygnały. 7. Sygnały (2005/2006)

Proces y i y w i ąt ą ki

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

procesy odrębne dzielone

Szeregowanie zadań w Linux Kernel 2.6. Daniel Górski Przemysław Jakubowski

Obsługa plików Procesy

Wykład 3: Implementacja programów wbudowanych

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

J. Ułasiewicz Programowanie aplikacji współbieżnych 1

Procesy, zasoby i wątki

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5

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

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

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

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

WYKŁAD 9. Algorytmy sortowania elementów zbioru (tablic) Programy: c4_1.c... c4_3.c. Tomasz Zieliński

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

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Systemy operacyjne. Paweł Pełczyński

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

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

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

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Systemy Operacyjne i Sieci Komputerowe

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Temat zajęć: Tworzenie i obsługa wątków.

Informatyka, systemy, sieci komputerowe

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

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Systemy operacyjne Procesy i wątki

AUTOMATYCZNE I ZDALNE STEROWANIE STACJ UZDATNIANIA WODY

Działanie systemu operacyjnego

Systemy operacyjne II

Planowanie przydziału procesora

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Systemy Operacyjne 1 Laboratorium 2 Procesy i sygnały w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot

LABORATORIUM INFORMATYKI 0

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

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

Planowanie przydziału procesora

Działanie systemu operacyjnego

Systemy operacyjne lab. 6 Paweł Gmys strona 1

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu

DYNAMICZNE PRZYDZIELANIE PAMIECI

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

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

Podstawy Informatyki Układ przerwań

Algorytm. a programowanie -

Programowanie wspóªbie»ne

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

Działanie systemu operacyjnego

Systemy Operacyjne - zarządzanie procesami

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

1. Utwórz blok pamięci współdzielonej korzystając z poniższego kodu:

Łącza nienazwane(potoki)

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!

Model procesu w systemie Linux. Tomasz Borzyszkowski

1. Procesy i współbieżność

Klonowanie MAC adresu oraz TTL

Transkrypt:

Ireneusz Mrozek Wydział Informatyki Proces wykonujcy si program Proces jednostka pracy systemu zarzdzan przez system operacyjny. W skład procesu wchodz: - program; - dane - zawarto rejestrów, stosu; - struktury utrzymywane przez system operacyjny niezbdne do zarzdzania procesami Proces w odrónieniu od programu jest obiektem aktywnym, podczas gdy sam program jest jedynie kodem zapisanym w pliku. 2 Kady proces reprezentowany jest w systemie przez blok kontrolny procesu. Blok ten jest miejscem gdzie przechowywane s informacje opisujce dany proces. wskanik numer procesu... Stan procesu licznik rozkazów wykaz otwartych plików 3 1

Zgodnie z przyjtym modelem wszystkie realizowane przez komputer programy nazywane s procesami. Kady proces ma swój wirtualny procesor. Podejcie takie znacznie ułatwia zrozumienie działania systemu, gdy pozwala na jego analiz jako zbiór równolegle działajcych procesów (nie trzeba skupia si nad cigłym przełczaniem procesora pomidzy poszczególnymi zadaniami). Jeden licznik rozkazów A Cztery liczniki rozkazów D B C D A B C D procesy C B A czas 4!" Współbieno działania procesów oznacza, i jednostka centralna dzieli swoj moc obliczeniow midzy wiele procesów jednoczenie. W przypadku architektur jednoprocesorowych współbieno oznacza w rzeczywistoci naprzemienne wykonywanie procesów w dłuszej jednostce czasu. W systemach z podziałem czasu w celu uzyskiwania współbienoci procesor jest przydzielany procesom cyklicznie na krótkie (milisekundowe) kwanty czasu. 5 #$% PROCESY niezalene współpracujce wtki cile powizane słabo powizane 6 2

# przerwanie Proces P0 Przechowaj stan w PCB0... Odtwórz stan z PCB1 Przechowaj stan w PCB1 Odtwórz... stan z PCB0 Proces P1 przerwanie 7 &'!( przerwanie Proces P0 Zachowaj na stosie Rozpocznij wykonanie kodu zgodnie z wektorem przerwania Zachowaj wszystkie w PCB Ustaw nowy stos Wywołaj właciw procedur obsługi przerwania Wywołaj scheduler do wyznaczenia kolejnego procesu do wykonania Załaduj nowe wartoci do rejestrów Wykonuj wybrany proces 8 ) Istniej cztery główne zdarzenia powodujce stworzenie nowego procesu: 1. Inicjalizacja systemu podczas inicjalizacji systemu tworzone s zarówno procesy pierwszoplanowe jak i procesy działajce w tle (np. program do odbierania poczty). 2. Wywołanie funkcji systemowej tworzcej nowy proces przez proces ju działajcy. W systemie Unix do stworzenia nowego procesu naley uy funkcji systemowej fork(), za w systemie Windows CreateProcess(). 3. Stworzenie nowego procesu przez uytkownika kady uytkownik uruchamiajc nowy program powoduje stworzenie nowego procesu. 4. Inicjalizacja zadania wsadowego wystpuje w duych systemach typu Mainframe. Dane zadanie uruchamiane jest, gdy nadeszła jego kolej do uruchomienia i s w systemie wystarczajce zasoby ku temu. 9 3

)* +, #include <stdio.h> main() int pid; pid = fork(); if (pid < 0) fprintf(stderr, Blad funkjci fork()\n ); exit(-1); else if ( pid = = 0 ) /* proces potomny */ execlp( /bin/ls, ls, NULL); fprintf(stderr, Blad funkjci execl()\n ); exit(-1); else /*proces macierzysty */ wait(null); printf( Proces potomny zakonczony\n ); exit(0); 10 - grupy login shell fork/exec parent (PID 480) fork sesja Dziki grupom w systemie UNIX moliwe jest np. wysyłanie sygnałów do wszystkich procesów wchodzcych w skład danej grupy. Grup standardowo tworzy cała rodzina danego procesu. child (PID 481) 11 W systemie Unix list procesów mona uzyska poleceniem ps:. * +, 12 4

. * W systemie Windows list aktualnie działajcych procesów mona uzyska uruchamiajc program taskmgr.exe lub uywajc klawiszy Ctrl-Alt-Delete: 13 & nowy proces gotowy 2 aktywny zakoczenie procesu 3 4 czekajcy 1 Przejcie 1 realizowane jest wówczas, gdy proces nie moe dalej si wykonywa (np. brakuje mu danych do odczytania z łcza komunikacyjnego). Przejcie 2 i 3 realizowane jest niezauwaalnie dla procesu. Przejcia te s wymuszane przez planist przydziału procesora. Przejcie 4 realizowane jest wówczas, gdy warunek powodujcy blokowanie procesu przestanie by prawdziwy. 14 / Istniej cztery podstawowe sposoby koczenia działania procesu: 1. Zakoczenie standardowe poprawne 2. Zakoczenie standardowe niepoprawne 3. Zakoczenie wywołane błdem krytycznym 4. Zakoczenie procesu przez inny proces 15 5

/* +, _exit() return _exit() user function call main function exit() exit() exit function call return exit handler exit handler return call C start-up routine exit() _exit() standard I/O cleanup exec() kernel 16 /* +, #include <stdlib.h> void exit(int status) #include <unistd.h> void _exit(int status) #include <stdlib.h> void atexit(void (*func)(void)); Koniec programu glownego Handler 1 Handler 1 Handler 2 int main() if (atexit(my_exit2)!= 0) perror( atexit error ); if (atexit(my_exit1)!= 0) perror( atexit error ); if (atexit(my_exit1)!= 0) perror( atexit error ); printf ( Koniec programu glownego\n ); void my_exit1(void) printf( Handler 1\n ); void my_exit2(void) printf( Handler 2\n ); 17 /* +, int main() printf ( Koniec programu ); exit(0); Koniec programu int main() printf ( Koniec programu ); _exit(0); 18 6

#( Gdy jeden proces zawiesza swoje działanie (skoczył mu si kwant czasu, oczekuje na zdarzenie), system operacyjny wybiera do wykonania inny proces. Za wybór odpowiedniego do wykonania procesu odpowiada moduł systemu operacyjnego nazywany planist (ang. scheduler). Kolejny do wykonania proces wybierany jest na podstawie uywanego algorytmu planowania (ang. scheduling algorithm). 19 Kolejka procesów gotowych pocztek koniec PCB7 PCB2 Kolejka do streamer a pocztek koniec Kolejka do dysku pocztek koniec PCB3 PCB6 PCB14 20 (( ( Algorytmy szeregowania wywłaszczajce niewywłaszczajce 21 7

(( ( Z uwagi na róne rodowiska pracy algorytmy szeregowania dzieli si na trzy grupy: 1. Algorytmy dla rodowiska wsadowego brak zapotrzebowania ze strony uytkowników na szybk odpowied, dlatego mog by stosowane algorytmy niewywłaszczeniowe lub wywłaszczeniowe z długim kwantem czasowym. 2. Algorytmy dla rodowiska interakcyjnego istnieje zapotrzebowanie na szybkie odpowiedzi systemu, dlatego musz by stosowane algorytmy wywłaszczeniowe. 3. Algorytmy dla rodowiska czasu rzeczywistego czasami wywłaszczanie moe wystpowa czasami nie. S to systemy specyficzne na których uruchamiany jest tylko okrelony rodzaj oprogramowania. Oprogramowanie to musi zawsze ze sob współpracowa. 22 0 ( ( Cele algorytmów szeregowania zmieniaj si w zalenoci od systemu w jakim s zaimplementowane. 1. Sprawiedliwy podział procesora pomidzy procesy. 2. Równomierne obcienie denie do cigłego obcienia wszystkich elementów systemu. 3. W systemach wsadowych maksymalna przepustowo, jak najwysze wykorzystanie procesora, jak najniszy czas przetwarzania. 4. W systemach interakcyjnych szybkie odpowiedzi na zdarzenia pochodzce od uytkownika i zachowanie zgodne z oczekiwaniami uytkownika. 5. W systemach czasu rzeczywistego zapewnienie aby okrelone zadania koczyły si zgodnie z planem. 23 #( 1. Co to jest Blok kontrolny procesu. 2. Opisz co to jest zmiana kontekstu. 3. Jak mona otrzyma list procesów w systemie Windows i w systemie Unix? 4. Omów stany procesu oraz moliwe przejcia midzy nimi. 5. Co to jest i do czego słuy scheduler? 6. Wymie główne cele algorytmów szeregowania. 7. Scharakteryzuj algorytm wywłaszczeniowy i niewywłaszczeniowy. 8. Podaj główne cechy algorytmów planowania w systemach wsadowych, interakcyjnych i czasu rzeczywistego. 24 8