1. Co to jest utykanie procesora i jak temu zapobiegać?
Procesor musi czekać na nadejście danych do wykonywanego polecenia. Sytuację poprawia bufor z szybkiej
pamięci zwany pamięcią podręczną albo cache.
2. Prawa kopiowania i kontroli?
Domeny. Proces działa w domenie ochrony, która określa
dostępne dla niego zasoby. Każda domena definiuje zbiór obiektów i rodzaje
operacji, które można wykonywać dla każdego obiektu. Możliwość wykonywania
operacji na obiekcie jest prawem dostępu
Wiersze -domeny
kolumny - obiekty. Każdy element macierzy zawiera zbiór praw
dostępu.
Element dostęp(i,j) określa
zbiór operacji, które proces, działający w domenie Di może wykonywać na
obiekcie Oj.
kopiowanie (*) w obrębie kolumny
" przekazanie (kopiowanie; utrata praw)
" ograniczone kopiowanie (tworzy prawo bez *)
Prawo kopiowania (*)
Prawo kontroli (control)
" zmiana elementów w wierszach macierzy dostępów -
jedynie dla obiektów - domen
proces działający w domenie D2 może zmienić domenę D4
3. Porównanie linków twardych i symbolicznych w tabelce?
cecha Link twardy Link symboliczny
Ilość dowiązań pliku Zwiększa Nie zwiększa
Twardy link wskazuje na Odwołuje się do ścieżki i
Działanie
konkretny obszar dysku nazwy pliku
Zastosowanie Pliki zwykłe Pliki zwykłe, katalogi
Zakres działania (system tylko w obrębie tego samego W różnych systemach
plikowy) systemu plikowego plikowych
Nr i-węzła Ten samo co plik nowy
Wielkość pliku Taka jak plik Taka jak długość nazwy pliku
Typ pliku Taki jak plik f - l
4. Jakie informacje zawiera katalog w FAT?
Nazwa zbioru, czas i data utworzenia zbioru, czas i data ostatniego dostępu, numer pozycji zbioru w tablicy FAT,
Długość zbioru
5. Jakie informacje zawiera katalog w Ext?
Nazwa pliku, nr i-węzła
6. Obliczyć liczbę braku stron - LRU?
Algorytm LRU (Last Recently Used). Ciąg odniesień 70120304230321201701. Działanie (przy trzech ramkach)
7
70
701
201
203
(szczerze mówiÄ…c nie wiem o co tu chodzi Jð. Wujek google podaje peÅ‚no przykÅ‚adów rozwiÄ…zaÅ„ ale algorytmu
jeszcze nie znalazłem. Jeśli ktoś znalazłby algorytm krokowy to proszę o podesłanie)
8. Różnice w sposobach synchronizacji: semafory i strukturalne metody synchronizacji?
Monitory.
Stosując semafory można popełnić szereg błędów programistycznych: zapomnieć o podniesieniu czy
opuszczeniu semafora, pomylić semafory, czy np. pomylić operacje P i V. W przypadku monitorów
odpowiednie instrukcje synchronizujące są realizowane przez język programowania.
Konstrukcja monitora zapewnia, że tylko jeden proces na raz może znajdować się w monitorze. Pozostałe
procesy oczekują w kolejce (FIFO). Jeśli jakiś proces chce wejść do monitora, który jest właśnie zajęty, to
jest on wstawiany na koniec kolejki procesów oczekujących na wejście do monitora. Jeśli proces opuszcza
monitor, a inne procesy czekają w kolejce na wejście do monitora, to pierwszy proces z kolejki wchodzi do
monitora.
Regiony Krytyczne.
·ð Każdy proces posiada swoje wÅ‚asne zmienne lokalne oraz procedury
·ð Do zmiennych lokalnych proces może siÄ™gać tylko w swoich procedurach, żaden z procesów nie ma
dostępu do zmiennych lokalnych innego procesu
·ð Procesy współdzielÄ… miÄ™dzy sobÄ… zmienne globalne
9. Sprzętowe mechanizmy ochrony pamięci operacyjnej?
Ochrona wektora przerwań, ochrona procedur obsługi przerwań, oddzielenie obszaru pamięci programów
10. Problem zgodności pamięci podręcznej?
Jest to chwilowy brak zgodności pomiędzy zawartością wiersza pamięci operacyjnej, a jego kopią w pamięci
podręcznej. Występuje gdy w wyniku zapisu przez CPU zmienia się zawartość jej pamięci podręcznej.
Te same dane na różnych poziomach hierarchicznej struktury pamięci:
A++ (liczba A w pliku B na dysku) wykonujemy operacjÄ™ inkrementacji
kopiowanie bloku z liczbÄ… A do PAO
kopiowanie do pamięci podręcznej
kopiowanie do rejestru wewnętrznego
inkrementacja w rejestrze
Problem w środowisku wieloprocesorowym (cache coherency)
11. Buforowanie a spooling?
Zrównoleglenie we/wy w pojedynczej maszynie.
Buforowanie:
Metoda jednoczesnego wykonywania obliczeń i wejścia-wyjścia dla
jednego zadania:
" nie eliminuje całkowicie przestojów CPU czy urządzeń we-wy
" wymaga przeznaczenia pamięci na systemowe bufory
" niweluje wahania w czasie przetworzenia danych
WE BUFOR CPU BUFOR WY
Spooling:
Przenoszenie danych do szybszej pamięci zewnętrznej. Zastosowanie bufora do przechowywania danych dla
urządzeń, które nie dopuszczają przeplatania danych w ich strumieniach. NP :drukarka
Metoda jednoczesnego wykonywania wejścia-wyjścia jednego
zadania i obliczeń dla innego zadania zadania.
- Możliwe dzięki upowszechnieniu się systemów dyskowych
- Podczas wykonywania jednego zadania system operacyjny:
czyta następne zadanie z czytnika kart na dysk (kolejka zadań)
drukuje umieszczone na dysku wyniki poprzedniego zadania
- Pula zadań - możliwość wyboru kolejnego zadania wykonania
WE DYSK CPU DYSK WY
12. Jaki ciąg poleceń jest powodowany przez brak strony?
1. Odniesienie
2. Pułapka (brak strony w tablicy stron)
3. SO sprawdza, czy strona jest w pamięci pomocniczej
4. Sprowadzenie brakujÄ…cej strony
5. Odnowienie tablicy stron
6. Wznowienie wykonania
13. Jakie metody przydziału miejsca na dysku są odpowiednie dla dostępu bezpośredniego?
System plików zwartych (również dostęp sekwencyjny), mapa plików, bloki indeksów
14. W jakich metodach przydziału miejsca na dysku nie występuje fragmentacja zewnętrzna?
Aańcuch powiązanych bloków, bloki indeksów
15. Co to jest i do czego służy blok kontrolny systemu?
PCB (Process Control Block) Zestaw informacji o stanie procesu. Znajduje zastosowanie przy przywracaniu
procesu i usuwaniu go z procesora. Zawiera:
·ð Stan procesu
·ð Licznik rozkazów
·ð Star rejestrów procesora
·ð Informacji zwiÄ…zane z planowaniem
·ð Informacje zwiÄ…zane z zarzÄ…dzaniem pamiÄ™ciÄ…
·ð Informacje rozliczeniowe,
·ð Informacje o stanie WE/WY
16. Wymień niewywłaszczające algorytmy planowania?
FCFS (First Come First Served - FIFO), SJF (Shortest Job First)
17. Implementacja operacji semaforowej wait (z obsługą kolejek procesora)?
C(s) wartość początkowa semafora s, C(s)>=0
ns(s)- liczba wykonań operacji V (signal) na s
nw(s) liczba wywołań operacji P (wait) na s
np(s) liczba przejść przez operacje P (wait) na s (procesy kontynuowały pracę po P)
wait(s), P(s):
nw(s):=nw(s) + 1;
if nw(s)<= C(s)+ns(s)
then np(s):=np(s)+1
Wykonanie operacji P nie pociąga za sobą zawieszenia procesu, o ile liczba wykonań tej operacji nie jest większa
nią liczba wykonań operacji V zwiększona o wartość początkowa semafora.
signal(s) V(s):
if nw(s) > C(s)+ns(s)
then np(s):=np(s)+1;
ns(s):=ns(s) + 1;
W wyniku działania operacji V jeden proces jest reaktywowany (o ile taki był).
18. Różnice między: blokującym, nieblokującym i asynchronicznym we/wy?
·ð Blokowane wywoÅ‚anie systemowe wstrzymanie procesu wywoÅ‚ujÄ…cego (kolejka procesów czekajÄ…cych)
Zachodzenie na siebie operacji we/wy i obliczeń aplikacja wielowątkowa
·ð Nieblokowane wywoÅ‚anie op.we/wy nie wstrzymuje aplikacji; koÅ„czy siÄ™ szybko zwracajÄ…c liczbÄ™
przesłanych bajtów (niekoniecznie wszystko)
·ð Asynchroniczne odwoÅ‚anie do systemu powrót do aplikacji natychmiast; po zakoÅ„czeniu operacji
we/wy przerwanie lub przekazanie sygnału (zamówienie zostanie wykonane w całości)
19. Zasada wiedzy koniecznej?
Zasada wiedzy koniecznej (need to know): Proces p wywołuje procedurę A - procedura A ma dostęp jedynie do
swoich zmiennych i przekazanych do niej parametrów, a nie do wszystkich zmiennych procesu p.
20. Na czym polega wyższość RAID5 nad RAID3?
Równomierne obciążenie dysków, większa szybkość odczytu
21. Jakie sÄ… strategie radzenia sobie z zakleszczeniami?
Zapobieganie zakleszczeniom, unikanie zakleszczeń (Stan bezpieczny Algorytm Bankiera), Wykrywanie
zakleszczeń i odtwarzanie
22. Porównaj sposób zarządzania pamięcią w systemach Linux i Windows?
Opis zarządzania pamięcią Linux i Windows można pobrać z chomika jest to plik zarządzanie pamięcią Jest
tego w ch*** tzn. dużo i nie miałem czasu tego czytać jeszcze aby porównać. Coś także jest w notatkach od
Wąchały ale to potrzeba kogoś kto mniej więcej wie coś z SO aby ogarnąć to pytanie
23. Schematy przydziału ramek?
- równy (każdy proces dostaje tyle samo ramek)
- proporcjonalny (liczba ramek proporcjonalna do jego rozmiaru)
- priorytetowy (liczba przydzielanych ramek jest proporcjonalna do priorytetu procesu lub do kombinacji priorytetu
i rozmiaru)
- zstępowanie lokalne
- zstępowanie globalne
24. Jak obniżyć aktywnośc stronicowania we wstepnej fazie procesu?
Zastosować stronicowanie wstępne (prepaging).
25. Jak siÄ™ oblicza efektywny czas dostepu?
EAT (Effective Access Time)=(1-p)·cd + p · x
cd - czas dostępu do pamięci zwykłej
x narzut zwiÄ…zany z przerwaniem braku strony
p - prawdopodobieństwo braku strony
26. Model zbioru roboczego?
Opiera się na założeniu, że program ma charakterystykę strefową(lokalność odwołań). Zbiór roboczy, to zbiór
stron, do których nastąpiło odwołanie w ciągu ostatnich I instrukcji (np. I = 1000). Zbiór roboczy ma przybliżać
strefę, w której znajduje się program. Dla każdej strony procesu utrzymujemy bit odwołania. Co I instrukcji
następuje zliczenie podniesionych bitów odwołania we wszystkich ramkach procesu i ich wyzerowanie. Liczba
podniesionych bitów jest przybliżeniem rozmiaru zbioru roboczego. Znając wielkości zbiorów roboczych,
możemy przydzielić procesom pamięć proporcjonalnie do wielkości ich zbiorów roboczych. Jeśli suma rozmiarów
zbiorów roboczych wszystkich procesów jest większa niż rozmiar dostępnej pamięci, prawdopodobnie mamy do
czynienia z szamotaniem. Należy wówczas wstrzymać jeden z procesów, aby nie pogarszać sytuacji. System
przydziela ramki procesom wg rozmiarów ich zbiorów roboczych
27. Rozszerzone prawa dostępu dla właściciela pliku?
t: Powoduje utrzymanie w pamięci kodu programu nawet, jeśli proces, który z nich korzystał, już się zakończył.
Może to zmniejszyć obciążenie systemu.
s: ustawione dla plików binarnych powoduje, że procesy, które je wykonują mają takie same prawa, jak właściciel
wykonywanego pliku.
28. Omów architekturę klient - serwer?
Struktura klient-serwer:
·ð PodziaÅ‚ systemu operacyjnego na moduÅ‚y,
·ð ModuÅ‚y nie sÄ… rozmieszczone w warstwach,
·ð Nie komunikujÄ… siÄ™ miÄ™dzy sobÄ… poprzez wywoÅ‚anie procedur, ale wysyÅ‚ajÄ… komunikaty za poÅ›rednictwem
centralnego programu obsługi komunikatów,
·ð Komunikaty mogÄ… być wysyÅ‚ane w obie strony,
·ð ModuÅ‚ wysyÅ‚ajÄ…cy komunikat poczÄ…tkowy nazywa siÄ™ klientem,
·ð ModuÅ‚ obierajÄ…cy ten komunikat jest serwerem.
29. Omówić RAID0 i RAID1?
RAID 0 - Dane są podzielone na bloki(najczęściej o rozmiarze 512 bajtów) pomiędzy wszystkie dyski. Jest to
rozwiązanie tanie w implementacji, lecz nie oferuje bezpieczeństwa danych. Dane odczytywane są równolegle ze
wszystkich dysków co zapewnia szybkość, lecz przy awarii jednego dysku nie jesteśmy w stanie odtworzyć
danych.
RAID 1 Zapis danych jest realizowany na dyskach połączonych w pary, dane na obu dyskach w każdej parze są
identyczne. Zapewnia wysoki poziom bezpieczeństwa, lecz kosztem utraty połowy pojemności dysku.
30. Omów semafor oraz operacje, które można na nim wykonać?
Semafory służa do synchronizacji procesów. Pozwalają na czasowe zabezpieczenie jakiegoś zasobu przed innymi
procesami. Semafor jest to nieujemna zmienna całkowita, na której, z wyjątkiem nadawania wartości
początkowych, mogą działać jedynie operacje czekaj i sygnalizuj.
Operacja czekaj powoduje zmniejszenie wartości semafora o 1, pod warunkiem, że nie ma on wartości 0. Jest to
operacja niepodzielna. Operacja czekaj może spowodować wstrzymanie jakiegoś procesu, ponieważ jeśli dotyczy
ona semafora mającego wartość 0, to proces, którym ta operacja wystąpiła, będzie mógł być nadal wykonywany
tylko wówczas, gdy inny proces zwiększy wartość semafora o 1 w wyniku operacji sygnalizuj.
Operacja sygnalizuj powoduje zwiększenie wartości semafora o 1 i zawsze jest możliwa do wykonania. Jest to
również operacja niepodzielna.
(ogólnie o semaforach można lać wodę na 3 strony ale te informacje wydają mi się najrzetelniejsze)
31. Omów algorytm SJF oraz policz średni czas oczekiwania dla algorytmów szeregowania zadań SJF i
FIFO dla procesów o czasach trwania faz wynoszących 7, 5, 2, 4 jednostki?
SJF jest algorytmem optymalnym ze względu na najkrótszy średni czas oczekiwania. W wersji z wywłaszczaniem,
stosowana jest metoda: najpierw najkrótszy czas pracy pozostałej do wykonania. Problemem tego algorytmu
jest głodzenie długich procesów - może się zdarzyć, że cały czas będą nadchodzić krótsze procesy, a wtedy proces
dłuższy nigdy nie zostanie wykonany. Algorytm SJF jest optymalny, tzn. daje minimalny średni czas oczekiwania
dla danego zbioru procesów.
SJF śr. czas oczek. = (0 + (0+2) + (0+2+4) + (0+2+4+5))/4 = (0+2+6+11)/4 = 19/4 = 4.75
FCFS śr. czas oczek. = (0 + (0+7) + (0+7+5) + (0+7+5+2))/4 = (0+7+12+14)/4 = 33/4 = 8.25
32. Omów poziomy planowania procesów (zadania planistów)?
Poziomy planowania:planowanie długoterminowe, średnioterminowe i krótkoterminowe.
Długoterminowe planista kontroluje raz na kilka minut w razie potrzeby ładuje zadanie z pamięci pomocniczej do
operacyjnej
Średnioterminowe występuje wtedy jeżeli planista średnioterminwu usuwa jakiś proces z pamięci bo np. trzeba
tej pamięci dla innych procesów a potem go przywraca
Krótkoterminowe planista co 10-100ms kontroluje i wybiera, zgodnie z algorytmem, proces z pamięci
operacyjnej do wykonania po bieżącym-aktywnym procesie (lub natychmiast w zależności od algorytmu.)
33. Oblicz liczbę braków stron dla algorytmu FIFO dla 4 ramek, gdy ciąg odwołań do pamięci ma postać
501,503,103,205,200,210,100,501,302,320,201,210 przy założeniu że strona ma rozmiar 100B
Możemy skrócić odwołania do postaci 5,5,1,2,2,2,1,5,3,3,2,2 , następnie zredukować powtarzające się po sobie
odwołania do postaci 5 1 2 1 5 3 2. Daje to łącznie 4 braki stron
Chwila 1 2 3 4 5 6 7
odwołanie 5 1 2 1 5 3 2
Ramka1 5 5 5 5 5 5 5
Ramka2 1 1 1 1 1 1
Ramka3 2 2 2 2 2
Ramka4 3 3
34.Prawa dostępu?
WYKONANIE CZYNNOÅšCI PLIK KATALOG
r w x r w x
Wejście do katalogu - - - - - x
komenda cd
PrzeglÄ…danie, jakie pliki znajdujÄ… siÄ™ w katalogu - - - r - -
komenda ls
PrzeglÄ…danie, jakie pliki znajdujÄ… siÄ™ w katalogu i - - - r x
jakie majÄ… atrybuty
komenda ls l, ls s, ls F
Utworzenie nowego pliku - - - - w x
Zmiana nazwy pliku - - - - w x
Usunięcie pliku - - - - w x
Czytanie pliku r - - - - x
Zapis do pliku istniejÄ…cego - w - - - x
Wykonanie pliku binarnego - - x - - x
Wykonanie skryptu powłoki r - x - - x
R oglÄ…danie pokazywanie
zawartości plików z
katalogu
W zmiana, dodawanie
usunięcie elementu do
zawartości katalogu
X uruchomienie cd
pliku
wykonywalnego
D usuwanie pliku usuwanie
katalogu
(pustego)
P zmiana praw zmiana
dostępu praw
dostępu
O otrzymanie otrzymanie
własności własności
35. Co się dzieje z procesem po jego utworzeniu? (w jakich stanach przebywa, do jakich kolejek może trafić,
kiedy może do nich zostać wrzucony, a kiedy wyciągnięty)?
Gdy nowoutworzony proces ma juz wszystkie zasoby do dyspozycji (oprócz procesora)
1.Proces nowy może przejść jedynie do stanu gotowy. Dzieje się tak po przyjęciu go przez system.
2.Proces gotowy może przejść jedynie do stanu aktywny. Dzieje się tak, gdy planista przydzieli temu procesowi
procesor.
3.Proces aktywny może przejść do jednego z trzech stanów:
- gotowy (gdy planista odbierze temu procesowi procesor),
- czekający (gdy ten proces rozpocznie oczekiwanie na jakieś zdarzenie, albo na ukończenie operacji wejścia-
wyjścia),
- zakończony (gdy proces zakończy działanie).
4.Proces czekający może przejść jedynie do stanu gotowy. Dzieje się tak, gdy nastąpi oczekiwane przezeń
zdarzenie lub ukończenie operacji wejścia-wyjścia.
5.Proces zakończony nie może już zmienić swojego stanu.
NOWY ZAKOCCZON
przerwanie
GOTOWY
AKTYWNY
decyzja planisty
Obsłużenie zdarzenia Oczekiwanie na zdarzenie lub
lub operacji we/wy na wykonanie operacji we/wy
CZEKAJCY
proces może wydać zamówienie na operację we/wy i następnie zostać umieszczony w kolejce procesów
czekających na we/wy.Proces może utworzyć nowy proces i oczekiwać na jego zakończenie. Proces może zostać
przymusowo usunięty z procesora w wyniku przerwania i przeniesiony z powrotem do kolejki procesów gotowych.
Stan procesu opisany w strukturze procesu, może przyjmować następujące wartości:
SIDL - stan pośredni podczas tworzenia procesu
SRUN wykonywany
SSLEEP - oczekujÄ…cy (na zdarzenie)
SSTOP - zawieszony (proces jest zatrzymany przez sygnał lub proces macierzysty)
SZOMB stan pośredni podczas usuwania procesu
36. Omów metody przydziału miejsca na dysku, które Twoim zdaniem najlepiej nadają się do
implementowania dostępu sekwencyjnego?
Nie mam pojÄ™cia, które siÄ™ nadajÄ…, a które nie Jð JeÅ›li ktoÅ› wie to z opisem nie bÄ™dzie problemu. a co najgorsze
dokładnie to pytanie było w tamtym roku na egzaminie na pierwszym terminie.
37. Omów odwzorowanie adresu przy użyciu stronicowania pamięci i segmentacji ?
Segmentacja - Przestrzeń adresów logicznych jest zbiorem segmentów. Każdy segment ma nazwę i długość.
Użytkownik określa więc każdy adres poprzez nazwę segmentu i odległość. Odwzorowanie adresów polega zatem
po prostu na dodawaniu adresu użytego w programie do adresu bazowego, w celu określenia adresu odpowiedniej
komórki pamięci.
Stronicowanie - Każdy adres wygenerowany przez procesor dzieli się na dwie części: numer strony i odległość na
stronie. Numer jest używany jako indeks w tablicy stron, która zawiera adresy bazowe wszystkich stron w pamięci
operacyjnej. Aącząc adres bazowy z odległością na stronie uzyskuje się fizyczny adres w pamięci.
38. Oblicz liczbę braków stron dla algorytmu LRU dla k-ramek dla ciągu odwołań do pamięci postaci 501,
505, 103, 205, 200, 210, 100, 501, 302?
Patrz zadanie 6
39. Różnice pomiędzy EXT3 a FAT?
W systemie FAT32 ograniczenie co do pojedynczego pliku to 4GB wynika to z ograniczonej pojemności tablicy
FAT. W systemie ext3 zależy od wielkości bloku dyskowego. W FAT32 pierwszy blok danych znajduję się we
wpisie katalogowym, kolejne znajdują się w tablicy FAT. W ext3 wszystkie adresy znajdują się w i-węzle pliku.
40. Jakie dane pamiętane są w i-węzle a jakie w katalogu?
W i-węzle: ID właściciela, ID grupy, typ pliku, prawa dostępu, czas utworzenia, modyfikacji, ostatniego dostępu,
liczbę dowiązań, liczba bloków dyskowych zajmowanych przez plik, adresy dyskowe
W Katalogu: Nazwa pliku, nr i-węzła
41. Co to jest szamotanie i jak zapobiegać?
Szamotanie to sytuacja gdy proces ma mniej ramek niż liczba aktywnie używanych stron i musi co chwile
sprowadzać jedną ze stron usuwając inną, która za chwilę będzie niezbędna. Zapobieganie: zastosować lokalny lub
priorytetowy algorytm zastępowania stron lub dostarczyć procesowi właściwą liczbę ramek strategia tworzenia
zbioru roboczego.
42. Macierz praw?
Abstrakcja ochrony obiektów w systemie operacyjnym: macierz, której wiersze reprezentują domeny ochrony, a
kolumny chronione obiekty. Każdy element takiej macierzy zawiera zbiór praw dostępu, które proces działający
w domenie Di może wykonać na obiekcie Oi
43. Metody przydziału bloków w EXT3?
System plików zwartych (przydział ciągły), Aańcuch powiązanych bloków ( przydział listowy ), Bloki indeksów (
przydział indeksowy ext3 )
44. Gdzie jest przechowywany adres pierwszego bloku i kolejne w FAT i EXT?
W FAT32 pierwszy blok danych znajdujÄ™ siÄ™ we wpisie katalogowym, kolejne znajdujÄ… siÄ™ w tablicy FAT. W ext3
wszystkie adresy znajdują się w i-węzle pliku.
45. Do czego służy struktura katalogowa?
Struktura katalogowa służy do odwzorowania faktycznego adresu pliku.
46. We/Wy z blokowaniem i bez. Na czym to polega?
patrz 18.
47. Co to rekord fizyczny i rekord logiczny i problem zamiany rekordów logicznych na fizyczne?
Rekord fizyczny (blok fizyczny) jednostka fizycznej pamięci dyskowej, wszystkie bloki są tego samego rozmiaru
Rekord logiczny logiczna jednostka informacja, podczęść pliku
Problemem są różne rozmiary rekordów logicznych i fizycznych. Do rozwiązania tego problemu stosuje się bufor.
Pobierana jest większa porcja danych z pliku będąca wielokrotnością rozmiaru bloku dyskowego
48. Przez co uzyskana jest optymalizacja zapisu danych?
Przez odpowiednie umiejscowienie obszaru wymiany dokładnie gdy korzystamy z osobnej strefy dyskowej
(zadządca pamięci obszaru wymiany)
49. Czego dotyczy adresacja w PAO a czego w pamięci pomocniczej?
PAO - adresowanie bezpośrednich rozkazów procesora
Pamięć pomocnicza - adresowanie informacji, danych(pliki, katalogi) znajdujących się trwale na nośniku
50. Co się dzieje w przypadku błędu braku strony?
Błąd taki musi być obsłużony przez SO. SO sprawdza, czy błąd rzeczywiście jest spowodowany brakiem strony.
Jeśli nie, to kończy działanie programu. Jeśli tak, to odszukuje adres brakującej strony w pamięci pomocniczej i
sprowadza ją do wolnej ramki pamięci operacyjnej. Uaktualnia tablicę stron i wznawia działanie procesu.
51. Sposoby realizacji domeny (ochrona)?
- użytkownik domena(zbiór obiektów zależy od id użytkownika)
- proces ( zbiór obiektów zależy od id procesu)
- procedura ( zbiór obiektów zależy od lokalnych zmiennych procedury)
52. Fragmentacja zewnętrzna?
Pojawia w trakcie działania aplikacji, gdy dochodzi do szeregu przydzielania i zwalniania bloków pamięci o różnej
wielkości, skutkiem czego po pewnym czasie bloki wolne i zajęte są przemieszane. Przy chęci wstawienia nowego
pliku, powstaje brak wolnych bloków w ciągu koło siebie, lecz dziury pomiędzy nimi w zupełności wystarczą na
zapisanie pliku.
53. Gdzie definiujemy aliasy?
Tego zagadnienia nie było w notatkach Wąchały. Dla ambitnych:
Aliasy nie są przekazywane do powłok potomnych, istnieją jedynie w bieżącej powłoce, pamiętane są w pamięci
operacyjnej . W bashu jest to plik .bashrc w TCSH .tcshrc. Polecenie alias wyświetla listę zdefiniowanych aliasów
, definiuje nowe aliasy
54. Algorytm Lamporta?
Tego zagadnienia nie było w notatkach Wąchały. Dla ambitnych:
Algorytm ten wykorzystuje siÄ™ do rozwiÄ…zania problemu wzajemnego wykluczania. Z zagadnieniem tym mamy do
czynienia na przykład, gdy dwa równolegle wykonywane procesy korzystają ze wspólnej pamięci
55. Zasada wiedzy koniecznej?
patrz 19.
56. Algorytmy planowania?
Planowanie metodÄ… FCFS (first come first served) - NW
- proces, który pierwszy zamówił procesor pierwszy go otrzyma.
- Implementacja - za pomocÄ… kolejki FIFO
- Blok kontrolny procesu wchodzącego do kolejki procesów gotowych jest dołączany do końca.
- Wolny procesor przydziela się procesowi z czoła kolejki procesów gotowych
- Średni czas oczekiwania bywa bardzo długi.
Najpierw najkrótsze zadanie (SJF shortest job first) NW W(SRTF)
- długość najbliższej z przyszłych faz procesora (w przypadku równych faz - FCFS)
- minimalny średni czas oczekiwania
- planowanie długoterminowe
Planowanie priorytetowe NW i W
- SFJ (PRI=1/dł. Fazy)
- priorytet definiowany wewnętrznie (limity czasu, wielkość pamięci, liczba otwartych plików)
- priorytet definiowany zewnętrznie (ważność procesu, opłaty, polityka)
- problem nieskończone blokowanie =głodzenie niskopriorytetowych procesów - rozwiązanie postarzanie (aging)
np. co 15 min PRI+=1
Planowanie rotacyjne (round-robin) W
- Zaprojektowano specjalnie dla systemów z podziałem czasu
- Kolejka procesów gotowych do wykonania traktowana jest jak kolejka cykliczna
- Planista przydziału procesora przegląda tę kolejkę i każdemu procesowi przydziela odcinek czasu nie dłuższy od
jednego kwantu czasu
- Jeśli faza procesora w danym procesie przekracza 1 kwant czasu, to proces będzie wywłaszczony i wycofany do
kolejki procesów gotowych
- Implementacja - kolejka FIFO
- Długi średni czas oczekiwania
- Duży kwant czasu - FCFS; mały - dzielenie procesora
Wielopoziomowe planowanie kolejek W
- Algorytm wielopoziomowego planowania kolejek rozdziela kolejkę procesów gotowych na osobne kolejki.
- W zależności od pewnych cech, jak rozmiar pamięci lub typ procesu, procesy zostają na stałe przypisane do
jednej z tych kolejek.
- Każda kolejka ma własny algorytm planujący
- Każda kolejka ma bezwzględne pierwszeństwo nad kolejkami o niższych priorytetach (żaden proces z kolejki
procesów wsadowych nie może być wybrany dopóty dopóki kolejki procesów systemowych i interakcyjnych nie są
puste)
- procesy nie mogą przemieszczać się między kolejkami.
- niski koszt planowania, brak elastyczności.
- Inna możliwość - operowanie przedziałami czasu między kolejkami: proc. pierwszoplanowe - 80% - metoda
rotacyjna proc. drugoplanowe - 20% - FCFS
Wielopoziomowy ze sprzężeniem zwrotnym
- umożliwia przemieszczanie procesów między kolejkami
- rozdzielenie procesów o różnych rodzajach faz procesora
- proces zużywający za dużo czasu procesora przeniesiony do kolejki o niższym priorytecie
- pozostawienie procesów ograniczonych przez we/wy i procesów interakcyjnych w kolejkach o wyższych
priorytetach
- proces oczekujący zbyt długo w niskopriorytetowej kolejce może zostać przeniesiony do kolejki o wyższym
priorytecie (zapobiega głodzeniu)
57. Algorytmy zamiany stron?
LRU - ofiarą staje się strona , która nie była używana przez najdłuższy okres, uzyskuje mniejszą ilość braków
stron niż FIFO. Trudny w zaimplementowaniu, można zastosować dla strony pole znacznika czasu ostatniego
dostępu do strony(ofiara to ta z najmniejszą wartością znacznika) lub skorzystać ze stosu, wolny od anomalii
Belady ego
FIFO - ofiarą staje się strona, która najdłużej przebywa w pamięci, gorszy niż LRU, nie jest wolny od anomalii
Belady ego
Optymalny - ofiarą staje się strona, która przez najdłuższy okres będzie nieużywana jest to algorytm teoretyczny,
służy do oceny jakości innych algorytmów, nie da się go zaimplementować, gdyż nie da się przewidzieć przyszłym
odwołań do pamięci, maksymalne obniżenie braków stron, wolny od anomalii Belady ego
Algorytmy przybliżające LRU
Jedno z takich przybliżeń polega na skojarzeniu z każdą ramką bitu odwołania/odniesienia. Wstępnie wszystkie
bity odwołania są równe 0. Przy każdym odwołaniu do strony odpowiadający jej bit jest ustawiany na 1.
- Algorytm bitów odniesień
- z każdą pozycją w tablicy stron związany jest bit odniesienia ustawiony początkowo na 0
- przy odwołaniu do strony jest on ustawiany na 1
- zastępowana jest ta strona w porządku FIFOktóra ma bit odniesienia ustawiony na 0
Algorytm dodatkowych bitów odniesień
- z każdą stroną związany jest 8 bitowy rejestr ustawiony na początek na 00000000
- w regularnych odstępach czasu (np. co 100ms) SO wprowadza na najbardziej znaczącą pozycję rejestru bit
odniesienia
- wymieniana jest strona najdawniej używana - najmniejsza liczba w rejestrze np. 0111010<1100010
- jeśli kilka stron ma taką samą wartość rejestru - wymiana wszystkich lub FIFO
Algorytm drugiej szansy (zegarowy)
- strony przeglÄ…dane sÄ… w porzÄ…dku FIFO
- sprawdzenie bitu odniesienia:
- jeśli 0 - strona zastąpiona
- jeśli 1 - druga szansa
- druga szansa - zerowanie bitu odniesienia, ustawienie czasu bieżącego (koniec kolejki)
- przewijanie stron dokonuje siÄ™ cyklicznie
- strona często eksploatowana - nigdy nie będzie zastąpiona
Algorytmy zliczajÄ…ce
- algorytmy zliczające korzystają ze związanego z każdą stroną licznika odwołań
- licznik zrealizowany sprzętowo - odwołanie do danej strony powoduje zwiększenie jej licznika o jeden
Istnieją dwa algorytmy oparte na przeciwstawnych założeniach:
- Least Frequently Used (LFU) - ofiarą staje się strona, do której było najmniej odwołań (najrzadziej używana
strona) - może być obarczony błędami wynikającymi z faktu, że strona na początku była intensywnie używana, a
pózniej wcale nie byla potrzebna (realizacja przesuwanie liczników w prawo o jeden bit w regularnych odstępach
czasu)
- Most Frequently Used (MFU) - ofiarą staje się strona, do której było najwięcej odwołań (najczęściej używana
strona)
- implementacja tych algorytmów jest kosztowna i nie przybliżają one dobrze algorytmu optymalnego
58. Algorytmy szeregowania, które są wywłaszczające, a które nie?
nie mam pojÄ™cia Jð
59. Sposoby komunikacji w linuxie?
żð sygnaÅ‚y - jÄ…dro systemu oraz procesy mogÄ… wysyÅ‚ać sygnaÅ‚y do dowolnego procesu. Zestaw wszystkich
sygnałów daje polecenie kill l.
żð plik - najczÄ™stszÄ… metodÄ… komunikowania siÄ™ procesów sÄ… pliki (jeden proces tworzy plik za pomocÄ…
dowolnego edytora, drugi przetwarza ten tekst - porządkuje alfabetycznie). Taki sposób komunikowania
się procesów nie jest możliwy w przypadku procesów współbieżnych, chociażby dlatego, że proces
czytający może wyprzedzić proces piszący i uznać, że komunikacja została zakończona. Ten problem
został rozwiązany dzięki łączom komunikacyjnym.
żð Å‚Ä…cza komunikacyjne - nie sÄ… plikami, chociaż majÄ… swój i-wÄ™zeÅ‚ ale nie ma dowiÄ…zania. W przypadku
łącza: jeśli proces czytający zbyt wyprzedzi proces piszący, to oczekuje na dalsze dane; jeśli proces piszący
zbyt wyprzedzi proces czytający, to zostaje uśpiony. Aącza komunikacyjne wykorzystywaliśmy z poziomu
powłoki - potoki. dotyczą procesów pokrewnych, powolne. Ponieważ dwa procesy mogą się komunikować
przez łącze tylko w jedna stronę, więc żaden z nich nie wykorzysta obydwu deskryptorów. Jeden z
procesów zamyka łącze do czytania, a drugi to pisania. Uzyskuje się wtedy jednokierunkowe połączenie
między dwoma procesami.
żð Å‚Ä…cza nazwane ( kolejki FIFO) - pliki specjalny (typ pliku okreÅ›lony jest literÄ… p), który może być otwarty
przez każdy proces. Umożliwiają współpracę wielu procesów piszących i czytających (gwarantują
niepodzielność),powolne Kolejka musi zostać otwarta w trybie komplementarnym tzn. musza być 2
procesy, których jeden otwiera kolejkę w trybie O_RDONLY, a drugi O_WRONLY, w przeciwnym razie
jeden z procesów jest blokowany
Komunikacja międzyprocesorowa IPC
żð semafory - w wielu sytuacjach konieczne jest uniemożliwienie dostÄ™pu do zasobów dwóm lub wiÄ™kszej
liczbie procesów. Semafor jest flagą, uniemożliwiającą dostęp do zasobów w takich przypadkach.
żð Komunikaty - niewielka liczba danych, którÄ… można przesÅ‚ać do kolejki komunikatów. Procesy, które majÄ…
uprawnienia mogą pobierać z tej kolejki komunikaty.
żð pamięć dzielona - najszybszy sposób komunikacji miÄ™dzy procesami. Komunikacja polega na tym, że ten
sam obszar pamięci jest przydzielany dla kilku procesów. Dzięki temu natychmiast po wpisaniu danych
przez jeden proces, inne procesy mogą z nich korzystać.
60. Sekcja krytyczna problem zgodności pamięci podręcznej?
Pomiędzy pobraniem wartości X a ustawieniem jej na wartość true żaden inny proces nie ma dostępu do zmiennej
X. Korzystając z funkcji TestAndSet możemy rozwiązać ten problem sekcji krytycznej:
Sekcja wejściowa:
while TestAndSet (S) do;
Sekcja wyjściowa:
S:=false;
Wyszukiwarka
Podobne podstrony:
One Step From Earth v1 01an sms v1 01teoria v1 01Project Mayhem v1 01 menu dodProjekt v1 01Set V1 01 Tech enProject Mayhem v1 01 upload byOne Step From Earth v1 01 TOCDisher, Garry [Inspector Challis 01] The Dragon Man [v1 0]De Camp, L Sprague Krishna 01 The Queen of Zamba (v1 0) (html)Warhammer 40K [Dawn of War 01] Dawn of War by C S Goto (Undead) (v1 6)P N Elrod The Vampire Files 01 Bloodlist (v1 0)więcej podobnych podstron