Podstawy systemów operacyjnych
|
|
- Bartosz Krajewski
- 7 lat temu
- Przeglądów:
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 Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci
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ół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ół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 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ół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ół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ół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ół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ół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ółowoDziałanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć
Bardziej szczegółowoSystemy Operacyjne. 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 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ół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ół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ółowoSystem 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ółowoSystem 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ółowoSystem 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ół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ółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoprojektowanie systemu
projektowanie systemu cel użytkownika: system operacyjny powinien być wygodny, łatwy w użyciu, prosty do nauczenia, niezawodny, bezpieczny i szybki cel producenta: system operacyjny powinien być łatwy
Bardziej szczegół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoang. 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ół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. 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ół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ół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ółowoSystem 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ółowoWykł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ół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ół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ół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ół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ół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 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ół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ół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ół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 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ółowoprocesó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ółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego
Bardziej szczegółowoSystemy 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ół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ółowoSystemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..
Bardziej szczegółowoWprowadzenie do programowania współbieżnego
Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie
Bardziej szczegół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ół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ółowoWykł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ółowodr 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ółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w
Bardziej szczegółowo2.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ółowoStruktury 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ół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ół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. 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ółowoPrzeplot. 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ół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ół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ółowoobszar 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ół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. 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 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ółowoPamięć 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ół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ółowoStruktury 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ółowoPodstawowe 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ół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ół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ół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ół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ółowoMechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Bardziej szczegół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ółowoWykł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ół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ół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ółowoPrzetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1
Przetwarzanie wielowątkowe przetwarzanie współbieżne Krzysztof Banaś Obliczenia równoległe 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe)
Bardziej szczegół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ółowoSystemy rozproszone System rozproszony
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.
Bardziej szczegółowowspółbieżność - zdolność do przetwarzania wielu zadań jednocześnie
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.
Bardziej szczegółowoSystemy 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ółowoSystemy 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ółowoZarzą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ół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ółowoJadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008
Jadro monolityczne vs. mikrojadro 9 grudnia 2008 Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne Aplikacje użytownika wywołania
Bardziej szczegół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ół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ół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ół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ółowoArchitektura 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