Architektura:
1. Definicja architektury komputera i algorytmu.
Architektura komputera jest zdefiniowana przez atrybuty komputera widoczne dla programisty piszącego program w języku maszynowym
Definicja ta obejmuje:
-listę instrukcji;
-format instrukcji;
-kody operacji;
-tryby adresowania;
Oraz wszystkie rejestry i relacje pamięci które mogą być bezpośrednio modyfikowane prze programy napisane w języku maszynowym.
Algorytm skończony ciąg reguł które aplikuje się na skończonej liczbie danych pozwalając rozwiązywać zbliżone do siebie klasy problemów.
Każdy algorytm
-posiada dane wejściowe pochodzące z dobrze zdefiniowanego zbioru;
-produkuje pewien wynik;
-jest precyzyjnie zdefiniowany(każdy krok jest jednoznaczny);
-jest skończony;
2. Pojęcie implementacji sprzętowej.
Implementacja sprzętu jest zdefiniowana prze rzeczywistą strukturę sprzętu organizację układów logicznych i organizacje dróg przepływu danych.
3. Co to jest bit co to jest bajt. Jaka jest zależność bit -bajt.
Bit jest to ilość(najmniejsza) informacji potrzebnych do określenia który z dwóch równie prawdopodobnych stanów przyjął układ. Wartość bita oznaczona jest poprzez liczbę dwójkową (0,1).
Bajt jednostka służąca do mierzenia ilości informacji. Jednostką informacji może być jeden znak lub litera. Jeden bajt składa się z 8 bitów. 8 bitów to liczby w systemie bin od 00000000 do 11111111, czyli od 00 do FF w szesnastkowym, czyli od 0 do 255 w dziesiętnym.
4. Przykłady „rodzin” systemów operacyjnych.
Windows - rodzina systemów stworzona przez firmę Microsoft. Jej początki sięgają roku 1985, kiedy to został zaprezentowany interfejs graficzny (jeden z pierwszych) na MS-DOS, czyli poprzednim produkcie firmy z Redmond. To najpopularniejsza rodzina systemów operacyjnych zarówno w Polsce, jak i na świecie.
Linux - to rodzina darmowych systemów stworzona przez m.in. Linusa Torvaldsa. Jest to system podobny do UNIXa. Jest wygodny jeśli chodzi o zadania związane z internetem.
MAC OS - system wydany przez firmę Apple (pierwsza wersja w 1984 roku). Wykorzystywała graficzny interfejs.
5. Co to jest system operacyjny i za co odpowiada.
System operacyjny jest szczególnym rodzajem programu, którego zadaniem jest koordynowanie pracy wszystkich urządzeń wchodzących w skład komputera i zainstalowanych na komputerze programów. Inaczej System operacyjny jest to oprogramowanie zarządzające sprzętem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.
Najważniejsze zadania systemu operacyjnego:
- planowaniem oraz przydziałem czasu procesora poszczególnym zadaniom,
- kontrolą i przydziałem pamięci operacyjnej dla uruchomionych zadań,
- dostarcza mechanizmy do synchronizacji zadań i komunikacji pomiędzy zadaniami,
- obsługuje sprzęt oraz zapewnienia równolegle wykonywanym zadaniom jednolity, wolny od interferencji dostęp do sprzętu.
6. Co najmniej 5 funkcji systemów operacyjnych.
- Gromadzenie danych na dyskach i zarządzanie nimi. Każdy system operacyjny jest wyposażony w moduł obsługujący system plików.
- Wielozadaniowość. Na jednym komputerze może działać wiele aplikacji jednocześnie.
- Interakcja z użytkownikiem. Tę rolę spełnia zewnętrzna warstwa systemu, nazywana powłoką (shell), która umożliwia użytkownikowi uruchomienie aplikacji. W środowiskach graficznych do tej części systemu zalicza się również standardowe elementy interfejsu wykorzystywane przez aplikacje.
- Komunikacja z innymi maszynami. To jeden z najważniejszych elementów systemu. Dzięki modułom obsługującym sieć mamy dostęp zarówno do Internetu, jak i do dysków komputera stojącego na sąsiednim biurku lub do drukarki sieciowej.
- Zarządzanie zasobami maszyny. System operacyjny optymalizuje wykorzystanie poszczególnych urządzeń wchodzących w skład komputera oraz steruje nimi.
7. Podział i przykłady zasobów systemów komputerowych.
Przykłady zasobów: procesor, pamięć, plik (dane) itp.
Podział zasobów:
Ze względu na sposób wykorzystania:
- zasoby odzyskiwalne
- zasoby nieodzyskiwalne
• Ze względu na sposób odzyskiwania:
- zasoby wywłaszczalne,
- zasoby niewywłaszczalne.
• Ze względu na tryb dostępu:
- współdzielone,
- wyłączne.
8. Cechy współczesnych systemów operacyjnych.
Cechy współczesnych systemów operacyjnych
- wielodostęp
- wielozadaniowość
- wielowątkowość
- wieloprzetwarzanie symetryczne SMP
- uruchamianie zadań w łagodnym czasie rzeczywistym
- pamięć wirtualna
- wirtualny system plików VFS
obsługa różnych typów rzeczywistych systemów plików
- obsługa różnych protokołów sieciowych
- implementacje na różne platformy sprzętowe
32-bitowe i 64-bitowe
- budowa modularna jądra
Co to jest proces.
Proces jest elementarną jednostką pracy(aktywności) zarządzaną przez system operacyjny która ubiega się o zasoby systemu komputerowego w celu wykonania programu.
Stany cechy i rodzaje procesów.
Stany procesu:
Nowy - proces jest tworzony.
Wykonywany - wykonywane są instrukcje programu.
Oczekujący - proces oczekuje na jakieś zdarzenie np. na zakończenie operacji wejścia - wyjścia na przydział dodatkowego zasobu, synchronizuje się z innymi procesami.
Gotowy- proces czeka na przydział procesora.
Zakończony - proces zakończył działanie i zwalania zasoby.
Wielowątkowość - cecha systemu operacyjnego, dzięki której w ramach jednego procesu może wykonywać kilka wątków lub jednostek wykonawczych. Nowe wątki to kolejne ciągi instrukcji wykonywane oddzielnie. Wszystkie wątki tego samego procesu współdzielą kod programu i dane.
Wielowątkowość może także odnosić się do samych procesorów. W takim wypadku oznacza możliwość jednoczesnego wykonywania wielu wątków sprzętowych na pojedynczej jednostce wykonawczej - rdzeniu. Wielowątkowość w procesorach możliwa jest dzięki temu, że nie wszystkie części jednostki wykonawczej są w jednakowym stopniu wykorzystywane przez pojedynczy wątek (ciąg instrukcji). Nieaktywne części jednostki wykonawczej mogą w tym czasie wykonywać inny wątek zwiększając efektywność wykorzystania całego procesora. W zależności od rodzaju technik zastosowanych do obsługi dodatkowych wątków sprzętowych spotyka się od 2 (najczęściej) do nawet 8 wątków sprzętowych na pojedynczy rdzeń procesora (core).
Struktury systemów operacyjnych.
Użytkownik |
||
Powłoka Shell |
Programy użytkowe |
Programy systemowe |
API |
||
Jądro(kernel) |
||
Programy obsługi sprzętu |
||
Sprzęt |
13. Krótka charakterystyka warstw w systemach operacyjnych.
W systemie operacyjnym można wyróżnić trzy podstawowe warstwy:
· warstwę API (interfejsu aplikacji);
· warstwę jądra;
· warstwę sterowników urządzeń.
Warstwa API
Warstwa ta stanowi zbiór poleceń, które aplikacje użytkownika mogą wydawać systemowi operacyjnemu (na przykład: „zamknij plik”, „odczytaj znak z klawiatury”). Warstwa API (ang. Application Program Interface) pełni rolę pośrednika między systemem operacyjnym a programami użytkownika. Dzięki temu program nie musi troszczyć się na przykład o obsługę procesu otwierania czy zamykania pliku.
Warstwa jądra
Warstwa będąca zarządcą całego systemu. Jest ona odpowiedzialna między innymi za prawidłowe wykorzystanie pamięci operacyjnej, kontrolę priorytetów wątków, nadzór nad aktualnie wykonywanymi programami itd.
Warstwa sterowników urządzeń
Warstwa sterowników urządzeń zajmuje się fizyczną obsługą konkretnych urządzeń systemu komputerowego. Jądro systemu operacyjnego nigdy samodzielnie nie kontaktuje się z takimi urządzeniami jak napędy dyskowe, karty sieciowe czy kartą graficzną. Zawsze pośrednikiem w tych kontaktach jest warstwa sterowników urządzeń. Warstwa sterowników urządzeń składa się z niewielkich programów zwanych sterownikami urządzeń. Programy te zajmują się obsługą konkretnych urządzeń. Dzięki takiej budowie systemu operacyjnego łatwo jest modyfikować i zmieniać urządzenia i ich oprogramowanie bez konieczności zmiany całego systemu operacyjnego.
Co to jest system plików (z punktu widzenia użytkownika).
System plików - metoda przechowywania i zarządzania plikami. Dzięki temu użytkownik systemu ma do nich łatwy i swobodny dostęp.
Różnice między windowsowym a unixowym systemem plików z punktu widzenia użytkownika.
FAT 32 (Windows 95 OSR2, Windows 98, Windows ME): wykorzystuje adresowanie 32-bitowe daje możliwość zaadresowania 2 do potęgi 32 czyli 4 294 967 296 jednostek alokacji maksymalna pojemność dysku to 2 TB (w praktyce 127 GB) maksymalny rozmiar partycji to 32 GB rozmiar jednostek alokacji większy niż 4 KB a mniejszy niż 32 KB kompatybilność tylko z nowszymi systemami Windows rozrastanie tablicy alokacji fragmentacja w trakcie modyfikowania i kasowania plików trwa dłużej niż w systemie FAT 16 tworzenie, kasowanie i modyfikacja plików pociąga za sobą zmiany w tablicy FAT.
NTFS (Windows NT, Windows 2000, Windows XP, Windows Vista): system plików nowej generacji standardowo używany w systemach Windows NT i jego następcach zaprojektowany pod kątem pracy z wieloma użytkownikami daje możliwość zaadresowania 2 do potęgi 64 jednostek alokacji maksymalna pojemność dysku to 16 EB (w praktyce 2 TB) prawa dostępu do plików i katalogów system zarządzania zapisem i odczytem danych księgowanie czyli mechanizm, który zwiększa bezpieczeństwo systemu oraz skraca do minimum czas sprawdzania systemu plików po awarii możliwość szyfrowania danych możliwość kompresji danych "w locie" możliwość przydzielania przestrzeni każdemu użytkownikowi osobno.
Ext3 (dystrybucje Linuksa): nowoczesny, stabilny oraz dobrze przetestowany system plików oparty na systemie ext2 wysoka wydajność dzięki przeciwdziałaniu fragmentacji maksymalny rozmiar partycji to 32TB maksymalny rozmiar pliki to 2TB dobrze zdefiniowany sposób dodawania rozszerzeń niezależny od tworzącego systemu operacyjnego obsługa dziurawych plików automatyczne sprawdzanie systemu po awarii oraz co określony czas niska wydajność dla bardzo małych plików journaling, czyli mechanizm księgowania, który zwiększa bezpieczeństwo systemu oraz skraca do minimum czas sprawdzania systemu plików po awarii indeksowane katalogi zapis synchroniczny.
Przykłady rodzajów systemów plików w systemach operacyjnych : Windows linux unix.
FAT w DOS-ie,
NTFS w Microsoft Windows NT
ext/ext2/ext3 i ReiserFS/Reiser4 w Linuksie
17. Co to jest ścieżka dostępu do pliku. Cechy ścieżek względnych i bezwzględnych.
Ścieżka dostępu - zapis informujący, na którym dysku twardym (a konkretnie, na jakiej literze napędu) i w którym katalogu i podkatalogu znajduje się dany plik.
bezwzględne: Podając ścieżkę bezwzględną nie musimy nad niczym się zastanawiać, ponieważ podawana wartość jest zawsze prawdziwa.
względne: Podając względną musimy najpierw ustalić , gdzie znajdujemy się w danym momencie i podać ścieżkę względem tego położenia. Na rysunku poniżej katalog piotr znajduje się w katalogu domowy home.
18. Budowa partycji FAT
Bootsector - to zawsze pierwszy sektor partycji, zawiera podstawowe informacje o partycji, między innymi:
-wielkość partycji
-wielkość sektora (w bajatach)
-ilość sektorów w klastrze
-typ partycji (np. FAT32)
-ilość kopi tablicy FAT
-wskaźniki do innych danych
-kod ładujący system operacyjny
19. Zawartość tablicy FAT
FAT12 |
FAT16 |
FAT32 |
Znaczenie |
0x000 |
0x0000 |
0x0000000 |
Wolny klaster |
0x001 |
0x0001 |
0x0000001 |
Zarezerwowany klaster |
0x002 - 0xFEF |
0x0002 - 0xFFEF |
0x0000002 - 0xFFFFFEF |
Używany klaster, gdy nie jest ostatnim klastrem pliku, wartość wskazuje na następny klaster pliku |
0xFF0 - 0xFF6 |
0xFFF0 - 0xFFF6 |
0xFFFFFF0 - 0xFFFFFF6 |
Wartości zarezerwowane |
0xFF7 |
0xFFF7 |
0xFFFFFF7 |
Uszkodzony klaster |
0xFF8 - 0xFFF |
0xFFF8 - 0xFFFF |
0xFFFFFF8 - 0xFFFFFFF |
Koniec pliku |
20. Zależność klaster - sektor.
Klaster dyskowy- w systemie plików podstawowa jednostka przechowywania danych, składająca się z jednego lub kilku sektorów nośnika danych.
Systemy plików, z powodu ograniczeń związanych z maksymalną liczbą bloków na dysku, łączą sektory w bloki zwane klastrami. Stanowią one logiczne jednostki zapisu.
21. Porównanie zawartości partycji FAT i NTFS.
NTFS |
FAT |
Komputer z systemem Windows 2000, Windows XP lub produktem z rodziny Windows Server 2003 może uzyskiwać dostęp do plików znajdujących się na lokalnej partycji NTFS. Komputer z systemem Windows NT 4.0 z dodatkiem Service Pack 5 lub nowszym ma dostęp do niektórych plików. Inne systemy operacyjne nie zapewniają dostępu lokalnego. |
|
Maksymalne rozmiary woluminów i partycji rozpoczynają się od 2 terabajtów (TB) wzwyż. Nie można stosować w przypadku dyskietek. |
Woluminy mogą mieć rozmiary z zakresu od 1,4 MB do 4 GB. Ten system plików nie obsługuje domen.
|
|
Maksymalny rozmiar pliku wynosi 2 GB.
|
22. Co zawiera tablica MFT w systemie NTFS.
Master File Table (MFT) - ukryty plik (o nazwie "$Mft", MFT indeksie: 0) na partycjach NTFS, w którym są zawarte wpisy (pełne informacje o rozmiarze, ścieżce dostępu, datach edycji, utworzenia pliku) do każdego pliku na danej partycji.
MFT alokuje stałą przestrzeń dyskową dla każdego reprezentanta pliku. Metadane plików są zapisywane w przestrzeni MFT, w przypadku małych plików, zostają one w całości wpisane w rekord MFT. W przypadku plików o dużej ilości metadanych, są one przechowywane w wielu rekordach MFT.
23. Jakie elementy systemu NTFS i FAT muszą być umieszczone w pamięci operacyjnej.
24. Obliczanie wielkości klastrow i partycji w systemach FAT
OBLICZANIE KLASTRÓW
Drive size
(logical volume) FAT type Cluster size (klaster)
-----------------------------------------------------------------------
15 MB or less 12-bit 8 4 KB
16 MB - 127 MB 16-bit 4 2 KB
128 MB - 255 MB 16-bit 8 4 KB
256 MB - 511 MB 16-bit 16 8 KB
512 MB - 1,023 MB 16-bit 32 16 KB
1,024 MB - 2,048 MB 16-bit 64 32 KB
2,048 MB - 4,096 MB 16-bit 128 64 KB
25. Metody alokacji plikow na dyskach. Charakterystyka tych metod, wady i zalety.
Stosowane są trzy podstawowe metody alokacji:
* alokacja ciągła (ang. continous),
*alokacja łańcuchowa (ang. linked),
* alokacja indeksowa (ang. indexed).
Współczesne systemy operacyjne wykorzystują wszystkie trzy metody jednocześnie.
Metoda ciągła - zakłada się, że każdy plik zajmuje określony, ciągły obszar adresów; ciągła alokacja pliku definiowana jest przez adres początkowy pliku i jego długość.
Wady: fragmentacja zewnętrzna, fragmentacja wewnętrzna (obszar wolny w obrębie ostatniego bloku).
Problem: przewidywanie rozmiaru pliku.
W przypadku tej metody łatwo jest znaleźć wolny obszar na dysku, najkorzystniejsze rozwiązanie - mapa bitowa.
Alokacja łączona - plik jest tutaj listą łączoną odpowiednich bloków; katalog zawiera wskaźnik do pierwszego i ostatniego elementu pliku.
Zalety: nie ma fragmentacji zewnętrznej, nie ma problemów z tworzeniem nowego pliku, z rozrastaniem się już istniejącego.
Wady: tylko sekwencyjny dostęp do pliku, problem gdy jeden ze wskaźników zostaje utracony - lista zostaje przerwana, dostęp do następnych bloków jest niemożliwy.
Alokacja indeksowa - polega na przeniesieniu wszystkich wskaźników do bloków dyskowych do bloku indeksów. Każdy plik ma swój własny blok indeksów, i-ty zapis w bloku indeksów wskazuje na i-ty blok plików. Katalog zawiera adres bloku indeksów. W celu przeczytania i-tego bloku znajdujemy adres w bloku indeksów. Gdy plik jest tworzony wszystkie wskaźniki w bloku indeksów są wyzerowane; gdy blok jest dopisywany do pliku, to jego adres jest usuwany z listy bloków wolnych i wpisywany do bloku indeksów.
Wady: małe pliki; blok indeksów powinien być jak najmniejszy - problem z plikami dużymi.
W niektórych współczesnych systemach stosuje się kombinację metody ciągłej (dla małych plików) z alokacją indeksową (dla dużych plików) - sprawność takich systemów jest największa.
26. Zarządzanie przestrzenią dyskową a problem fragmentacji wewnętrznej i zewnętrznej.
?????????Fragmentacja wewnętrzna pozostaje, w najgorszym przypadku proces może potrzebować n ramek + 1 słowo! (prawie cała ramka jest niewykorzystana). Im mniejsze strony, tym mniejsza fragmentacja wewnętrzna, ale większe koszty obsługi, czyli ilość wpisów do tablicy stron i odwołań do pamięci.
Podział pamięci na określoną liczbę obszarów o stałym rozmiarze określany jest jako podział statyczny. Proces dostaje kilka obszarów, których łączny rozmiar jest równy lub przekracza rozmiar procesu. Wystarczy przechowywać jedynie numery przydzielonych obszarów, gdyż ich położenie w pamięci można łatwo obliczyć na podstawie stałego rozmiaru.
Podział dynamiczny polega na przydzielaniu obszarów o zmiennym rozmiarze w zależności od potrzeb uruchamianych procesów. Proces przechowuje dwa parametry każdego z przydzielonych obszarów:
adres początkowy (bazowy) obszaru,
rozmiar (granicę) obszaru.
Z podziałem pamięci wiąże się nieodłącznie problem fragmentacji pamięci. Polega on na pozostawianiu niewykorzystanych fragmentów pamięci wewnątrz lub pomiędzy przydzielonymi obszarami.
Fragmentacja zewnętrzna występuje poza przydzielonymi obszarami o zmiennej długości, gdy pozostałe fragmenty wolnej pamięci są zbyt małe dla innych procesów.
Fragmentacja wewnętrzna występuje wewnątrz przydzielonych obszarów o stałej długości, gdy rozmiar procesu jest mniejszy niż suma przydzielonych mu obszarów. Niewykorzystany pozostaje wtedy fragment ostatniego z przydzielonych obszarów.
Wymiana procesów (ang. swapping) polega na okresowym przesłaniu procesu z pamięci operacyjnej do pamięci pomocniczej, aby umożliwić sprowadzenie innego procesu z pamięci pomocniczej do zwolnionego obszaru pamięci operacyjnej.
W systemach z podziałem pamięci wymiana umożliwia wykonywanie większej liczby procesów niż może pomieścić pamięć operacyjna. Powoduje to zwiększenie stopnia wieloprogramowości, co zwykle poprawia efektywność systemu.
W systemach bez podziału pamięci wymiana procesów stwarza jedyną możliwość uzyskania wieloprogramowości.
27. Co zawierają i-węzły w systemach unixowych?
W systemach unixowych podstawą lokalizacji bloków dyskowych pliku są węzły informacyjne pliku, czyli tzw. i-węzły (ang. i-node). Zawierają one zestaw informacji opisujących plik, tzw. atrybuty pliku oraz opis organizacji fizycznej pliku, czyli wskaźniki do dyskowych bloków danych. |
|
|
|
rozmiar |
Rodzaje awarii w systemach komputerowych.
Logiczne ( błąd w progranie, wirus, błąd danych, przypadkowe usunięcie, błąd użytkownika)
sprzętowe (uszkodzenie dysku macierzy, sieci, błąd procesora itp.)
zagrożenia budynku (pożar, powódź itp.)
29. Co to jest RAID i do czego służy?
Technologia macierzy dyskowych RAID
(ang. Redundant Array of Independent Disks)
Połączenie wydajności, skalowalności i łatwego dostępu w celu ochrony danych.
Niezawodność systemu RAID polega na przechowywaniu informacji potrzebnej do
odbudowania danych, jeśli jeden z dyskow macierzy zawiedzie.
Rodzaje systemow RAID i ich cechy (wady, zalety).
RAID 0; RAID 1; RAID 0+1; RAID 3; RAID 4;
RAID 0
Dane w tym systemie macierzy są dzielone i rozdzielane pomiędzy dyski twarde. W systemie tym występuje zjawisko stripingu, skutkujące dwukrotnym zwiększeniem prędkości zapisu oraz odczytu. Procesy te trwają równolegle dla obu dysków jednocześnie. W tym systemie nie tworzy się nadmiar danych, co oznacza, że ryzyko utraty danych rośnie dwukrotnie. System widzi dwa dyski jako jeden. Maksymalna pojemność dysku widzianego przez system wynosi tyle co maksymalna pojemność najmniejszego dysku. Maksymalna prędkość zapisu/odczytu jest równa tym samym prędkości najwolniejszego dysku pomnożonej razy dwa.
RAID 1
W tym systemie macierzy występuje zjawisko nadmiarowości danych, tzn. dane są równocześnie zapisywane na dysku pierwszym i drugim. W momencie uszkodzenia któregoś z nich dane są pobierane z drugiego. System ten umożliwia zwiększenie bezpieczeństwa danych, ale nie prędkości zapisu/odczytu. Dwa dyski są traktowane przez systemu jako jeden. Maksymalna pojemność dysku widzianego przez system wynosi tyle co maksymalna pojemność najmniejszego dysku. Maksymalna prędkość zapisu/odczytu jest równa prędkości najwolniejszego dysku.
RAID 0+1
W tym systemie macierzy użytkownik zyskuje zarówno bezpieczeństwo, jak i wydajność, czyli pozytywne cechy systemów RAID 0 oraz RAID 1. Dane są dzielone na dwa, a następnie kopiowane na poszczególne dyski dwukrotnie
31. Sposoby dołączania pamięci masowych: DAS, NAS, SAN - cechy charakterystyczne, zalety,
wady.
NAS
pamięć dołączana do sieci ma swój adres IP
Dostęp użytkownicy prawa dostępu
dane na poziomie plików
- obsługa wielu protokołów NFS, CIFS, HTTP
- niezależność od platformy
system operacyjny optymalizowany dla danego systemu plików
prosta instalacja, eksploracja, modyfikacja
wszystkie aplikacje korzystają z jednej sieci - WADA
tryb pracy: klient 0 serwer, kombinacje sieci IP/ethernet, serwer plików, pamięć masowa wielu klientów może pracować jednocześnie
szybkość Ethernetu 10-100Mb/s
SAN
dane na poziomie bloków
Transport w trybie protokołowym
bardzo odległe połączenia
Duża szybkość 1-2Gb/s
wydzielona sieć dostępu do pamięci masowej - możliwość zarządzania siecią, stosowanie redundantnych rozwiązań
32. Recovery Point, Recovery Time - czego dotyczą, czym się roŜnią.
RTO (ang. Recovery Time Objective) oraz RPO (ang. Recovery Point Objective). Parametr RTO określa maksymalny akceptowalny czas od wystąpienia katastrofy po którym usługa musi zostać uruchomiona. W przypadku parametru RPO określamy możliwe do zaakceptowania straty danych spowodowane katastrofą. Już na wstępie mamy trzy źródła strat spowodowanych przez katastrofę: zniszczenia mienia, zniszczenia danych oraz przerwa w świadczeniu usług. Jeśli mamy już listę usług krytycznych wraz z ich parametrami, to w następnym kroku powinniśmy zastanowić się jakie są możliwe sposoby realizacji usługi krytycznej.
33. Jaki jest cel zarządzania pamięcią operacyjną?
Celem zarządzania pamięcią operacyjną jest:
§ przydział pamięci fizycznej poszczególnym procesom,
§ odwzorowanie logicznej przestrzeni adresowej procesu na fizyczną przestrzeń adresową pamięci,
§ ochrona zawartości pamięci,
§ współdzielenie obszarów pamięci przez różne procesy
34. Metody zarządzania pamięcią operacyjną.
.
Systemy bez pamięci wirtualnej wykorzystują jedną ze strategii zarządzania pamięcią:
§ przydział ciągły pojedyńczego obszaru,
§ przydział ciągły wielu obszarow,
§ stronicowanie,
§ segmentacja,
§ segmentacja stronicowana.
35. Metody zarządzania pamięcią operacyjną a problemy dot. adresowania pamięci operacyjnej.
36. Na czym polega stronicowanie pamięci operacyjnej?
Char.:
§ Pamięć fizyczna podzielona jest na obszary o stałym rozmiarze, zwane ramkami.
§ Pamięć logiczna podzielona jest na obszary o stałym rozmiarze, zwane stronami.
§ Przed wykonaniem wszystkie strony procesu muszą być umieszczone w dowolnych ramkach, które mogą tworzyć nieciągły obszar pamięci.
§ Proces przechowuje tablicę stron zawierającą adresy przydzielonych ramek.
§ Adres logiczny składa się z numeru strony i odległości na stronie. Numer strony jest indeksem pozycji w tablicy stron, która zawiera adres bazowy ramki przechowującej daną stronę procesu.
Na czym polega?:
Stronicowanie polega na podziale pamięci na spójne bloki ustalonej wielkości. Powoduje to znaczne ułatwienia przy obsłudze pamięci, a także brak fragmentacji zewnętrznej , chociaż występuje fragmentacja wewnętrzna. Taki pojedyńczy blok, na które jest podzielona pamięć nazywa się stroną, a jego wielkość określa stała PAGE_SIZE w pliku page.h. W wersji systemu, której dotyczy ten opis ma ona wielkość 4096 (bajtów, czyli 4 kB).
Przykłady algorytmow dotyczących wymiany stron. Zalety i wady tych algorytmow.
MIN — zastępowana jest strona, która najdłużej nie będzie używana (optymalny w tej klasie)
FIFO (ang First In First Out) — zastępowana jest strona najstarsza (najwcześniej sprowadzona)
LIFO (ang Last In First Out) — zastępowana jest strona najmłodsza (najpóźniej sprowadzona)
LRU (ang. Least Recently Used) — zastępowana jest naj dawniej użyta strona (najdłużej nie używana)
LFU (ang. Least Frequently Used) — zastępowana jest najrzadziej używana strona
MFU (ang. Most Frequently Used) — zastępowana jest najczęściej używana strona
Algorytm MIN oparty jest na nierealnej przesłance, wymagającej znajomości przyszłego ciągu odniesień. Z drugiej strony jest to algorytm optymalny w tej klasie, dlatego wykorzystywany jest dla celów porównawczych. Można w ten sposób sprawdzać, ile tracimy, opierając się na przesłankach z historii dotychczasowych odniesień. Jest to zatem swego rodzaju miara zasadności tych przesłanek.
Algorytmy FIFO i LIFO oparte są na kolejności sprowadzania stron do pamięci. FIFO usuwa strony w kolejności ich sprowadzania LIFO w kolejności odwrotnej. FIFO sprawdza się dobrze w przypadku programów, w których jest prosty, sekwencyjny przepływ sterowania od początku programu do końca, z małą liczbą pętli, czy wywołań podprogramów. LIFO natomiast właściwy jest dla przypadków pętli, gdyż ponowne przejście sterowania do tej samej instrukcji nastąpi dopiero w następnej iteracji. Dla pętli istnieje jeszcze inny algorytm — LD (ang. loop detection), którego prezentację tu pominięto.
Algorytmy LRU, LFU i MFU oparte są na przesłankach, wymagających monitorowania odniesień do pamięci. Dla LRU istotny jest czas ostatniego odniesienia, a dla LFU i MFU liczba odniesień w przeszłości. LRU jest typowym algorytmem dla programów, charakteryzujących się lokalnością czasową odniesień do pamięci. Algorytmy LFU i MFU (tzw. algorytmy licznikowe) oparte są na zupełnie przeciwnych przesłankach: LFU usuwa stronę, do której było najmniej odniesień do początku przetwarzania lub od momentu sprowadzenia do pamięci (są to dwa warianty algorytmów licznikowych), a MFU usuwa stronę, do której było najwięcej odniesień.
Na czym polega mechanizm pamięci wirtualnej?
1. Program żąda dostępu do określonej informacji, podając
adres wirtualny.
2. Sprawdzana jest obecność poszukiwanej informacji w
pamięci operacyjnej. Informacja o obecności konkretnych
bloków w pamięci operacyjnej przechowywana jest w
specjalnej tablicy.
3. W przypadku braku poszukiwanej informacji jest ona
wczytywana z dysku, a odpowiednie pozycje w tablicach
obsługujących pamięć wirtualną są modyfikowane.
4. Obliczany jest adres fizyczny miejsca przechowywania
informacji w pamięci operacyjnej, czyli dokonywana jest
translacja adresu wirtualnego na fizyczny. Translacji tej
dokonuje się także przy użyciu odpowiedniej tablicy.
5. Poszukiwana informacja jest dostępna dla procesora, co
zamyka cykl działania pamięci wirtualnej.
Pewna część informacji wykonywanego
programu załadowana jest do pamięci operacyjnej.
Pozostała część niemieszcząca się w niej jest
przechowywana w pamięci masowej.
Jeżeli w trakcie realizacji programu następuje
odwołanie do informacji znajdującej się na dysku, to
odpowiedni mechanizm powoduje wczytanie
brakującego bloku informacji do pamięci
operacyjnej, przesyłając inny blok do pamięci
masowej w celu zwolnienia miejsca.
Zarządzanie pamięcią operacyjną a problem fragmentacji wewnętrznej i zewnętrznej
Problem
fragmentacji zewnętrznej ujawnia się najczęściej w zarządzaniu wolną
przestrzenią. W niektórych podejściach do zarządzania pamięcią (np. w
stronicowaniu) można też go odnieść do obszarów pamięci przydzielonych
procesom. Pofragmentowanie wolnej przestrzeni bierze się stąd, że przydzielane
są kolejne fragmenty pamięci, a następnie część z nich jest zwalniana, a część
pozostaje dalej zajęta.
Fragmentacja wewnętrzna wynika najczęściej z ograniczeń na rozmiar
przydzielanej jednostki. Wolny obszar przydzielany jest w całości, ale nie jest w pełni
wykorzystany. Powstaje wiec fragmentacja wewnętrzna, wynikająca z decyzji
zarządcy, a nie z konfiguracji systemu.
Do czego służy partycja lub katalog swap?
Partycja wymiany (SWAP) - systemowa partycja występująca w systemach typu UNIX. Służy do tymczasowego przechowywania danych w sytuacji, gdy ich ilość przekracza zasoby wolnej pamięci RAM lub gdy z różnych powodów korzystniej jest przechowywać je (lub ich część) na dysku twardym.
Wymienić i scharakteryzować elementy tworzące architekturę procesora. ??
lista rozkazów. (każdy procesor ma zdefiniowane dla niego rozkazy, tylko te rozkazy może wykonywać
rodzaje:
przetwarzanie danych. Rozkazy arytmetyczne i logiczne
przechowywanie danych. Rozkazy pamięciowe
ruch danych. Rozkazy wejścia wyjścia
sterowanie. Rozkazy testowania i rozgałęziania
każdy rozkaz ma przypisane operacje podstawowe. Wykonanie operacji podstawowej wymaga wykonania szeregu mikrooperacji
formaty rozkazów
rozkazy mogą mieć różne struktury i różną długość
KOD OPERACJI - ADRES OPERANDU
KOD OPERACJI - ADRES 1. OPERANDU - ADRES 2. OP. - ADRES WYNIKU - ADRES NEXT OPERANDU
rozkazy operują na danych
rejestry dostępne programowo
rejestry to najmniejsza pamięć wewnętrzna
dostępne programowo (widziane dla użytkownika)
sterowania i stanu
sposoby współpracy procesora z pamięcią operacyjną
sposoby adresowania pamięci operacyjnej
wyznaczanie adresów logicznych zależy m.in. od: trybu pracy procesora np. real, protected, virtual mode
sposoby współpracy procesora z urządzeniami wejścia wyjścia
Układy I/O (in/out) dla procesora to część przestrzeni adresowej. Odwołuje się do niej za pomocą specjalnych rozkazów, odwołań do portów IN i OUT
Omowić schemat blokowy procesora.
jednostka BU (ang. Bus Unit)
odpowiada za współpracę procesora z pamięcią;
3 oddzielone od siebie magistrale: danych, adresów, sygnałów sterujących;
IU (ang. Instruction Unit)
dekoder odtwarzający rozkazy do wykonania przez procesor, znajdujące się w odpowiedniej kolejce.
Układ ten zazwyczaj wspomagany jest przez pamięć ROM, w której zawarty jest słownik tłumaczący przyjmowane kody rozkazowe na sekwencje operacji.
EU (ang. Execution Unit)
układ wykonawczy, do którego przekazywane są rozkodowane instrukcje.
Operacje na liczbach stałoprzecinkowych są wykonywane w module ALU (ang. Arythmetic Logic Unit) sterowanym z bloku CU (ang. Control Unit). Operacje na liczbach zmiennoprzecinkowych - FPU (ang. Floating Point Unit).
AU (ang. Addressing Unit)
jednostka adresowania, obsługuje m.in. pobieranie argumentów rozkazów, czy przesyłanie wyników pod wskazany adres.
MMU (ang. Memory Managment Unit)
moduł zarządzania pamięcią realizujący dostęp do pamięci, czyli np. stronicowanie, czy segmentację.
PREFETCH
dla przyspieszenia pracy procesora podczas fazy wykonania (wykonanie wyprowadzonego rozkazu pod kontrolą układu sterowania) jednego rozkazu realizuje się już fazę pobierania następnego rozkazu. Rozwiązanie takie nazywane jest prepobieraniem (ang. prefetching).
Co to jest słowo procesora? Na co ma wpływ?
Słowo procesowa - jednostka którą procesor może wymienić z pamięcią RAM w wyniku jednej operacji czytania lub pisania
Jedną z podstawowych cech procesora jest długość (liczba bitów) słowa, na którym wykonywane są podstawowe operacje obliczeniowe. Jeśli słowo ma 64 bity, mówimy, że procesor jest 64-bitowy.
Co to jest przerwanie sprzętowe?
Przerwanie sprzętowe:
Zewnętrzne - sygnał przerwania pochodzi z zewnętrznego układu obsługującego przerwania sprzętowe; przerwania te służą do komunikacji z urządzeniami zewnętrznymi, np. z klawiaturą, napędami dysków itp.
Wewnętrzne - Wewnętrzne, nazywane wyjątkami (ang. exceptions) - zgłaszane przez procesor dla sygnalizowania sytuacji wyjątkowych (np. dzielenie przez zero); dzielą się na trzy grupy:
faults (niepowodzenie) - sytuacje, w których aktualnie wykonywana instrukcja powoduje błąd; gdy procesor powraca do wykonywania przerwanego kodu wykonuje tę samą instrukcję która wywołała wyjątek;
traps (pułapki) - sytuacja, która nie jest błędem, jej wystąpienie ma na celu wykonanie określonego kodu; wykorzystywane przede wszystkim w debugerach; gdy procesor powraca do wykonywania przerwanego kodu, wykonuje następną, po tej która wywołała wyjątek, instrukcję;
aborts (nienaprawialne) - błędy, których nie można naprawić.
Przerwanie - sygnał powodujący zmianę przepływu sterowania, niezależnie od aktualnie wykonywanego programu. Pojawienie się przerwania powoduje wstrzymanie aktualnie wykonywanego programu i wykonanie przez procesor kodu procedury obsługi przerwania (ang. interrupt handler).
45. Wymienić i scharakteryzować techniki zwiększające wydajność procesora (z punktu widzenia
projektantow procesorow).
Wymienić i krotko scharakteryzować co najmniej 5 cech roŜniących procesory od siebie.
architektura (CISC lub RISC)
CISC - Rodzaj architektury procesora. Według architektury CISC były tworzone pierwsze procesory x86, które wyposażano w pełny zestaw instrukcji mający im zapewnić wykonanie każdego polecenia użytkownika (a konkretnie programu). Z czasem okazało się jednak, że w 80 procentach wypadków było wykorzystywanych tylko 20 procent dostępnych instrukcji, a pozostałe tylko sporadycznie. Zaowocowało to bardziej zaawansowaną architekturą o nazwie RISC.
RISC - Rodzaj architektury procesora, według której produkowane są najnowocześniejsze i najbardziej wydajne procesory, takie jak Alpha czy PowerPC. Ang. Reduced Instruction Set Computing - obliczenia ze zredukowanym zestawem instrukcji.
liczba bitów przetwarzana w jednym takcie
częstotliwość taktowania - częstotliwość, z jaką działa procesor. Oznacza to ilość cykli wykonywanych przez procesor w ciągu 1 sekundy.
Ilość pamięci cache - Pamięć cache (pamięć podręczna procesora, systemu, innych urządzeń) to rodzaj pamięci tymczasowej pośredniczącej w operacjach pomiędzy innymi, zazwyczaj wolniejszymi urządzeniami lub rodzajami pamięci przyspieszająca dostęp wolniejszej pamięci lub innego urządzenia.
Liczba rdzeni
podstawka