pamięć pomocnicza · 2007-02-13 · pamięć pomocnicza 3 planowanie dostĘpu do dysku...
TRANSCRIPT
Pamięć pomocnicza
dr inż. Krzysztof Patan
Instytut Sterowania i Systemów InformatycznychUniwersytet Zielonogó[email protected]
Pamięć pomocnicza
1
WSTĘP
� Struktury danych oraz algorytmy do implementacji interfejsu systemuplików
• implementacja plików• implementacja katalogów• zarządzanie wolnymi obszarami
� Struktura pamięci pomocniczej• algorytmy planowania ruchu głowic – porządek dyskowychoperacji wej-wyj
• formatowanie dysku• zarządzanie blokami rozruchowymi, blokami uszkodzonymi• zarządzanie obszarem wymiany• niezawodność dysków
Pamięć pomocnicza
2
STRUKTURA DYSKU
� Napędy dyskowe adresowane są jako wielkie jednowymiarowe tablice blokówlogicznych
œcie¿ki
sektory
cylinder
p³yta
� Sektor 0 jest pierwszym sektorem na pierwszej ścieżce pierwszego(zewnętrznego) cylindra
� Dalsze odwzorowanie odbywa się po kolei wzdłuż tej ścieżki, następnie wzdłużpozostałych ścieżek cylindra, potem w głąb następnych cylindrów
Pamięć pomocnicza
3
PLANOWANIE DOSTĘPU DO DYSKU
� Ekonomiczne użytkowanie sprzętu, szybki dostęp do dysku, szybsze przesyłaniedanych
� Na czas dostępu mają wpływ:1. czas szukania – czas potrzebny na przemieszczenie ramienia dysku do pozycjiw której głowice ustawiają się w cylindrze zawierającym potrzebny sektor
2. opóźnienie obrotowe – czas zużywany na obrót dysku do pozycji, w którejpotrzebny sektor trafia pod głowicę dysku
� Szerokość pasma – łączna liczba przesłanych bajtów, podzielona przez łącznyczas jaki upływa od pierwszego zamówienia na usługę dyskową do chwilizakończenia ostatniego przesłania
� Wykonując operacje dyskowe w odpowiednim porządku można polepszyćzarówno czas dostępu jak i szerokość pasma
Pamięć pomocnicza
4
� Proces zamawiając operację wej-wyj określa:• czy jest to operacja wejścia czy wyjścia• dyskowy adres przesyłania• adres pamięci operacyjnej dotyczący przesyłania• liczbę bajtów do przesłania
� Gdy napęd i jego sprzętowy sterownik są gotowe do pracy to zamówienie możezostać spełnione natychmiast
� Jeśli napęd czy sterownik są zajęte, to każde nowe zamówienie jest ustawiane wkolejce zamówień oczekujących na usługę
� Problem wyboru zamówienia z kolejki
Pamięć pomocnicza
5
☛ Planowanie metodą FCFS
• najprostsza metoda dostępu do dysku – pierwszy zgłoszony pierwszyobsłużony
• algorytm jest sprawiedliwy, lecz nie zapewnia szybkiej obsługi
Przykład 1.
Rozważmy dyskową kolejkę zamówień na operacje wej-wyj odnoszące się dosektorów w następujących cylindrach: 98, 183, 37, 122, 14, 124, 65 i 67.Zastosować metodę FCFS.
Pamięć pomocnicza
6
Bieżące położenie głowicy: cylinder 53
Kolejka: [98,183,37,122,14,124,65,67]
1
cylindry
20 60 100 140 180
Planowanie dostępu do dysku metodą FCFS
Wady:
• Liczba przewiniętych cylindrów = 640• Gwałtowne wychylenia głowicy 122-14-124
Pamięć pomocnicza
7
☛ Planowanie metodą SSTF
• dąży się do tego, aby w pierwszej kolejności obsługiwać zamówieniasąsiadujące z bieżącym położeniem głowicy
• metoda SSTF – najpierw najkrótszy czas przeszukiwania (ang. shortest seektime first)
• wybiera się zamówienie z minimalnym czasem przeszukiwania względembieżącej pozycji głowicy
Przykład 2.
Rozważmy dyskową kolejkę zamówień z przykładu 1. Rozplanować dostęp dodysku metodą SSTF.
Pamięć pomocnicza
8
Bieżące położenie głowicy: cylinder 53
Kolejka: [98,183,37,122,14,124,65,67]
1
cylindry
20 60 100 140 180
Planowanie dostępu do dysku metodą SSTF
• Liczba przewiniętych cylindrów = 236
Pamięć pomocnicza
9
Zalety
• znaczne polepszenie wydajności
640236
= 2, 71
Algorytm SSTF jest odmianą planowania metodą ”najpierw najkrót-sze zadanie” (SJF)
Wady
• metoda może doprowadzić do zagłodzenia niektórych zamówień
Algorytm SSTF choć wyraźnie poprawia wydajność nie jest jednakalgorytmem optymalnym
Pamięć pomocnicza
10
☛ Planowanie metodą SCAN
• w metodzie SCAN ramię dysku rozpoczyna pracę od jednej krawędzi dysku iprzemieszcza się w kierunku krawędzi przeciwległej obsługując zamówienia zkolejki
• po dotarciu do krawędzi dysku zmienia się kierunek ruchu głowicy• głowica nieustannie przeszukuje (skanuje) dysk tam i z powrotem
Przykład 3.
Rozważmy dyskową kolejkę zamówień z przykładu 1. Rozplanować dostęp dodysku metodą SCAN.
Pamięć pomocnicza
11
Bieżące położenie głowicy: cylinder 53Kolejka: [98,183,37,122,14,124,65,67]
Kierunek ruchu głowicy ←
1
cylindry
20 60 100 140 180
Planowanie dostępu do dysku metodą SCAN
• Liczba przewiniętych cylindrów = 234
• Ważny jest kierunek skanowania; jeśli przyjmiemy kierunek przeciwny dorozważanego w przykładzie 3 to liczba przewiniętych cylindrów wzrośnie do 333
Pamięć pomocnicza
12
• Jeśli w kolejce pojawi się zamówienie odnoszące się do cylindra znajdującego siętuż przed głowicą, to zostałoby zrealizowane natychmiast
• Jeśli w kolejce pojawi się zamówienie odnoszące się do cylindra znajdującego siętuż za głowicą, to zamówienie to musi poczekać, aż głowica dojdzie do końca,zmieni kierunek i wróci
• Algorytm SCAN nazywany jest czasami algorytmem windy� winda jedzie do góry i realizuje po kolei wszystkie zamówienia� winda jedzie w dół realizując napotkane zamówienia
Pamięć pomocnicza
13
☛ Planowanie metodą C-SCAN
• zakłada się równomierne rozkład zamówień na cylindry• kiedy głowica osiąga skrajne położenie i zmienia kierunek to w pobliżugłowicy będzie względnie mało zamówień
• największe zagęszczenie zamówień będzie dotyczyć przeciwległego ”końca”dysku
Pomysł:może przemieścić głowicę w okolice największego zagęszczenia zamó-wień?
• algorytm C-SCAN (ang. circular SCAN – skanowanie cykliczne) jest odmianąalgorytmu SCAN
• algorytm działa podobnie jak metoda SCAN z tą różnicą, że po dojściugłowicy do skrajnego położenia wraca ona natychmiast do przeciwległegopołożenia (bez obsługi zamówień znajdujących się po drodze)
Pamięć pomocnicza
14
Przykład 4.
Rozplanować kolejkę zamówień z przykładu 1 metodą C-SCAN.Bieżące położenie głowicy: cylinder 53Kolejka: [98,183,37,122,14,124,65,67]
Kierunek ruchu głowicy →
1
cylindry
20 60 100 140 180
Planowanie dostępu do dysku metodą C-SCAN
• liczba przewiniętych cylindrów = 383• cylindry traktowane są jako lista cykliczna, w której ostatni cylinder spotyka się zpierwszym
Pamięć pomocnicza
15
☛ Planowanie metodą LOOK
• w metodach SCAN i C-SCAN głowica przemieszcza się z jednego ”końca”dysku do drugiego
• prosta modyfikacja tych metod polega na tym, że nie czeka się aż głowicadojdzie do skraju dysku, czeka się aż głowica osiągnie skrajne zamówienie.
• po zrealizowaniu skrajnego zamówienia głowica natychmiast wykonuje zwrotkierując się w przeciwnym kierunku
• wersje tego algorytmu noszą nazwy odpowiednio LOOK i C-LOOK (metodypatrzą czy w danym kierunku są jeszcze jakieś zamówienia)
Przykład 5.
Rozważmy dyskową kolejkę zamówień z przykładu 1. Rozplanować dostęp dodysku metodami LOOK i C-LOOK.
Pamięć pomocnicza
16
Bieżące położenie głowicy: cylinder 53Kolejka: [98,183,37,122,14,124,65,67]
Kierunek ruchu głowicy ←
1
cylindry
20 60 100 140 180
Planowanie dostępu do dysku metodą LOOK
Bieżące położenie głowicy: cylinder 53Kolejka: [98,183,37,122,14,124,65,67]
Kierunek ruchu głowicy →
1
cylindry
20 60 100 140 180
Planowanie dostępu do dysku metodą C-LOOK
Pamięć pomocnicza
17
WYBÓR ALGORYTMU PLANOWANIA
Jak wybrać najlepszy algorytm planowania dostępu do dysku spośród wieludostępnych?
� metoda SSTF – powszechnie stosowana i naturalna
� metody SCAN i C-SCAN są odpowiedniejsze w systemach z wielką liczbązamówień na operacje dyskowe
� wydajność każdego algorytmu planowania zależy od liczby i rodzaju zamówień.Jeżeli kolejka ma jedno nie obsłużone zamówienie wtedy wszystkie algorytmywygenerują ten sam rezultat. Wszystkie algorytmy sprowadzają się do planowaniametodą FCFS
Pamięć pomocnicza
18
� metody planowania mogą zależeć od metody przydziału pliku• dla pliku o przydziale ciągłym generowany jest ciąg zamówieńodnoszących się do sąsiednich miejsc na dysku – ograniczony ruchgłowicy
• dla pliku o przydziale listowym bądź indeksowym generowany jest ciągzamówień odnoszący się do rozrzuconych miejsc na dysku – większyruch głowic
� równie ważna jest lokalizacja katalogów i bloków indeksowych;przechowywanie katalogów i bloków indeksowych w pamięcioperacyjnej pomaga zmniejszyć ruchy ramienia dysku
� algorytm planowania dostępu do dysku powinien być napisany jakoosobny moduł systemu operacyjnego, który można w raziekonieczności podmienić
Pamięć pomocnicza
19
Problem opóźnienia obrotowego
� nowoczesne dyski nie ujawniają fizycznego położenia bloków logicznych
� producenci dysków implementują algorytmy planowania w sterownikachwbudowanych w sprzęt napędu dysków
� sprzęt realizuje zamówienia przesłane przez system operacyjny w sposóbpoprawiający zarówno czas szukania i opóźnienie obrotowe
� system operacyjny odpowiada za przekazywanie zamówień na operacje dyskowe
� system operacyjny posiada własne algorytmy planowania i dawkuje sterownikowidysku zamówienia, zaś dysk realizuje je tak, aby opóźnienie obrotowe było jaknajmniejsze
Pamięć pomocnicza
20
ZARZĄDZANIE DYSKIEM
Oprócz planowania dostępu do dysku, system operacyjny odpowiada także za:
� przygotowanie dysku do pracy
� rozruch systemu
� postępowanie blokami błędnymi
☛ Formatowanie dysku
• nowy dysk twardy – nie zapisana tablica – krążki z materiału magnetycznego
• formatowanie niskiego poziomu (ang. low level formatting)
Podział dysku na sektory, które sterownik dysku potrafi odczytywać izapisywać oraz umieszczeniu w każdym sektorze specjalnej strukturydanych
Pamięć pomocnicza
21
� Struktura danych sektora:• nagłówek• obszar danych• zakończenie
� Informacje zawarte w nagłówku i zakończeniu• numer sektora• kod korygujący ECC (ang. error–correcting code)
Pamięć pomocnicza
22
� Przetwarzanie ECC• podczas zapisu kod korygujący zostaje uaktualniony za pomocąwartości obliczonej na podstawie bajtów zapisanych w sektorze
• podczas czytania sektora kod korygujący jest obliczany ponownie iporównywany z wartością zapamiętaną
• jeżeli wartości zapamiętana i obliczona są różne – podejrzenieuszkodzenia sektora
• kod ECC jest samokorygujący – w przypadku gdy 1 lub 2 bity danychsą uszkodzone to kod potrafi je wyszukać oraz obliczyć ich poprawnąwartość
• przetwarzanie ECC jest wykonywane automatycznie przez sterownikpodczas każdego pisania czy czytania sektora
Pamięć pomocnicza
23
� Rozmiar obszaru danych• najczęściej wybierane rozmiary: 256, 512, 1024B• używanie większych rozmiarów obszaru danych oznacza że na każdej ścieżceznajdować się będzie mniej sektorów
• mniejsza liczba sektorów oznacza także mniej nagłówków oraz zakończeńsektorów – więcej miejsca dla danych
Aby zastosować dysk do przechowywania danych w postaci plików systemoperacyjny musi na nim umieścić swoje struktury danych
I. Dzielenie dysku na jedną lub więcej grup cylindrów
Każda tak powstała grupa jest tzw. strefą (partycją), którą system operacyjnytraktuje jak osobny dysk
II. Formatowanie logiczne
System operacyjny zapisuje na dysku początkowe struktury danych systemuplików: mapa wolnych i przydzielonych obszarów (tablica alokacji plików),początkowy, pusty katalog
Pamięć pomocnicza
24
☛ Blok rozruchowy
• Komputer zaczynając pracę wykonuje tzw. program wstępny
• Program rozruchowy (ang. bootstrap)� ustawia stan początkowy wszystkich elementów systemu komputerowego:procesora, sterowników urządzeń, zawartości pamięci. Następnie uruchamiasystem operacyjny
� program rozruchowy znajduje jądro systemu na dysku, umieszcza je wpamięci oraz wykonuje skok pod adres początkowy w celu wykonania systemuoperacyjnego
• program rozruchowy przechowuje się w specjalnej części dysku, w strefienazywanej blokiem rozruchowym (ang. boot block)
• dysk ze strefą rozruchową – dysk rozruchowy (ang. boot disk)
Pamięć pomocnicza
25
Przykład 6. Blok rozruchowy z systemie MS-DOS zawiera tylko 512B
Blok rozruchowySektor 0
Sektor 1 Tablica FAT
Katalog g³ówny
Bloki danych
☛ Bloki uszkodzone
• Dyski to delikatne urządzenia bardzo wrażliwe na awarie
• W przypadku awarii zupełnej – wymiana dysku i rekonstrukcja danych znośników awaryjnych
• W większości przypadków występują awarie częściowe – jeden lub więcejsektorów ulega uszkodzeniu
Pamięć pomocnicza
26
Postępowanie z blokami uszkodzonymi
• eliminacja ręczna – dyski IDE� polecenie format: formatowanie logiczne i analiza dysku w poszukiwaniuwadliwych bloków
� polecenie verb: szukanie wadliwych bloków i blokowanie dostępu do nich
• eliminacja automatyczna – dyski SCSI� sterownik dysku utrzymuje wykaz uszkodzonych bloków; wykaz jestuaktualniany przez cały czas eksploatacji dysku
� sterownikowi można nakazać logiczne zastąpienie każdego uszkodzonegosektora za pomocą sektora zapasowego
Pamięć pomocnicza
27
ZARZĄDZANIE OBSZAREM WYMIANY
� Pamięć wirtualna korzysta z przestrzeni dyskowej jako rozszerzenia pamięcigłównej
� Dostęp do dysku jest znacznie wolniejszy niż do pamięci głównej, więczastosowanie obszaru wymiany ma duży wpływ na wydajność systemu
Cel:
Umożliwienie najlepszej przepustowości systemowej pamięci wirtual-nej
☛ Umiejscowienie obszaru wymiany
Obszar wymiany może znajdować się w dwu miejscach:
1. w systemie plików
2. w oddzielnej strefie dyskowej
Pamięć pomocnicza
28
☛ Obszar wymiany jako jeden wielki plik w systemie plików
� Do utworzenia pliku wymiany, nazwania, przydzielenia mu miejsca na dyskumożna użyć zwykłych procedur systemu plików
Zalety:
• podejście łatwe do realizacjiWady:
• mała wydajność; praca z systemem plików, przeszukiwanie katalogu orazstruktur danych jest czasochłonne i wymaga dodatkowych operacjidyskowych
• fragmentacja zewnętrzna może znacznie wydłużyć czas wymiany –wielokrotne przeszukiwanie podczas czytania lub zapisywania procesu
� Poprawa wydajności – przechowywanie podręczne w pamięci operacyjnejinformacji o położeniu bloków wymiany w odrębnej strefie dyskowej
Pamięć pomocnicza
29
☛ Obszar wymiany w oddzielnej strefie dyskowej
� W strefie przeznaczonej na obszar wymiany nie montuje się żadnego systemuplików, ani nie buduje struktury katalogów
� Do przydzielania i zwalniania bloków stosuje się zarządcę pamięci obszaruwymiany
� Zarządca pamięci nie optymalizuje zużycia pamięci, lecz korzysta zalgorytmów optymalizujących czas przesyłania danych pomiędzy dyskiem apamięcią operacyjną
� Wzrasta fragmentacja wewnętrzna, lecz jest to do przyjęcia gdyż w obszarzewymiany dane pozostają znacznie krócej niż pliki w zwykłym systemie plików
� Podejście powoduje utworzenie obszaru wymiany o stałym rozmiarze• zwiększenie obszaru wymiany wymaga powtórnego podziału dysku na strefy• przemieszczenie i zniszczenie danych z innych stref; odtwarzanie danychtych stref z kopii zapasowych