Co rozumiesz pod pojęciem „proces”?
Proces jest to program w trakcie wykonywania, instancja programu uruchomiona w danym systemie,
jednostka która można przypisać procesorowi i wykonać, operacja polegająca na wykonaniu sekwencji
rozkazów.
Jakie informacje są zawarte w bloku kontrolnym procesu?
Identyfikator, stan, priorytet, licznik programu, wskaźniki pamięci, dane kontekstowe, informacje na temat
stanu żądań I/O, informacje ewidencyjne.
Jakie są przyczyny wywłaszczenia procesu?
Przerwanie I/O, błąd pamięci, wywołanie funkcji systemowej, działanie algorytmu szeregowania.
Jakie są powody zakończenia procesów?
Brak pamięci, naruszenie granic (dostęp do pamięci, gdzie nie ma prawa dostępu), błąd ochrony, błąd
arytmetyczny, przekroczony czas oczekiwania, błąd I/O, błędny rozkaz, zakończenie procesu
macierzystego, żądanie procesu macierzystego, przekroczenie limitu czasu, normalne zakończenie.
Co to jest proces zablokowany?
Proces jest zablokowany, jeśli nastąpiło żądanie zasobu, na który musi czekać.
Co to jest proces zawieszony?
Proces zablokowany może zostać przeniesiony (wymiatanie) do pamięci pomocniczej (zawieszony), w celu
zwolnienia pamięci operacyjnej, dzięki czemu można tam wstawić inny proces. Po odblokowaniu proces
nadal pozostaje zawieszony, póki nie zostanie wczytany do pamięci operacyjnej.
Na czym polega śledzenie procesu?
Jest to wyszczególnienie sekwencji instrukcji, które mają być wykonane w ramach procesu.
Wymień stany procesu w modelu pięciostanowym.
Nowy, gotowy, uruchomiony, zablokowany, anulowany.
Jakie są możliwe stany procesu w systemie UNIX?
Uruchomiony użytkownika, uruchomiony jądra, gotowy do uruchomienia-w pamięci, gotowy do
uruchomienia-wymieniony, uśpiony-wymieniony, uśpiony-w pamięci, wywłaszczony, utworzony, zombie
(nieusuwalny).
Co to jest Round-Robin? (cykliczny algorytm)
Round robin (algorytm karuzelowy) to najprostszy algorytm szeregowania dla procesów.
Nadaje każdemu
procesowi odpowiednie przedziały czasowe, nie uwzględnia żadnych priorytetów. Wykorzystuje
wywłaszczenie oparte na zegarze, generowane są cykliczne przerwania zegarowe.
Na czym polega First-Come-First-Served?
Niewywłaszczający algorytm planowania dostępu do procesora: przydział procesora następuje w kolejności
"pierwszy nadszedł - pierwszy obsłużony". Algorytm FCFS implementuje się za pomocą kolejki FIFO: blok
kontrolny procesu wchodzącego do kolejki jest dołączany na jej końcu. Każdy proces czeka w kolejce
procesów gotowych. Gdy bieżący proces kończy wykonywanie, pobierany jest najstarszy proces z kolejki
Faworyzowane są procesy wykorzystujące głównie procesor.
Na czym polega Shortest Process Next?
Algorytm szeregowania procesów bez wywłaszczania, proces z najkrótszym oczekiwanym czasem
wykonania jest pobierany jako następny. Korzystny dla krótkich procesów, krzywdzący dla długich,
możliwe jest zagłodzenie długich procesów.
Na czym polega Shortest Remaining Time?
Jest to SPN, ale z wywłaszczeniem. Dyspozytor może wywłaszczyć wykonywany proces na rzecz nowego,
który ma krótszy czas przetwarzania.
Na czym polega Highest Response Ratio Next?
Algorytm szeregowania procesów – wybiera się proces z najwyższą wartością reaktywności R (jest brany
pod uwagę wiek procesu – nowy proces R=1). R=(czas oczek.+szac. czas usługi)/ szac. czas usługi.
Na czym polega Feedback?
Algorytm szeregowania procesów, gdy nie znany jest czas do zakończenia procesu. Z każdym kolejnym
wywłaszczeniem proces jest przesuwany do kolejki o niższym priorytecie. Krótki proces zostanie
zakończony szybko, długi zawędruje do koleje o coraz niższym priorytecie.
Na czym polega sprawiedliwe szeregowanie?
Decyzja dotycząca szeregowania procesów zapada na podstawie całego zestawu procesów.
Jakie są rodzaje szeregowania w SO?
sz. długoterminowe (wybiera proces, który ma być dodany do puli procesów i wykonany), sz.
średnioterminowe (wybiera proces, który ma być dodany do grupy znajdującej się częściowo lub całkowicie
w pamięci oper. – zarządza pamięcią i stopniem wieloprogramowości), sz. krótkoterminowe (podejmuje
precyzyjne decyzje, który proces ma być wykonywany w następnej kolejności – dyspozytor, wykonywana
najczęściej).
Kiedy jest wywoływany dyspozytor krótkoterminowy?
Gdy nastąpi jedno ze zdarzeń: przerwanie zegara, przerwania I/O, wywołania zgłaszane przez SO, sygnał.
Co to jest zagłodzenie procesu?
Sytuacja, gdy uruchamiany proces jest bez końca pomijany przez dyspozytora.
Co to jest impas?
Sytuacja, gdy dwa lub kilka procesów nie może się wykonywać, ponieważ czekają, aż inny proces wykona
jakąś czynność.
Czego wymaga się od zarządzania pamięcią?
Relokacja (możliwość zmian położenia procesu w pamięci oper.), ochrona (proces nie może odwoływać się
do obszaru adresowego innego procesu bez zezwolenia, w programach nie ma możliwości odwoływania się
do absolutnych adresów ponieważ program może być przemieszczany), współdzielenie pamięci (możliwość
dostępu kilku procesów do tego samego obszaru pamięci oper.), organizacja logiczna (programy mają
organizację modułową, moduły mogą być pisane i kompilowane niezależnie, mogą posiadać różny stopień
ochrony, moduły mogą być współdzielone), organizacja fizyczna (pamięć składa się z dwóch poziomów –
operacyjna i pomocnicza).
Na czym polega nakładkowanie?
Program i dane mają strukturę umożliwiającą przypisywanie różnych modułów do tego samego obszaru
pamięci.
Na czym polega partycjonowanie statyczne?
Pamięć operacyjna jest dzielona na kilka statycznych partycji podczas generowania systemu. Każdy proces
o rozmiarze mniejszym lub równym partycji może być w niej ulokowany, jeśli brak wolnych partycji proces
jest wymiatany. Program może nie pasować do partycji – być większy. Wówczas konieczne jest użycie
przez programistę mechanizmu nakładek. Pamięć wykorzystywana nieefektywnie, maksymalna liczba
procesów z góry ustalona.
Na czym polega partycjonowanie dynamiczne?
Partyjce tworzone dynamicznie tak, by każdy proces był ładowany do p. o identycznym co on rozmiarze.
Niewydajnie wykorzystany procesor (powstają dziury w pamięci), ponieważ upakowanie uwzględnia
zewnętrzną fragmentację.
Co to jest wewnętrzna fragmentacja?
Stan, w wyniku którego dochodzi do marnowania miejsca na partycji z uwagi na mniejszy rozmiar bloku
danych niż rozmiar partycji.
Co to jest zewnętrzna fragmentacja?
Pamięć, będąca pamięcią zewnętrzną dla wszystkich partycji staje się coraz bardziej sfragmentowana.
Wymień algorytmy rozmieszczania.
Najlepszego dopasowania(best-fit, wybiera blok najbliższy rozmiarem procesowi), pierwszego
dopasowania (first-fit, wybiera pierwszy dostępny blok, który pomieści proces), kolejnego dopasowania
(next-fit, wybiera kolejną lokalizację po bloku w którym ostatnio był wstawiony proces).
Co to jest Buddy system?
Cała dostępna pamięć jest traktowana jako jeden blok o rozmiarze 2
U
. Jeżeli proces ma rozmiar s taki że 2
U-
1
< s <= 2
U
, przydzielany jest cały blok. W przeciwnym razie blok jest dzielony na pół. Proces jest
kontynuowany do czasu uzyskania minimalnego bloku o rozmiarze >= s.
Jakie typy adresów wyróżniamy?
Logiczne, fizyczne, względne.
Na czym polega stronicowanie?
Pamięć jest dzielona na małe części zwane ramkami, a procesy na fragmenty zwane stronami. System
operacyjny zarządza tablicą stron dla każdego procesu. Zawiera ona lokalizację ramki dla każdej strony
procesu.
Co to jest tablica strony?
Definiuje lokalizację ramki dla każdej strony procesu.
Na czym polega segmentacja?
Program użytkownika podzielony na odpowiednią liczbę segmentów. Segmenty mogą być różnej długości,
istnieje max. rozmiar segmentu. Adres logiczny zawiera numer segmentu oraz przesunięcie.
Jaka jest różnica między stroną a segmentem?
Segment może mieć dowolną długość, a strona jest stałej długości.
Podaj rozmiar klastra w systemie NTFS.
Od 512 bajtów do 64 kB.
Czy Windows 2000 wykorzystuje architekturę mikrojąder?
Nie!
Podaj nazwy pierwszego i drugiego bloku w systemie plików UNIX.
Podaj dwie cechy wiarygodnego systemu.
Dostępność, poufność, integralność.
Czy wątki mają unikalny numer w systemie?
W Uniksie tak, w Windowsie 2000 nie.
Czy Windows 2000 wykorzystuje wątki?
Tak.
Czy zapis w standardzie RAID 0 zapewnia redundancję danych?
Nie, RAID 0 nie jest w zasadzie prawdziwym członkiem rodziny RAID, ponieważ nie zawiera
nadmiarowości zwiększającej wydajność.
Podaj dwa rodzaje wątków procesów.
Wątki użytkownika, wątki jądra.
Gdzie zapisana jest nazwa katalogu w systemie NTFS?
W MFT(Master File Table).
Co jest efektem ustawienia bitu zaczepienia w uprawnieniach dostępu do pliku?
Ogranicza to prawa zapisu.
Podaj dwa typy systemów plików w Uniksie i dwa w Windowsie.
W Uniksie: ext2, UFS. W Windowsie FAT32, NTFS.
Podaj najbardziej efektywny sposób sterowania operacjami wejścia/wyjścia.
Gdzie przechowywana jest nazwa pliku w systemie FAT?
We wpisie folderu.
Podaj trzy atrybuty procesu występujące w tabeli procesów.
PID - process id
PPID - parent process id
UID - user id
GID - group id
Ramka pamięci jest związana z adresem wirtualnym czy fizycznym.
Fizycznym.
Gdzie znajdują się programy obsługi urządzeń w systemie Unix?
W katalogu /dev.
Na co wskazuje liczba Major w plikach reprezentujących urządzenia.
Na numer główny urządzenia.
Na co wskazuje liczba Minor w plikach reprezentujących urządzenia.
Na numer podrzędny urządzenia.
Co to jest SMP?
przetwarzanie symetryczne wieloprocesorowe - architektura komputerowa, która pozwala na znaczne
zwiększenie mocy obliczeniowej systemu komputerowego poprzez wykorzystanie 2 lub więcej procesorów
do jednoczesnego wykonywania zadań. Jądro może wykonywać rozkazy na dowolnym procesorze. W
architekturze SMP każdy procesor może zostać przypisany do wykonywania każdego zadania, tak aby
wyrównać obciążenie ("obowiązki" są dzielone "po równo"). W architekturze SMP procesory te
współdzielą zasoby pamięci oraz wejścia/wyjścia.
Co to są wątki?
Jest to jednostka wykonawcza w obrębie jednego procesu. Jest to rozwiązanie, w którym proces można
charakteryzować dwiema właściwościami: prawo własności do zasobu i szeregowanie/wykonywanie.
Wątek odnosi się do tej drugiej właściwości.
Wymień korzyści stosowania wątków.
Tworzenie wątków zabiera dużo mniej czasu niż tworzenie nowych procesów, przerwanie wątków tak
samo, przełączanie między wątkami jest dużo szybsze, wątki zwiększają wydajność komunikacji między
programami – nie ma konieczności angażowania jądra systemu.
Co to jest jacketing?
Jest to sposób ominięcia problemu blokowania wątków (osłanianie). Jego celem jest konwersja blokującego
wywołania systemowego na odpowiednik nie wywołujący blokady.
Na czym polega rozwiązanie mieszania wątków, jaki system je stosuje?
Jest to rozwiązanie łączące wątki użytkownika i wątki jądra. Tworzenie wątków odbywa się w przestrzeni
użytkownika, szeregowania i synchronizacja głównie w aplikacji. Przykładem jest system Solaris.
Czym jest mikrojądro?
To niewielki rdzeń systemu operacyjnego, który umożliwia modularną rozbudowę. Znajdują się w nim
absolutnie niezbędne funkcje systemu operacyjnego. Mikrojądro zapewnia dostęp do sprzętu.
Wymień zalety stosowania mikrojąder.
Jednolite interfejsy, rozszerzalność, elastyczność, przenośność, stabilność, obsługa systemów
rozproszonych, obsługa systemów obiektowych.
Wymień wady związane z wydajnością SO opartych o mikrojądra.
Wysyłanie, przyjęcie i odczytanie komunikatów trwa dłużej, duża ilość przełączeń między trybami
jądra/użytkownika.
Jakie znasz rodzaje zagrożeń bezpieczeństwa?
Przerwanie przepływu, przechwycenie, sfałszowanie, modyfikacja.
Co to jest proces zombie?
Proces zombie to wpis w tablicy procesów opisujący program, którego wykonanie w systemie operacyjnym
zostało zakończone, ale którego zamknięcie nie zostało jeszcze obsłużone przez proces rodzica.
Co to jest proces demon?
Program lub proces, będący częścią większego programu lub procesu, który jest nieaktywny dopóki nie
wystąpią zadane warunki, które spowodują jego uruchomienie.
Ze stanu gotowego do jakich stanów może przejść proces?
Uruchomiony, anulowany, zawieszony (gdy konieczne jest zwiększenie dużego obszaru pamięci).
Jaki numer i-węzła ma katalog główny?
2
Co to są boot block i superblock?
Boot block to blok startowy – zawiera kod wymagany do uruchomienia systemu operacyjnego. Superblock
zawiera atrybuty i informacje dotyczące systemu plików, takie jak rozmiar partycji oraz rozmiar tablicy i-
węzła. Ogólnie są to element składowe systemu plików Unix.
Na czym polega journaling?
W informatyce to termin związany z konstrukcją baz danych oraz systemów plików. Przy użyciu
księgowania dane nie są od razu zapisywane na dysk, tylko zapisywane w swoistym dzienniku/kronice.
Dzięki takiemu mechanizmowi działania zmniejsza się prawdopodobieństwo utraty danych.
Czym są metadane?
Są to dane o danych (np. plikach, katalogach). Może to być np. dziennik/kronika.
Podaj dwie reguły wielopoziomowego systemu bezpieczeństwa.
- Brak możliwości odczytu danych z wyższych poziomów (zasada właściwości prostych zabezp.);
- Brak możliwości zapisu na niższych poziomach (zasada *-property).
Podaj cechy makrowirusa.
- zarażają dokumenty, a nie fragmenty kodu wykonywalnego
- praktycznie wszystkie makrowirusy zarażają dokumenty MS Word
- łatwo się rozprzestrzeniają, np. pocztą elektroniczną
- działają niezależnie od platformy
Przez jakie fazy przechodzi wirus?
Faza spoczynku, propagacji, wzbudzenia, wykonywania.
Co wchodzi w skład procesu?
Kod programu, licznik rozkazów, stos i sekcja danych.
Co to jest MFT?
Master File Table jest najważniejszym plikiem systemowym na partycji NTFS. Przechowywane są tutaj
dane o każdym pliku i katalogu na partycji. Działa jako "punkt startowy" i "spis treści" zarządzania
partycją. Kiedy na partycji tworzymy katalog lub plik, zostaje dla niego utworzony rekord w MFT. Dla
takiego rekordu minimalnym rozmiarem jest 1,024 bajty, a maksymalnym 4,096 bajtów. System używa
rekordu do przechowywania informacji o pliku/katalogu w postaci atrybutów.
Na czym polega SSTF?
Strategia SSTF (ang. shortest seek time first) polega na tym, że w pierwszej kolejności obsługiwane jest to
odwołanie do dysku, które jest najbliżej aktualnej pozycji głowicy. Strategia ta jest dobra, jeżeli dysk nie
intensywnie używany przez wiele procesów. W przeciwnym przypadku jest ona podatna na zagłodzenie.
Może się zdarzyć, że pewne odwołanie będzie oczekiwać na wykonanie, ale cały czas będą spływać inne
odwołania, które będą bliżej aktualnej pozycji głowicy.
Co to jest semafor?
Semafor to jeden ze sposobów komunikacji międzyprocesowej. Najczęstszym zastosowaniem jest
synchronizacja dostępu do zasobów systemowych współdzielonych przez kilka
zadań
, aby zapobiec
problemom wynikającym z prób jednoczesnego dostępu i modyfikacji danego zasobu.
.