Systemy operacyjne. Studia podyplomowe Wydział Informatyki PB
|
|
- Lech Owczarek
- 7 lat temu
- Przeglądów:
Transkrypt
1 Systemy operacyjne Studia podyplomowe Wydział Informatyki PB dr inż. Marcin Czajkowski materiały przygotowane przez dr inż. Wojciecha Kwedlo
2 Literatura - ogólne pozycje na temat systemów operacyjnych A. Silberschatz, P. B. Galvin, Podstawy systemów operacyjnych, wydanie 7, WNT, Warszawa, A.S. Tanenbaum, Systemy Operacyjne, Wydanie III, Wydawnictwo Helion, ~100 zł. W. Stallings, Systemy operacyjne. Struktura i zasady budowy. PWN, ~40 zł Gorąco polecam powyższe pozycje.
3 Literatura - pozycje na temat programowania współbieżnego Z. Weiss, T. Gruźlewski, Programowanie współbieżne i rozproszone w przykładach i zadaniach, WNT, Warszawa, M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WNT, Warszawa, Programowanie w Linuxie przy pomocy biblioteki wątków POSIX threads jest omówione w: M. Mitchell, J. Oldham, A. Samuel, Linux - programowanie dla zaawansowanych, Wydawnictwo RM, 2002 J. Shapley Gray, Arkana: Komunikacja między procesami w Unixie, rozdz. 11.
4 Literatura - opisy jąder różnych wersji Unixa Bach M., Budowa systemu operacyjnego UNIX, WNT Warszawa, 1995, Opis jądra Systemu V Release 4. U. Vahalia, Jądro systemu Unix - nowe horyzonty, WNT Warszawa,2001, Opis historii Unixa i różnych cech jądra systemów Unixowych (System V, BSD, Solaris, Mach) - gorąco polecam. M. Beck, H. Bohm, M. Dziadzka, U. Kunitz, R. Magnus, D. Verworner, Linux Kernel - Jądro systemu, wydanie II, Wydawnictwo MIKOM, Warszawa, 2000, jądro Linuxa 2.0.x D. P. Bovet, M. Cesati, Linux kernel, Wydawnictwo RM, Warszawa, 2001, jądro Linuxa 2.2.x
5 Literatura - API wywołań systemowych Linuksa M. Mitchell, J. Oldham, A. Samuel, Linux - programowanie dla zaawansowanych, Wydawnictwo RM, 2002 Kurt Wall, Linux : programowanie w przykładach, Mikom, Michael K. Johnson, Erik W. Troan, Oprogramowanie użytkowe w systemie LINUX, WNT, 2000.
6 Tematyka wykładów poznanie podstawowych pojęć związanych z systemami operacyjnymi; mechanizmy zarządzania procesami: algorytmy szeregowania procesów, metody komunikacji i synchronizacji procesów oraz wątków; rodzaje pamięci: operacyjna, zewnętrzna, wirtualna; systemy plików; planowanie przydziału procesora, wieloprogramowość, wielozadaniowość.
7 Czym jest system operacyjny Program kontrolujący wykonywanie aplikacji (programów użytkownika). Umożliwia wykonywanie programów użytkownika. (być może wielu równocześnie). Jednocześnie kontroluje pracę tych programów, uniemożliwiając nieprawidłowe wykorzystanie komputera. Dostarcza usługi umożliwiające dostęp do wejścia-wyjścia (pliki, ekran, klawiatura, sieć) Zarządza zasobami maszyny (procesor, pamięć operacyjna, pamięć dyskowa). Tworzy abstrakcje ułatwiające korzystanie z komputera, takie jak: plik, pamięć wirtualna, proces Cele stojące przed projektantem systemu Przenośność: programy użytkowe działające na różnym sprzęcie. Wydajność: efektywne wykorzystanie sprzętu (procesora,pamięci,we-wy). Zapewnienie ochrony systemu oraz procesów (przed innymi procesami, niepowołanym dostępem, wirusami,...) Wygoda użytkownika. Możliwość ewolucji systemu (poprawki etc.) Definicja: nie ma powszechnej definicji ( Wszystko, to co dostarcza producent, gdy kupuje się system operacyjny )
8 System operacyjny na tle innych składników komputera
9 Jądro systemu operacyjnego (ang. kernel) Określenie co jest częścią systemu operacyjnego, a co nie, nie jest proste. czy kompilator C jest częścią systemu? edytor tekstu (np. notepad)? Interpreter poleceń (ang. shell) w Unixie? Dla potrzeb tego wykładu przez system operacyjny będziemy rozumieli jądro systemu, które możemy (z grubsza) scharakteryzować jako: Część systemu przebywająca na stałe w pamięci. Wykonuje się w trybie uprzywilejowanym. Zarządza zasobami maszyny Udostępnia interfejs programom użytkownika w postaci wywołań systemowych. Unix, Linux jądro monolityczne: jeden olbrzymi program Możliwość dynamicznego ładowania i usuwania fragmentów jądra, zwanych modułami Interpreter poleceń i inne narzędzia są zwykłymi programami użytkownika. Powyższy podział jest charakterystyczny dla systemów Unixowych, w świecie Microsoftu są odstępstwa (np. wiele funkcji z API Win32 wykonuje się na poziomie procesu użytkownika)
10 Perspektywa historyczna Na ewolucję oraz rozwój systemów operacyjnych olbrzymi wpływ miał czynnik ekonomiczny relatywny (względny) koszt sprzętu oraz pracy ludzkiej. Początkowo koszt komputera był fantastycznie wysoki w porównaniu z kosztem pracy ludzi z niego korzystających. Główny cel stojący przed systemem, to maksymalizacja wykorzystania sprzętu (procesora, pamięci masowych drukarek). Rozwiązania typu: przetwarzanie wsadowe, wieloprogramowość, spooling Obecnie koszt komputera jest bardzo niski w porównaniu z kosztem pracy ludzi z niego korzystających. Cel stojący przed systemem to stworzenie środowiska zapewniającego jak największą wygodę i produktywność użytkowników. Może to oznaczać rezygnację z kryterium maksymalnego wykorzystania sprzętu na rzecz kryterium minimalnego czasu odpowiedzi. Praca interakcyjna (początkowo wielu użytkowników na jednej maszynie poprzez podział czasu procesora), praca interakcyjna z wieloma programami, graficzne interfejsy użytkownika + wielowątkowość
11 Generacje komputerów i systemów operacyjnych ( ) - Lampy próżniowe i brak systemu operacyjnego. ( ) Tranzystory i proste systemy wsadowe ( ) Układy scalone i wieloprogramowe systemy wsadowe (oraz systemy z podziałem czasu) 1980 obecnie komputery PC.
12 Brak systemu operacyjnego Lata 40 połowa lat 50, komputery zbudowane z lamp próżniowych Programista rezerwuje w specjalnym zeszycie czas komputera W zarezerwowanym czasie ma pełną kontrolę nad maszyną poprzez konsolę Wczytuje program z czytnika kart perforowanych lub taśmy magnetycznej Kompiluje program (w tym celu wczytuje kompilator np. Fortranu) Uruchamia program.. Drukarka drukuje wyniki. Problemy: Duża część czasu spędzana na przygotowaniu programu do uruchomienia Nieefektywne wykorzystanie czasu pracy systemu. Zaleta: w przypisanym czasie mam pełną kontrolę nad komputerem
13 Proste systemy wsadowe Programista zostawia zadanie (ang. job) w postaci pliku kart perforowanych (program źródłowy, dane) operatorowi. Czynności o podobnym charakterze (np. Kompilacja) grupowane są razem Zadania łączone we wsad (ang. Batch) i wykonywane. Programista po jakimś czasie (kilka godzin) otrzymuje wyniki. Program monitora (protoplasta systemu operacyjnego) Wczytuje program użytkownika do pamięci Przekazuje mu sterowanie Po zakończeniu pracy program użytkownika powraca do monitora Może zawierać procedury obsługi wejścia wyjścia Zaleta: lepsze wykorzystanie (bardzo drogiego) sprzętu. Wada: programista czy też użytkownik nie ma kontroli nad wykonywaniem zadania (ale jego zdanie się nie liczy względy ekonomiczne).
14 Prosty system wsadowy - jednoprogramowość Musimy przeznaczyć część pamięci na monitor Jeden program w pamięci. Pożądane wprowadzenie sprzętowej ochrony monitora przed programami użytkownika. W niektórych zastosowaniach biznesowych (banki ubezpieczenia) wejście-wyjście może zajmować dużą część czasu wykonania zadania. W takim przypadku procesor nie jest efektywnie wykorzystany. Potrzebne są mechanizmy pozwalające na jednoczesne wykorzystanie procesora i we-wy.
15 Spooling Simulateneous Peripheral Operation On-Line Wykorzystuje szybką pamięć dyskową. Dane i program z czytnika kart są przesyłane na dysk Program wczytany z dysku, wykonywany, wyniki są zapisywane na dysk Wyniki z dysku przesyłane są na drukarkę Wykonując zadanie i jednocześnie: Wczytuj kod następnych zadań z czytnika kart na dysk Drukuj wyniki już zakończonych zadań. Pula gotowych zadań na dysku algorytmy szeregowania (ang. scheduling)
16 Wada jednoprogramowości Podczas wykonywania we-wy procesor jest bezczynny Rozwiązanie: wieloprogramowość (ang. Multiprogramming) W pamięci przechowywanych jest kilka programów
17 Wieloprogramowość Kiedy zadanie zgłasza zapotrzebowanie na usługę systemu wymagającą oczekiwania, wykonywany jest inne zadanie Potrzebny jest specjalny hardware (przerwania, DMA, ochrona pamięci)
18 Wieloprogramowy system wsadowy Zapewnianie usług we-wy. Przydzielanie urządzeń we-wy zadaniom. Zadania wstępnie na dysku - zarządzanie pamięcią dyskową. Wybór zadania wczytywanego do pamięci (szeregowanie zadań) Przydzielenie procesora jednemu z zadań rezydującemu w pamięci Zarządzanie dostępną pamięcią
19 Współdzielenie procesora (ang. time sharing) W systemach wsadowych celem jest maksymalizacja przepustowości. Programista (użytkownik) nie ma kontroli nad wykonywaniem zadań. Problem w przypadku np. błędu kompilacji. Niektóre typy zadań wymagają pracy interakcyjnej (np. rezerwacja biletów) A w między czasie relatywne koszty pracy ludzkiej względem kosztów sprzętu wzrosły, ale nie na tyle aby każdemu przydzielić dedykowany komputer. Podział czasu procesora Wiele użytkowników korzystających z terminali (praca interakcyjna) System otrzymuje polecenia kontrolne z terminala. Procesor wykonuje na przemian programy poszczególnych użytkowników (redukcja mocy obliczeniowej dostępnej pojedynczemu użytkownikowi) Załadowany do pamięci i wykonywany w niej program nazywany jest procesem. Nowe funkcje systemu operacyjnego: wymiana (ang. swapping), pamięć wirtualna. W systemach z podziałem czasu celem jest minimalizacja czasu odpowiedzi.
20 Systemy operacyjne dla komputerów osobistych Komputer dedykowany jednemu użytkownikowi. Mała cena sprzętu sprawia, że maksymalizacja wykorzystania procesora przestaje być głównym celem. Priorytetem jest wygoda użytkownika i minimalizacja czasu odpowiedzi. Systemy graficznego interfejsu użytkownika. Z przyczyn ekonomicznych pierwsze wersje sprzętu były prymitywnie proste. Nastąpiło stopniowe zaadoptowanie technologii rozwiniętych dla większych maszyn. MS-DOS (brak podziału czasu, brak ochrony systemu) Windows 3.1 (współdzielenie procesora wymagające współpracy procesów, pamięć wirtualna, brak ochrony) Windows NT (współdzielenie procesora, pamięć wirtualna, pełna ochrona, mechanizmy bezpieczeństwa)
21 Systemy równoległe Architektura postaci Symmetric Multiprocessing (SMP). System ze współdzieloną pamięcią (ang. shared memory, tightly coupled system). Każdy procesor wykonuje identyczną kopię systemu operacyjnego Pozwala na wykonywanie wielu procesów jednocześnie Wspierana przez większość nowoczesnych systemów operacyjnych (Linux, Win NT i pochodne) Upowszechnione dzięki procesorom wielordzeniowym (ang. multicore)
22 Systemy czasu rzeczywistego (ang. real-time) Reakcja na zdarzenie musi się zakończyć przed upływem określonego czasu. (ang. hard real-time). Innymi słowy: Poprawność systemu nie zależy tylko od poprawności uzyskanej odpowiedzi, ale także od czasu oczekiwania na tę odpowiedzi. Przykłady: odtwarzacz DVD, symulator samolotu, sterownik wtrysku paliwa, system naprowadzania rakiety. Z reguły system w ROM-ie, brak pamięci dyskowej. Konflikt z zasadą podziału czasu. Warunek hard real-time nie jest spełniony przez większość współczesnych systemów ogólnego przeznaczenia. Systemy klasy soft real-time: zadanie do obsługi w czasie rzeczywistym otrzymuje pierwszeństwo nad pozostałymi zadaniami. Nie gwarantują nieprzekraczalnego czasu reakcji. Większość systemów Unixowych i Win NT spełnia te wymagania.
23 Systemy rozproszone (ang. distributed) Luźno związany (ang. loosely coupled) system komputerowy. Każdy procesor dysponuje własną pamięcią, niedostępną innym procesorom. Koordynacja i synchronizacja poprzez wymianę komunikatów Zalety Współdzielenie zasobów (ang. resource sharing) Przyspieszenie obliczeń. Większa wiarygodność systemu. Udostępnienie możliwości komunikacji.
24 Systemy rozproszone Sieciowe systemy operacyjne Umożliwia współdzielenie plików, drukarek Dostarcza mechanizm komunikacji System na jednej maszynie wykonuje się niezależnie od pozostałych maszyn w sieci Rozproszone systemy operacyjne Mniejsza autonomia poszczególnych maszyn Sprawia wrażenie, że pojedynczy system operacyjny kontroluje pracę sieci (jednej wielkiej maszyny) Obecnie przedmiot badań naukowych (Amoeba, Mach, Locus, systemy typu Grid...)
25 Systemy typu hand-held Tablety Telefony komórkowe Cechy charakterystyczne Ograniczona pamięć Wolne procesory (nacisk na niski pobór mocy) Małe rozmiary wyświetlaczy Główna różnica pomiędzy systemami hand-held a PDA: brak wielogigabajtowych dysków twardych (pamięć wirtualna) (ale są systemy plików na pamięciach Flash) Przykłady: ios, Android.
26 Wbudowane systemy operacyjne Systemy dla urządzeń nie uznawanych za komputery i nie posiadających możliwości instalowania aplikacji przez użytkowników. Kuchenki mikrofalowe, odtwarzacze MP3, samochody, odbiorniki telewizyjne Mamy gwarancje że nigdy nie będzie działało niezaufane oprogramowanie Przykłady: QNX, VxWorks
27 Migracja cech i własności systemów operacyjnych
28 Struktury systemów komputerowych istotne z punktu widzenia systemu operacyjnego
29 Uproszczony schemat architektury komputera Procesor, pamięć i urządzenia we-wy podłączone są do wspólnej magistrali. W rzeczywistych systemach mamy do czynienia z kilkoma fizycznymi magistralami (PCI, ISA, USB,...)
30 Praca systemu komputerowego Procesor i urządzenia wejścia-wyjścia mogą pracować współbieżnie Każdy kontroler we-wy obsługuje jeden typ urządzeń Każdy kontroler-posiada lokalny bufor Procesor przesyła dane do/z pamięci oraz do/z lokalnych buforów Wejście-wyjście przeprowadzane jest pomiędzy lokalnym buforem kontrolera a urządzeniem. Kontroler informuje o zakończeniu operacji zgłaszając przerwanie. SYSTEM OPERACYJNY OPIERA SIĘ NA PRZERWANIACH!!!
31 Przerwania Przerwania programowe (ang. trap) Wywołanie systemu operacyjnego (np. specjalny rozkaz syscall w procesorach MIPS) Rozkaz pułapki (brk w x86) Sprzętowe zewnętrzne (asynchroniczne względem programu) Kontroler we-wy informuje procesor o zajściu zdarzenia, na przykład Zakończenie transmisji danych. Nadejście pakietu z sieci. Przerwanie zegara. Błąd parzystości pamięci. Sprzętowe wewnętrzne, głównie niepowodzenia (ang. fault) Dzielenie przez zero Przepełnienie stosu Brak strony w pamięci (w przypadku implementacji stronicowania) Naruszenie mechanizmów ochrony.
32 Obsługa przerwania Wykonywana przez system operacyjny Zapamiętanie stanu procesora (rejestrów i licznika rozkazów) Określenie rodzaju przerwania przepytywanie (ang. Polling) wektor przerwań (tablica adresów indeksowana numerem przerwania) Przejście do właściwej procedury obsługi Odtworzenie stanu procesora i powrót z przerwania Uwaga: Odtworzenie stanu procesora może dotyczyć innego procesu niż zapamiętanie. (przełączenie kontekstu ang. context switch). Przykład: Wykonuje się proces A Przerwanie zegara=>zapamiętanie stanu procesu A System operacyjny stwierdza że A zużył cały przydzielony kwant czasu procesora. System postanawia przekazać sterowanie procesowi B. Odtworzenie stanu procesu B(przełączenie kontekstu) => powrót z przerwania Wykonuje się proces B
33 Krótko o procesach Najprościej możemy określić proces jako Wykonujący się program Ta definicja ma pewne niuanse. Rozpatrzmy przypadek procesu powstałego w wyniku uruchomienia programu użytkownika. Proces może wywoływać kod tego programu. Mówimy, że proces proces wykonuje się w trybie użytkownika. Może także wywoływać funkcję bibliotek współdzielonych (.so w Linuksie, biblioteki dynamiczne.dll w Windows), które formalnie nie są częścią programu. Po pewnym czasie proces (tzn. kod programu lub biblioteki) decyduje się wykonać funkcję systemową, np. otworzyć plik Mówimy wtedy, że proces wykonuje się w trybie jądra. W tej sytuacji proces wykonuje kod systemu operacyjnego, a nie kod programu z którego został wczytany. Widzimy, że nie ma relacji 1<=>1 pomiędzy procesami i programami, ponieważ proces wykonuje kod dwóch programów: swojego i jądra systemu
34 Różnice w prędkości transmisji urządzeń zewnętrznych Urządzenie Keyboard Mouse 56K modem Printer / scanner USB Digital camcorder Fast Ethernet Hard drive FireWire (IEEE 1394) XGA monitor PCI bus Prędkość transmisji 10 bytes/sec 100 bytes/sec 7 KB/sec 200 KB/sec 1.5 MB/sec 4 MB/sec 12.5 MB/sec 20 MB/sec 50 MB/sec 60 MB/sec 500 MB/sec
35 Hierarchia pamięci Przemieszczając się w dół hierarchii Zwiększamy czas dostępu Zmniejszamy koszt jednego bajtu
36 Wykorzystanie pamięci podręcznych (ang. caching) Wykorzystanie szybkiej pamięci do przechowywania najczęściej używanych danych. Pamięć podręczna procesora. Pamięc podręczna dysku. Wymaga wprowadzenie polityki zarządzania pamięcią podręczną. Problem spójności pamięci podręcznej: (ang. cache coherency) Informacja przechowywana w pamięci podręcznej niezgodna z informacją przechowywaną w pamięci głównej Przykład 1. System dwuprocesorowy. Każdy procesor ma własną pamięć podręczną. Zawartość jednej komórki pamięci przechowywana w obydwu pamięciach podręcznych. Procesor A zapisuje tę komórkę, Procesor B próbuje odczytu... Przykład 2. Pamięć podręczna dysku. Zmodyfikowana zawartość pewnych sektorów dysku jest przechowywana przez pewien czas w pamięci operacyjnej zanim zostanie zapisana fizycznie na dysk. Jeżeli w tym czasie nastąpi załamanie systemu...
37 Mechanizmy ochrony (ang. protection) Potrzeba zapewnienia, że źle sprawujący się program nie zakłóci pracy innych programów i samego systemu operacyjnego. Program użytkownika nie może być w stanie wykonać pewnych operacji. Przykłady złego zachowania się programu Bezpośrednia komunikacja z urządzeniami wejścia-wyjścia => ochrona we-wy Dostęp do pamięci należącej do innych procesów lub do systemu => ochrona pamięci Zablokowanie przerwań, zmiana wektora przerwań => ochrona systemu przerwań Nieskończona pętla => ochrona procesora Program użytkownika nie ma prawa wykonać żadnej z powyższych operacji!!!
38 Podwójny tryb pracy Procesor może wykonywać instrukcje w jednym z dwóch trybów Tryb jądra (instrukcje wykonywane przez system operacyjny) Tryb użytkownika (instrukcje wykonywane przez program użytkownika) Przerwanie (programowe lub sprzętowe) tryb jądra System operacyjny Ustaw tryb użytkownika Tryb użyt. Program użytkownika Instrukcje uprzywilejowane mogą być wywoływane wyłącznie w trybie jądra Próba ich wykonania w trybie użytkownika powoduje przerwanie i przejście do systemu operacyjnego
39 Mechanizmy ochrony Instrukcje uprzywilejowane Instrukcje do komunikacji z urządzeniami we-wy Blokowanie/odblokowanie przerwań Zmiana wektora przerwań Aby zapewnić, że program użytkownika nigdy nie wykona się w trybie jądra Przerwanie zegara: gwarantuje ochronę procesora przed programem użytkownika z nieskończoną pętlą
40 Procesy i wątki
41 Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci Program jest pojęciem statycznym. Proces ma naturę dynamiczną (zmieniającą się). Zmianie ulegają m.in. Licznik rozkazów (adres ostatnio wykonywanej instrukcji) Rejestry procesora Wskaźnik stosu Proces ma przestrzeń adresową Kod Dane zainicjalizowane Uruchom program Dane niezainicjalizowane Stos
42 Model procesów Pojedynczy licznik rozkazów (punkt widzenia procesora) A B C B D A Wiele liczników rozkazów (punkt widzenia systemu oper.) B C D Z punktu widzenie procesora na komputerze jest wykonywany jeden program Z punktu widzenia systemu jednocześnie jest wykonywanych wiele programów. D C B A Czas
43 Stany procesu Nowy proces został utworzony. Nowy 1 Gotowy 2 Gotowy proces czeka na przydział procesora. Proces mógłby się wykonywać, ale nie wykonuje się, ponieważ w tej chwili wykonuje się jakiś inny proces. Aktywny wykonywane są instrukcje procesu. 5 3 W systemie z jednym procesorem w danej chwili jeden proces może być aktywny Oczekujący 4 Aktywny Oczekujący (uśpiony) proces czeka na zdarzenie (np. Zakończenie operacji we-wy). 7 7 Zakończony 6 Na poprzednim wykładzie proces, który zainicjalizował transmisję DMA lub wysłała znak do drukarki, był usypiany w oczekiwaniu na przerwanie. Proces w stanie uśpionym nie otrzyma procesora. Zakończony proces zakończył działanie
44 Przejścia pomiędzy stanami procesu 1 (Nowy => Gotowy). Nowo utworzony proces przechodzi do kolejki procesów gotowych. Planista długoterminowy (ang. long-term scheduler) w systemach wsadowych. 2 (Gotowy => Aktywny) Proces otrzymuje przydział procesora. 3 (Aktywny => Gotowy) Procesowi został odebrany procesor (i przekazany innemu procesowi). Przejściami 2 oraz 3 zarządza planista krótkoterminowy (ang. short-term). 4 (Aktywny => Oczekujący) Proces przechodzi w stan oczekiwania na zajście zdarzenia. (np. na zakończenie transmisji wejścia -wyjścia patrz poprzedni wykład) 5 (Oczekujący => Gotowy) Zdarzenie na które czekał proces nastąpiło (przerwanie we/wy na poprzednim wykładzie). Przejścia 4 oraz 5 są wykonywane przy przeprowadzeniu synchronicznej operacji wejścia wyjścia (ale nie tylko). 6 (Aktywny => Zakończony). Proces zakończył pracę (np. funkcja exit w Uniksach, błąd ochrony) 7 (Gotowy =>Zakończony oraz Oczekujący => Zakończony). Proces został zakończony przez inny proces (np. funkcja kill w systemie Unix).
45 Dodatkowy stan zawieszony (ang. suspended) Proces oczekuje bardzo długo na operacje we-wy (np. polecenie login) Przejście do stanu zawieszonego Pamięć zajmowana przez proces podlega wymianie (ang. swapping) tzn. zapisaniu na dysk do obszaru wymiany (swap area). Zwolniona pamięć może być wykorzystana przez inne procesy. Po zajściu zdarzenia proces ponownie wczytywany z obszaru wymiany Inne przyczyny zawieszenie procesu. Żądanie użytkownika Brak pamięci w systemie Proces co jakiś czas cyklicznie wykonuje jakąś czynność np. Sprawozdawczość Przejściami do i z stanu zawieszenie zarządza planista średnioterminowy (ang. medium-term scheduler)
46 Diagram przejść z uwzględnieniem stanu zawieszenia. Planista długoterminowy Planista krótkoterminowy najważniejszy i występujący w każdym systemie. Rozstrzyga problem: Któremu procesowi w stanie gotowym mam przydzielić procesor Planista średnioterminowy
47 Blok kontrolny procesu ang. Process Control Block - PCB PCB służy do przechowywania informacji o procesie istotnych z punktu widzenia systemu operacyjnego Stan procesu Identyfikator procesu Licznik rozkazów Rejestry procesora Informacja o przydzielonej pamięci Informacja o otwartych plikach Informacja o połączeniach sieciowych Informacja niezbędna do tworzenia systemowych struktur danych. System operacyjny posługuje się różnymi kolejkami procesów. Jeżeli kolejki są implementowane jako listy z dowiązaniami, PCB może zawierać dowiązanie (wskaźnik) do następnego elementu w kolejce
48 Przełączenie kontekstu pomiędzy procesami
49 Przełączenie kontekstu (ang. context switch), a przełączenie trybu (ang. mode switch) P 1 P 2 P 3 P 4 Przełączenie kontekstu to zmiana procesu. Jądro Jądro Jądro Jądro Przełączenie kontekstu Przełączenie trybu zmiana trybu pracy procesora (jądra <=> użytkownika) W większości systemów (Uniksy,Windows) przyjęto model, w którym funkcje systemu wykonują się w kontekście procesu użytkownika. W uproszczeniu model ten zakłada że system operacyjny jest kolekcją procedur wywoływanych przez procesy w celu wykonania pewnych usług. Stąd mówiłem o procesie wykonującym się w trybie jądra (jeżeli wykonywany jest kod jądra). Przejście od programu użytkownika do programu jądra w wyniku wywołania funkcji systemowej (przerwanie programowe) lub przerwania sprzętowego wiąże się z przełączeniem trybu. Zmiana trybu jest znacznie mniej kosztowna niż zmiana kontekstu.
50 Utworzenie procesu Proces rodzicielski tworzy proces potomny, który z kolei może stworzyć kolejne procesy. Powstaje drzewo procesów. Współdzielenie zasobów. Procesy rodzicielski i potomny mogą Współdzielić część zasobów Współdzielić wszystkie zasoby Nie współdzielić żadnych zasobów Wykonywanie Procesy rodzicielski i potomny wykonują się współbieżnie Proces rodzicielski oczekuje na zakończenie procesu potomnego. Przestrzeń adresowa Odrębna przestrzeń adresowa dla procesu potomnego (fork w systemie Unix proces potomny wykonuje się w nowej przestrzeni adresowej będącej kopią przestrzeni procesu rodzicielskiego) Proces ma nowy program załadowany do nowej przestrzeni adresowej (CreateProcess w Win32) Proces potomny i rodzicielski wykonują się w tej samej przestrzeni adresowej (clone w Linuksie; wątki Java i POSIX)
51 Wywołania systemowe fork, exec, wait w Unix-ie #include <stdio.h> #include <unistd.h> int main(int argc, char *argv[]) { int pid; pid = fork(); if (pid < 0) { /* Błąd!!! */ fprintf(stderr, "Fork Failed"); exit(-1); } else if (pid == 0) { /* proces potomny */ execlp("/bin/ls","ls",null); } else { /* proces rodzicielski */ wait(null); printf("child Complete"); exit(0); } } fork tworzy nowy proces Wywoływana z procesu rodzicielskiego Powracają z niej proces potomny i rodzicielski exec zastępuje obraz bieżącego procesu nowym programem. proces wołający nigdy nie wraca z exec (chyba że powstanie błąd) wait blokuje proces do momentu zakończenia procesu potomnego
52 Zakończenie procesu Zakończenie na własne żądanie. Proces sam podejmuje decyzję o zakończeniu pracy wywołując odpowiednie wywołanie systemowe. (system Unix: exit ). W programie w języku C jest to robione automatycznie po zakończeniu funkcji main Proces został zakończony w wyniku akcji innego procesu Unix: proces otrzymał sygnał SIGKILL. Polecenie kill w shellu, funkcje systemowe raise oraz kill. Proces został zakończony przez system operacyjny Naruszenie mechanizmów ochrony. Przekroczenie ograniczeń na przyznany czas procesora. Proces rodzicielski się zakończył (w niektórych systemach) Cascading termination
53 Wielowątkowość Jeden proces wykonuje się w wielu współbieżnych wątkach (ang. thread). Każdy wątek (inna nazwa: proces lekki, ang. lightweight) Ma swój własny stan (Aktywny, Gotowy, Zablokowany,... ) Ma swoje wartości rejestrów i licznika rozkazów. Ma swój własny stos (zmienne lokalne funkcji!!!). Ma dostęp do przestrzeni adresowej, plików i innych zasobów procesu WSZYSTKIE WĄTKI TO WSPÓŁDZIELĄ!!! Operacje zakończenia, zawieszenia procesu dotyczą wszystkich wątków. Procesy są od siebie izolowane, wątki nie!
54 Procesy i wątki Wątek 1 Licznik rozkazów Rejestry Stos i wskaźnik stosu Stan Proces Przestrzeń adresowa Otwarte pliki Procesy potomne Obsługa sygnałów Sprawozdawczość Zmienne globalne Wątek 2 Licznik rozkazów Rejestry Stos i wskaźnik stosu Stan Wątek 3 Licznik rozkazów Rejestry Stos i wskaźnik stosu Stan
55 Proces z jednym wątkiem Standardowy Unix MS-DOS
56 Proces z wieloma wątkami Linux MS-Windows POSIX OS/2 Solaris
57 Cechy wątków Zalety Utworzenie i zakończenie wątku zajmuje znacznie mniej czasu niż w przypadku procesu Możliwość szybkiego przełączania kontekstu pomiędzy wątkami tego samego procesu Możliwość komunikacji wątków bez pośrednictwa systemu operacyjnego Możliwość wykorzystania maszyn wieloprocesorowych SMP Wady Źle zachowujący się wątek może zakłócić pracę innych wątków tego samego procesu. W przypadku dwóch procesów o odrębnych przestrzeniach adresowych nie jest to możliwe
58 Wątki na poziomie użytkownika ang. user-level threads System operacyjny nie jest świadom istnienia wątków. Zarządzanie wątkami jest przeprowadzane przez bibliotekę w przestrzeni użytkownika. Wątek A wywołuje funkcję read Standardowo funkcja systemowa read jest synchroniczna (usypia do momentu zakończenia operacji) Jednak sprytna implementacja w bibliotece wywołuje wersję asynchroniczną i przełącza się do wątku B. Rozwiązanie to jest szybkie, ma jednak wady: Dwa wątki nie mogą się wykonywać współbieżnie na dwóch różnych procesorach. Nie można odebrać procesora jednemu wątkowi i przekazać drugiemu
59 Wątki na poziomie jądra ang. kernel-level threads Wątek jest jednostką systemu operacyjnego. Wątki podlegają szeregowaniu przez jądro. W systemie SMP wątki mogą się wykonywać na różnych procesorach. Przetwarzanie równoległe. Windows i Linux wykorzystują tę metodę.
60 Przykład użycia wątków: Program do przetwarzania obrazów Użytkownik wydał polecenie Save Jego wykonanie może potrwać kilkadziesiąt sekund. Kto w tym czasie będzie obsługiwał mysz i klawiature? Wątek główny odpowiadający za interakcję z użytkownikiem. Po wydaniu polecenia Save tworzy wątek roboczy zapisujący obraz do pliku. Następnie powraca do konwersacji z użytkownikiem Dzięki temu aplikacja nie jest zablokowana (klepsydra w Win) na czas zapisywania Wątek roboczy wykonuje zapis i kończy pracę. Uwaga na synchronizację wątków!!! Co się stanie gdy po wydaniu polecenia Save natychmiast wydamy polecenie Usuń obraz? Sytuacja wyścigu (ang. race).
61 Problemy z wątkami W standardowej bibliotece C, w wersji wielowątkowej, errno jest implementowane jako prywatna zmienna globalna (nie współdzielona z innymi wątkami) Kilka wątków jednocześnie wywołuje funkcje malloc/free - może dojść do uszkodzenia globalnych struktur danych (listy wolnych bloków pamięci) Potrzeba synchronizacji => może prowadzić do spadku wydajności
62 Problemy z wątkami Proces otrzymuje sygnał: Wszystkie wątki otrzymują sygnał Wybrany wątek otrzymuje sygnał Wątek aktualnie aktywny otrzymuje sygnał Proces wykonuje fork. Czy duplikować jedynie działający wątek, czy też wszystkie wątki? Proces wywołuje exit. Zakończyć proces czy też jedynie aktywny wątek? Anulowanie wątku (ang cancellation). Wykonać natychmiast. Wątek co jakiś czas sprawdza czy nie został anulowany. Standard POSIX zawiera odpowiedzi na powyższe problemy.
63 POSIX threads utworzenie i dołączenie wątku void *thread(void *param) { // tu kod wątku // możemy przekazać wynik return NULL } int main() { pthread_t id; // Parametr przekazywany wątkowi void *param=null; pthread_create(&id,null,&thread,param); // Funkcja thread w odrębnym wątku // współbieżnie z main // id przechowuje identyfikator wątku Funkcja pthread_create tworzy nowy wątek. Rozpoczyna on pracę od funkcji, której adres przekazano jako trzeci argument. Funkcja pthread_join usypia wywołujący ją wątek do momentu, kiedy wątek o identyfikatorze przekazanym jako pierwszy argument zakończy pracę. Zakończenie pracy wątku powrót z funkcji która go rozpoczyna. } void *result; // Czekaj na zakończenie wątku pthread_join(id,&result); // Wynik w result,zamiast &result można // przekazać NULL
Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 3 Procesy i wątki Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci
Bardziej szczegółowoSystemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 127 aragorn.pb.bialystok.pl/~wkwedlo
Systemy operacyjne Wojciech Kwedlo Wydział Informatyki PB, p. 127 wkwedlo@ii.pb.bialystok.pl aragorn.pb.bialystok.pl/~wkwedlo Ten wykład prowadzę pierwszy raz!!! Wojciech Kwedlo, Wykład z Systemów Operacyjnych
Bardziej szczegółowoSystemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 205 aragorn.pb.bialystok.pl/~wkwedlo/dydaktyka.
Systemy operacyjne Wojciech Kwedlo Wydział Informatyki PB, p. 205 w.kwedlo@pb.edu.pl aragorn.pb.bialystok.pl/~wkwedlo/dydaktyka.html Konsultacje: Poniedziałek, Wtorek : 10:15-12:00 Wojciech Kwedlo, Wykład
Bardziej szczegółowoSystemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 205 aragorn.pb.bialystok.pl/~wkwedlo/dydaktyka.
Systemy operacyjne Wojciech Kwedlo Wydział Informatyki PB, p. 205 w.kwedlo@pb.edu.pl aragorn.pb.bialystok.pl/~wkwedlo/dydaktyka.html Konsultacje: Wtorek, Środa: 12:15-13:45, pokój 205 Wojciech Kwedlo,
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ółowoWykład 2. Struktury systemów komputerowych. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 2 Struktury systemów komputerowych Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Uproszczony schemat architektury komputera Procesor, pamięć i urządzenia we-wy podłączone
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ół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ół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ółowoWprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko
Wprowadzenie do systemów operacyjnych mgr inż. Krzysztof Szałajko Co to jest system operacyjny? Co to jest system komputerowy? 2 / 37 Definicja: system operacyjny System operacyjny jest programem pośredniczącym
Bardziej szczegół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ół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ół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ółowoWprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,
Bardziej szczegół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ół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ółowoWprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego
Bardziej szczegółowoSystemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego
Bardziej szczegółowoProcesy 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ółowoSystemy operacyjne. Literatura: A. Silberschatz, J.L. Peterson, P.B. Galwin, Podstawy systemów operacyjnych, WNT, Warszawa 2006
Literatura: A. Silberschatz, J.L. Peterson, P.B. Galwin, Podstawy systemów operacyjnych, WNT, Warszawa 2006 Literatura: W. Stallings, Systemy operacyjne: struktura i zasady budowy, PWN, Warszawa 2006.
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ół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ółowoDefinicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego
Systemy operacyjne wprowadzenie 1 Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na
Bardziej szczegół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ół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ół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ół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ół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 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ółowoSystemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj
Systemy operacyjne wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Plan wykładów 1. Wprowadzenie, 2. Procesy, wątki i zasoby, 3. Planowanie przydziału procesora, 4. Zarządzanie pamięcią operacyjną,
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ółowoSystemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych
Systemy operacyjne Systemy operacyjne Inżynieria obliczeniowa, II rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@agh.edu.pl Wykłady: 7 tygodni po 2 h, s. 209, B-4 Projekty: 2 godziny
Bardziej szczegół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ółowoInformatyka. informatyka i nauki komputerowe (computer science)
Informatyka informacja i jej reprezentacje informatyka i nauki komputerowe (computer science) algorytmika efektywność algorytmów poprawność algorytmów złożoność obliczeniowa, problemy NP-trudne (NP-zupełne)
Bardziej szczegół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ółowoSystem komputerowy. System komputerowy
System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,
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ółowoSystemy operacyjne II
Systemy operacyjne II Wojciech Kwedlo Wydział Informatyki PB, p. 205 wkwedlo@ii.pb.bialystok.pl aragorn.pb.bialystok.pl/~wkwedlo Pracownia specjalistyczna: Wojciech Kwedlo Krzysztof Bandurski Wojciech
Bardziej szczegółowoArchitektura systemu komputerowego
Architektura systemu komputerowego Klawiatura 1 2 Drukarka Mysz Monitor CPU Sterownik dysku Sterownik USB Sterownik PS/2 lub USB Sterownik portu szeregowego Sterownik wideo Pamięć operacyjna Działanie
Bardziej szczegół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ółowoStruktura systemów komputerowych
Struktura systemów komputerowych Działanie systemu komputerowego Struktury WE/WY Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Ogólna architektura systemu Wykład 6, Systemy operacyjne (studia
Bardziej szczegół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ół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ół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ół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ółowoPodstawy informatyki. Izabela Szczęch. Politechnika Poznańska
Podstawy informatyki Izabela Szczęch Politechnika Poznańska SYSTEMY OPERACYJNE 2 Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Klasyfikacja systemów operacyjnych
Bardziej szczegółowoPrezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Bardziej szczegółowoSystemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski
Systemy operacyjne wykład 1- System operacyjny i jego zadania dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 3marca2016r. PLAN WYKŁADU 1 Historia i zadania
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ółowoSystemy operacyjne. Zadania systemu operacyjnego. System komputerowy. Wprowadzenie. Dr inż. Ignacy Pardyka
Systemy operacyjne Zadania systemu operacyjnego Dr inż. Ignacy Pardyka Wykłady: 1. Wprowadzenie 2. Procesy i zarządzanie procesorem 3. Synchronizacja i zarządzanie zasobami 4. Zarządzanie pamięcią 5. Systemy
Bardziej szczegółowoSYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
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ół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ółowoZADANIA SYSTEMÓW OPERACYJNYCH
ZADANIA SYSTEMÓW OPERACYJNYCH Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Zadania systemów operacyjnych Co nazywamy systemem operacyjnym?
Bardziej szczegółowoWprowadzenie do systemów operacyjnych
Wprowadzenie do systemów operacyjnych dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Zadania systemów operacyjnych
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ół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ółowoUrządzenia wejścia-wyjścia
Urządzenia wejścia-wyjścia Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja urządzeń wejścia-wyjścia Struktura mechanizmu wejścia-wyjścia (sprzętu i oprogramowania) Interakcja
Bardziej szczegółowoPodstawy Informatyki Systemy operacyjne
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 2 Zasoby systemu komputerowego
Bardziej szczegółowoSystemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania
Systemy operacyjne Informatyka Stosowana, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 Systemy operacyjne Wykłady:
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ół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ółowoArchitektura i administracja systemów operacyjnych
Architektura i administracja systemów operacyjnych Wykład 1 Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Informacje wstępne Prowadzący
Bardziej szczegółowoPodstawy systemów operacyjnych
Podstawy systemów operacyjnych mgr inż. Szymon Rydzek szymon.rydzek@icis.pcz.pl Literatura Abraham Silberschatz, Peter B. Galvin, Podstawy Systemów operacyjnych, WNT 2000. http://rainbow.mimuw.edu.pl/so/
Bardziej szczegółowoStruktury systemów operacyjnych
Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Cele wykładu 1. Opis usług dostarczanych przez OS
Bardziej szczegółowoSYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz 2009. Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA
SYSTEMY OPERACYJNE PROWADZI: dr inż. Jarosław Bilski Katedra Inżynierii Komputerowej Politechnika Częstochowska Wykład dla kierunku Informatyka 2 ZAJĘCIA: Obowiązkowe Wykład Laboratorium 2 godziny tygodniowo
Bardziej szczegółowoTechnologia informacyjna. Urządzenia techniki komputerowej
Technologia informacyjna Urządzenia techniki komputerowej System komputerowy = hardware (sprzęt) + software (oprogramowanie) Sprzęt komputerowy (ang. hardware) zasoby o specyficznej strukturze i organizacji
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ół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ół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ółowoTemat 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
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ół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ół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ół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ół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ółowoUniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011 http://www.wilno.uwb.edu.
SYLLABUS na rok akademicki 010/011 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr 1(rok)/1(sem) Specjalność Bez specjalności Kod katedry/zakładu
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ół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ółowoArchitektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych dr Artur Bartoszewski Układy we/wy jak je widzi procesor? Układy wejścia/wyjścia Układy we/wy (I/O) są kładami pośredniczącymi w wymianie informacji pomiędzy procesorem
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ółowoPodstawy 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
Bardziej szczegółowo1. Etapy rozwoju systemów komputerowych
1 Sieciowe Systemy Operacyjne Wprowadzenie do wykładu, podstawowe definicje, rola 1 systemu operacyjnego Procesy POSIX, zarządzanie procesami 2 Pliki, komunikacja przez pliki, blokowanie 1 Łącza nazwane
Bardziej szczegółowoMariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1
Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Przedmiot PSCR Przedmiot PSCR Wykład do połowy semestru Laboratorium od połowy semestru Projekt Zaliczenie
Bardziej szczegół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ół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ółowoMetody obsługi zdarzeń
SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału
Bardziej szczegółowoAutor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1
Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego
Bardziej szczegółowoTworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional
Bardziej szczegółowoOpis efektów kształcenia dla modułu zajęć
Nazwa modułu: Projektowanie i użytkowanie systemów operacyjnych Rok akademicki: 2013/2014 Kod: EAR-2-324-n Punkty ECTS: 5 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:
Bardziej szczegółowoSystem operacyjny System operacyjny
System operacyjny System operacyjny (ang. operating system) jest programem (grupą programów), który pośredniczy między użytkownikiem komputera a sprzętem komputerowym. Jest on niezbędny do prawidłowej
Bardziej szczegół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ółowoPrzerwania, polling, timery - wykład 9
SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń
Bardziej szczegółowoIdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com
IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz
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ół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ółowoSystem operacyjny wstęp
System operacyjny wstęp Definicja 1. System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na efektywne współdzielenie urządzeń maszyny cyfrowej. Per Brinch Hansen
Bardziej szczegółowoProcesy 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
Bardziej szczegółowo