Podstawy systemów operacyjnych

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

Download "Podstawy systemów operacyjnych"

Transkrypt

1 Podstawy systemów operacyjnych mgr inż. Szymon Rydzek

2 Literatura Abraham Silberschatz, Peter B. Galvin, Podstawy Systemów operacyjnych, WNT

3 Zakres wykładu I Wprowadzenie, zadania Systemów Operacyjnych, klasyfikacja SO Czym jest system operacyjny Systemy wsadowe, wieloprogramowe SW Systemy z podziałem czasu Systemy dla komputerów osobistych Systemy równoległe i rozproszone Systemy czasu rzeczywistego Struktury systemów komputerowych Działanie systemu komputerowego Struktura wejścia-wyjścia Struktura i hierarchia pamięci Ochrona sprzętowa 3

4 Zakres wykładu II Procesy Pojęcie procesu Planowanie przydziału procesora Synchronizacja i szeregowanie procesów Zakleszczenia Interfejs i implementacja systemu plików Pojęcie pliku Budowa systemu plików Metody przydziału miejsca na dysku, zarządzanie wolną przestrzenią Rekonstrukcja 4

5 Zakres wykładu III Ochrona i bezpieczeństwo Mechanizmy ochrony w systemie UNIX Bit SUID w UNIXie Naruszenia bezpieczeństwa Uwierzytelnianie użytkowników 5

6 Czym jest system operacyjny I System operacyjny jest programem, który pośredniczy pomiędzy użytkownikiem a sprzętem komputerowym. Zadania SO: Ukrywa szczegóły sprzętowe poprzez tworzenie abstrakcji Jednolity dostęp do urządzeń zewnętrznych Zbiory bloków dyskowych widziane jako pliki o symbolicznych nazwach Współbieżne wykonywanie programów Zarządza zasobami Zasoby obiekty niezbędne do wykonywania programu (pamięć, czas procesora, urządzenia we-wy, porty kom.) Ustala strategie przydziału i odzyskiwania dostępu do zasobów (zarządzanie pamięcią, procesami, plikami, urządzeniami) Efektywność zarządzania zasobami decyduje o wydajności wykorzystania sprzętu komputerowego Dostarcza przyjazny interfejs użytkownika 6

7 Czym jest system operacyjny II Użytkownik 1 Użytkownik 2 Użytkownik n Edytor tekstu Gra komputerowa Programy użytkowe Program graficzny System Operacyjny Sprzęt komputerowy (hardware) 7

8 Systemy wsadowe I Do zadań systemów operacyjnych pierwszych komputerów należało automatyczne przekazywanie sterowania od jednego zadania do następnego. Zadania w postaci instrukcji sterujących, danych i programu były przekazywane do komputera za pośrednictwem kart perforowanych. Po pewnym czasie komputer wyprowadzał dane wyjściowe, lub obraz pamięci w przypadku, gdy działanie programu zakończyło się niepowodzeniem. W celu przyspieszenia przetwarzania, operator komputera sortował zadania o podobnych wymaganiach i wprowadzał je do komputera w postaci tzw. Wsadu. Jednostka centralna działająca pod nadzorem systemu wsadowego często pozostawała bezczynna, co wynikało z różnicy szybkości przetwarzania i szybkości wczytywania danych przez mechaniczne urządzenia wejściowe. 8

9 Systemy wsadowe II spool Simultaneous Peripheral Operation On-Line W celu rozwiązania problemu z opóźnieniami operacji we-wy wprowadzono buforowanie (spooling) tych operacji za pomocą dysków magnetycznych. 9

10 Wieloprogramowe systemy wsadowe Szeregowanie zadań (job scheduling) dzięki gromadzeniu zadań na dysku system może tak wybierać następne zadania do wykonania, aby zwiększyć efektywność wykorzystania czasu jednostki centralnej. Planowanie zadań umożliwia wieloprogramowanie system przechowuje w pamięci pewną liczbę zadań. Gdy aktualnie wykonywane zadanie będzie musiało poczekać na jakąś usługę (np. zakończenie operacji we-wy) system przekaże do wykonywania kolejne zadanie z pamięci. Gdy pierwsze zadanie zakończy oczekiwanie, uzyska z powrotem dostęp do procesora. Dopóki w pamięci są zadania do wykonania dopóty jednostka centralna nie pozostanie bezczynna. 10

11 Systemy z podziałem czasu Z punktu widzenia użytkownika podstawową wadą sytemu wieloprogramowego jest brak możliwości ingerencji w aktualnie wykonywany program. Zadanie do wykonania musi być odpowiednio przygotowane, a wyniki uzyskuje się po określonym czasie. Logicznym rozszerzeniem wieloprogramowości jest wielozadaniowość (multitasking). Procesor wykonuje na przemian wiele różnych zadań, przy czym przełączenia między nimi następują tak często, że użytkownicy mogą współdziałać z każdym programem podczas jego wykonania. Interakcyjny system komputerowy umożliwia bezpośredni dialog użytkownika z systemem. Użytkownik wydaje instrukcje systemowi lub programowi i uzyskuje natychmiastowe odpowiedzi. 11

12 Systemy dla komputerów osobistych W systemach operacyjnych dla mikrokomputerów wykorzystuje się wzorce sprawdzone podczas rozwoju systemów dla dużych systemów komputerowych. Przy projektowaniu systemów operacyjnych przeznaczonych dla komputerów osobistych kładzie się nacisk nie na efektywność wykorzystania procesora i zasobów lecz na wygodę użytkowania. W systemach tych szczególnie istotna jest ochrona danych przed niepożądanym dostępem (nieuprawnieni użytkownicy, złośliwe programy wirusy, itd.). 12

13 Systemy równoległe I Obecnie coraz częściej spotyka się systemy wieloprocesorowe, czyli takie, w których pewna liczba procesorów współpracuje ze sobą, dzieląc szynę komputera, zegar a także pamięć i urządzenia zewnętrzne. Zwiększając liczbę procesorów można oczekiwać, że większą ilość pracy da się wykonać w krótszym czasie. Współczynnik przyspieszenia przy n procesorach jest mniejszy od n. Wynika to z faktu, iż podczas współdziałania pewnej liczby procesorów traci się pewną część czasu na koordynację działania poszczególnych jednostek. Systemy wieloprocesorowe zapewniają większą niezawodność w przypadku awarii jednego procesora zadania dzielone są pomiędzy pozostałe (systemy z łagodną degradacją). 13

14 Systemy równoległe II W systemach wieloprocesorowych najczęściej używa się modelu wieloprzetwarzania symetrycznego (symmetric multiprocessing), w którym na każdym procesorze działa identyczna kopia systemu operacyjnego. W zależności od potrzeb kopie te komunikują się ze sobą. W niektórych systemach stosuje się wieloprzetwarzanie asymetryczne (asymmetric multiprocessing) polegające na tym, że każdy procesor ma przypisane różne zadania. Takim systemem zawiaduje procesor główny, a pozostałe procesory oczekują na instrukcje od niego, lub wykonują wcześniej przydzielone zadania. Procesor główny jest odpowiedzialny za planowanie i przydział zadań dla procesorów podporządkowanych. Różnica pomiędzy przetwarzaniem symetrycznym i asymetrycznym może wynikać albo z różnic sprzętowych, albo programowych. 14

15 Systemy rozproszone I W systemach rozproszonych procesory nie dzielą zegara ani pamięci. Każdy procesor ma własną pamięć lokalną. Procesory komunikują się przy pomocy linii komunikacyjnych (szybkich szyn danych, sieci ethernet, linii telefonicznych). Procesory w systemach rozproszonych mogą się znacznie różnić pod względem rozmiaru i przeznaczenia. Mogą być wśród nich mikrokomputery, stacje robocze, czy wielkie systemy komputerowe. Podział zasobów po połączeniu stanowisk o różnych możliwościach użytkownik jednego stanowiska może korzystać z zasobów bądź danych dostępnych na innym stanowisku. Przyspieszenie obliczeń dzielenie obciążenia (load sharing). Jeśli wykonywane zadania można podzielić na zbiór niezależnych obliczeń cząstkowych to system umożliwia współbieżne wykonanie takich obliczeń. 15

16 Systemy rozproszone II Niezawodność w przypadku awarii jednego węzła pozostałe mogą kontynuować pracę przejmując jego zadania. Warunkiem jest istnienie odpowiedniego zapasu danych i zasobów jeżeli awarii ulegnie węzeł odpowiadający (jako jedyny) za operacje wejściawyjścia to unieruchomiony zostanie cały system. Komunikacja użytkownicy sieci mogą swobodnie komunikować się ze sobą a także współdzielić dane. System rozproszony powinien zadbać o odpowiedni podział zadań na niezależne elementy i odpowiedni przydział obliczeń cząstkowych do węzłów (load balancing). 16

17 Systemy czasu rzeczywistego Systemy czasu rzeczywistego (real-time) są stosowane tam, gdzie istnieją surowe wymagania na czas wykonania operacji lub przepływu danych. Systemów takich używa się zazwyczaj jako sterownika w urządzeniu o ściśle określonym celu. Czujniki dostarczają dane do systemu, który analizuje otrzymane dane i w zależności od zaistniałej sytuacji tak reguluje działanie kontrolowanego obiektu aby zmieniły się wskazania wejściowe czujników. System czasu rzeczywistego ma ściśle określone ograniczenia czasowe. Przetwarzanie musi się zakończyć przed upływem wyznaczonego czasu, w przeciwnym wypadku system nie będzie spełniał wymagań. Przykładami systemów real-time mogą być: systemy nadzorowania eksperymentów naukowych, obrazowania badań medycznych, sterowania procesami przemysłowymi, sterowniki urządzeń gospodarstwa domowego i wiele innych. 17

18 Działanie systemu komputerowego Współczesny, uniwersalny system komputerowy składa się z jednostki centralnej (CPU), pewnej liczby sprzętowych sterowników urządzeń połączonych wspólną szyną umożliwiającą komunikację ze wspólną pamięcią. Sterownik pamięci ma za zadanie zapewnić uporządkowany, synchroniczny dostęp do wspólnej pamięci. Podczas rozruchu systemu program rozruchowy (bootstrap program) odpowiada za rozpoczęcie ładowania systemu operacyjnego. Program ten określa stan początkowy wszystkich elementów systemu od rejestrów jednostki centralnej, przez sterowniki urządzeń po zawartość pamięci. W pierwszej kolejności ładowane jest do pamięci jądro systemu operacyjnego, po czym system rozpoczyna wykonanie pierwszego procesu w rodzaju procesu init i oczekuje na wystąpienie jakiegoś zdarzenia. Ważnym elementem systemu operacyjnego jest system obsługi przerwań. 18

19 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. 19

20 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 Odtworzenie stanu procesora może dotyczyć innego procesu niż zapamiętanie. (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 i postanawia przekazać sterowanie procesowi B. Odtworzenie stanu procesu B(przełączenie kontekstu) => powrót z przerwania Wykonuje się proces B 20

21 Sterowniki urządzeń we-wy Sterownik Fragment kodu jądra usytuowany pomiędzy kontrolerem we-wy a resztą jądra. Sterownik komunikuje się z kontrolerem przy pomocy magistrali systemowej. Kontroler komunikuje się z urządzeniem we-wy. 21

22 Obsługa wejścia-wyjścia Synchroniczna i asynchroniczna obsługa wejścia-wyjścia 22

23 Przestrzeń adresowa urządzeń we-wy I Odrębna przestrzeń adresowa dla portów we-wy Specjalne rozkazy we-wy odwołujące się do portów 23

24 Przestrzeń adresowa urządzeń we-wy II Porty we-wy w tej samej przestrzeni adresów, co pamięć. Dostęp do portów we-wy za pomocą tych samych rozkazów, co dostęp do pamięci 24

25 Hierarchia pamięci Im wyżej tym: Mniejszy czas dostępu Większy koszt pamięci 25

26 Wykorzystanie pamięci podręcznych Wykorzystanie szybkiej pamięci do przechowywania najczęściej używanych danych Pamięć podręczna procesora Pamięć 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 26

27 Mechanizmy ochrony 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!!! 27

28 Przykład realizacji ochrony pamięci Rejestry: bazowy i limitu Rejestry te określają zakres dopuszczalnych adresów procesu. B rejestr bazowy L rejestr limitu A adres pamięci, do którego odwołuje się program Jeżeli B A < B + L => w porządku W przeciwnym wypadku generuj przerwanie (obsługiwane przez system operacyjny) Rozkazy zmieniające wartość rejestrów bazowego i limitu są rozkazami uprzywilejowanymi 28

29 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 Dane niezainicjalizowane Stos 29

30 Stany procesu Nowy proces został utworzony. Gotowy proces czeka na przydział procesora. Aktywny wykonywane są instrukcje procesu. W systemie z jednym procesorem w danej chwili jeden proces może być aktywny Oczekujący proces czeka na zdarzenie (np. Zakończenie operacji we-wy) Zakończony proces zakończył działanie 30

31 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 5. (Oczekujący => Aktywny) Zdarzenie na które czekał proces nastąpiło 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) 31

32 Dodatkowy stan zawieszony 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) 32

33 Blok kontrolny procesu 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 33

34 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 wwin32) Proces potomny i rodzicielski wykonują się w tej samej 34 przestrzeni adresowej (clone w Linuksie; wątki Java i POSIX)

35 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) 35

36 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 Operacje zakończenia, zawieszenia procesu dotyczą wszystkich wątków. Procesy są od siebie izolowane, wątki nie!!! 36

37 Procesy i wątki 37

38 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 38

39 Synchronizacja procesów i wątków Potrzeba synchronizacji Procesy wykonują się współbieżnie. Jeżeli w 100% są izolowane od siebie, nie ma problemu. Problem, jeżeli procesy komunikują się lub korzystają ze wspólnych zasobów. Potrzeba utrzymywania wspólnych zasobów w spójnym stanie. Dotyczy także wątków 39

40 Problem sekcji krytycznej Każdy proces ma fragment kodu zwany sekcją krytyczną, w którym może zmieniać wspólne zmienne, aktualizować tablice, pisać do pliku, itd. Ważne jest aby w danym czasie tylko jeden proces wykonywał sekcję krytyczną. Problem polega na skonstruowaniu protokołu, który mógłby posłużyć do organizowania współpracy procesów. Założenia Proces na przemian przebywa w sekcji krytycznej albo wykonuje inne czynności Proces przebywa w sekcji krytycznej przez skończony czas. Rozwiązanie Każdy proces musi prosić o pozwolenie na wykonanie swojej sekcji krytycznej. Fragment kodu realizujący taką prośbę to sekcja wejściowa Po sekcji krytycznej może występować sekcja wyjściowa 40

41 Warunki dla rozwiązania s.k. Wzajemne wykluczanie. W danej chwili tylko jeden proces może być w sekcji krytycznej. Postęp Proces który nie wykonuje sekcji krytycznej nie może blokować procesów chcących wejść do sekcji. Ograniczone czekanie Proces nie może czekać na wejście do sekcji krytycznej w nieskończoność 41

42 Semafor (zliczający) Zmienna całkowita S na której, oprócz nadania wartości początkowej, mogą być wykonane dwie operacje Operacja P (czekaj, wait) Jeżeli S>0 to S:=S-1, w przeciwnym razie wstrzymaj działanie procesu wykonującego tę operacje P(S): while S 0 do nic; S := S - 1; Operacja V(sygnalizuj,signal). Jeżeli są procesy wstrzymane w wyniku operacji P, to wznów jeden z nich, w przeciwnym wypadku S:=S+1 V(S): S := S + 1; Operacje P i V są operacjami atomowymi 42

43 Semafor binarny Zmienna może przyjmować tylko wartość zero lub jeden Operacje mają symbole PB, VB Wartość jeden oznacza, że można wejść do semafora (wykonać PB) Wartość zero oznacza że operacja V wstrzyma proces. Mogą być prostsze w implementacji od semaforów zliczających. Implementacje Mutexy w POSIX threads. W win32 mutexy noszą nazwę sekcji krytycznych W Javie mutex jest związany z każdym obiektem 43

44 Blokada (Zakleszczenie, ang. deadlock) Zbiór procesów jest w stanie blokady, kiedy każdy z nich czeka na zdarzenie, które może zostać spowodowane wyłącznie przez jakiś inny proces z tego zbioru. Samochody nie mają wstecznego biegu = Brak wywłaszczeń zasobów 44

45 Zagłodzenie (ang. starvation) Proces czeka w nieskończoność, pomimo że zdarzenie na które czeka występuje. (Na zdarzenie reagują inne procesy) Przykład: Jednokierunkowe przejście dla pieszych, przez które w danej chwili może przechodzić co najwyżej jedna osoba. Osoby czekające na przejściu tworzą kolejkę. Z kolejki wybierana jest zawsze najstarsza osoba Bardzo młoda osoba może czekać w nieskończoność. Zamiast kolejki priorytetowej należy użyć kolejki FIFO (wybieramy tę osobę, która zgłosiła się najwcześniej) 45

46 Wady semaforów Jeden z pierwszych mechanizmów synchronizacji Generalnie jest to mechanizm bardzo niskiego poziomu Duża podatność na błędy, trudno wykazać poprawność programu Przykład: Jeżeli zapomnimy o operacji V, nastąpi blokada Bardziej strukturalne mechanizmy synchronizacji Regiony krytyczne Monitory 46

47 Regiony krytyczne Współdzielona zmienna v typu T jest deklarowana jako: var v: shared T Dostęp do zmiennej v wykonywany przy pomocy operacji B jest wyrażeniem logicznym region v when B do S Tak długo, jak instrukcja S się wykonuje, żaden inny proces nie może się odwołać do zmiennej v. Jeżeli wyrażenie B nie jest spełnione, to proces jest wstrzymywany do momentu jego spełnienia. 47

48 Przekazywanie komunikatów I Dostarcza dwie operacje send(odbiorca,dane) receive(nadawca,dane) Na ogół wymaga kopiowania danych => możliwy spadek wydajności. Dobra metoda synchronizacji dla systemów rozproszonych. Wydajna realizacja pamięci współdzielonej w systemie rozproszonym jest bardzo trudna 48

49 Przekazywanie komunikatów II Gniazda Wykorzystujące protokół TCP/IP Gniazda domeny Uniksa Biblioteki PVM oraz MPI Zaprojektowane z myślą o obliczeniach równoległych Zdalne wywołanie procedury (ang. remote procedure call, RPC) Zdalne wywołanie metody (ang. remote method invocation, RMI) Kolejki komunikatów w Uniksie Nazwane (i nienazwane) potoki w Uniksie 49

50 Typy operacji send oraz receive Blokujące send i blokujące receive Obydwa procesy są zablokowane do momentu przekazania komunikatu Nazywane spotkaniem (Ada, CSP, Occam, Parallel C) Nieblokujące send i blokujące receive Proces wywołujący send nie musi czekać na przekazanie komunikatu Komunikat umieszczany jest w buforze Nieblokujące send i nieblokujące receive Żaden z pary procesów nie musi czekać na przekazanie komunikatu Operacja receive sygnalizuje brak komunikatu 50

51 Systemy plików Przechowują olbrzymie ilości informacji Przechowywana informacja nie jest tracona po zakończeniu procesu. Czas życia od sekund do lat. Potrzebny jest sposób odnajdywania informacji Wiele procesów musi być w stanie wykorzystywać tę samą informację współbieżnie. 51

52 Atrybuty pliku Nazwa pliku Rozmiar Właściciel Prawa dostępu Czasy (utworzenia/ostatniego dostępu/ostatniej modyfikacji). Hasło Inne informacje, z reguły niedostępne dla programu użytkownika Na przykład informacja o położeniu pliku na dysku 52

53 Operacje na plikach Utworzenie (ang. create) Usunięcie (ang. delete) Otwarcie (ang. open) przygotowanie pliku do dostępu. Zamknięcie (ang. close) wskazanie, że dostęp do pliku nie będzie dalej potrzebny. Odczyt (ang. read). Zapis (ang. write). Wyszukiwanie (ang. Seek) przy dostępie swobodnym. Dołączenie (ang. append) zapis na końcu pliku Odczyt/Zmiana atrybutów (w tym nazwy) 53

54 Katalogi Proste nadawanie nazw nie wystarcza w przypadku tysięcy plików na dysku. Problem: wiele plików o identycznej nazwie, np. różne wersje tego samego programu Ludzie mają tendencję do grupowania informacji związanych ze sobą. Systemy plików umożliwiają to przy pomocy katalogów (ang. directory), zwanych także folderami. Grupowanie pozwala na. Łatwiejsze znalezienie plików. Określenie, które pliki są ze sobą związane. 54

55 Katalog o strukturze drzewa 55

56 Katalog o strukturze grafu acyklicznego 56

57 Implementacja systemu plików Użytkownik, programista aplikacji jest zainteresowany interfejsem do systemu plików udostępnianym przez system operacyjny. Operacje na plikach i katalogach. Projektanta systemu interesuje, jak te operacje mogą zostać zaimplementowane. Jak przechowywać informację o blokach dyskowych zajętych przez plik. Jak szybko odnaleźć i-ty blok danego pliku (operacja seek) Jak przechowywać informacje o wolnych blokach (blokach nie zajętych przez żaden z plików, ale które mogą być przydzielone w przyszłości) Gdzie przechowywać informacje o atrybutach pliku Gdzie przechowywać informacje o strukturze (np. drzewiastej) systemu plików. 57

58 Podział dysku na partycje Bloki rozruchowe (boot blocks) zawierają kod ładujący system operacyjny do pamięci. Każda partycja zawiera odrębny system plików (mogą to być systemy różnych typów). Tablica partycji zawiera informacje o podziale dysku na partycje (początek i koniec) Super blok zawiera informacje ogólne o systemie (np. całkowita liczba bloków danych, całkowita liczba plików) 58

59 Ciągła alokacja bloków danych Każdy plik zajmuje nieprzerwany ciąg bloków. Bardzo szybki odczyt. Bardzo proste zarządzanie informacją o blokach danego pliku wystarczy tylko pamiętać numer pierwszego bloku oraz liczbę bloku. Bardzo szybka operacja seek. 59

60 Wady ciągłej alokacji Może powstać fragmentacja (podobnie jak w przypadku pamięci RAM) a kompakcja w pamięci dyskowej jest bardzo wolna. Musimy z góry znać maksymalny rozmiar pliku przy jego tworzeniu problemy przy zwiększaniu rozmiaru pliku. Powyższe wady sprawiają że ciągła alokacja jest stosowana w systemach plików tylko do odczytu np. ISO9600 dla pamięci CD- ROM. W tym przypadku kompletny system plików, wraz ze wszystkimi plikami jest tworzony przy wypalaniu (wytłaczaniu) płytki. Raz utworzony system plików nie będzie już modyfikowany (w płytkach wielosesyjnych każda sesja to odrębny system plików). Nie ma potrzeby zarządzania wolnymi blokami, uwzględnienia możliwości zwiększenia rozmiaru plików etc. 60

61 Alokacja listowa Ostatnie (dwa, cztery) bajty bloku danych są zarezerwowane na numer następnego bloku. W katalogu przechowywany jest numer pierwszego bloku + numer ostatniego (aby umożliwić rozrost pliku). -1 oznacza ostatni blok pliku. Zaleta: Plikowi możemy przydzielić dowolny blok danych na dysku. Wada: Nie nadaje się do dostępu swobodnego, ponieważ aby wykonać operację seek musimy przeczytać wiele bloków na liście. 61

62 Tablica alokacji plików FAT Odmiana alokacji listowej, w której numery następnych bloków przechowywane są w odrębnej tablicy (FAT). Specjalne znaczniki na blok wolny (w) i ostatni blok pliku (-1). Rozwiązany problem zarządzania wolnymi blokami danych. Tablica może znajdować się (w części lub w całości) w pamięci RAM, co zwiększa wydajność, zwłaszcza operacji seek. 62

63 Tablica alokacji plików FAT c.d. Problem zapewnienia spójności pomiędzy kopią tablicy w pamięci RAM, a oryginałem w pamięci dyskowej. Uszkodzenie tablicy FAT może prowadzić do utraty całego systemu plików. Potencjalnie bardzo duży rozmiar tablicy np. 80MB dla dysku 20GB 63

64 Ochrona (ang. protection) Pojęcie ochrony dotyczy mechanizmu kontrolującego dostęp programów, procesów, i użytkowników do zasobów systemu operacyjnego. Typowe zasoby to pliki i urządzenia Cel ochrony: zapewnienie że każdy komponent systemu używa zasobów zgodnie z zadeklarowaną polityką (ang. policy). Ochrona powinna dostarczać mechanizmy do wymuszania polityki. Mechanizm określa jak coś ma być realizowane (np. bity rwx dostępu do pliku dla właściciela, grupy i całego świata w Uniksie). Polityka określa co ma być realizowane (np. studenci nie mogą zmienić pliku wyniki_egzaminu.txt) Mechanizm powinien być na tyle elastyczny, aby politykę można było zmienić bez konieczności zmiany mechanizmu. Obowiązuje zasada wiedzy koniecznej: Proces powinien mieć dostęp tylko do tych zasobów, do których jest uprawniony, oraz których potrzebuje w danej chwili do zakończenia zadania. 64

65 Bezpieczeństwo System jest bezpieczny, gdy zasoby są używane tak jak jest to (przez system) zamierzone bez względu na okoliczności. System może zapewniać wspaniały mechanizm ochrony gwarantujący, że użytkownik który jest studentem nigdy nie otrzyma praw zapisu do do pliku wyniki_egzaminu.txt, ale Student może się zalogować do systemu jako prof. Kowalski. Student może poprzez złośliwe działanie (np. utwórz procesów, przydziel 10GB pamięci, inne...) zakłócić normalną pracę systemu atak typu denial of service. Student może wystartować z dyskietki własny system operacyjny i uzyskać dostęp do wszystkich plików na dysku twardym Student może wymontować dysk z komputera, wstawić do innego systemu i uzyskać dostęp do wszystkich plików na dysku twardym 65

66 Mechanizmy ochrony w systemie UNIX Superużytkownik (ang. root, superuser) może wszystko Każdy plik ma właściciela w postaci użytkownik.grupa. Użytkownik może należeć do wielu grup. Każdy plik i katalog ma określone uprawnienia do odczytu [r], zapisu [w] oraz wykonania. Uprawnienia są określane osobno dla właściciela grupy oraz pozostałych użytkowników. Np. -rwxr-xr-x 1 adam users plik5 Dla katalogu odczyt jest równoznaczny z przeglądaniem katalogu (ls), zapis z usunięciem albo dodaniem nowej pozycji lub zmianą nazwy a wykonanie z uczynieniem katalogu katalogiem bieżącym. Aby usunąć plik trzeba mieć uprawnienia do pisania w katalogu w którym plik się znajduje. 66

67 Bit suid w UNIXie Pytanie: W czyim imieniu wykonuje się proces załadowany z pewnego programu? Czy w imieniu właściciela programu, czy w imieniu tego użytkownika który uruchomił program? Odpowiedź domyślnie z uprawnieniami użytkownika który uruchomił program. Ale rozpatrzmy program passwd (właściciel root) uruchomiony przez użytkownika wkwedlo w celu zmiany hasła. Oczywiście modyfikacje pliku haseł mogą być wykonane tylko przez superużytkownika. W Uniksie ten problem rozwiązano przez wprowadzenie dodatkowej flagi suid. Plik mający tą flagę wykonuje się z uprawnieniami właściciela. Programy których właścicielem jest root i z bitem suid są potencjalnie olbrzymim źródłem problemów związanych z bezpieczeństwem. Bit suid stosuje się także do katalogów 67

68 Naruszenia bezpieczeństwa Całkowite bezpieczeństwo jest niemożliwe do osiągnięcia - ale należy projektować mechanizmy sprawiające, aby naruszenia były jak najrzadsze. Ogólnie można podzielić na przypadkowe bądź celowe, złośliwe (ang. malicious) - obrona przed złośliwymi jest dużo trudniejsza. Najważniejsze celowe naruszenia to: Nieautoryzowany dostęp do danych lub kradzież informacji. Nieautoryzowana modyfikacja danych. Nieautoryzowane zniszczenie danych. Uniemożliwienie normalnego korzystania z systemu (ang. denial of service, DOS). Niezbędne jest podjęcie niezbędnych środków na poziomie: Fizycznym: kluczyki, kasa pancerna, Ludzkim: świadomość użytkowników, Sieci: Komputery nie są izolowane, możliwość podsłuchu, ukrycia tożsamości, zmiany tożsamości Systemu operacyjnego. 68

69 Uwierzytelnianie użytkowników Jak sprawdzić, czy identyfikator użytkownika jest autentyczny? Istniejące podejścia oparte są na sprawdzeniu wiedzy (hasła), pomiarach biometrycznych (linie papilarne, wzór siatkówki), czy stanu posiadania (np. karty chipowe). Hasła są najpopularniejsza, ale sprawiają wiele problemów. Ludzie wybierają jako hasła słowa łatwe do odgadnięcia (np. swoje imię). Użytkownik może zapisać trudne hasło na kartce i pozostawić w łatwo dostępnym miejscu. Hasła są narażone na ujawnienie w wyniku monitoringu (np. spoglądanie zza ramienia, przechwyt pakietów w sieci (o ile nie są szyforwane)). 69

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Budowa systemów komputerowych

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

Bardziej szczegółowo

Systemy operacyjne. Paweł Pełczyński

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

Bardziej szczegółowo

Wykład 12. Ochrona. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 12. Ochrona. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 12 Ochrona Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Ochrona (ang. protection) Pojęcie ochrony dotyczy mechanizmu kontrolującego dostęp programów,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Działanie systemu operacyjnego

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

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych

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

Bardziej szczegółowo

Proces y i y w i ąt ą ki

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

Bardziej szczegółowo

Działanie systemu operacyjnego

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

Bardziej szczegółowo

Działanie systemu operacyjnego

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr 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ółowo

4. Procesy pojęcia podstawowe

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

Bardziej szczegółowo

projektowanie systemu

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Działanie systemu operacyjnego

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

Bardziej szczegółowo

Zarządzanie procesami i wątkami

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Informatyka. informatyka i nauki komputerowe (computer science)

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

Bardziej szczegółowo

Wykł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 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ółowo

LEKCJA TEMAT: Zasada działania komputera.

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej

Bardziej szczegółowo

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

Systemy 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ółowo

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

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

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

System plików. Warstwowy model systemu plików

System plików. Warstwowy model systemu plików System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:

Bardziej szczegółowo

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 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ą

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

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

Bardziej szczegółowo

Struktura systemów komputerowych

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

Bardziej szczegółowo

Architektura i administracja systemów operacyjnych

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

Bardziej szczegółowo

Systemy operacyjne III

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

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

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

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Procesy, wątki i zasoby

Procesy, wątki i zasoby Procesy, wątki i zasoby Koncepcja procesu i zasobu, Obsługa procesów i zasobów, Cykl zmian stanów procesu i kolejkowanie, Klasyfikacja zasobów, Wątki, Procesy i wątki we współczesnych systemach operacyjnych.

Bardziej szczegółowo

Prezentacja systemu RTLinux

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

Bardziej szczegółowo

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Systemy 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ółowo

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych

Bardziej szczegółowo

Systemy operacyjne III

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

Bardziej szczegółowo

Systemy operacyjne III

Systemy 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ółowo

Wprowadzenie do systemów operacyjnych

Wprowadzenie 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ółowo

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

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

Bardziej szczegółowo

Wprowadzenie do programowania współbieżnego

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Architektura systemu komputerowego

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

Bardziej szczegółowo

Wykład 11. Ochrona + Bezpieczeństwo cz. I. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 11. Ochrona + Bezpieczeństwo cz. I. Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 11 Ochrona + Bezpieczeństwo cz. I Wojciech Kwedlo,Krzysztof Bandurski, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Ochrona (ang. protection) Pojęcie ochrony dotyczy mechanizmu kontrolującego

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Systemy operacyjne III

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko Struktury systemów operacyjnych Usługi, funkcje, programy mgr inż. Krzysztof Szałajko Usługi systemu operacyjnego Wykonanie programu System operacyjny umożliwia wczytanie programu do pamięci operacyjnej

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy Informatyki Systemy operacyjne

Podstawy 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ółowo

Systemy operacyjne. Literatura: A. Silberschatz, J.L. Peterson, P.B. Galwin, Podstawy systemów operacyjnych, WNT, Warszawa 2006

Systemy 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ółowo

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne Synchronizacja procesów Przeplot Przeplot wątków współbieżnych Cel i metody synchronizacji procesów Problem sekcji krytycznej Semafory Blokady 3.1 3.3 Wątki współbieżne Cel i metody synchronizacji procesów

Bardziej szczegółowo

Zarządzanie procesorem

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

Bardziej szczegółowo

Struktury systemów operacyjnych

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

Bardziej szczegółowo

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora) Pamięć operacyjna (main memory) obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora) cykl rozkazowy: pobranie rozkazu z PAO do rejestru rozkazów dekodowanie realizacja

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

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

Bardziej szczegółowo

Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 127 aragorn.pb.bialystok.pl/~wkwedlo

Systemy 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ółowo

Systemy operacyjne system przerwań

Systemy operacyjne system przerwań system przerwań przerwanie: procesor zawiesza wykonanie bieżącego zadania i przechodzi do obsługi przerwania przerwania: maskowalne i niemaskowalne wektor przerwań adres (tablica adresów) kodu obsługi

Bardziej szczegółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4 Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,

Bardziej szczegółowo

Urządzenia wejścia-wyjścia

Urzą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ółowo

Struktury systemów operacyjnych

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

Bardziej szczegółowo

Podstawowe wiadomości o systemach plików.

Podstawowe wiadomości o systemach plików. Podstawowe wiadomości o systemach plików. Komputery mogą przechowywać informacje w kilku różnych postaciach fizycznych na różnych nośnikach i urządzeniach np. w postaci zapisów na dysku twardym, płytce

Bardziej szczegółowo

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

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,

Bardziej szczegółowo

Technologia informacyjna. Urządzenia techniki komputerowej

Technologia 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ółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

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

Bardziej szczegółowo

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz 2009. Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

SYSTEMY 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ółowo

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

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

Bardziej szczegółowo

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe

2013-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ółowo

Wykład 7. Zarządzanie pamięcią

Wykład 7. Zarządzanie pamięcią Wykład 7 Zarządzanie pamięcią -1- Świat idealny a świat rzeczywisty W idealnym świecie pamięć powinna Mieć bardzo dużą pojemność Mieć bardzo krótki czas dostępu Być nieulotna (zawartość nie jest tracona

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Architektura komputerów

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

Bardziej szczegółowo

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 Przetwarzanie wielowątkowe przetwarzanie współbieżne Krzysztof Banaś Obliczenia równoległe 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe)

Bardziej szczegółowo

ZADANIA SYSTEMÓW OPERACYJNYCH

ZADANIA 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ółowo

Systemy rozproszone System rozproszony

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Systemy operacyjne System sieciowy UNIX-a

Systemy operacyjne System sieciowy UNIX-a Systemy operacyjne 29.10.2010 System sieciowy UNIX-a System sieciowy UNIX-a używa potoku umożliwiającego przepływ strumienia bajtów między dwoma procesami i przepływ gniazdek (sockets) dla procesów powiązanych

Bardziej szczegółowo

Systemy operacyjne. Studia podyplomowe Wydział Informatyki PB

Systemy operacyjne. Studia podyplomowe Wydział Informatyki PB Systemy operacyjne Studia podyplomowe 2015-2016 Wydział Informatyki PB dr inż. Marcin Czajkowski materiały przygotowane przez dr inż. Wojciecha Kwedlo Literatura - ogólne pozycje na temat systemów operacyjnych

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci

Bardziej szczegółowo

Jądro systemu operacyjnego

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Procesy, zasoby i wątki

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

Bardziej szczegółowo

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Podstawy 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ółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Dariusz Wawrzyniak Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów Wątki Procesy i wątki we współczesnych systemach operacyjnych Plan

Bardziej szczegółowo

Procesy, zasoby i wątki

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

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna

Bardziej szczegółowo