sesja zima 11 SO sciagi

System operacyjny, składowe komputera, systemy wsad. Ochrona cpu, sr. Obliczeniowe, przerwania, caching, DMA, składowe SO, zarz. We/wy

-----------------------------------

System operacyjny–program, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym.

Zadania systemu operacyjnego:

•Zarządzanie zasobami komputera: procesory, pamięć, urządzenia wejścia-wyjścia, porty komunikacyjne itd.

•Ukrywanie szczegółów sprzętowych przez tworzenie abstrakcyjnych obiektów (maszyn wirtualnych).

•Tworzenie środowiska, w którym użytkownik może wydajnieiwygodniewykonywać programy.

Składowe systemu komputer.

•Sprzęt(ang.hardware)–dostarcza podstawowe zasoby systemu komputerowego: procesor (jednostka centralna,, ang. centralprocessing unit–CPU), pamięć, urządzenia wejścia-wyjścia (WE/WY) itd.

•System operacyjny–nadzoruje i koordynuje posługiwanie się sprzętem przez różne programy aplikacyjne (użytkowe) pracujące na zlecenie różnych użytkowników.

•Programy aplikacyjne(kompilatory, systemy baz danych, gry komputerowe, programy dla biznesu) –określają sposoby użycia zasobów systemu do rozwiązywania zadań stawianych przez użytkowników.

•Użytkownicy(ludzie, maszyny, inne komputery).

Proste systemy wsadowe(Simple Batch Systems)

􀂙Konieczne zatrudnienie operatora (użytkownik ≠operator).

􀂙Użytkownik przygotowuje zadanie (na kartach perforowanych) i przekazuje je operatorowi.

􀂙Operator uruchamia zadanie i wyniki zwraca użytkownikowi.

􀂙Skrócenie czasu ustawiania (set-up) przez grupowanie podobnych zadań.

􀂙Automatyczne porządkowanie zadań –automatyczne przekazywanie sterowania od jednego zadania do drugiego.

􀂙Wprowadzenie kart sterujących w celu rozróżniania zadań itd.

☺Zalety –większa przepustowość!

􀀯Wady –niska wydajność:

•długi czas obiegu zadania;

•szybki procesor i wolny czytnik kart (drukarka) pracujące naprzemian.

Spooling: Metoda nakładania operacji WE/WY jednego zadania na obliczenia drugiego zadania.

Wieloprogramowe systemy wsadowe

􀂾Wiele zadań rezyduje w tym samym czasie w pamięci, a procesor jest im odpowiednio przydzielany (współbieżność);

􀃖Np. gdy wykonujące się zadanie potrzebuje zaczekać na jakąś usługę (np. WE/WY), to uruchamiane jest inne.

􀂾Niezbędne cechy systemu operacyjnego:

•Szeregowanie zadań –decydowanie, które zadania z puli zadańmają być załadowane do pamięci operacyjnej.

•Zarządzanie pamięcią –system musi alokować pamięć dla wielu zadań.

•Planowanie przydziału procesora (CPUscheduling) –system musi wybrać do uruchomienia jedno spośród wielu zadań w pamięci.

•Ochrona zadań na wszystkich etapach pobytu w systemie.

•Alokowanie urządzeń, dostarczanie procedur WE/WY.

☺Zalety:Wydajne wykorzystanie zasobów (CPU, pamięć operacyjna, urządzenia zewnętrzne).

􀀯Wady:

􀂃Użytkownik nie może ingerować w zadanie w trakcie jego wykonywania, np. reagować na błędy kompilacji, nie może na bieżąco testować programu itd.

􀂃Długi obieg zadania –od złożenia programu do odebrania wyników.

Ochrona jednostki centralnej (CPU CPU)

•Czasomierz(timer)–generuje przerwania po wyznaczonym okresie aby zapewnić systemowi operacyjnemu utrzymanie kontroli.

􀂃Licznik czasomierza jest zmniejszany przy każdym tyknięciu zegara.

􀂃Kiedy licznik osiągnie wartość zero pojawia się przerwanie.

•Czasomierz jest zwykle używany do realizacji podziału czasu.

Środowiska obliczeniowe (Computing Environments Environments)

􀂙Tradycyjne obliczenia

•W przeszłości typowymi środowiskami obliczeniowymi były: przedsiębiorstwo, instytucja, biuro, czy pojedynczy komputer; komunikacja zdalna była utrudniona.

•Wraz z rozwojem sieci przewodowych i bezprzewodowych oraz technologii WWW środowiska obliczeniowe stają się coraz bardziej rozproszonei globalne.

􀂙Obliczenia oparte na WWW (Web-based computing)

•Rozpowszechnienie WWW sprawiło, że coraz więcej coraz bardziej różnorodnych urządzeń ma do niego dostęp: PC, PDA, telefony komórkowe itd.

•Środowisko obliczeniowe WWW zwiększyło znaczenie łączności sieciowej w odniesieniu do urządzeń sprzętowych oraz systemów operacyjnych.

•Powstała nowa kategoria urządzeń: balansery obciążeń(load balancers)–rozdzielają połączenia sieciowe w ramach puli podobnych serwerów.

􀂙Obliczenia wbudowane(embeddedcomputing)

•Najbardziej rozpowszechnionymi formami komputerów są komputerywbudowane, np. w samochodach, robotach produkcyjnych, magnetowidach, kuchenkach mikrofalowych, systemach alarmowych itd.

•Ich celem jest na ogół wykonywanie bardzo specjalizowanych funkcji.

•Komputery wbudowane działają często pod nadzorem wbudowanych systemów czasu rzeczywistego.

•Systemy operacyjne tego typu urządzeń mają dość ograniczone możliwości.

􀀨Zastosowania oraz możliwości systemów wbudowanych stale się zwiększają!

Mechanizm przerwań

•Przerwanieprzekazuje sterowanie do procedury obsługi przerwania, zwykle poprzez wektor przerwańzawierający adresy wszystkich procedur obsługi (stosowane np. w systemach UNIX, MS-DOS).

•W architekturze przerwań trzeba uwzględniać przechowywanie adresu przerwanego rozkazu.

•Podczas obsługi jednego przerwania inne przerwania są wyłączone, aby uchronić przed jego utratą.

•Przerwanie generowane przez oprogramowanie nazywa się pułapką (trap)–może być spowodowane przez jakiś błąd (np. dzielenie przez zero) lub na życzenie użytkownika.

•System operacyjny (SO) przechowuje stan CPU zapamiętując zawartość rejestrów i licznika rozkazów.

•SO ustala rodzaj przerwania przy pomocy: odpytywania(polling)lub wektorowego systemu przerwań.

•Oddzielne segmenty kodu określają działania, jakie należy podjąćdla każdego typu przerwania.

•Nowoczesne systemy operacyjne są sterowane przerwaniami(interrupt driven).

Przechowywanie podręczne (Caching Caching)

􀂙Stosowaniepamięci podręcznej(cache)–kopiowanie informacji, która może być potrzebna (np. CPU), do szybszego systemu pamięci na okres przejściowy.

􀂾Gdy potrzebny jest jakiś fragment informacji, najpierw sprawdza się, czy nie ma go w pamięci podręcznej –jeżeli nie, to się go do niej sprowadza.

􀀹Zarządzanie pamięcią podręczną (cache management)jest ważnym zagadnieniem projektowym odnośnie sprzętu oraz systemów operacyjnych –odpowiedni dobór wielkości pamięci podręczneji polityki zastępowaniaw niej informacji może sprawić, że 80 –95%wszystkich dostępów będzie odnosić się do pamięci podręcznej.

Struktura DMA •Używana dla szybkich urządzeń WE/WY zdolnych do transmisji danych z szybkością zbliżoną do szybkości pamięci operacyjnej (np. dyski, sieci komunikacyjne).•Sterownik urządzenia przesyła blok danych między własnym buforem a pamięcią –bez interwencji procesora.•Przerwanie jest generowane na cały blok danych, a nie po każdym przesłanym bajcie (jak dla powolnych urządzeń WE/WY).•Działanie:􀂃SO wybiera bufor z kolejki buforów do przesłania.􀂃Moduł obsługi urządzenia(device driver)ustawia w rejestrach DMA adresy źródła i celu oraz długość transmisji.􀂃Sterownik DMA otrzymuje rozkaz do zainicjowania operacji WE/WY.􀂃Podczas transmisji danych procesor może wykonywać inne zadania.􀂃Po zakończeniu operacji sterownik DMA wysyła procesorowi przerwanie.☺Duża szybkość operacji WE/WY.􀀯Sterownik DMA „kradnie” cykle pamięci procesorowi, co może spowalniać jego działanie.

Składowe systemu operacyjnego

􀂃Zarządzanie procesami.

􀂃Zarządzanie pamięcią operacyjną.

􀂃Zarządzanie plikami.

􀂃Zarządzanie systemem wejścia-wyjścia.

􀂃Zarządzanie pamięcią pomocniczą.

􀂃Praca sieciowa.

􀂃System ochrony.

􀂃System interpretacji poleceń.

Zarządzanie systemem WE/WY

•Jednym z celów systemu operacyjnego jest ukrywanie przed użytkownikiem (czasem też przed większością samego systemu operacyjnego) szczegółów dotyczących sprzętu, m.in. WE/WY.

􀂾Wiele systemów ma specjalnepodsystemy WE/WY..

•System WE/WYskłada się z: 􀂃Systemu zarządzania pamięcią: buforowanie, przechowywanie podręczne, spooling;

􀂃Ogólnego interfejsu do modułów sterujących urządzeń;

􀂃Modułów sterujących (programów obsługi) dla poszczególnych urządzeń sprzętowych.

Uslugi i funkcje SO, VM, rozruch systemu, procesy, probl. Pord-kons. Watki

----------------------------------

Usługi systemu operacyjnego

•Wykonywanie programów–zdolność systemu operacyjnego do ładowania programów do pamięci i ich wykonywania.

•Operacje WE/WY–ponieważ program użytkownika nie może bezpośrednio wykonywać operacji WE/WY, system operacyjny musi dostarczać środki do ich wykonywania.

•Manipulowanie systemem plików–programy muszą mieć możliwość czytania i pisania w plikach, a także tworzenia i usuwania plików przy użyciu ich nazw.

•Komunikacja–wymiana informacji między procesami wykonywanymi albo w tym samym komputerze albo w różnych systemach komputerowych.

􀂾Zaimplementowana za pomocą pamięci dzielonej(sharedmemory) lub techniki przekazywania komunikatów (messagepassing).

•Wykrywanie błędów–zapewnienie poprawnego przebiegu obliczeń poprzez wykrywanie i obsługę błędów w działaniu CPU i pamięci, w urządzeniach WE/WY lub programach użytkownika.

Dodatkowe funkcje SO:

•Przydzielanie zasobów–alokacja zasobów do wielu użytkowników i wielu wykonywanych zadań.

•Rozliczanie–przechowywanie i śledzenie informacji o tym, którzy użytkownicy i w jakim stopniu korzystają z poszczególnych zasobów.

•Ochrona–zapewnienie nadzoru nad wszystkimi dostępami do zasobów systemu. Ważne jest również bezpieczeństwo (security) systemu wobec niepożądanych czynników zewnętrznych.

Maszyna wirtualna (virtual machine) jest logiczną konkluzją podejścia warstwowego; traktuje sprzęt i funkcje systemowe jakby należały do tego samego poziomu –maszyny.

•Maszyna wirtualna tworzy interfejs identycznyz podstawowym sprzętem (wirtualna kopia komputera).

•SO tworzy złudzenie wielu procesów pracujących na swych własnych procesorach z własną (wirtualną) pamięcią.

•Zasoby fizycznego komputera są dzielone w celu utworzenia maszyn wirtualnych.

Zalety/Wady maszyn wirtualnych

☺Koncepcja maszyn wirtualnych dostarcza pełną ochronę zasobów systemowych, gdyż każda maszyna wirtualna jest całkowicie odizolowana od innych maszyn wirtualnych.

☺System maszyn wirtualnych stanowi znakomitą platformę do badań i rozwoju systemów operacyjnych (rozwój systemu operacyjnego dokonuje się na maszynie wirtualnej zamiast na fizycznej maszynie, a zatem nie zaburza normalnego działania systemu).

􀀯Koncepcja maszyny wirtualnej jest trudna do implementacji –zrealizowanie dokładnejkopii maszyny bazowej wymaga sporego wysiłku.

􀀯Wzajemna izolacja maszyn wirtualnych uniemożliwia bezpośrednie dzielenie zasobów (można wprowadzić komunikację poprzez wirtualną sieć, czy system dzielonych dysków wirtualnych, tzw.minidysków).

􀀯Mniejsza wydajność (procesor musi obsługiwać wiele maszyn wirtualnych –przełączanie kontekstu).

Rozruch systemu

•W momencie rozruchu systemu rejestr rozkazów jest ładowany z predefiniowanego miejsca pamięci, w którym znajduje się początkowy program rozruchowy (initial bootstrap program).

•Program rozruchowymoże wykonywać różnorodne zadania, jak np. diagnostyka komputera, inicjalizacja wszystkich składowych systemu –od rejestrów CPU po sterowniki urządzeń i zawartość pamięci operacyjnej; wcześniej czy później uruchamia on system operacyjny.

•Małe systemy operacyjne, np. urządzeń typu PDA, czy telefony komórkowe, mogą w całościznajdować się w pamięci ROM.

•Aby umożliwić zmianę kodu rozruchowego bez konieczności wymiany kości pamięci ROM, niektóre systemy korzystają z pamięci EPROM (erasable programmable read-only memory), która normalnie jest tylko do odczytu, ale przy pomocy specjalnej komendy można uczynić ją zdolną do zapisu.

•W przypadku dużych systemów operacyjnych(np. Windows, Mac OS X, UNIX)sam system operacyjny znajduje się na dysku–program rozruchowy czyta i uruchamia kod z bloku rozruchowego(boot block)znajdującego się w ustalonym miejscu na dysku (np. blok zerowy), ten kod z kolei najczęściej znajduje na dysku resztę programu rozruchowego, który uruchamia system.

•Dysk z partycją rozruchową nazywa się dyskiem rozruchowym(bootdisk)lub dyskiem systemowym(system disk).

Stan procesu

•Wykonujący się proces zmienia swój stan (state). Każdy proces może się znajdować w jednym z następujących stanów:

􀂃Nowy:proces został utworzony;

􀂃Aktywny: są wykonywane instrukcje;

􀂃Oczekiwanie: proces czeka na wystąpienie jakiegoś zdarzenia (np. zakończenie operacji WE/WY);

􀂃Gotowy: proces czeka na przydział procesora;

􀂃Zakończony: proces zakończył działanie.

•W każdej chwili w procesorze tylko jedenproces może być aktywny, ale wiele procesów może być gotowych do działania lub czekających.

Planiści (Schedulers Schedulers)

•Planista (program szeregujący) –program systemowy wybierający procesy z kolejek.

􀂃Planista długoterminowy (long-term scheduler) lubplanista zadań (job scheduler) –wybiera procesy z puli zadań (zwykle na dyskach) i ładuje do pamięci operacyjnej (do kolejki procesów gotowych).

􀂾Wywoływany jest rzadziej (sekundy, minuty) –może być wolny.

􀂾Nadzoruje stopień wieloprogramowości, tj. liczbę procesów w pamięci (bardzo ważne dla wydajności systemu komputerowego).

􀂃Planista krótkoterminowy (short-term scheduler) lub planista przydziału procesora (CPU scheduler) –wybiera jeden proces spośród procesów gotowych do wykonania i przydziela mu

Problem Producenta-Konsumenta

•Proces producent (producer) wytwarza informacje, które zużywa proces konsument (consumer) –popularny wzorzec współpracujących procesów (np. program drukujący wytwarza znaki, które są pobierane przez program obsługi drukarki).

•Potrzebny jest bufor, który może być zapełniany przez producenta, a opróżniany przez konsumenta:

􀂃Bufor nieograniczony (unbounded buffer) –brak praktycznych ograniczeń na rozmiar bufora;

􀂃Bufor ograniczony (bounded buffer) –ma ustaloną długość.

•Bufor może być dostarczony przez system operacyjny przez mechanizm komunikacji międzyprocesowej(IPC)lub stworzony przez programistę w pamięci dzielonej.

•Procesy producenta i konsumenta muszą podlegać synchronizacji, aby wszystkie jednostki „towaru” mogły być wiernie przekazane od producenta do konsumenta.

Wątki ((ThreadsThreads))•Wątek (thread), zwany także procesem jest podstawową jednostką wykorzystania CPU –posiada: licznik rozkazów, zbiór rejestrów i obszar stosu.•Wątek dzieli wraz z innymi równorzędnymi wątkami: sekcję kodu, sekcję danych oraz zasoby systemowe (pliki, sygnały) –łącznie nazywa się to zadaniem.•Tradycyjny proces, tzw. ciężki (heavy-weight), jest równoważny zadaniu z jednym wątkiem.•Zadanie nic nie robi, jeśli nie ma w nim ani jednego wątku; wątek może przebiegać dokładnie w jednym zadaniu.•Zalety wątków:☺Dzielenie zasobów sprawia, ze przełączanie między wątkami oraz tworzenie wątków jest tanie w porównaniu z procesami ciężkimi.☺Oszczędne wykorzystanie zasobów –dzięki ich współużytkowaniu.☺Współpraca wielu wątków pozwala zwiększyć przepustowość i poprawić wydajność (np. jeśli jeden wątek jest zablokowany, to może działać inny).☺Wykorzystanie architektury wieloprocesorowej (każdy wątek na innym CPU).

Planisci, eksedytor dyspozytor, FCFS, SJF, Plan. Woeloprocesor. Algorytm piekarni, semafor, probl. 5 filoz. Zakleszczenia, Nakladki

----------------------------------

Planista przydziału procesora (CPU scheduler) wybiera jeden spośród gotowych do wykonania procesów w pamięci i przydziela mu procesor.

•Decyzje o przydziale procesora mogą zapadać kiedy proces:

1.przeszedł od stanu aktywnoścido stanu czekania;

2.przeszedł od stanu aktywnoścido stanu gotowości;

3.przeszedł od stanu czekaniado stanu gotowości;

4.kończydziałanie.

•Planowanie, które odbywa się tylko w sytuacjach 1i 4 jest planowaniem niewywłaszczającym(nonpreemtive) lub inaczej: szeregowaniem bez wywłaszczania–kandydatem do przydziału procesora musi być nowy proces (np. MS Windows 3.1).

•Każdy inny rodzaj planowania jest wywłaszczający (preemtive), zwany też szeregowaniem z wywłaszczaniem; kandydatem do przydziału jest również dany proces (np. UNIX).

􀂾Wymaga wsparcia sprzętowego (np. czasomierz), a także ochrony danych (zwłaszcza danych jądra) i synchronizacji procesów.

Ekspedytor lub dyspozytor (dispatcher) –moduł, który faktycznie przekazuje procesor do dyspozycji procesu wybranego przez planistę krótkoterminowego.

•Obowiązki ekspedytora to:

􀂃przełączanie kontekstu;

􀂃przełączanie do trybu użytkownika;

􀂃wykonanie skoku do odpowiedniej komórki w programie użytkownika w celu wznowienia działaniaprogramu.

Algorytm FCFS:

•Najprostszy algorytm planowania przydziału procesora –algorytm „pierwszy zgłoszony –pierwszy obsłużony”

Algorytm „najpierw najkrótsze zadanie” (shortest-job-first –SJF) –przydziela CPU procesowi mającemu najkrótszą następną fazę procesora.

•Możliwe są dwa schematy:

􀂃Niewywłaszczający: żaden proces nie jest wywłaszczany podczas wykonywania fazy procesora.

􀂃Wywłaszczający: bieżący proces jest wywłaszczany przez nowy proces, którego następna faza procesora jest krótsza o pozostałej częścifazy procesora bieżącego procesu.

􀂾Schemat ten zwany jest planowaniem „najpierw najkrótszy pozostały czas”

Algorytm planowania rotacyjnego (round-robin –RR) jest podobny do algorytmu FCFS, ale w celu przełączania procesów dodano w nim wywłaszczaniei cykliczną kolejkę.

Planowanie wieloprocesorowe

􀂾W systemach wieloprocesorowychplanowanie przydziału CPU jest bardziej skomplikowane.

A.Systemy homogeniczne (identyczne procesory):

􀂃Dzielenie obciążeń(load sharing) –wszystkie procesy trafiają do jednej kolejki i są przydzielane do dowolnego z dostępnych procesorów.

􀂃Struktura „master-slave”–jeden procesor pełni funkcję planisty dla pozostałych procesorów.

􀂃Wieloprzetwarzanie asymetryczne(asymmetric multiprocessing)–jeden procesor (serwer główny)wykonuje planowanie, operacje WE/WY i inne czynności systemowe; pozostałe wykonują tylko kod użytkowy.

B.Systemy heterogeniczne (różne procesory) –planowanie dedykowane dla danego systemu.

Szkodliwa rywalizacja

•Szkodliwa rywalizacja (race condition) –sytuacja, w której kilka procesów współbieżniesięga po te same dane i wykonuje na nich działania, wskutek czego wynik zależy od porządku, w jakim następował dostęp do danych.

•Aby ustrzec się przed szkodliwą rywalizacją, współbieżność procesów musi być synchronizowana.

Problem sekcji krytycznej

•Weźmy n procesów rywalizujących o dostęp do wspólnych (dzielonych) danych.

•Każdy proces ma segment kodu zwany sekcją krytyczną (critical section), w którym może korzystać ze wspólnych danych.

•Problem:Należy zapewnić, że kiedy jeden proces wykonuje sekcję krytyczną, wówczas żaden inny proces nie jest dopuszczany do wykonywania swojej sekcji krytycznej.

Algorytm piekarni (Bakery algorithm)

Sekcja krytyczna dla nprocesów:

•Przed wejściem do sekcji krytycznej proces otrzymuje numer.

•Posiadacz najmniejszego numeru wchodzi do sekcji krytycznej.

•Jeżeli procesy P_ii P_j otrzymały ten sam numer oraz i < j, to P_ibędzie obsłużony najpierw.

•Schemat numerowania generuje niemalejące ciągi kolejnych liczb naturalnych, tzn. 1,2,3,3,3,4,5,5,..

Semafor (semaphore) –pierwszy mechanizm synchronizacyjny w językach wysokiego poziomu (Dijkstra, 1965):

􀂃semaphore –abstrakcyjny typ danych;

􀂃semaphore S;–zmienna semaforowa o wartościach całkowitych ≥0.

Problem pięciu filozofów

•Pięciu filozofówsiedzi przy wspólnym okrągłym stolei myśli. Co jakiś czas filozofowiemuszą się posilić. Przed każdym filozofemstoi talerz, a obok talerza widelec. Na środku stołu stoi półmisek z rybą. Rybę należy jeść dwoma widelcami, więc filozofmoże zacząć jeść tylko gdy będzie miał obok siebie dwa wolne widelce. Po spożyciu posiłku filozofodkładaoba widelcena stół i zatapia się w myśleniu.

Monitor –konstrukcja stosowana w językach wysokiego poziomu do synchronizacji; umożliwiająca bezpieczne dzielenie danych abstrakcyjnego typu między współbieżnymi procesami.

Zakleszczenie może powstać wtedy, kiedy w systemie spełnione są jednocześnie cztery warunki:

1.Wzajemne wykluczanie: Tylko jeden proces może używać zasobu w tym samym czasie (zasób niepodzielny).

2.Przetrzymywanie i czekanie: Proces mający jeden zasób czeka na przydział dodatkowych zasobów będących w posiadaniu innych procesów.

3.Brak wywłaszczeń: Zasoby nie podlegają wywłaszczaniu.

4.Czekanie cykliczne: Istnieje zbiór czekających procesów {P0,P1,...,Pn}, takich że P0czeka na zasób przetrzymywany przez P1, P1czeka nazasób przetrzymywany przez P2, ..., aPnczeka na zasób przetrzymywany przez P0

Logiczna i fizyczna przestrzeń adresowa Logiczna adresowa•Adresy logiczne (wirtualne) –adresy generowane przez CPU.•Adresy fizyczne –adresy widziane przez jednostkę pamięci.•Adresy logiczne i fizyczne są:􀂃takie same–w schematach wiązania adresów podczas kompilacjii ładowania;􀂃różne–w schematach wiązania adresów podczas wykonywania.

Konsolidacja dynamiczna

Konsolidacja statyczna–systemowe biblioteki języków programowania są traktowane jak każdy inny moduł wynikowy i dołączane przez program ładujący do binarnego obrazu programu.

􀀯Marnotrawstwo pamięci operacyjnej oraz przestrzeni dyskowej.

•Konsolidacja dynamiczna (dynamic linking)–konsolidacja jest opóźniona do czasu wykonania programu.

􀂃W miejscu odwołania bibliotecznego w obrazie binarnym znajduje się zakładka (stub)(namiastka procedury) –mały fragment kodu wskazujący jak odnaleźć w pamięci lub załadować z dysku odpowiedni podprogram.

􀂃Zakładkawprowadza na swoje miejsce adrespotrzebnego podprogramu i powoduje jego wykonanie.

􀂃Wymaga wsparcia ze strony sytemu operacyjnego–sprawdzanie czy podprogram biblioteczny jest w obszarach pamięci procesów oraz zezwalanie by wiele procesów miało dostęp do tych samych adresówpamięci.

☺Lepsze wykorzystanie pamięci operacyjnej oraz przestrzeni dyskowej.

☺Szczególnie użyteczna dla bibliotek, np. aktualizacja bibliotekinie wymaga ponownej konsolidacji korzystających z niej programów→biblioteki

Nakładki Przechowywanie w pamięci tylko tych rozkazów i danych, które są stale potrzebne.•Inne rozkazy i dane są wprowadzane w miarę zapotrzebowania –na miejsca zajmowane przez rozkazy czy dane już zbyteczne. ☺Możliwość uruchamiania procesu o rozmiarze większym od przydzielonego mu obszaru pamięci.☺Nie wymagają specjalnego wsparcia ze strony systemu operacyjnego, mogą być w całości implementowane przez użytkownika.􀀯Projektowanie i programowanie nakładek jest skomplikowane →obecnie dość ograniczone w użyciu.

Wymiana, dyn podz pamięci, pamięć wirtualna, podzial ramek, atrybuty pliku, metody dostepu, mont sys plikow, porty we/wy, przerwania

-----------------------------------

Wymiana ((SwappingSwapping))•Proces może być tymczasowo odesłanyz pamięci operacyjnej do pamięci pomocniczej, a po jakimś czasie sprowadzony z powrotemw celu kontynuacji wykonywania.•Do wymiany potrzebna jest pamięć pomocnicza (backing store) –jest nią na ogół szybki dysk:􀂃Musi być wystarczająco pojemny, aby pomieścić kopie obrazów pamięci wszystkich użytkowników.􀂃Musi umożliwiać bezpośredni dostęp do tych obrazów pamięci.

Dynamiczny przydział pamięci

􀂾Jak na podstawie listy wolnych dziur spełnić zamówienie na obszar o rozmiarze n?

•Pierwsze dopasowanie (first-fit): Przydziela się pierwsządziurę o wystarczającej wielkości. Szuka się od początku wykazu dziur lub od miejsca zakończenie ostatniego szukania.

•Najlepsze dopasowanie (best-fit): Przydziela sięnajmniejsząz dostatecznie dużych dziur. Zapewnia najmniejsze pozostałości, ale wymaga przeszukiwania całej listy.

•Najgorsze dopasowanie (worst-fit): Przydziela się największądziurę. Wymaga przeszukania całej listy, pozostawia po przydziale największą dziurę (może być bardziej przydatna niż wiele małych).

Pamięć wirtualna jest techniką, która umożliwia wykonywanie procesów, pomimo że nie są one w całości przechowywane w pamięci operacyjnej. Pozwala stworzyć abstrakcyjnąpamięć główną w postaci olbrzymiej, jednolitej tablicy i odseparowaćpamięć logicznąod pamięci fizycznej.

Przydział ramek

•Minimalna liczba ramek:Istnieje minimalna liczba ramek, które muszą być przydzielone procesowi –zdefiniowana jest przez architekturę logiczną komputera.

􀂾Liczba ramek musi być wystarczająca do pomieszczenia wszystkich stron, do których może odnosić się pojedynczy rozkaz (niektóre rozkazy mogą zawierać wiele poziomów adresowania pośredniego).

•Algorytmy przydziału ramek:

􀂃Przydział równy (equalallocation): Każdy proces dostaje tyle samo ramek, np. Jeżeli mamy 100 ramek i 5 procesów, to dajemy każdemu po 20 ramek.

􀂃Przydział proporcjonalny (proportional allocation): Każdemu procesowiprzydziela się liczbę ramek proporcjonalnie do jego rozmiaru.

􀂃Przydział priorytetowy (priority allocation): Liczba przydzielanych ramek jest proporcjonalna do priorytetu procesu albo do kombinacji rozmiaru i priorytetu (proces o wyższym priorytecie dostaje więcej ramek).

•Globalny lub lokalny przydział ramek:

􀂃Zastępowanie globalne:Proces może wybierać ramki do zastąpienia ze zbioru wszystkichramek –jeden proces może odebrać ramkę drugiemu.

􀂃Zastępowanie lokalne: Proces może wybierać ramki tylko z własnegozbioru przydzielonych ramek →gorsza przepustowość, rzadziej stosowane.

Atrybuty pliku

•Nazwa –symboliczna nazwa pliku jest jedyną informacją przechowywaną wpostaci czytelnej dla człowieka (niektóre systemy rozróżniają wielkie i małe litery, inne zaś nie).

•Identyfikator –pole o niepowtarzalnej wartości, zwykle liczbowej; wyodrębnia plik w całym systemie (jest to nazwa pliku w postaci nieczytelnej dla człowieka).

•Typ –informacja potrzebna w systemach, w których rozróżnia się typy plików.

•Lokacja –wskaźnik do urządzenia i położenia pliku na tym urządzeniu.

•Rozmiar –atrybut zawierający bieżący rozmiar pliku (w bajtach, słowach lub blokach); może też zawierać maksymalny dopuszczalny rozmiar pliku.

•Ochrona –informacje kontroli dostępu, służące do sprawdzania, kto może plik czytać, zapisywać, wykonywać itd.

•Czas, data i identyfikator użytkownika –dane o czasie utworzenia pliku, ostatniej modyfikacji, ostatnim użyciu itp.

Metody dostepu Dostęp sekwencyjny (sequential access) –informacje w pliku są przetwarzane sekwencyjnie, jeden rekord za drugim; najpowszechniejszy rodzaj dostępu (np. edytory, kompilatory).

Dostęp bezpośredni (direct access) –plik składa się z rekordów logicznych o stałej długości, które mogą być przetwarzane bez jakiegokolwiek porządku (tzn. bezpośrednio):􀂃Operacje czytania i pisania typu: czytaj n; pisz n;gdzie n jest numerem bloku –zwykle tzw. numerem względnym bloku(relative block number), tzn. indeksem względem początku pliku.􀂃Przy pomocy dostępu bezpośredniego można łatwo symulować dostęp sekwencyjny; symulacja w drugą stronę jest bardzo nieefektywna.•Dostęp indeksowy (indexed access) –z plikiem związany jest indeks zawierający wskaźniki do bloków pliku; dla dużych plików wprowadza się podwójne indeksowanie, tzn. pierwotny indeks zawiera wskaźniki do wtórnego indeksu.

Montowanie systemu plików Montowanie plików•Zanim system plików stanie się dostępny dla procesów musi zostaćzamontowany (mounted).•Procedura montażu:􀂃Systemowi operacyjnemu podaje się nazwę urządzenia oraz punkt montażu (mountpoint), tzn. miejsce w strukturze plików, do którego należy przyłączyćsystem plików; na ogół jest to pusty katalog.􀂃System operacyjny sprawdza, czy urządzenie zawiera właściwy system plików (przy pomocy modułu obsługi urządzenia).􀂃Na koniec system operacyjny zaznacza w swojej strukturze katalogowej zamontowanie pliku w określonym punkcie montażu.

Ochrona (protection) systemu plików przed niewłaściwym dostępem jest jednym z podstawowych zagadnień związanych z przechowywaniem informacji w systemie komputerowym.

Implementacja systemu plików

􀀹Do realizacji systemu plików używanych jest kilka struktur, które przechowywane są w pamięci dyskowej i operacyjnej.

•Struktury utrzymywane na dysku:

􀂃Blok sterujący rozruchem(boot control block) –zawiera informacje potrzebne do rozruchu systemu operacyjnego z danej partycji.

􀂃Blok sterujący partycji(partition control block) –zawiera szczegóły dotyczące partycji: liczba i rozmiar bloków, wskaźniki do blokówFCB itd.

􀂃Struktura katalogowaużywana do organizowania plików.

􀂃Blok kontrolny pliku–zawiera szczegóły dotyczące pliku; w systemie UNIX nazywany jest i-węzłem (inode).

Port wejścia wyjścia składa się zwykle z czterech rejestrówo następujących nazwach i funkcjach:

􀂃Stan (status) –zawiera bity wskazujące stany urządzenia: zakończenie bieżącego polecenia, dostępność bajta do czytania w rejestrze danych WE i wykrycie błędu w urządzeniu; bity te mogą być czytane przez procesor główny.

􀂃Sterowanie (control) –może być zapisywany przez procesor główny w celu rozpoczęcia polecenia lub zmiany trybu pracy (np. ustalanie długości słowa, sprawdzanie parzystości itd.).

􀂃Dane wejściowe (data-in) –jest czytany przez procesor główny w celu pobrania informacji z urządzenia.

􀂃Dane wyjściowe (data-out) –jest zapisywany przez procesor główny przy wysyłaniu danych.

Przerwania ((InterruptsInterrupts))•Osprzęt procesora ma ścieżkę zwaną linią zgłaszania przerwań.•Do obsługi przerwania służy specjalna procedura obsługi przerwania (interrupt handler).•Schemat podstawowego mechanizmu przerwania:􀂃Sterownik urządzenia zgłasza przerwanie za pomocą sygnału podawanego w linii zgłaszania przerwania.􀂃Procesor przechwytujeprzerwanie i ekspediujeje do procedury obsługi przerwania.􀂃Procedura obsługi czyściprzerwane, obsługując urządzenie

Bezpośredni dostęp do pamięci

􀀹Programowane wejście-wyjście (programmed I/O –PIO) –procesor sprawdza bity stanu i przekazuje dane sterownikowi po jednym bajcie.

􀀯Zastosowanie PIO do urządzenia transmitującego wielkie ilości informacji jest bardzo nieefektywne (zabiera sporo czasu procesora głównego).

Strumien, stukt. Dysku,, plnowanie dostępu do dysku, blk rozruchowy, pamięć trwala

---------------------------------

Strumień (stream) systemu UNIX w wersji V jest jedno-kierunkowympołączeniem między modułem sterującym a procesem poziomu użytkownika –składa się z:􀂃Czoła strumienia (stream head) –interfejs z procesem użytkownika.􀂃Zakończenia modułu sterującego (driver end) –nadzoruje urządzenie.􀂃Dowolnej liczbymodułów strumienia (stream modules)między czołem strumienia a jego zakończeniem.

Struktura dysku •Dysk jest adresowany jako wielka, jednowymiarowa tablica bloków logicznych.•Blok logiczny jest najmniejszą jednostką przesyłania, zazwyczaj ma rozmiar 512 B(może być też większy).•Jednowymiarowa tablica bloków logicznychjest sekwencyjnie odwzorowana na sektorydysku.􀂃Sektor 0jest pierwszym sektoremna pierwszej ścieżcenajbardziej zewnętrznego cylindra.􀂃Dalsze odwzorowanie przebiega po kolei wzdłuż tej ścieżki, następnie wzdłuż pozostałych ścieżek cylindra, a potem w głąb następnychcylindrów–od zewnątrz do środka.•Nowoczesne dyski są organizowane w grupy cylindrów(zones of cylinders) –liczba sektorów na ścieżce jest stała dla grupy i jest tym większa im grupa jest bardziej na zewnątrz.

Planowanie dostępu do dysku

•System operacyjny jest odpowiedzialny za wydajne użytkowanie sprzętu –w odniesieniu do napędów dyskowych oznacza to szybki dostęp do dysku i szybkie przesyłanie danych dyskowych.

•Główne składowe czasu dostępudo dysku:

􀂃Czas wyszukiwania (seek time) –czas potrzebny na przemieszczenie ramienia dysku do pozycji, w której głowice ustawiają się na cylindrze zawierającym szukany sektor.

􀂃Opóźnienie obrotowe (rotational latency) –czas zużywany na obrót dysku dysku do pozycji, w której sektor trafia pod głowicę dysku.

•Szerokość pasma (bandwidth) dysku –łączna liczba przesłanych bajtów podzielona przez łączny czas, jaki upływa od pierwszego zamówienia na usługę do chwili zakończenia ostatniego przesłania.

Blok rozruchowy •Komputer rozpoczynając pracę wykonuje wstępny program rozruchowy (bootstrap):􀂃Program ten ustawia stan początkowy wszystkich elementów systemu (procesor, pamięć, sterowniki urządzeń itd.).􀂃Następnie uruchamia system operacyjny –znajduje jądro na dysku, ładuje je do pamięci i wykonuje skok pod adres początkowy by rozpocząć jego wykonywanie.•Najczęściej program rozruchowy jest przechowywany w pamięci tylko odczytywalnej (read-only memory –ROM).☺Pamięć ROMjest łatwa do zlokalizowania (nie zmienia swojego miejsca) i nie jest narażona na zainfekowanie wirusem (jest tylko do odczytu).􀀯Zmiana kodu programu rozruchowego wymaga wymiany układów scalonych.

Pamięć trwała (stable storage) –pamięć, która nigdy nie traciprzechowywanych w niej informacji (ważna dla baz danych!).

•Do implementacji przybliżenia takiej pamięci należy zastosować zwielokrotnienie informacjina wielu urządzeniach pamięci (zwykle dyskach), niezależnych od siebie pod względem awaryjności.

•Zapisywanie uaktualnień powinno być skoordynowane tak, aby awaria pojawiająca się w trakcie aktualizacji nie powodowała uszkodzenia wszystkich kopii.

•Usunięcie skutków awarii powinno umożliwić przywrócenie wszystkim kopiom wartości spójnych i poprawnych, nawet gdyby w trakcie rekonstrukcji doszło do następnej do awarii.


Wyszukiwarka

Podobne podstrony:
sesja zima 11 aisd sciagi
sesja zima 11 PI sciagi
zarządzanie produkcją (11 str), ŚCIĄGI Z RÓŻNYCH DZIEDZIN, zarzadzanie
sesja zima 2010-2011 v17.01
pkmiu zadania 1 2 3 4 6 7 8 10 11 12, ściągi III OP
EGZAMIN GENETYKA sesja zima 08lekarski
sesja 28.11.2009, Rok 2012, Channeling, Kasjopeanie, Transkrypty sesji channelingowych
rygory sesji zima 11 12, nauka o materialach-wykład
Wprowadzenie do tematyki autyzmu sylabus ZIMA 11 12
specjalizacja kardiologiczna test sesja jesienna 11
zarządzanie finansami przedsiębiorstw (11 str), ŚCIĄGI Z RÓŻNYCH DZIEDZIN, zarzadzanie
finanse zima 11-12, Prawo Finansowe
Zagadnienia Zarz Proc Stacj Zima 11 12 1
Pytania egzam, sesja letnia 11
chemia srodowiska 97-2003, SESJA ZIMA 2013, Chemia Naumczyk
pytania-analiza, SESJA ZIMA 2013, Analiza Nawalany
ort zima 11 id 340469 Nieznany
Endokryny zima 11
Tata Steel 5015 11 So acorta distancias

więcej podobnych podstron